X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/6f02e7672f06818752ac466496e1b1596f75e4f9..916dc16ab669079790e11beba72cb14c9b951389:/platforma/static/js/main.js?ds=sidebyside diff --git a/platforma/static/js/main.js b/platforma/static/js/main.js index edd82e35..0f227b4a 100644 --- a/platforma/static/js/main.js +++ b/platforma/static/js/main.js @@ -94,7 +94,7 @@ function gallery(element, url) { element.data('images', []); function changePage(pageNumber) { - $('img', element).attr('src', element.data('images')[pageNumber - 1]); + $('.gallery-image img', element).attr('src', element.data('images')[pageNumber - 1]); } function normalizeNumber(pageNumber) { @@ -130,7 +130,7 @@ function gallery(element, url) { }); - var image = $('img', element).attr('unselectable', 'on'); + var image = $('.gallery-image img', element).attr('unselectable', 'on'); var origin = {}; var imageOrigin = {}; var zoomFactor = 1; @@ -145,7 +145,7 @@ function gallery(element, url) { }); $('.change-gallery', element).click(function() { $('.chosen-gallery').val($('#document-meta .gallery').html() || '/platforma/gallery/'); - $('.gallery-image').animate({top: 53}, 200); + $('.gallery-image').animate({top: 60}, 200); $('.chosen-gallery').focus(); }); $('.change-gallery-ok', element).click(function() { @@ -154,13 +154,13 @@ function gallery(element, url) { } $('#document-meta .gallery').html($('.chosen-gallery').val()); updateGallery($('.chosen-gallery').val()); - $('.gallery-image').animate({top: 27}, 200); + $('.gallery-image').animate({top: 30}, 200); }); $('.change-gallery-cancel', element).click(function() { - $('.gallery-image').animate({top: 27}, 200); + $('.gallery-image').animate({top: 30}, 200); }); - $('img', element).load(function() { + $('.gallery-image img', element).load(function() { image.css({width: null, height: null}); imageDimensions = { width: $(this).width() * zoomFactor, @@ -172,7 +172,7 @@ function gallery(element, url) { }; if (!(imageDimensions.width && imageDimensions.height)) { - setTimeout(function() { $('img', element).load(); }, 100); + setTimeout(function() { $('.gallery-image img', element).load(); }, 100); } var position = normalizePosition( image.position().left, @@ -269,14 +269,14 @@ function gallery(element, url) { element.data('images', data); pn.val(1); pn.change(); - $('img', element).show(); + $('.gallery-image img', element).show(); }, error: function(data) { element.data('images', []); pn.val(1); pn.change(); - $('img', element).hide(); + $('.gallery-image img', element).hide(); } }); } @@ -287,41 +287,65 @@ function gallery(element, url) { } -function transform(editor) { - $.blockUI({message: 'Åadowanie...'}); +function transform(editor, callback) { + if (!callback) { + $.blockUI({message: 'Åadowanie...'}); + } setTimeout(function() { xml2html({ xml: editor.getCode(), success: function(element) { $('#html-view').html(element); $.unblockUI(); + if (callback) { + callback(); + } }, error: function(text) { - $('#html-view').html('
WystÄ piÅ bÅÄ d:
' + text + ''); + var message = $(''); + message.text(text); + $('#html-view').html('
WystÄ piÅ bÅÄ d:
' + + message.html() + ''); + $.unblockUI(); + if (callback) { + callback(); + } } }); }, 200); }; -function reverseTransform(editor, cont) { +function reverseTransform(editor, cont, errorCont, dontBlock) { var serializer = new XMLSerializer(); if ($('#html-view .error').length > 0) { + if (errorCont) { + errorCont(); + } return; } - $.blockUI({message: 'Åadowanie...'}); + if (!dontBlock) { + $.blockUI({message: 'Åadowanie...'}); + } setTimeout(function() { html2xml({ xml: serializer.serializeToString($('#html-view div').get(0)), success: function(text) { editor.setCode(text); - $.unblockUI(); + if (!dontBlock) { + $.unblockUI(); + } if (cont) { cont(); } }, error: function(text) { $('#source-editor').html('
WystÄ piÅ bÅÄ d:
' + text + ''); - $.unblockUI(); + if (!dontBlock) { + $.unblockUI(); + } + if (errorCont) { + errorCont(); + } } }); }, 200); @@ -373,6 +397,23 @@ function html(element) { return true; } + + var ANNOT_ALLOWED = ['wyroznienie']; + + function html2plainText(fragment) { + var text = ""; + + $(fragment.childNodes).each(function() { + if(this.nodeType == 3) // textNode + text += this.nodeValue; + else if (this.nodeType == 1 + && $.inArray($(this).attr('x-node'), ANNOT_ALLOWED) != -1 ){ + text += html2plainText(this); + } + }); + + return text; + } function addAnnotation() { @@ -398,7 +439,10 @@ function html(element) { return false; } - var text = range.toString(); + // BUG #273 - selected text can contain themes, which should be omited from + // defining term + var text = html2plainText( range.cloneContents() ); + var tag = $(''); range.collapse(false); range.insertNode(tag[0]); @@ -429,12 +473,20 @@ function html(element) { // for now allow only 1 range if(n > 1) { - window.alert("Zaznacz jeden obszar"); + window.alert("Zaznacz jeden obszar."); return false; } + // remember the selected range var range = selection.getRangeAt(0); + + + if( $(range.startContainer).is('.html-editarea') + || $(range.endContainer).is('.html-editarea') ) { + window.alert("Motywy można oznaczaÄ tylko na tekÅcie nie otwartym do edycji. \n Zamknij edytowany fragment i spróbuj ponownie."); + return false; + } // verify if the start/end points make even sense - // they must be inside a x-node (otherwise they will be discarded) @@ -471,7 +523,7 @@ function html(element) { etag.replaceWith(text); xml2html({ xml: '