Prevent a race condition between "Replacing text" label and the save dialog, probably...
[redakcja.git] / redakcja / static / js / wiki_img / view_editor_motifs.js
index 3b6f45d..ad60c22 100644 (file)
@@ -7,7 +7,9 @@
         options.callback = function(){
             var self = this;
 
         options.callback = function(){
             var self = this;
 
-            self.$tag_name = $('#motifs-editor #tag-name');
+            self.$tag_name = $('#motifs-editor .tag-name');
+            self.$toolbar = $('#motifs-editor .toolbar');
+            self.$scrolled = $('#motifs-editor .scrolled');
             withThemes(function(canonThemes){
                 self.$tag_name.autocomplete(canonThemes, {
                     autoFill: true,
             withThemes(function(canonThemes){
                 self.$tag_name.autocomplete(canonThemes, {
                     autoFill: true,
@@ -17,7 +19,7 @@
                 });
             })
 
                 });
             })
 
-            self.$objects_list = $('#motifs-editor #objects-list');
+            self.$objects_list = $('#motifs-editor .objects-list');
 
             self.x1 = null;
             self.x2 = null;
 
             self.x1 = null;
             self.x2 = null;
 
             if (!CurrentDocument.readonly) {
                 self.ias = $('#motifs-editor img.area-selectable').imgAreaSelect({ handles: true, onSelectEnd: self._fillCoords(self), instance: true });
 
             if (!CurrentDocument.readonly) {
                 self.ias = $('#motifs-editor img.area-selectable').imgAreaSelect({ handles: true, onSelectEnd: self._fillCoords(self), instance: true });
-                $('#motifs-editor #add').click(self._addObject(self));
+                $('#motifs-editor .add').click(self._addObject(self));
 
                 $('.delete', self.$objects_list).live('click', function() {
                     $(this).prev().trigger('click');
                     if (window.confirm("Czy na pewno chcesz usunąć ten motyw?")) {
                         $(this).prev().remove();
                         $(this).remove();
 
                 $('.delete', self.$objects_list).live('click', function() {
                     $(this).prev().trigger('click');
                     if (window.confirm("Czy na pewno chcesz usunąć ten motyw?")) {
                         $(this).prev().remove();
                         $(this).remove();
+                        self._refreshLayout();
                     }
                     self._resetSelection();
                     return false;
                     }
                     self._resetSelection();
                     return false;
@@ -70,6 +73,9 @@
         self.ias.setOptions({ hide: true });
     }
 
         self.ias.setOptions({ hide: true });
     }
 
+    MotifsPerspective.prototype._refreshLayout = function() {
+        this.$scrolled.css({top: this.$toolbar.height()});
+    };
 
     MotifsPerspective.prototype._push = function(name, x1, y1, x2, y2) {
         var $e = $('<span class="image-object"></span>')
 
     MotifsPerspective.prototype._push = function(name, x1, y1, x2, y2) {
         var $e = $('<span class="image-object"></span>')
@@ -77,7 +83,8 @@
         if (x1 !== null)
             $e.data('coords', [x1, y1, x2, y2]);
         this.$objects_list.append($e);
         if (x1 !== null)
             $e.data('coords', [x1, y1, x2, y2]);
         this.$objects_list.append($e);
-        this.$objects_list.append('<span class="delete">(x)</span>');
+        this.$objects_list.append('<span class="delete">(x) </span>');
+        this._refreshLayout();
     }
 
 
     }