Sha256: 7713f77128bb1e4cfac729fc16e0c4370e113d647c971519a4efdbdfef60f756

Contents?: true

Size: 1.64 KB

Versions: 3

Compression:

Stored size: 1.64 KB

Contents

module Agilibox::FormHelper
  # Hidden submit to be the default triggered on <enter> keypress on a form
  def form_hidden_submit
    tag(:input, type: "submit", class: "hidden-submit")
  end

  def form_buttons(opts = {})
   back_url = opts[:back_url]
   back_url = url_for(:back).html_safe if back_url.blank?
   back_url = URI(back_url).path       if back_url.include?("://")

    if opts[:obj].present?
      if opts[:obj].new_record?
        submit_action = :create
      else
        submit_action = :update
      end
    else
      submit_action = :save
    end

    content_tag("div", class: "actions") do
      submit = content_tag(:button, type: :submit, class: "btn btn-sm btn-success") do
        content_tag(:span, class: "fa fa-save") {} + " " + t("actions.#{submit_action}")
      end

      cancel = content_tag("a", href: back_url, class: "btn btn-primary btn-sm") do
        content_tag(:span, class: "fa fa-times"){} + " " + t("actions.cancel")
      end

      cancel = "" if back_url == false

      submit + cancel
    end
  end

  def horizontal_form_for(obj, opts={}, &block)
    opts = {
      :wrapper => "horizontal_form",
      :html => {
        :class => "form-horizontal"
      }
    }.deep_merge(opts)

    simple_form_for(obj, opts, &block)
  end

  def search_form(opts = {})
    action = opts.delete(:action) || request.fullpath

    render "agilibox/search/form", action: action
  end

  def checkboxes_dropdown(f, input, collection, label = t("actions.select"))
    render("agilibox/forms/checkboxes_dropdown",
      :f          => f,
      :input      => input,
      :collection => collection,
      :label      => label,
    )
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
agilibox-1.0.9 app/helpers/agilibox/form_helper.rb
agilibox-1.0.8 app/helpers/agilibox/form_helper.rb
agilibox-1.0.7 app/helpers/agilibox/form_helper.rb