Sha256: f41dfe3493159689f32e8551497be4759f33beebce17c3dbd4473d599c481b92

Contents?: true

Size: 1.28 KB

Versions: 3

Compression:

Stored size: 1.28 KB

Contents

format :html do
  view :read_form do
    edit_field_configs.map do |field, args|
      args[:view] = :read_formgroup
      nest field, args
    end
  end

  view :read_formgroup, template: :haml, unknown: true, wrap: :slot

  # a formgroup has a label (with helptext) and an input
  def formgroup title, opts={}, &block
    input = opts[:input]
    wrap_with :div, formgroup_div_args(opts[:class]) do
      [formgroup_label(input, title, opts[:help]),
       editor_wrap(input, &block)]
    end
  end

  def formgroup_label input, title, help
    parts = [formgroup_title(title), formgroup_help(help)].compact
    return unless parts.present?

    form.label (input || :content), raw(parts.join("\n"))
  end

  def formgroup_title title
    title if voo&.show?(:title) && title.present?
  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=nil
    return unless voo&.show?(:help) && text != false

    class_up "help-text", "help-block"
    formgroup_voo_help text
    _render_help
  end

  def formgroup_voo_help text
    voo.help = text if voo && text.present? && text.to_s != "true"
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
card-mod-edit-0.14.2 set/all/formgroup.rb
card-mod-edit-0.14.1 set/all/formgroup.rb
card-mod-edit-0.14.0 set/all/formgroup.rb