From f1b710f2095714a4f12800339110ff2605a0e242 Mon Sep 17 00:00:00 2001 From: Lorenz Kitzmann Date: Thu, 29 Nov 2018 10:49:03 +0100 Subject: [PATCH] Fix scope filter default behaviour Bug: when not using pass_value (which is the default) scope filters are currently always `active?` and can not be toggled because calling `add` without parameter is a noop. --- lib/forty_facets/filter/scope_filter_definition.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/forty_facets/filter/scope_filter_definition.rb b/lib/forty_facets/filter/scope_filter_definition.rb index 714605d..475d8f1 100644 --- a/lib/forty_facets/filter/scope_filter_definition.rb +++ b/lib/forty_facets/filter/scope_filter_definition.rb @@ -2,7 +2,7 @@ module FortyFacets class ScopeFilterDefinition < FilterDefinition class ScopeFilter < Filter def active? - definition.options[:pass_value] ? value.present? : '1' + definition.options[:pass_value] ? value.present? : value == '1' end def selected @@ -28,7 +28,7 @@ def remove(value = nil) search_instance.class.new_unwrapped(new_params, search_instance.root) end - def add(value = nil) + def add(value = '1') new_params = search_instance.params || {} new_params[definition.request_param] = value search_instance.class.new_unwrapped(new_params, search_instance.root) @@ -38,7 +38,5 @@ def add(value = nil) def build_filter(search_instance, value) ScopeFilter.new(self, search_instance, value) end - end end -