solidus_searchkick 0.2 → 0.2.1
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78ff2baa5445a6971e47e6f2f4537a83ef9cb7be
|
4
|
+
data.tar.gz: 8bfd5bd35aa679be37b2246169ea5fa800f7cc1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7310697edad717e14cb0a21cdff9aff2dcbe40686fb907cfeadeb74b3a099ef20167ece50685e53967e33bda03dc0b1ad1f9678189cd66424f3bb93596cd7762
|
7
|
+
data.tar.gz: b7574c8cbaa1ce11e57f37f9b6fc97e2c465814402ea7d76d368756bd41f798fb87cc3393bcadd6ee320bcbd7ddcf143c69b5d90518d5fe52fe935dc0029bee9
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
<% filters = @taxon ? @taxon.applicable_filters : Spree::Core::SearchkickFilters.all_filters %>
|
2
2
|
<% unless filters.empty? %>
|
3
|
-
<%= form_tag '', :method => :get, :id => '
|
3
|
+
<%= form_tag '', :method => :get, :id => 'sidebar_products_filters' do %>
|
4
4
|
<%= hidden_field_tag 'per_page', params[:per_page] %>
|
5
|
+
<%= hidden_field_tag 'keywords', params[:keywords] if params[:keywords] && !params[:keywords].blank? %>
|
6
|
+
<%= hidden_field_tag 'taxon', params[:taxon] if params[:taxon] && !params[:taxon].blank? %>
|
7
|
+
<%= raw(hash_as_hidden_fields({searchkick_options: params[:searchkick_options] })) if params[:searchkick_options] && !params[:searchkick_options].blank? %>
|
5
8
|
<% filters.each do |filter| %>
|
6
9
|
<% labels = filter[:labels] || filter[:conds].map {|m,c| [m,m]} %>
|
7
10
|
<% next if labels.empty? %>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module SolidusSearchkick
|
2
|
+
module Helpers
|
3
|
+
module FormHelper
|
4
|
+
def flatten_hash(hash = params, ancestor_names = [])
|
5
|
+
flat_hash = {}
|
6
|
+
hash.each do |k, v|
|
7
|
+
names = Array.new(ancestor_names)
|
8
|
+
names << k
|
9
|
+
if v.is_a?(Hash)
|
10
|
+
flat_hash.merge!(flatten_hash(v, names))
|
11
|
+
else
|
12
|
+
key = flat_hash_key(names)
|
13
|
+
key += '[]' if v.is_a?(Array)
|
14
|
+
flat_hash[key] = v
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
flat_hash
|
19
|
+
end
|
20
|
+
|
21
|
+
def flat_hash_key(names)
|
22
|
+
names = Array.new(names)
|
23
|
+
name = names.shift.to_s.dup
|
24
|
+
names.each do |n|
|
25
|
+
name << "[#{n}]"
|
26
|
+
end
|
27
|
+
name
|
28
|
+
end
|
29
|
+
|
30
|
+
def hash_as_hidden_fields(hash = params)
|
31
|
+
hidden_fields = []
|
32
|
+
flatten_hash(hash).each do |name, value|
|
33
|
+
value = [value] if !value.is_a?(Array)
|
34
|
+
value.each do |v|
|
35
|
+
hidden_fields << hidden_field_tag(name, v.to_s, id: nil)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
hidden_fields.join("\n")
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/solidus_searchkick.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_searchkick
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Smith
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: solidus
|
@@ -256,6 +256,8 @@ files:
|
|
256
256
|
- lib/solidus_searchkick.rb
|
257
257
|
- lib/solidus_searchkick/engine.rb
|
258
258
|
- lib/solidus_searchkick/factories.rb
|
259
|
+
- lib/solidus_searchkick/helpers/form_helper.rb
|
260
|
+
- lib/solidus_searchkick/railtie.rb
|
259
261
|
- lib/solidus_searchkick/version.rb
|
260
262
|
- lib/spree/core/searchkick_filters.rb
|
261
263
|
- lib/spree/search/searchkick.rb
|