Sha256: 5990690e1f34a513b3744a250b25c0fc13ef08d7715bd92196eed506631bebfa
Contents?: true
Size: 1.85 KB
Versions: 3
Compression:
Stored size: 1.85 KB
Contents
require "action_view" module Datagrid module FormBuilder def datagrid_filter(filter_or_attribute, options = {}) filter = get_filter(filter_or_attribute) options[:class] ||= "" options[:class] += " " unless options[:class].blank? options[:class] += "#{filter.name} #{datagrid_filter_class(filter.class)}" self.send(:"datagrid_#{filter.class.to_s.underscore.split('/').last}", filter, options) end protected def datagrid_boolean_enum_filter(attribute_or_filter, options = {}) datagrid_enum_filter(attribute_or_filter, options) end def datagrid_boolean_filter(attribute_or_filter, options = {}) check_box(get_attribute(attribute_or_filter), options) end def datagrid_date_filter(attribute_or_filter, options = {}) attribute = get_attribute(attribute_or_filter) text_field(attribute, options) end def datagrid_default_filter(attribute_or_filter, options = {}) text_field get_attribute(attribute_or_filter), options end def datagrid_enum_filter(attribute_or_filter, options = {}) filter = get_filter(attribute_or_filter) select filter.name, filter.select || [], {:include_blank => filter.include_blank}, {:multiple => filter.multiple}.merge(options) end def datagrid_integer_filter(attribute_or_filter, options = {}) text_field get_attribute(attribute_or_filter), options end def get_attribute(attribute_or_filter) attribute_or_filter.is_a?(Symbol) ? attribute_or_filter : attribute_or_filter.name end def get_filter(attribute_or_filter) attribute_or_filter.is_a?(Symbol) ? object.class.filter_by_name(attribute_or_filter) : attribute_or_filter end def datagrid_filter_class(klass) klass.to_s.split("::").last.underscore end end end ActionView::Helpers::FormBuilder.send(:include, Datagrid::FormBuilder)
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
datagrid-0.1.1 | lib/datagrid/form_builder.rb |
datagrid-0.1.0 | lib/datagrid/form_builder.rb |
datagrid-0.0.3 | lib/datagrid/form_builder.rb |