format :html do # a formgroup has a label, an editor and help text def formgroup title, opts={}, &block wrap_with :div, formgroup_div_args(opts[:class]) do formgroup_body title, opts, &block end end def formgroup_body title, opts, &block label = formgroup_label opts[:editor], title editor_body = editor_wrap opts[:editor], &block help_text = formgroup_help_text opts[:help] "#{label}
#{help_text} #{editor_body}
" end def formgroup_label editor_type, title return if voo&.hide?(:title) || title.blank? label_type = editor_type || :content form.label label_type, title end def formgroup_div_args html_class div_args = { class: ["form-group", html_class].compact.join(" ") } div_args[:card_id] = card.id if card.real? div_args[:card_name] = h card.name if card.name.present? div_args end def formgroup_help_text text=nil return "" if text == false class_up "help-text", "help-block" voo.help = text if voo && text.to_s != "true" _render_help end end