faceted_search 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/faceted_search/facets.rb +3 -2
- data/app/models/faceted_search/facets/default.rb +9 -2
- data/app/models/faceted_search/facets/filter.rb +2 -5
- data/app/views/faceted_search/_facets.html.erb +2 -1
- data/app/views/faceted_search/facets/_filter.html.erb +1 -1
- data/app/views/faceted_search/facets/_search.html.erb +1 -1
- data/lib/faceted_search/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65751939309a5137f6e50a6a784e15d88ec8a54baf3422629e8b72708d64ebf0
|
4
|
+
data.tar.gz: 560701cded56cfd5f31e2ea7051566aba773b8c7e7817ce471d947f6f3c887e1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8fd832bad6bf86305037d33eba9ce711811e873488d4051a8aa9e1f63b3c24e2dba54f97b453f270940ece175b8c2dea85516a59e472de19eada0bcab4fccf04
|
7
|
+
data.tar.gz: 6eda63c210955fa40234d378c18a6962fbfc5b55c0b9f5c5b8c8c9407ff3911f5a3c1e396f0eacbfc192a76a473696260388a1078e52b442cc8e8d3f4f548bf1
|
@@ -56,13 +56,14 @@ module FacetedSearch
|
|
56
56
|
facets: self))
|
57
57
|
end
|
58
58
|
|
59
|
-
def filter(value, find_by: :id, source: nil, habtm: nil)
|
59
|
+
def filter(value, find_by: :id, source: nil, habtm: nil, title: nil)
|
60
60
|
add(Filter.new( name: value,
|
61
61
|
params: params_for(value),
|
62
62
|
facets: self,
|
63
63
|
find_by: find_by,
|
64
64
|
source: source,
|
65
|
-
habtm: habtm
|
65
|
+
habtm: habtm,
|
66
|
+
title: title))
|
66
67
|
end
|
67
68
|
|
68
69
|
def params_for(value)
|
@@ -2,8 +2,15 @@ module FacetedSearch
|
|
2
2
|
class Facets::Default
|
3
3
|
attr_reader :name, :params, :facets, :find_by
|
4
4
|
|
5
|
-
def initialize(name:,
|
5
|
+
def initialize( name:,
|
6
|
+
params:,
|
7
|
+
facets:,
|
8
|
+
find_by: nil,
|
9
|
+
source: nil,
|
10
|
+
habtm: false,
|
11
|
+
title: nil)
|
6
12
|
@name = name
|
13
|
+
@title = title
|
7
14
|
@params = params
|
8
15
|
@facets = facets
|
9
16
|
@find_by = find_by
|
@@ -12,7 +19,7 @@ module FacetedSearch
|
|
12
19
|
end
|
13
20
|
|
14
21
|
def title
|
15
|
-
name.to_s.humanize.titleize
|
22
|
+
@title ||= name.to_s.humanize.titleize
|
16
23
|
end
|
17
24
|
|
18
25
|
def kind
|
@@ -18,11 +18,8 @@ module FacetedSearch
|
|
18
18
|
|
19
19
|
def add_scope(scope)
|
20
20
|
return scope if params_array.blank?
|
21
|
-
|
22
|
-
|
23
|
-
else
|
24
|
-
scope.where(name => params_array)
|
25
|
-
end
|
21
|
+
@habtm ? scope.joins(name).where(name => { find_by => params_array })
|
22
|
+
: scope.where(name => params_array)
|
26
23
|
end
|
27
24
|
|
28
25
|
def values
|
@@ -1,8 +1,9 @@
|
|
1
|
-
<ul class="list-unstyled">
|
1
|
+
<ul class="faceted__facets list-unstyled">
|
2
2
|
<% @facets.list.each do |facet| %>
|
3
3
|
<li class="mb-3">
|
4
4
|
<b><%= facet.title %></b>
|
5
5
|
<%= render facet.kind.underscore, facet: facet %>
|
6
6
|
</li>
|
7
7
|
<% end %>
|
8
|
+
<li><a href="<%= @facets.path%>"><i class="fas fa-backspace"></i></a></li>
|
8
9
|
</ul>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<% value = params[:facets][facet.name] if params[:facets] && params[:facets].has_key?(facet.name) %>
|
2
|
-
<form action="" class="form-inline"">
|
2
|
+
<form action="" class="faceted__facet--search form-inline"">
|
3
3
|
<% facet.facets.list.each do |f| %>
|
4
4
|
<% next if f == facet %>
|
5
5
|
<% next if f.params.blank? %>
|