Module: Domternal::TagHelper
- Defined in:
- app/helpers/domternal/tag_helper.rb
Instance Method Summary collapse
-
#domternal_area_tag(name, value = nil, options = {}, &block) ⇒ Object
Renders a hidden field plus a
custom element that mounts the editor and keeps the hidden field's value in sync on every change — the same shape as ActionText's rich_textarea_tag/ pair. - #domternal_content(value) ⇒ Object
Instance Method Details
#domternal_area_tag(name, value = nil, options = {}, &block) ⇒ Object
Renders a hidden field plus a
Options
:extensions- symbolic extension names (see Rails::Domternal::ExtensionRegistry). Defaults to the attribute'shas_rich_domternaldeclaration, orRails::Domternal.configuration.default_extensions.:toolbar- :full, :minimal, :notion, or false. Same defaulting as:extensions.[:data][:direct_upload_url]- defaults torails_direct_uploads_url.[:data][:blob_url_template]- defaults torails_service_blob_url(":signed_id", ":filename").
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/helpers/domternal/tag_helper.rb', line 21 def domternal_area_tag(name, value = nil, = {}, &block) value = capture(&block) if value.nil? && block_given? = .symbolize_keys form = .delete(:form) extensions = Array(.delete(:extensions) || Rails::Domternal.configuration.default_extensions) = .key?(:toolbar) ? .delete(:toolbar) : Rails::Domternal.configuration. [:input] ||= "domternal_input_#{Domternal::TagHelper.id += 1}" [:class] ||= "domternal-content" [:data] ||= {} [:data][:direct_upload_url] ||= app_routes.rails_direct_uploads_url [:data][:blob_url_template] ||= app_routes.rails_service_blob_url(":signed_id", ":filename") [:data][:extensions] ||= extensions.join(" ") [:data][:toolbar] ||= .to_s [:data][:theme] ||= Rails::Domternal.configuration.theme.to_s [:data][:max_file_size] ||= Rails::Domternal.configuration.max_file_size [:data][:allowed_mime_types] ||= Rails::Domternal.configuration.allowed_mime_types.join(" ") editor_tag = content_tag("domternal-editor", "", ) input_tag = hidden_field_tag(name, attribute_value(value), id: [:input], form: form) input_tag + editor_tag end |
#domternal_content(value) ⇒ Object
46 47 48 |
# File 'app/helpers/domternal/tag_helper.rb', line 46 def domternal_content(value) content_tag(:div, value.to_s.html_safe, class: "domternal-content") # rubocop:disable Rails/OutputSafety -- sanitized by Domternal::RichText before persistence end |