Class: Super::Filter::SchemaTypes
- Inherits:
-
Object
- Object
- Super::Filter::SchemaTypes
- Defined in:
- lib/super/filter/schema_types.rb
Overview
This schema type is used to configure the filtering form on your +#index+ action.
The +operators:+ keyword argument can be left out in each case. There is a default set of operators that are provided.
Note: The constants under "Defined Under Namespace" are considered private.
class MemberDashboard # ...
def filter_schema
Super::Filter.new do |fields, type|
fields[:name] = type.text(operators: [
Super::Filter::Operator.eq,
Super::Filter::Operator.contain,
Super::Filter::Operator.ncontain,
Super::Filter::Operator.start,
Super::Filter::Operator.end,
])
fields[:rank] = type.select(collection: Member.ranks.values)
fields[:position] = type.text(operators: [
Super::Filter::Operator.eq,
Super::Filter::Operator.neq,
Super::Filter::Operator.contain,
Super::Filter::Operator.ncontain,
])
fields[:ship_id] = type.select(
collection: Ship.all.map { |s| ["#{s.name} (Ship ##{s.id})", s.id] },
)
fields[:created_at] = type.
fields[:updated_at] = type.
end
end
# ...
end
Defined Under Namespace
Classes: Select, Text, Timestamp
Instance Method Summary collapse
- #select(collection:, operators: Filter::Operator.select_defaults) ⇒ Object
- #text(operators: Filter::Operator.text_defaults) ⇒ Object
- #timestamp(operators: Filter::Operator.range_defaults) ⇒ Object
Instance Method Details
#select(collection:, operators: Filter::Operator.select_defaults) ⇒ Object
95 96 97 98 99 100 |
# File 'lib/super/filter/schema_types.rb', line 95 def select(collection:, operators: Filter::Operator.select_defaults) Select.new( collection: collection, operators: operators ) end |
#text(operators: Filter::Operator.text_defaults) ⇒ Object
102 103 104 105 106 107 |
# File 'lib/super/filter/schema_types.rb', line 102 def text(operators: Filter::Operator.text_defaults) Text.new( partial_path: "filter_type_text", operators: operators ) end |
#timestamp(operators: Filter::Operator.range_defaults) ⇒ Object
109 110 111 |
# File 'lib/super/filter/schema_types.rb', line 109 def (operators: Filter::Operator.range_defaults) Timestamp.new(operators: operators) end |