Sha256: 8e80be7e120d562dc94163cdbbd2aa58ff5ac9940231a2f22fc4fbcfcf6b40ff

Contents?: true

Size: 1.11 KB

Versions: 6

Compression:

Stored size: 1.11 KB

Contents

module Headmin
  module FormHelper
    # TODO: cleanup after input field refactoring
    def form_field_validation_id(form, name)
      [form.object_name, name.to_s, "validation"].join("_").parameterize.underscore
    end

    # TODO: cleanup after input field refactoring
    def form_field_validation_class(form, name)
      return nil if request.get?
      form.object.errors.has_key?(name) ? "is-invalid" : "is-valid"
    end

    # Outputs currently present query parameters as hidden fields for a given form
    #
    # https://example.com/products?amount=1&type[]=food&type[]=beverage
    #
    # <%= form.hidden_input :amount, value: 1 %>
    # <%= form.hidden_input :'type[]', value: 'food' %>
    # <%= form.hidden_input :'type[]', value: 'beverage' %>
    def query_parameter_fields(form)
      test = request.query_parameters.map do |name, value|
        if value.is_a?(Array)
          value.map do |value_element|
            form.hidden_field "#{name}[]", value: value_element
          end.join
        else
          form.hidden_field name, value: value
        end
      end
      test.join.html_safe
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
headmin-0.5.2 app/helpers/headmin/form_helper.rb
headmin-0.5.1 app/helpers/headmin/form_helper.rb
headmin-0.5.0 app/helpers/headmin/form_helper.rb
headmin-0.4.2 app/helpers/headmin/form_helper.rb
headmin-0.4.1 app/helpers/headmin/form_helper.rb
headmin-0.4.0 app/helpers/headmin/form_helper.rb