facetie 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/facetie.rb +2 -0
- data/lib/facetie/helpers/facets_helper.rb +5 -1
- data/lib/facetie/presenters/facet_presenter.rb +1 -18
- data/lib/facetie/presenters/facets/multiple_presenter.rb +26 -0
- data/lib/facetie/presenters/facets/single_presenter.rb +26 -0
- data/lib/facetie/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9facdff183ba1b643926baca495a59f279c27ae
|
4
|
+
data.tar.gz: d2719049df3184bf6318c1daaca3da78e37a6479
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb963e7aa9f4f219464e0dfb44eaba5c1af16327d9a34c7a66674618047c107df6be4ca7c49c43baa3766c8e06f8e2334f029928f6373ffbdbcf2770a365b93a
|
7
|
+
data.tar.gz: 4df4c17af5114c7d58e64d03b760f7a586e2e4408e86631de85431ad73024adfc3d8d3dd179405f90c019c70f6267779e13a60aa971a78bd54d8fa74d766255e
|
data/lib/facetie.rb
CHANGED
@@ -3,7 +3,11 @@ module Facetie
|
|
3
3
|
module FacetsHelper
|
4
4
|
|
5
5
|
def facet_item(view, facet, filter, options={})
|
6
|
-
|
6
|
+
if options[:multiple]
|
7
|
+
Facets::MultiplePresenter.new(view, facet, filter, options).render
|
8
|
+
else
|
9
|
+
Facets::SinglePresenter.new(view, facet, filter, options).render
|
10
|
+
end
|
7
11
|
end
|
8
12
|
|
9
13
|
end
|
@@ -15,8 +15,7 @@ class FacetPresenter
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def render
|
18
|
-
|
19
|
-
content_tag(:li, facet, class: 'facet-item')
|
18
|
+
raise NotImplementedError
|
20
19
|
end
|
21
20
|
|
22
21
|
protected
|
@@ -33,12 +32,6 @@ class FacetPresenter
|
|
33
32
|
@value ||= options.fetch(:value, facet.value)
|
34
33
|
end
|
35
34
|
|
36
|
-
private
|
37
|
-
|
38
|
-
def active?
|
39
|
-
params[filter] == value
|
40
|
-
end
|
41
|
-
|
42
35
|
def selected_facet_item
|
43
36
|
facet_remove_tag + text
|
44
37
|
end
|
@@ -47,18 +40,8 @@ class FacetPresenter
|
|
47
40
|
facet_count_tag + facet_link_tag
|
48
41
|
end
|
49
42
|
|
50
|
-
def facet_remove_tag
|
51
|
-
content_tag(:span, class: 'facet-remove') do
|
52
|
-
link_to(content_tag(:i, nil, class: 'icon-remove'), view.url_for(params.merge(filter => nil)), class: 'facet-link')
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
43
|
def facet_count_tag
|
57
44
|
content_tag(:span, count, class: 'badge')
|
58
45
|
end
|
59
46
|
|
60
|
-
def facet_link_tag
|
61
|
-
link_to(text, view.url_for(params.merge(filter => value)), class: 'facet-link')
|
62
|
-
end
|
63
|
-
|
64
47
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Facets
|
2
|
+
class Facets::MultiplePresenter < FacetPresenter
|
3
|
+
|
4
|
+
def render
|
5
|
+
facet = (active? ? selected_facet_item : facet_item_link)
|
6
|
+
content_tag(:li, facet, class: 'facet-item')
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def active?
|
12
|
+
params[filter] and params[filter].include?(value)
|
13
|
+
end
|
14
|
+
|
15
|
+
def facet_link_tag
|
16
|
+
link_to(text, view.url_for(params.merge(filter => ((params[filter] || []) + [value]))), class: 'facet-link')
|
17
|
+
end
|
18
|
+
|
19
|
+
def facet_remove_tag
|
20
|
+
content_tag(:span, class: 'facet-remove') do
|
21
|
+
link_to(content_tag(:i, nil, class: 'icon-remove'), view.url_for(params.merge(filter => (params[filter] - [value]))), class: 'facet-link')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Facets
|
2
|
+
class SinglePresenter < FacetPresenter
|
3
|
+
|
4
|
+
def render
|
5
|
+
facet = (active? ? selected_facet_item : facet_item_link)
|
6
|
+
content_tag(:li, facet, class: 'facet-item')
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def active?
|
12
|
+
params[filter] == value
|
13
|
+
end
|
14
|
+
|
15
|
+
def facet_link_tag
|
16
|
+
link_to(text, view.url_for(params.merge(filter => value)), class: 'facet-link')
|
17
|
+
end
|
18
|
+
|
19
|
+
def facet_remove_tag
|
20
|
+
content_tag(:span, class: 'facet-remove') do
|
21
|
+
link_to(content_tag(:i, nil, class: 'icon-remove'), view.url_for(params.merge(filter => nil)), class: 'facet-link')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
data/lib/facetie/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: facetie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mathieu Gagné
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -57,6 +57,8 @@ files:
|
|
57
57
|
- lib/facetie.rb
|
58
58
|
- lib/facetie/helpers/facets_helper.rb
|
59
59
|
- lib/facetie/presenters/facet_presenter.rb
|
60
|
+
- lib/facetie/presenters/facets/multiple_presenter.rb
|
61
|
+
- lib/facetie/presenters/facets/single_presenter.rb
|
60
62
|
- lib/facetie/railtie.rb
|
61
63
|
- lib/facetie/version.rb
|
62
64
|
homepage: ''
|