Ticket 818: saving reminder
[redakcja.git] / redakcja / static / js / wiki / view_editor_wysiwyg.js
index ad48a21..42d91ca 100644 (file)
         else {
             $box = $origin;
         }
-
-        /* check sidebar width and display textarea on the right but avoiding interfering with gallery */
-        var x = $(document).width() - $("#sidebar").width() - 576 - 100; // and little margin here: 100px
-        var y = $origin.offset().top + $("#html-view").scrollTop();
-        
+        var x = $box[0].offsetLeft;
+        var y = $box[0].offsetTop;        
         
         var w = $box.outerWidth();
         var h = $box.innerHeight();
         if ($origin.is(".annotation-inline-box")) {
             w = Math.max(w, 400);
             h = Math.max(h, 60);
+            if($('.htmlview div').offset().left + $('.htmlview div').width() > ($('.vsplitbar').offset().left - 480)){
+                x = -(Math.max($origin.offset().left, $origin.width())); 
+            } else {
+                x = 100;
+            }
         }
 
         // start edition on this node
             left: x,
             top: y,
             width: w
-        }).appendTo($('#html-view')).show();  /* appending outside of the document structure */
+        }).appendTo($box[0].offsetParent || $box.parent()).show();
         
 
         if ($origin.is('.motyw')) {
                             alert('Błąd! ' + text);
                         }
                     })
+                    
+                    var msg = $("<div class='saveNotify'><p>Twoje zmiany zostały naniesione na tekst źródłowy. Pamiętaj, że aby zmiany zostały utrwalone <span>należy je zapisać</span>!</p><p class='notifyTip'>Ta wiadomość zostanie automatycznie zamknięta za 6 sekund.</p></div>");
+                    $("#base").prepend(msg);
+                    $("#save-button").css({border: '5px solid red'});
+                    $('#base .saveNotify').fadeOut(6000, function(){
+                        $(this).remove(); 
+                        $("#save-button").css({border: '1px solid black'});
+                    });
                 }
 
                 $('.accept-button', $overlay).click(function(){
                         return;
                     }
                     save();
-
                     $(document).unbind('click.blur-overlay');
                 });
 
                 $('#html-view').html(element);
                 _finalize(success);
             },
-            error: function(text){
-                $('#html-view').html('<p class="error">Wystąpił błąd:</p><pre>'+text+'</pre>');
+            error: function(text, source){
+                $('#html-view').html('<p class="error">Wystąpił błąd:</p><p>'+text+'</p><pre>'+source.replace(/&/g, '&amp;').replace(/</g, '&lt;')+'</pre>');
                 _finalize(failure);
             }
         });