]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/shared/_richtext_field.html.erb
Switch between richtext edit/preview using Bootstrap tab panes
[rails.git] / app / views / shared / _richtext_field.html.erb
index cfe6f982788b3249f32bf027e540bad3ea0e4b23..23817576276da21b53d39c9ad8c3b3b819092adb 100644 (file)
@@ -1,14 +1,24 @@
-<div id="<%= id %>_container" class="form-row richtext_container">
+<div id="<%= id %>_container" class="row richtext_container">
   <div id="<%= id %>_content" class="col-sm-8 mb-3 mb-sm-0 richtext_content">
-    <%= builder.text_area(attribute, options.merge(:wrapper => false, "data-preview-url" => preview_url(:type => type))) %>
-    <div id="<%= id %>_preview" class="richtext_preview richtext text-break"></div>
+    <ul class="nav nav-tabs mb-3" role="tablist">
+      <li class="nav-item">
+        <button type="button" class="nav-link active" data-bs-toggle="tab" data-bs-target="#<%= id %>_edit"><%= t(".edit") %></button>
+      </li>
+      <li class="nav-item">
+        <button type="button" class="nav-link richtext_dopreview" data-bs-toggle="tab" data-bs-target="#<%= id %>_preview"><%= t(".preview") %></button>
+      </li>
+    </ul>
+    <div class="tab-content">
+      <div id="<%= id %>_edit" class="tab-pane show active">
+        <%= builder.text_area(attribute, options.merge(:wrapper => false, "data-preview-url" => preview_url(:type => type))) %>
+      </div>
+      <div id="<%= id %>_preview" class="tab-pane richtext_preview richtext text-break"></div>
+    </div>
   </div>
   <div id="<%= id %>_help" class="col-sm-4 richtext_help">
-    <div class="card bg-light h-100">
+    <div class="card bg-body-tertiary h-100">
       <div class="card-body">
         <%= render :partial => "shared/#{type}_help" %>
-        <%= submit_tag t(".edit"), :id => "#{id}_doedit", :class => "richtext_doedit btn btn-primary", :disabled => true %>
-        <%= submit_tag t(".preview"), :id => "#{id}_dopreview", :class => "richtext_dopreview btn btn-primary" %>
       </div>
     </div>
   </div>