fix edit buttons wrapping
[redakcja.git] / src / redakcja / static / js / wiki / view_editor_wysiwyg.js
index 3d4ca02..afd8108 100644 (file)
         }
 
         // start edition on this node
         }
 
         // start edition on this node
-        var $overlay = $('<div class="html-editarea"><button class="accept-button">Zapisz</button><button class="delete-button">Usuń</button><button class="tytul-button akap-edit-button">tytuł dzieła</button><button class="wyroznienie-button akap-edit-button">wyróżnienie</button><button class="slowo-button akap-edit-button">słowo obce</button><button class="znak-button akap-edit-button">znak spec.</button><textarea></textarea></div>').css({
+        var $overlay = $('<div class="html-editarea"><div class="html-editarea-toolbar"><div class="html-editarea-toolbar-left"><button class="accept-button">Zapisz</button><button class="delete-button">Usuń</button></div><div class="html-editarea-toolbar-right"><button class="akap-edit-button" data-tag="tytul_dziela">tytuł dzieła</button><button class="akap-edit-button" data-tag="wyroznienie">wyróżnienie</button><button class="akap-edit-button" data-tag="slowo_obce">słowo obce</button><button class="akap-edit-button" data-tag-selfclosing="br">br</button><button class="akap-edit-button" data-act="spec">znak spec.</button></div></div><textarea></textarea></div>').css({
             position: 'absolute',
             height: h,
             left: x,
             position: 'absolute',
             height: h,
             left: x,
                     var textAreaOpened = $('textarea', $overlay)[0];
                     var startTag = "";
                     var endTag = "";
                     var textAreaOpened = $('textarea', $overlay)[0];
                     var startTag = "";
                     var endTag = "";
-                    var buttonName = this.innerHTML;
-
-                    if(buttonName == "słowo obce") {
-                        startTag = "<slowo_obce>";
-                        endTag = "</slowo_obce>";
-                    } else if (buttonName == "wyróżnienie") {
-                        startTag = "<wyroznienie>";
-                        endTag = "</wyroznienie>";
-                    } else if (buttonName == "tytuł dzieła") {
-                        startTag = "<tytul_dziela>";
-                        endTag = "</tytul_dziela>";
-                    } else if(buttonName == "znak spec."){
-                        addSymbol();
+                    var tag = "";
+                    var $this = $(this);
+
+                    if ($this.data('tag')) {
+                        tag = $this.data('tag');
+                        startTag = "<" + $this.data('tag') + ">";
+                        endTag = "</" + $this.data('tag') + ">";
+                    } else if ($this.data('tag-selfclosing')){
+                        startTag = "<" + $this.data('tag-selfclosing') + "/>";
+                    } else if ($this.data('act')) {
+                        if ($this.data('act') == 'spec') {
+                            addSymbol();
+                        }
                         return false;
                     }
 
                         return false;
                     }
 
 
                 $('#html-view').bind('mousemove', function(event){
                     var editable = $(event.target).closest('*[x-editable]');
 
                 $('#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')) {
 
                     if (!editable.hasClass('active')) {
-                        editable.addClass('active').append(button);
+                        var toolbar = $("<div class='html-editarea-toolbar'><div class='html-editarea-toolbar-left'></div></div>")
+                        editable.append(toolbar);
+                        var buttonSpace = $('.html-editarea-toolbar-left', toolbar);
+                        editable.addClass('active');
+                        buttonSpace.append(button);
                         if (!editable.is('[x-edit-attribute]') &&
                             !editable.is('.annotation-inline-box') &&
                             !editable.is('[x-edit-no-format]')
                            ) {
                         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')) {
                         }
                     }
                     if (editable.is('.annotation-inline-box')) {
                 $(document).on('click', '.edit-button', function(event){
                     self.flush();
                     event.preventDefault();
                 $(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();
                 });
 
                 $(document).on('click', '.uwaga-button', function(event){
                     self.flush();
                     event.preventDefault();
-                    createUwagaBefore($(this).parent());
+                    createUwagaBefore($(this).closest('.html-editarea-toolbar').parent());
                 });
             }
 
                 });
             }