Class: Gitter::AbstractFilter
- Inherits:
-
Object
- Object
- Gitter::AbstractFilter
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.
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/gitter/filters/abstract_filter.rb', line 7
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}
@input_class = opts.delete(:input_class){''}
@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.
5
6
7
|
# File 'lib/gitter/filters/abstract_filter.rb', line 5
def formatter
@formatter
end
|
#grid ⇒ Object
Returns the value of attribute grid.
5
6
7
|
# File 'lib/gitter/filters/abstract_filter.rb', line 5
def grid
@grid
end
|
Returns the value of attribute input_class.
5
6
7
|
# File 'lib/gitter/filters/abstract_filter.rb', line 5
def input_class
@input_class
end
|
Returns the value of attribute input_options.
5
6
7
|
# File 'lib/gitter/filters/abstract_filter.rb', line 5
def input_options
@input_options
end
|
Returns the value of attribute input_tag.
5
6
7
|
# File 'lib/gitter/filters/abstract_filter.rb', line 5
def input_tag
@input_tag
end
|
#label ⇒ Object
Returns the value of attribute label.
5
6
7
|
# File 'lib/gitter/filters/abstract_filter.rb', line 5
def label
@label
end
|
#name ⇒ Object
Returns the value of attribute name.
5
6
7
|
# File 'lib/gitter/filters/abstract_filter.rb', line 5
def name
@name
end
|
#order ⇒ Object
Returns the value of attribute order.
5
6
7
|
# File 'lib/gitter/filters/abstract_filter.rb', line 5
def order
@order
end
|
Instance Method Details
#counts(driver = grid.filtered_driver) ⇒ Object
46
47
48
|
# File 'lib/gitter/filters/abstract_filter.rb', line 46
def counts driver = grid.filtered_driver
{ true => apply(driver.unordered).count }
end
|
#distinct_values(driver = nil) ⇒ Object
50
51
52
|
# File 'lib/gitter/filters/abstract_filter.rb', line 50
def distinct_values driver = nil
[ true, false ]
end
|
74
75
76
77
78
79
80
|
# File 'lib/gitter/filters/abstract_filter.rb', line 74
def format value
case formatter
when Hash then formatter[value]
when Proc then formatter.call value
else value;
end
end
|
#include_blank? ⇒ Boolean
30
31
32
|
# File 'lib/gitter/filters/abstract_filter.rb', line 30
def include_blank?
@include_blank
end
|
26
27
28
|
# File 'lib/gitter/filters/abstract_filter.rb', line 26
def input?
@input_options || @input_tag
end
|
#param_scoped? ⇒ Boolean
34
35
36
|
# File 'lib/gitter/filters/abstract_filter.rb', line 34
def param_scoped?
@param_scoped
end
|
#select_tag(collection) ⇒ Object
70
71
72
|
# File 'lib/gitter/filters/abstract_filter.rb', line 70
def select_tag collection
h.select_tag scoped_name, h.options_for_select(collection, grid.params[name.intern]), include_blank: include_blank?, class: input_classes
end
|
#selected? ⇒ Boolean
42
43
44
|
# File 'lib/gitter/filters/abstract_filter.rb', line 42
def selected?
selected_value.present?
end
|
#selected_value ⇒ Object
38
39
40
|
# File 'lib/gitter/filters/abstract_filter.rb', line 38
def selected_value
@selected_value ||= grid.filter_value name
end
|
#text_field_tag ⇒ Object
65
66
67
68
|
# File 'lib/gitter/filters/abstract_filter.rb', line 65
def text_field_tag
@text_field_tag ||= h.text_field_tag scoped_name, grid.params[name.intern],
class: input_classes
end
|