workarea-content_search 1.0.9 → 1.1.0
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/CHANGELOG.md +39 -0
- data/Gemfile +1 -0
- data/Rakefile +4 -4
- data/app/assets/stylesheets/workarea/storefront/content_search/components/_search_autocomplete.scss +11 -0
- data/app/view_models/workarea/storefront/search_autocomplete_view_model.decorator +17 -0
- data/app/views/workarea/storefront/searches/_autocomplete_content.html.haml +7 -0
- data/config/initializers/appends.rb +12 -0
- data/config/initializers/configuration.rb +4 -0
- data/config/locales/en.yml +2 -0
- data/lib/workarea/content_search/version.rb +1 -1
- data/test/system/workarea/storefront/content_search_autocomplete_system_test.rb +35 -0
- data/test/view_models/workarea/storefront/content_search_autocomplete_view_model_test.rb +37 -0
- metadata +7 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b9cb1b584de2dcbd3657b3baa6edbef7cb44e1d063d4219c8b13b842b3b654dd
|
|
4
|
+
data.tar.gz: d69ecbd89640eb29c0ce3f9ac9e96b58bdddf16a55b8d65aade7b9d90d3df3cb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 546668ec22ab7a4d54aedb9bc085f32eab4ec8bcb022d44abf266e812a8dcffdb4c5fff2e4217ad9926bb935083b7c19a1261ddd35dd3964bbf7bc002c676171
|
|
7
|
+
data.tar.gz: c4c58ed398937e63bdfb43a133a2c1301e1ffe06909697cc7057387756aed146863378ce10013611ae04701182083ce1c675d405c8beef56653001470d2a0efe
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,42 @@
|
|
|
1
|
+
Workarea Content Search 1.1.0 (2019-11-26)
|
|
2
|
+
--------------------------------------------------------------------------------
|
|
3
|
+
|
|
4
|
+
* Add Autocomplete to Content Search
|
|
5
|
+
|
|
6
|
+
Using the shiny new **workarea-search-autocomplete** plugin, Content
|
|
7
|
+
Search can now provide autocomplete results for the given search term.
|
|
8
|
+
Content results are injected right below the common search terms, and
|
|
9
|
+
augments the existing autocomplete with results from pages, blog posts,
|
|
10
|
+
and other `Contentable` items.
|
|
11
|
+
|
|
12
|
+
CONTSEARCH-3
|
|
13
|
+
Tom Scott
|
|
14
|
+
|
|
15
|
+
* Enable changelog task in release task
|
|
16
|
+
|
|
17
|
+
Curt Howard
|
|
18
|
+
|
|
19
|
+
* Update checking for SearchSuggestion content to ensure decoration loading
|
|
20
|
+
|
|
21
|
+
CONTSEARCH-2
|
|
22
|
+
Matt Duffy
|
|
23
|
+
|
|
24
|
+
* Updates for v3.5
|
|
25
|
+
|
|
26
|
+
Ben Crouse
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
Workarea Content Search 1.0.9 (2019-10-30)
|
|
31
|
+
--------------------------------------------------------------------------------
|
|
32
|
+
|
|
33
|
+
* Update checking for SearchSuggestion content to ensure decoration loading
|
|
34
|
+
|
|
35
|
+
CONTSEARCH-2
|
|
36
|
+
Matt Duffy
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
1
40
|
Workarea Content Search 1.0.8 (2019-07-09)
|
|
2
41
|
--------------------------------------------------------------------------------
|
|
3
42
|
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
|
@@ -16,10 +16,10 @@ desc "Release version #{Workarea::ContentSearch::VERSION} of the gem"
|
|
|
16
16
|
task :release do
|
|
17
17
|
host = "https://#{ENV['BUNDLE_GEMS__WEBLINC__COM']}@gems.weblinc.com"
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
Rake::Task['workarea:changelog'].execute
|
|
20
|
+
system 'git add CHANGELOG.md'
|
|
21
|
+
system 'git commit -m "Update CHANGELOG"'
|
|
22
|
+
system 'git push origin HEAD'
|
|
23
23
|
|
|
24
24
|
system "git tag -a v#{Workarea::ContentSearch::VERSION} -m 'Tagging #{Workarea::ContentSearch::VERSION}'"
|
|
25
25
|
system 'git push --tags'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
module Workarea
|
|
2
|
+
if Plugin.installed?(:search_autocomplete)
|
|
3
|
+
decorate Storefront::SearchAutocompleteViewModel, with: :content_search do
|
|
4
|
+
def content_results
|
|
5
|
+
@content_results ||= begin
|
|
6
|
+
return [] if searches.blank?
|
|
7
|
+
|
|
8
|
+
results = Storefront::ContentSearchViewModel.wrap(response, options)
|
|
9
|
+
|
|
10
|
+
results.content.take(
|
|
11
|
+
Workarea.config.storefront_search_autocomplete_max_content
|
|
12
|
+
)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
- if @autocomplete.content_results.any?
|
|
2
|
+
%ul.search-autocomplete__content
|
|
3
|
+
%span.search-autocomplete__heading
|
|
4
|
+
= t('workarea.storefront.search_autocomplete.content_heading', term: @autocomplete.searches.first)
|
|
5
|
+
- @autocomplete.content_results.each do |result|
|
|
6
|
+
%li.search-autocomplete__content-item
|
|
7
|
+
= link_to result.name, send("#{result.resource_name}_path", result), class: 'search-autocomplete__content-link'
|
|
@@ -2,3 +2,15 @@ Workarea.append_partials(
|
|
|
2
2
|
'storefront.above_search_results',
|
|
3
3
|
'workarea/storefront/searches/search_type_toggle'
|
|
4
4
|
)
|
|
5
|
+
|
|
6
|
+
if Workarea::Plugin.installed?(:search_autocomplete)
|
|
7
|
+
Workarea.append_stylesheets(
|
|
8
|
+
'storefront.components',
|
|
9
|
+
'workarea/storefront/content_search/components/search_autocomplete'
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
Workarea.append_partials(
|
|
13
|
+
'storefront.search_autocomplete_under_searches',
|
|
14
|
+
'workarea/storefront/searches/autocomplete_content'
|
|
15
|
+
)
|
|
16
|
+
end
|
data/config/locales/en.yml
CHANGED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module Workarea
|
|
4
|
+
if Plugin.installed?(:search_autocomplete)
|
|
5
|
+
module Storefront
|
|
6
|
+
class ContentSearchAutocompleteSystemTest < Workarea::SystemTest
|
|
7
|
+
def test_content_appears_in_autocomplete
|
|
8
|
+
create_page(name: 'Content Test One')
|
|
9
|
+
create_page(name: 'Content Test Two')
|
|
10
|
+
create_page(name: 'Content Test Three')
|
|
11
|
+
create_product(name: 'Test One')
|
|
12
|
+
create_product(name: 'Test Two')
|
|
13
|
+
create_search_by_week(query_string: 'test one', searches: 5, total_results: 5)
|
|
14
|
+
create_search_by_week(query_string: 'test two', searches: 10, total_results: 5)
|
|
15
|
+
|
|
16
|
+
visit storefront.root_path
|
|
17
|
+
|
|
18
|
+
fill_in :q, with: 'te'
|
|
19
|
+
|
|
20
|
+
within '#search_autocomplete' do
|
|
21
|
+
assert_text(
|
|
22
|
+
t(
|
|
23
|
+
'workarea.storefront.search_autocomplete.content_heading',
|
|
24
|
+
term: 'test two'
|
|
25
|
+
)
|
|
26
|
+
)
|
|
27
|
+
assert_text('Content Test One')
|
|
28
|
+
assert_text('Content Test Two')
|
|
29
|
+
assert_text('Content Test Three')
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module Workarea
|
|
4
|
+
if Plugin.installed?(:search_autocomplete)
|
|
5
|
+
module Storefront
|
|
6
|
+
class SearchAutocompleteViewModelTest < Workarea::TestCase
|
|
7
|
+
include TestCase::SearchIndexing
|
|
8
|
+
|
|
9
|
+
def test_content
|
|
10
|
+
query = QueryString.new('te').pretty
|
|
11
|
+
search = Storefront::SearchAutocompleteViewModel.wrap(query)
|
|
12
|
+
|
|
13
|
+
Sidekiq::Callbacks.enable do
|
|
14
|
+
create_page(name: 'Content Test One')
|
|
15
|
+
create_page(name: 'Content Test Two')
|
|
16
|
+
create_page(name: 'Content Test Three')
|
|
17
|
+
create_product(name: 'Test One')
|
|
18
|
+
create_product(name: 'Test Two')
|
|
19
|
+
create_search_by_week(
|
|
20
|
+
query_string: 'test one',
|
|
21
|
+
searches: 5,
|
|
22
|
+
total_results: 5
|
|
23
|
+
)
|
|
24
|
+
create_search_by_week(
|
|
25
|
+
query_string: 'test two',
|
|
26
|
+
searches: 10,
|
|
27
|
+
total_results: 5
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
refute_empty(search.content_results)
|
|
32
|
+
assert_equal(3, search.content_results.count)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: workarea-content_search
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Matt Duffy
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-
|
|
11
|
+
date: 2019-11-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: workarea
|
|
@@ -47,6 +47,7 @@ files:
|
|
|
47
47
|
- LICENSE
|
|
48
48
|
- README.md
|
|
49
49
|
- Rakefile
|
|
50
|
+
- app/assets/stylesheets/workarea/storefront/content_search/components/_search_autocomplete.scss
|
|
50
51
|
- app/controllers/workarea/.keep
|
|
51
52
|
- app/controllers/workarea/storefront/searches_controller.decorator
|
|
52
53
|
- app/models/workarea/search/storefront.decorator
|
|
@@ -58,6 +59,8 @@ files:
|
|
|
58
59
|
- app/queries/workarea/search/storefront_search/template_with_content.rb
|
|
59
60
|
- app/view_models/workarea/storefront/content_search_results.rb
|
|
60
61
|
- app/view_models/workarea/storefront/content_search_view_model.rb
|
|
62
|
+
- app/view_models/workarea/storefront/search_autocomplete_view_model.decorator
|
|
63
|
+
- app/views/workarea/storefront/searches/_autocomplete_content.html.haml
|
|
61
64
|
- app/views/workarea/storefront/searches/_search_type_toggle.html.haml
|
|
62
65
|
- app/views/workarea/storefront/searches/content.html.haml
|
|
63
66
|
- app/workers/workarea/bulk_index_content.rb
|
|
@@ -123,8 +126,10 @@ files:
|
|
|
123
126
|
- test/dummy/public/favicon.ico
|
|
124
127
|
- test/models/workarea/search/storefront/content_test.rb
|
|
125
128
|
- test/queries/workarea/search/content_search_test.rb
|
|
129
|
+
- test/system/workarea/storefront/content_search_autocomplete_system_test.rb
|
|
126
130
|
- test/system/workarea/storefront/content_search_system_test.rb
|
|
127
131
|
- test/test_helper.rb
|
|
132
|
+
- test/view_models/workarea/storefront/content_search_autocomplete_view_model_test.rb
|
|
128
133
|
- test/view_models/workarea/storefront/content_search_results_test.rb
|
|
129
134
|
- test/view_models/workarea/storefront/content_search_view_model_test.rb
|
|
130
135
|
- test/workers/workarea/bulk_index_content_test.rb
|