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