Module: Refine::FilterApplicationController

Defined in:
app/controllers/refine/filter_application_controller.rb

Instance Method Summary collapse

Instance Method Details

#apply_filter(filter_class, initial_query: nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'app/controllers/refine/filter_application_controller.rb', line 6

def apply_filter(filter_class, initial_query: nil)
  if filter_class.present?
    @stable_id = params[:stable_id]
    @refine_filter_builder = Refine::Filters::Builder.new(
      stable_id: @stable_id,
      filter_class: filter_class.name,
      initial_query: initial_query)
    @refine_filter = @refine_filter_builder.refine_filter
  end
end

#apply_inline_filter(filter_class, initial_query: nil) ⇒ Object

Use this on pages that use the new inline filter



18
19
20
21
22
23
24
25
26
27
28
# File 'app/controllers/refine/filter_application_controller.rb', line 18

def apply_inline_filter(filter_class, initial_query: nil)
  stable_id = params[:stable_id]

  if stable_id.present?
    @refine_filter = Refine::Rails.configuration.stabilizer_classes[:url].new.from_stable_id(id: stable_id, initial_query: initial_query)
  else
    @refine_filter = filter_class.new([], initial_query)
  end
  @refine_client_id = SecureRandom.uuid
  @refine_stable_id = @refine_filter.to_stable_id
end