From 259437728e09431bf2fb33f12127ca4c499579db Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Fri, 7 Jun 2024 17:48:05 +0300 Subject: [PATCH] Switch between richtext edit/preview using Bootstrap tab panes --- app/assets/javascripts/richtext.js | 31 ++--------------------- app/views/shared/_richtext_field.html.erb | 12 ++++++--- 2 files changed, 10 insertions(+), 33 deletions(-) diff --git a/app/assets/javascripts/richtext.js b/app/assets/javascripts/richtext.js index cfba5c923..259b914de 100644 --- a/app/assets/javascripts/richtext.js +++ b/app/assets/javascripts/richtext.js @@ -1,7 +1,4 @@ $(document).ready(function () { - /* 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 @@ -11,29 +8,10 @@ $(document).ready(function () { $(this).parents(".richtext_container").find(".richtext_preview").empty(); }); - /* Disable all the edit buttons */ - $(".richtext_doedit").prop("disabled", true); - /* - * Install a click handler to switch to edit mode when the - * edit button is pressed. + * Install a handler to switch to preview mode */ - $(".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(); - - $(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. - */ - $(".richtext_dopreview").click(function () { + $(".richtext_dopreview").on("show.bs.tab", function () { var editor = $(this).parents(".richtext_container").find("textarea"); var preview = $(this).parents(".richtext_container").find(".richtext_preview"); var minHeight = editor.outerHeight() - preview.outerHeight() + preview.height(); @@ -49,11 +27,6 @@ $(document).ready(function () { }); } - editor.hide(); preview.css("min-height", minHeight + "px"); - preview.show(); - - $(this).parents(".richtext_container").find(".richtext_doedit").prop("disabled", false).removeClass("active"); - $(this).prop("disabled", true).addClass("active"); }); }); diff --git a/app/views/shared/_richtext_field.html.erb b/app/views/shared/_richtext_field.html.erb index 74d609cd5..238175762 100644 --- a/app/views/shared/_richtext_field.html.erb +++ b/app/views/shared/_richtext_field.html.erb @@ -2,14 +2,18 @@
- <%= builder.text_area(attribute, options.merge(:wrapper => false, "data-preview-url" => preview_url(:type => type))) %> -
+
+
+ <%= builder.text_area(attribute, options.merge(:wrapper => false, "data-preview-url" => preview_url(:type => type))) %> +
+
+
-- 2.39.5