Refactor richtext fields to use a custom bootstrap_form input.

This allows us to use form_group_builder and get all the label and
help text handling in line with other bootstrap_form inputs.
This commit is contained in:
Andy Allan 2021-01-13 14:05:39 +00:00
parent ed07e17ca2
commit 78bf2993e4
6 changed files with 50 additions and 31 deletions

View file

@ -6,6 +6,6 @@
<h1><%= @title %></h1>
<% end %>
<%= form_for @diary_entry, :builder => RichtextFormBuilder, :url => diary_entry_path(current_user, @diary_entry), :html => { :method => :put } do |f| %>
<%= bootstrap_form_for @diary_entry, :url => diary_entry_path(current_user, @diary_entry), :html => { :method => :put } do |f| %>
<%= render :partial => "form", :locals => { :f => f } %>
<% end %>

View file

@ -6,6 +6,6 @@
<h1><%= @title %></h1>
<% end %>
<%= form_for @diary_entry, :builder => RichtextFormBuilder do |f| %>
<%= bootstrap_form_for @diary_entry do |f| %>
<%= render :partial => "form", :locals => { :f => f } %>
<% end %>

View file

@ -1,17 +1,14 @@
<div class="form-group">
<label><%= object.class.human_attribute_name(attribute) %></label>
<div id="<%= id %>_container" class="form-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>
</div>
<div id="<%= id %>_help" class="col-sm-4 richtext_help">
<div class="card bg-light 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 id="<%= id %>_container" class="form-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>
</div>
<div id="<%= id %>_help" class="col-sm-4 richtext_help">
<div class="card bg-light 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>