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: 97fb4a93971a0e417baacc6a1278702f33755514
4
- data.tar.gz: eab0be521331e7d3d22833c03fd56f925189e4ad
3
+ metadata.gz: 78ff2baa5445a6971e47e6f2f4537a83ef9cb7be
4
+ data.tar.gz: 8bfd5bd35aa679be37b2246169ea5fa800f7cc1c
5
5
  SHA512:
6
- metadata.gz: aa20f47574136f30fe35302ef73f16c228425b7222ee25217c4a621aca637dc0326e91ef9e2ffa1ab0bd06f73c9f23009116d3630155aafca0783b707d624038
7
- data.tar.gz: 53bf2d7bba2adfd9a82dfdec695a6f9fab010f397028c3c15d43193c30b997dd491bfbfefa5c53257bfc534a240e5e9db1f28cd20ef3e9936d58e9c8b7d3e48c
6
+ metadata.gz: 7310697edad717e14cb0a21cdff9aff2dcbe40686fb907cfeadeb74b3a099ef20167ece50685e53967e33bda03dc0b1ad1f9678189cd66424f3bb93596cd7762
7
+ data.tar.gz: b7574c8cbaa1ce11e57f37f9b6fc97e2c465814402ea7d76d368756bd41f798fb87cc3393bcadd6ee320bcbd7ddcf143c69b5d90518d5fe52fe935dc0029bee9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- solidus_searchkick (0.2)
4
+ solidus_searchkick (0.2.1)
5
5
  searchkick (~> 1.2)
6
6
  solidus (~> 1.4, >= 1.4.0)
7
7
 
@@ -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 => 'sidebar_products_search' do %>
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
@@ -0,0 +1,7 @@
1
+ module SolidusSearchkick
2
+ class Railtie < Rails::Railtie
3
+ initializer "solidus_searchkick.add_helpers" do
4
+ ActionView::Base.send :include, SolidusSearchkick::Helpers::FormHelper
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module SolidusSearchkick
2
- VERSION = '0.2'
2
+ VERSION = '0.2.1'
3
3
  end
@@ -1,5 +1,6 @@
1
1
  require 'spree_core'
2
2
  require 'solidus_searchkick/engine'
3
+ require 'solidus_searchkick/railtie' if defined?(Rails)
3
4
 
4
5
  module SolidusSearchkick
5
6
  def self.root
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: '0.2'
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-09 00:00:00.000000000 Z
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