Class: AbstractFilter
- Inherits:
-
Object
show all
- Defined in:
- lib/gitter/filters/abstract_filter.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(grid, name, opts = {}) ⇒ AbstractFilter
Returns a new instance of AbstractFilter.
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/gitter/filters/abstract_filter.rb', line 5
def initialize grid, name, opts = {}
@grid, @name = grid, name
@label = opts.delete(:label){grid.translate(:filters, name)}
@input_options = opts.delete(:input){nil}
@input_tag = opts.delete(:input_tag){nil}
@include_blank = opts.delete(:include_blank){false}
@formatter = opts.delete(:formatter){nil}
@param_scoped = opts.delete(:param_scoped){true}
@order = opts.delete(:order){nil}
if coll = opts.delete(:input_collection){nil}
(@input_options||={})[:collection] = coll
end
@opts = opts
end
|
Instance Attribute Details
Returns the value of attribute formatter.
3
4
5
|
# File 'lib/gitter/filters/abstract_filter.rb', line 3
def formatter
@formatter
end
|
#grid ⇒ Object
Returns the value of attribute grid.
3
4
5
|
# File 'lib/gitter/filters/abstract_filter.rb', line 3
def grid
@grid
end
|
Returns the value of attribute input_options.
3
4
5
|
# File 'lib/gitter/filters/abstract_filter.rb', line 3
def input_options
@input_options
end
|
Returns the value of attribute input_tag.
3
4
5
|
# File 'lib/gitter/filters/abstract_filter.rb', line 3
def input_tag
@input_tag
end
|
#label ⇒ Object
Returns the value of attribute label.
3
4
5
|
# File 'lib/gitter/filters/abstract_filter.rb', line 3
def label
@label
end
|
#name ⇒ Object
Returns the value of attribute name.
3
4
5
|
# File 'lib/gitter/filters/abstract_filter.rb', line 3
def name
@name
end
|
#order ⇒ Object
Returns the value of attribute order.
3
4
5
|
# File 'lib/gitter/filters/abstract_filter.rb', line 3
def order
@order
end
|
Instance Method Details
#counts(driver = grid.filtered_driver) ⇒ Object
43
44
45
|
# File 'lib/gitter/filters/abstract_filter.rb', line 43
def counts driver = grid.filtered_driver
{ true => apply(driver.unordered).count }
end
|
#distinct_values(driver = nil) ⇒ Object
47
48
49
|
# File 'lib/gitter/filters/abstract_filter.rb', line 47
def distinct_values driver = nil
[ true, false ]
end
|
70
71
72
73
74
75
76
|
# File 'lib/gitter/filters/abstract_filter.rb', line 70
def format value
case formatter
when Hash then formatter[value]
when Proc then formatter.call value
else value;
end
end
|
#include_blank? ⇒ Boolean
27
28
29
|
# File 'lib/gitter/filters/abstract_filter.rb', line 27
def include_blank?
@include_blank
end
|
23
24
25
|
# File 'lib/gitter/filters/abstract_filter.rb', line 23
def input?
@input_options || @input_tag
end
|
#param_scoped? ⇒ Boolean
31
32
33
|
# File 'lib/gitter/filters/abstract_filter.rb', line 31
def param_scoped?
@param_scoped
end
|
#select_tag(collection) ⇒ Object
66
67
68
|
# File 'lib/gitter/filters/abstract_filter.rb', line 66
def select_tag collection
h.select_tag scoped_name, h.options_for_select(collection, grid.params[name.intern]), :class => 'grid'
end
|
#selected? ⇒ Boolean
39
40
41
|
# File 'lib/gitter/filters/abstract_filter.rb', line 39
def selected?
selected_value.present?
end
|
#selected_value ⇒ Object
35
36
37
|
# File 'lib/gitter/filters/abstract_filter.rb', line 35
def selected_value
@selected_value ||= grid.filter_value name
end
|
#text_field_tag ⇒ Object
62
63
64
|
# File 'lib/gitter/filters/abstract_filter.rb', line 62
def text_field_tag
@text_field_tag ||= h.text_field_tag scoped_name, grid.params[name.intern], :class => 'grid'
end
|