mod/edit/set/all/editor.rb
basket[:list_input_options] << "text area"
basket[:list_input_options] << "text field"
format :html do
def input_type
voo.input_type.present? ? voo.input_type : input_type_from_rule
end
def input_type_from_rule
card.rule(:input_type)&.gsub(/[\[\]]/, "")&.tr(" ", "_")
end
def input_method input_type
"#{input_type}_input"
end
# core view of card is input
def input_defined_by_card
with_card input_type do |input_card|
nest input_card, view: :core
end
end
# move somewhere more accessible?
def with_card mark
card = Card[mark]
yield card if card
rescue Card::Error::CodenameNotFound
nil
end
view :input, unknown: true, cache: :never do
try(input_method(input_type)) ||
input_defined_by_card ||
send(input_method(default_input_type))
end
def default_input_type
:rich_text
end
def rich_text_input
send "#{Cardio.config.rich_text_editor || :text_area}_editor_input"
end
def text_area_input
text_area :content, rows: 5, class: "d0-card-content",
"data-card-type-code": card.type_code
end
def text_field_input
text_field :content, class: classy("d0-card-content"), placeholder: placeholder_text
end
def hidden_input
hidden_field :content, class: classy("d0-card-content")
end
# for override (placeholder for placeholders)
def placeholder_text
""
end
end