module Lipstick::Helpers::FormHelper
Public Instance Methods
check_box_tag(*, &block)
click to toggle source
rubocop:enable Style/OptionalBooleanParameter
Calls superclass method
# File lib/lipstick/helpers/form_helper.rb, line 24 def check_box_tag(*, &block) content_tag('div', class: 'checkbox') do content_tag('label') do concat(super) concat(capture(&block)) end end end
date_field_tag(name, value = nil, **opts)
click to toggle source
# File lib/lipstick/helpers/form_helper.rb, line 92 def date_field_tag(name, value = nil, **opts) opts[:class] = "#{opts[:class]} date-picker".strip text_field_tag(name, value, opts) end
field_block(html_opts = {}, &block)
click to toggle source
# File lib/lipstick/helpers/form_helper.rb, line 8 def field_block(html_opts = {}, &block) add_css_class(html_opts, 'form-group') content_tag('div', html_opts, &block) end
form_for(obj, opts = {}, &block)
click to toggle source
Calls superclass method
# File lib/lipstick/helpers/form_helper.rb, line 124 def form_for(obj, opts = {}, &block) opts[:builder] = BootstrapFormBuilder super(obj, opts, &block) end
grouped_search_field(filter, placeholder)
click to toggle source
# File lib/lipstick/helpers/form_helper.rb, line 69 def grouped_search_field(filter, placeholder) content_tag('div', class: 'input-group') do concat(search_filter_text_field(filter, placeholder)) concat(content_tag('span', search_button, class: 'input-group-btn')) end end
inline_form_tag(url_for_options = {}, options = {}, &block)
click to toggle source
# File lib/lipstick/helpers/form_helper.rb, line 35 def inline_form_tag(url_for_options = {}, options = {}, &block) add_css_class(options, 'form-inline') form_tag(url_for_options, options, &block) end
search_filter_text_field(filter, placeholder)
click to toggle source
# File lib/lipstick/helpers/form_helper.rb, line 55 def search_filter_text_field(filter, placeholder) orig_text_field_tag(:filter, filter, placeholder: placeholder, autocomplete: 'off', class: 'form-control') end
search_form_input_tag(filter, placeholder)
click to toggle source
# File lib/lipstick/helpers/form_helper.rb, line 47 def search_form_input_tag(filter, placeholder) content_tag('div', class: 'row') do content_tag('div', grouped_search_field( filter, placeholder ), class: 'col-lg-12') end end
search_form_tag(filter, url: nil, placeholder: 'Search within these entries')
click to toggle source
# File lib/lipstick/helpers/form_helper.rb, line 40 def search_form_tag(filter, url: nil, placeholder: 'Search within these entries') form_tag(url, method: :get) do field_block { search_form_input_tag(filter, placeholder) } end end
select_tag(name, option_tags = nil, **opts)
click to toggle source
Calls superclass method
# File lib/lipstick/helpers/form_helper.rb, line 97 def select_tag(name, option_tags = nil, **opts) add_css_class(opts, 'form-control') super end
text_area_tag(name, content = nil, opts = {})
click to toggle source
Calls superclass method
# File lib/lipstick/helpers/form_helper.rb, line 87 def text_area_tag(name, content = nil, opts = {}) add_css_class(opts, 'form-control') super end
text_field_tag(name, value = nil, opts = {})
click to toggle source
Calls superclass method
# File lib/lipstick/helpers/form_helper.rb, line 82 def text_field_tag(name, value = nil, opts = {}) add_css_class(opts, 'form-control') super end
Also aliased as: orig_text_field_tag
validate_form(selector, sym = nil, &block)
click to toggle source
Generates the wrapping code for validating a form. The selector is passed to jQuery, and must uniquely select the form being validated. ‘sym` is the object name when using a `form_for` helper to generate the form.
e.g. <%=
validate_form('#new-test-object', :test_object) do |v| v.validate_field(:name, ...) # Validate the test_object[name] field end
%>
# File lib/lipstick/helpers/form_helper.rb, line 140 def validate_form(selector, sym = nil, &block) opts = { type: 'application/vnd.aaf.lipstick.validations+json', 'data-target': selector, class: 'lipstick-validations' } content_tag('script', opts) do validation_json(sym, &block).html_safe end end
Private Instance Methods
add_css_class(opts, class_name)
click to toggle source
# File lib/lipstick/helpers/form_helper.rb, line 179 def add_css_class(opts, class_name) opts[:class] = "#{opts[:class]} #{class_name}".strip end
confirm_delete_dropdown(url, action)
click to toggle source
# File lib/lipstick/helpers/form_helper.rb, line 173 def confirm_delete_dropdown(url, action) link = link_to("Confirm #{action}", url, class: 'confirm-delete') item = content_tag('li', link) content_tag('ul', item, class: 'dropdown-menu') end
delete_dropdown_opener(label, **opts)
click to toggle source
# File lib/lipstick/helpers/form_helper.rb, line 160 def delete_dropdown_opener(label, **opts) opts = { 'aria-expanded': 'false', 'data-toggle': 'dropdown', type: 'button', 'aria-haspopup': 'true' }.merge(opts) add_css_class(opts, 'btn-small btn-danger dropdown-toggle') button_tag(opts) do concat(icon_tag('trash')) concat(' ') concat(label) end end
validation_json(sym) { |v| ... }
click to toggle source
# File lib/lipstick/helpers/form_helper.rb, line 154 def validation_json(sym) v = FormValidationBuilder.new(sym) yield v JSON.generate(v.to_h) end