X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/6655e0be8684f27c4475154b3c4ced64839cba0d..f3ad190e972476589cc8aeb7e67ed24d091ce6c0:/src/redakcja/static/js/wiki/view_editor_wysiwyg.js diff --git a/src/redakcja/static/js/wiki/view_editor_wysiwyg.js b/src/redakcja/static/js/wiki/view_editor_wysiwyg.js index c5fa8c13..bc498ce1 100644 --- a/src/redakcja/static/js/wiki/view_editor_wysiwyg.js +++ b/src/redakcja/static/js/wiki/view_editor_wysiwyg.js @@ -110,7 +110,7 @@ success: function(text){ var t = $(text); tag.replaceWith(t); - openForEdit(t); + openForEdit(t, trim=false); }, error: function(){ tag.remove(); @@ -405,7 +405,7 @@ } /* open edition window for selected fragment */ - function openForEdit($origin){ + function openForEdit($origin, trim=true){ var $box = null // annotations overlay their sub box - not their own box // @@ -441,7 +441,7 @@ } // start edition on this node - var $overlay = $('
').css({ + var $overlay = $('
').css({ position: 'absolute', height: h, left: x, @@ -515,7 +515,10 @@ element: source, stripOuter: true, success: function(text){ - let ttext = $.trim(text); + let ttext = text; + if (trim) { + ttext = ttext.trim(); + } $('textarea', $overlay).val(ttext); setTimeout(function(){ @@ -580,9 +583,12 @@ } else if (buttonName == "tytuł dzieła") { startTag = ""; endTag = ""; - } else if(buttonName == "znak spec."){ + } else if (buttonName == "znak spec."){ addSymbol(); return false; + } else if (buttonName == "br") { + startTag = "
"; + endTag = ""; } var myField = textAreaOpened; @@ -645,15 +651,18 @@ $('#html-view').bind('mousemove', function(event){ var editable = $(event.target).closest('*[x-editable]'); - $('.active', element).not(editable).removeClass('active').children('.active-block-button').remove(); + $('.active', element).not(editable).removeClass('active').children('.html-editarea-toolbar').remove(); if (!editable.hasClass('active')) { - editable.addClass('active').append(button); + editable.append($("
")); + var buttonSpace = $('.html-editarea-toolbar-left', editable); + editable.addClass('active'); + buttonSpace.append(button); if (!editable.is('[x-edit-attribute]') && !editable.is('.annotation-inline-box') && !editable.is('[x-edit-no-format]') ) { - editable.append(uwagaButton); + buttonSpace.append(uwagaButton); } } if (editable.is('.annotation-inline-box')) { @@ -717,13 +726,13 @@ $(document).on('click', '.edit-button', function(event){ self.flush(); event.preventDefault(); - openForEdit($(this).parent()); + openForEdit($(this).closest('.html-editarea-toolbar').parent()); }); $(document).on('click', '.uwaga-button', function(event){ self.flush(); event.preventDefault(); - createUwagaBefore($(this).parent()); + createUwagaBefore($(this).closest('.html-editarea-toolbar').parent()); }); } @@ -753,6 +762,7 @@ callback(); } + let self = this; xml2html({ xml: this.doc.text, base: this.doc.getBase(), @@ -760,6 +770,7 @@ var htmlView = $('#html-view'); htmlView.html(element); + self.renumber(); if ('PropertiesPerspective' in $.wiki.perspectives) $.wiki.perspectives.PropertiesPerspective.enable(); @@ -942,6 +953,23 @@ } }) } + + renumber() { + let number = 0; + $('#html-view *').each((i, e) => { + let $e = $(e); + if ($e.closest('[x-node="abstrakt"]').length) return; + if ($e.closest('[x-node="nota_red"]').length) return; + if ($e.closest('[x-annotation-box="true"]').length) return; + let node = $e.attr('x-node'); + if (node == 'numeracja') { + number = 0; + } else if (['werset', 'akap', 'wers'].includes(node)) { + number ++; + $e.attr('x-number', number); + } + }) + } } $.wiki.VisualPerspective = VisualPerspective;