]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/richtext.js
Convert richtext edit/preview buttons into tabs
[rails.git] / app / assets / javascripts / richtext.js
index 38cc2a77bd5f332ce6aa2a35ae957dafa8cd3204..cfba5c923fe2c3ad02394c3b48958ff0b2105d58 100644 (file)
@@ -2,49 +2,43 @@ $(document).ready(function () {
   /* Hide the preview panes */
   $(".richtext_preview").hide();
 
   /* Hide the preview panes */
   $(".richtext_preview").hide();
 
-  /* 
+  /*
    * When the text in an edit pane is changed, clear the contents of
    * the associated preview pne so that it will be regenerated when
    * the user next switches to it.
    */
    * When the text in an edit pane is changed, clear the contents of
    * the associated preview pne so that it will be regenerated when
    * the user next switches to it.
    */
-  $(".richtext_content textarea").change(function () { 
+  $(".richtext_content textarea").change(function () {
     $(this).parents(".richtext_container").find(".richtext_preview").empty();
   });
 
   /* Disable all the edit buttons */
   $(".richtext_doedit").prop("disabled", true);
 
     $(this).parents(".richtext_container").find(".richtext_preview").empty();
   });
 
   /* Disable all the edit buttons */
   $(".richtext_doedit").prop("disabled", true);
 
-  /* Enable the preview buttons */
-  $(".richtext_dopreview").prop("disabled", false);
-
   /*
    * Install a click handler to switch to edit mode when the
    * edit button is pressed.
    */
   /*
    * Install a click handler to switch to edit mode when the
    * edit button is pressed.
    */
-  $(".richtext_doedit").click(function (event) {
+  $(".richtext_doedit").click(function () {
     var editor = $(this).parents(".richtext_container").find("textarea");
     var preview = $(this).parents(".richtext_container").find(".richtext_preview");
 
     preview.hide();
     editor.show();
 
     var editor = $(this).parents(".richtext_container").find("textarea");
     var preview = $(this).parents(".richtext_container").find(".richtext_preview");
 
     preview.hide();
     editor.show();
 
-    $(this).siblings(".richtext_dopreview").prop("disabled", false);
-    $(this).prop("disabled", true);
-
-    event.preventDefault();
+    $(this).parents(".richtext_container").find(".richtext_dopreview").prop("disabled", false).removeClass("active");
+    $(this).prop("disabled", true).addClass("active");
   });
 
   /*
    * Install a click handler to switch to preview mode when the
    * preview button is pressed.
    */
   });
 
   /*
    * Install a click handler to switch to preview mode when the
    * preview button is pressed.
    */
-  $(".richtext_dopreview").click(function (event) {
+  $(".richtext_dopreview").click(function () {
     var editor = $(this).parents(".richtext_container").find("textarea");
     var preview = $(this).parents(".richtext_container").find(".richtext_preview");
     var editor = $(this).parents(".richtext_container").find("textarea");
     var preview = $(this).parents(".richtext_container").find(".richtext_preview");
-    var width = editor.outerWidth() - preview.outerWidth() + preview.width();
     var minHeight = editor.outerHeight() - preview.outerHeight() + preview.height();
 
     var minHeight = editor.outerHeight() - preview.outerHeight() + preview.height();
 
-    if (preview.contents().length == 0) {
+    if (preview.contents().length === 0) {
       preview.oneTime(500, "loading", function () {
         preview.addClass("loading");
       });
       preview.oneTime(500, "loading", function () {
         preview.addClass("loading");
       });
@@ -56,13 +50,10 @@ $(document).ready(function () {
     }
 
     editor.hide();
     }
 
     editor.hide();
-    preview.width(width);
     preview.css("min-height", minHeight + "px");
     preview.show();
 
     preview.css("min-height", minHeight + "px");
     preview.show();
 
-    $(this).siblings(".richtext_doedit").prop("disabled", false);
-    $(this).prop("disabled", true);
-
-    event.preventDefault();
+    $(this).parents(".richtext_container").find(".richtext_doedit").prop("disabled", false).removeClass("active");
+    $(this).prop("disabled", true).addClass("active");
   });
 });
   });
 });