Class: Avo::Filters::BaseFilter
- Inherits:
-
Object
- Object
- Avo::Filters::BaseFilter
show all
- Defined in:
- lib/avo/filters/base_filter.rb
Constant Summary
collapse
- PARAM_KEY =
:encoded_filters
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(arguments: {}) ⇒ BaseFilter
Returns a new instance of BaseFilter.
37
38
39
|
# File 'lib/avo/filters/base_filter.rb', line 37
def initialize(arguments: {})
@arguments = arguments
end
|
Instance Attribute Details
#arguments ⇒ Object
Returns the value of attribute arguments.
13
14
15
|
# File 'lib/avo/filters/base_filter.rb', line 13
def arguments
@arguments
end
|
Class Method Details
.decode_filters(filter_params) ⇒ Object
24
25
26
|
# File 'lib/avo/filters/base_filter.rb', line 24
def decode_filters(filter_params)
JSON.parse(Base64.decode64(filter_params))
end
|
.encode_filters(filter_params) ⇒ Object
28
29
30
|
# File 'lib/avo/filters/base_filter.rb', line 28
def encode_filters(filter_params)
Base64.encode64(filter_params.to_json)
end
|
.get_empty_message ⇒ Object
32
33
34
|
# File 'lib/avo/filters/base_filter.rb', line 32
def get_empty_message
empty_message || I18n.t("avo.no_options_available")
end
|
Instance Method Details
#applied_filters ⇒ Object
Fetch the applied filters from the params
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/avo/filters/base_filter.rb', line 67
def applied_filters
return {} if (filters_from_params = params[PARAM_KEY]).blank?
return {} if !filters_from_params.is_a?(String)
self.class.decode_filters filters_from_params
end
|
#applied_or_default_value(applied_filters) ⇒ Object
Get the applied value this filter. If it’s not present return the default value.
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/avo/filters/base_filter.rb', line 53
def applied_or_default_value(applied_filters)
applied_value = applied_filters[self.class.to_s]
return applied_value unless applied_value.nil?
default
rescue
default
end
|
#apply_query(request, query, value) ⇒ Object
41
42
43
44
45
|
# File 'lib/avo/filters/base_filter.rb', line 41
def apply_query(request, query, value)
value.stringify_keys! if value.is_a? Hash
apply(request, query, value)
end
|
#current_user ⇒ Object
19
20
21
|
# File 'lib/avo/filters/base_filter.rb', line 19
def current_user
Avo::Current.user
end
|
#id ⇒ Object
47
48
49
|
# File 'lib/avo/filters/base_filter.rb', line 47
def id
self.class.name.underscore.tr("/", "_")
end
|
#visible_in_view(resource: nil, parent_resource: nil) ⇒ Object
78
79
80
81
82
83
84
85
86
87
88
89
|
# File 'lib/avo/filters/base_filter.rb', line 78
def visible_in_view(resource: nil, parent_resource: nil)
return true if visible.blank?
Avo::ExecutionContext.new(
target: visible,
params: params,
parent_resource: parent_resource,
resource: resource,
arguments: arguments
).handle
end
|