faceted_search 1.1.7 → 1.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ba457ecccedfb1ac77b8c39e7e103273b8f956bd3b5507125c2d245e574d8def
4
- data.tar.gz: c2d29072a1a33100779f1fd6d04c289f61d5b91b9524264ecda440d5f669ca48
3
+ metadata.gz: 74e46e964703fb8393bd61a38c156c4e160f2ddbd1e080bebed62d7a81f570e6
4
+ data.tar.gz: 18dd01b18a593d8cf64f25d844ccbdfbe64c8f4ee425af35de2e607d21caccb6
5
5
  SHA512:
6
- metadata.gz: 3680f3f4867e6116f92f753e9cdbcd2441962adef78c9fe39feb7398c0514e15ff9a8892e53b78a3e264d105ca52781720d35ee9d86443dcd87593261bf278dd
7
- data.tar.gz: 5758788492fc1e5c75c92f84f95e275c355c80d1e12c4ad22d456bf89d3708beec6d905e9e39ddc74c75a3099f981b1606b0bd8c2b874e6ce55ad1a73d5d8e67
6
+ metadata.gz: 9dceb31e9d014a8b7b31e551d13671602730a444c008d5ae4a9c5fe0bde4ae9d0e49d9a13c68b95b4c8c2b777cbe229c9e14a782e1bffba97d497bc3c1b30eac
7
+ data.tar.gz: dafdf064c2c14d93675da97b6687af3bc33c9db04db52949ca57ea8e941c4dd953e111cb7de625403813a119f791c6b781702e9adf503f40e888121c241cf869
@@ -1,5 +1,26 @@
1
1
  module FacetedSearch
2
2
  class Facets::Filter < Facets::Default
3
+ attr_reader :display_method
4
+
5
+ def initialize( name:,
6
+ params:,
7
+ facets:,
8
+ display_method:,
9
+ find_by: nil,
10
+ source: nil,
11
+ habtm: false,
12
+ title: nil)
13
+ super(name: name,
14
+ title: title,
15
+ facets: facets,
16
+ params: params,
17
+ find_by: find_by,
18
+ source: source,
19
+ habtm: habtm,
20
+ title: title)
21
+ @display_method = display_method
22
+ end
23
+
3
24
  def path_for(value)
4
25
  value = value.to_s
5
26
  custom_params = params_array.dup
@@ -41,21 +41,23 @@ module FacetedSearch
41
41
 
42
42
  protected
43
43
 
44
- def search(value, placeholder: nil)
44
+ def search(value, placeholder: nil, title: nil)
45
45
  add(Search.new( name: value,
46
46
  params: params_for(value),
47
47
  placeholder: placeholder,
48
- facets: self))
48
+ facets: self,
49
+ title: title))
49
50
  end
50
51
 
51
- def filter(value, find_by: :id, source: nil, habtm: nil, title: nil)
52
+ def filter(value, find_by: :id, source: nil, habtm: nil, title: nil, display_method: Proc.new { |object| object.to_s })
52
53
  add(Filter.new( name: value,
53
54
  params: params_for(value),
54
55
  facets: self,
55
56
  find_by: find_by,
56
57
  source: source,
57
58
  habtm: habtm,
58
- title: title))
59
+ title: title,
60
+ display_method: display_method))
59
61
  end
60
62
 
61
63
  def params_for(value)
@@ -1,7 +1,9 @@
1
1
  <ul class="faceted__facets list-unstyled">
2
2
  <% facets.list.each do |facet| %>
3
3
  <li>
4
- <b><%= facet.title %></b>
4
+ <% unless facet.title.blank? %>
5
+ <b><%= facet.title %></b>
6
+ <% end %>
5
7
  <%= render facet.kind.underscore, facet: facet %>
6
8
  </li>
7
9
  <% end %>
@@ -4,10 +4,11 @@
4
4
  identifier = value.send facet.find_by
5
5
  selected = facet.selected? identifier
6
6
  results_count = facet.results_with(identifier).count
7
+ display_value = facet.display_method.call(value)
7
8
  next if results_count.zero?
8
9
  %>
9
10
  <li class="faceted__facet__filter__value<%= '--selected' if selected %>">
10
- <%= link_to "#{value} (#{results_count})", facet.facets.path_for(facet, identifier) %>
11
+ <%= link_to "#{display_value} (#{results_count})", facet.facets.path_for(facet, identifier) %>
11
12
  </li>
12
13
  <% end %>
13
14
  </ul>
@@ -1,3 +1,3 @@
1
1
  module FacetedSearch
2
- VERSION = '1.1.7'
2
+ VERSION = '1.1.8'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faceted_search
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.7
4
+ version: 1.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arnaud Levy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-03-18 00:00:00.000000000 Z
13
+ date: 2019-03-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails