Module: Datagrid::Filters::InstanceMethods
- Defined in:
- lib/datagrid/filters.rb
Instance Method Summary collapse
- #default_filter ⇒ Object
-
#filter_by(*filters) ⇒ Object
Returns assets filtered only by specified filters Allows partial filtering.
-
#filter_by_name(name) ⇒ Object
Returns filter object with the given name.
-
#filter_value(filter) ⇒ Object
Returns filter value for given filter definition.
-
#filter_value_as_string(name) ⇒ Object
Returns string representation of filter value.
-
#filters ⇒ Object
Returns all currently enabled filters.
-
#select_all(filter) ⇒ Object
Sets all options as selected for a filter that has options.
-
#select_options(filter) ⇒ Object
Returns select options for specific filter or filter name If given filter doesn’t support select options raises ‘ArgumentError`.
-
#select_values(filter) ⇒ Object
Returns all values that can be set to a filter with select options.
Instance Method Details
#default_filter ⇒ Object
201 202 203 |
# File 'lib/datagrid/filters.rb', line 201 def default_filter self.class.default_filter end |
#filter_by(*filters) ⇒ Object
Returns assets filtered only by specified filters Allows partial filtering
180 181 182 |
# File 'lib/datagrid/filters.rb', line 180 def filter_by(*filters) apply_filters(scope, filters.map{|f| filter_by_name(f)}) end |
#filter_by_name(name) ⇒ Object
Returns filter object with the given name
174 175 176 |
# File 'lib/datagrid/filters.rb', line 174 def filter_by_name(name) self.class.filter_by_name(name) end |
#filter_value(filter) ⇒ Object
Returns filter value for given filter definition
158 159 160 |
# File 'lib/datagrid/filters.rb', line 158 def filter_value(filter) self[filter.name] end |
#filter_value_as_string(name) ⇒ Object
Returns string representation of filter value
163 164 165 166 167 168 169 170 171 |
# File 'lib/datagrid/filters.rb', line 163 def filter_value_as_string(name) filter = filter_by_name(name) value = filter_value(filter) if value.is_a?(Array) value.map {|v| filter.format(v) }.join(filter.separator) else filter.format(value) end end |
#filters ⇒ Object
Returns all currently enabled filters
206 207 208 209 210 |
# File 'lib/datagrid/filters.rb', line 206 def filters self.class.filters.select do |filter| filter.enabled?(self) end end |
#select_all(filter) ⇒ Object
Sets all options as selected for a filter that has options
191 192 193 194 |
# File 'lib/datagrid/filters.rb', line 191 def select_all(filter) filter = find_select_filter(filter) self[filter.name] = select_values(filter) end |
#select_options(filter) ⇒ Object
Returns select options for specific filter or filter name If given filter doesn’t support select options raises ‘ArgumentError`
186 187 188 |
# File 'lib/datagrid/filters.rb', line 186 def (filter) find_select_filter(filter).select(self) end |
#select_values(filter) ⇒ Object
Returns all values that can be set to a filter with select options
197 198 199 |
# File 'lib/datagrid/filters.rb', line 197 def select_values(filter) find_select_filter(filter).select_values(self) end |