Files
codeocean/app/helpers/markdown_form_builder.rb
Julia Casamitjana 17a4485ce2 Rename PagedownFormBuilder to MarkdownFormBuilder
The term 'Pagedown' was originally associated with the pagedown-bootstrap
library, which is no longer in use.
2024-04-26 13:31:49 +02:00

32 lines
768 B
Ruby

# frozen_string_literal: true
class MarkdownFormBuilder < ActionView::Helpers::FormBuilder
def markdown(method, args = {})
# Adopt simple form builder to work with form_for
@attribute_name = method
@input_html_options = args[:input_html]
@template.capture do
@template.concat form_textarea
@template.concat @template.tag.div(class: 'markdown-editor', data: {behavior: 'markdown-editor-widget', id: label_target})
end
end
private
def form_textarea
@template.text_area @object_name, @attribute_name,
**(@input_html_options || {}),
id: label_target,
class: 'd-none'
end
def base_id
options[:markdown_id_suffix] || @attribute_name
end
def label_target
"markdown-input-#{base_id}"
end
end