blacklight_advanced_search 6.4.1 → 8.0.0.alpha2
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 +5 -5
- data/.github/workflows/ruby.yml +125 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +4 -2
- data/.rubocop_todo.yml +6 -374
- data/Gemfile +3 -8
- data/README.md +46 -60
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/blacklight_advanced_search.gemspec +6 -7
- data/config/routes.rb +1 -1
- data/lib/blacklight_advanced_search/advanced_query_parser.rb +24 -38
- data/lib/blacklight_advanced_search/advanced_search_builder.rb +27 -24
- data/lib/blacklight_advanced_search/controller.rb +15 -16
- data/lib/blacklight_advanced_search/engine.rb +0 -1
- data/lib/blacklight_advanced_search/redirect_legacy_params_filter.rb +24 -7
- data/lib/blacklight_advanced_search.rb +0 -4
- data/lib/generators/blacklight_advanced_search/install_generator.rb +3 -37
- data/lib/parsing_nesting/grammar.rb +0 -12
- data/solr/conf/schema.xml +326 -573
- data/solr/conf/solrconfig.xml +80 -294
- data/spec/features/blacklight_advanced_search_form_spec.rb +13 -18
- data/spec/lib/advanced_search_builder_spec.rb +11 -9
- data/spec/spec_helper.rb +46 -14
- data/spec/test_app_templates/app/controllers/catalog_controller.rb +5 -7
- metadata +41 -62
- data/.travis.yml +0 -21
- data/app/assets/javascripts/blacklight_advanced_search.js +0 -5
- data/app/assets/stylesheets/blacklight_advanced_search/advanced_results.css +0 -21
- data/app/assets/stylesheets/blacklight_advanced_search/blacklight_advanced_search_styles.css.scss +0 -58
- data/app/assets/stylesheets/blacklight_advanced_search.css +0 -6
- data/app/controllers/advanced_controller.rb +0 -25
- data/app/controllers/blacklight_advanced_search/advanced_controller.rb +0 -25
- data/app/helpers/advanced_helper.rb +0 -4
- data/app/helpers/blacklight_advanced_search/advanced_helper_behavior.rb +0 -57
- data/app/views/advanced/_advanced_search_facets.html.erb +0 -16
- data/app/views/advanced/_advanced_search_facets_as_select.html.erb +0 -30
- data/app/views/advanced/_advanced_search_fields.html.erb +0 -8
- data/app/views/advanced/_advanced_search_form.html.erb +0 -43
- data/app/views/advanced/_advanced_search_help.html.erb +0 -24
- data/app/views/advanced/_advanced_search_submit_btns.html.erb +0 -12
- data/app/views/advanced/_facet_limit.html.erb +0 -15
- data/app/views/advanced/index.html.erb +0 -21
- data/app/views/blacklight_advanced_search/_facet_limit.html.erb +0 -16
- data/config/jetty.yml +0 -4
- data/config/locales/blacklight_advanced_search.en.yml +0 -12
- data/lib/blacklight_advanced_search/catalog_helper_override.rb +0 -30
- data/lib/blacklight_advanced_search/filter_parser.rb +0 -11
- data/lib/blacklight_advanced_search/parsing_nesting_parser.rb +0 -15
- data/lib/blacklight_advanced_search/render_constraints_override.rb +0 -136
- data/lib/generators/blacklight_advanced_search/assets_generator.rb +0 -53
- data/lib/generators/blacklight_advanced_search/templates/advanced_controller.rb +0 -56
- data/lib/generators/blacklight_advanced_search/templates/saved_searches_controller.rb +0 -6
- data/lib/generators/blacklight_advanced_search/templates/search_history_controller.rb +0 -6
- data/solr/sample_solr_documents.yml +0 -2692
- data/spec/helpers/advanced_helper_spec.rb +0 -13
- data/spec/lib/blacklight_advanced_search/render_constraints_override_spec.rb +0 -39
- data/spec/lib/filter_parser_spec.rb +0 -22
metadata
CHANGED
@@ -1,36 +1,36 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blacklight_advanced_search
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.0.alpha2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Rochkind
|
8
8
|
- Chris Beer
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-07-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: blacklight
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "~>"
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: '6.0'
|
21
18
|
- - ">="
|
22
19
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
20
|
+
version: '7.15'
|
21
|
+
- - "<"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '9'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
|
-
- - "~>"
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
version: '6.0'
|
31
28
|
- - ">="
|
32
29
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
30
|
+
version: '7.15'
|
31
|
+
- - "<"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '9'
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: parslet
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -65,14 +65,14 @@ dependencies:
|
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '5.0'
|
69
69
|
type: :development
|
70
70
|
prerelease: false
|
71
71
|
version_requirements: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '5.0'
|
76
76
|
- !ruby/object:Gem::Dependency
|
77
77
|
name: capybara
|
78
78
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,30 +91,30 @@ dependencies:
|
|
91
91
|
name: solr_wrapper
|
92
92
|
requirement: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0
|
96
|
+
version: '0'
|
97
97
|
type: :development
|
98
98
|
prerelease: false
|
99
99
|
version_requirements: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0
|
103
|
+
version: '0'
|
104
104
|
- !ruby/object:Gem::Dependency
|
105
105
|
name: engine_cart
|
106
106
|
requirement: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0
|
110
|
+
version: '2.0'
|
111
111
|
type: :development
|
112
112
|
prerelease: false
|
113
113
|
version_requirements: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0
|
117
|
+
version: '2.0'
|
118
118
|
- !ruby/object:Gem::Dependency
|
119
119
|
name: rubocop
|
120
120
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,6 +129,20 @@ dependencies:
|
|
129
129
|
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
|
+
- !ruby/object:Gem::Dependency
|
133
|
+
name: rubocop-rails
|
134
|
+
requirement: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
type: :development
|
140
|
+
prerelease: false
|
141
|
+
version_requirements: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
132
146
|
- !ruby/object:Gem::Dependency
|
133
147
|
name: rubocop-rspec
|
134
148
|
requirement: !ruby/object:Gem::Requirement
|
@@ -157,62 +171,35 @@ dependencies:
|
|
157
171
|
- - ">="
|
158
172
|
- !ruby/object:Gem::Version
|
159
173
|
version: '0'
|
160
|
-
description:
|
174
|
+
description:
|
161
175
|
email:
|
162
176
|
- blacklight-development@googlegroups.com
|
163
177
|
executables: []
|
164
178
|
extensions: []
|
165
179
|
extra_rdoc_files: []
|
166
180
|
files:
|
181
|
+
- ".github/workflows/ruby.yml"
|
167
182
|
- ".gitignore"
|
168
183
|
- ".rspec"
|
169
184
|
- ".rubocop.yml"
|
170
185
|
- ".rubocop_todo.yml"
|
171
186
|
- ".solr_wrapper.yml"
|
172
|
-
- ".travis.yml"
|
173
187
|
- Gemfile
|
174
188
|
- LICENSE
|
175
189
|
- README.md
|
176
190
|
- Rakefile
|
177
191
|
- VERSION
|
178
|
-
- app/assets/javascripts/blacklight_advanced_search.js
|
179
|
-
- app/assets/stylesheets/blacklight_advanced_search.css
|
180
|
-
- app/assets/stylesheets/blacklight_advanced_search/advanced_results.css
|
181
|
-
- app/assets/stylesheets/blacklight_advanced_search/blacklight_advanced_search_styles.css.scss
|
182
|
-
- app/controllers/advanced_controller.rb
|
183
|
-
- app/controllers/blacklight_advanced_search/advanced_controller.rb
|
184
|
-
- app/helpers/advanced_helper.rb
|
185
|
-
- app/helpers/blacklight_advanced_search/advanced_helper_behavior.rb
|
186
|
-
- app/views/advanced/_advanced_search_facets.html.erb
|
187
|
-
- app/views/advanced/_advanced_search_facets_as_select.html.erb
|
188
|
-
- app/views/advanced/_advanced_search_fields.html.erb
|
189
|
-
- app/views/advanced/_advanced_search_form.html.erb
|
190
|
-
- app/views/advanced/_advanced_search_help.html.erb
|
191
|
-
- app/views/advanced/_advanced_search_submit_btns.html.erb
|
192
|
-
- app/views/advanced/_facet_limit.html.erb
|
193
|
-
- app/views/advanced/index.html.erb
|
194
|
-
- app/views/blacklight_advanced_search/_facet_limit.html.erb
|
195
192
|
- blacklight_advanced_search.gemspec
|
196
|
-
- config/jetty.yml
|
197
|
-
- config/locales/blacklight_advanced_search.en.yml
|
198
193
|
- config/routes.rb
|
199
194
|
- lib/blacklight_advanced_search.rb
|
200
195
|
- lib/blacklight_advanced_search/advanced_query_parser.rb
|
201
196
|
- lib/blacklight_advanced_search/advanced_search_builder.rb
|
202
|
-
- lib/blacklight_advanced_search/catalog_helper_override.rb
|
203
197
|
- lib/blacklight_advanced_search/controller.rb
|
204
198
|
- lib/blacklight_advanced_search/engine.rb
|
205
|
-
- lib/blacklight_advanced_search/filter_parser.rb
|
206
|
-
- lib/blacklight_advanced_search/parsing_nesting_parser.rb
|
207
199
|
- lib/blacklight_advanced_search/redirect_legacy_params_filter.rb
|
208
|
-
- lib/blacklight_advanced_search/render_constraints_override.rb
|
209
200
|
- lib/blacklight_advanced_search/version.rb
|
210
|
-
- lib/generators/blacklight_advanced_search/assets_generator.rb
|
211
201
|
- lib/generators/blacklight_advanced_search/blacklight_advanced_search_generator.rb
|
212
202
|
- lib/generators/blacklight_advanced_search/install_generator.rb
|
213
|
-
- lib/generators/blacklight_advanced_search/templates/advanced_controller.rb
|
214
|
-
- lib/generators/blacklight_advanced_search/templates/saved_searches_controller.rb
|
215
|
-
- lib/generators/blacklight_advanced_search/templates/search_history_controller.rb
|
216
203
|
- lib/parsing_nesting/Readme.rdoc
|
217
204
|
- lib/parsing_nesting/grammar.rb
|
218
205
|
- lib/parsing_nesting/tree.rb
|
@@ -232,14 +219,10 @@ files:
|
|
232
219
|
- solr/conf/xslt/example_atom.xsl
|
233
220
|
- solr/conf/xslt/example_rss.xsl
|
234
221
|
- solr/conf/xslt/luke.xsl
|
235
|
-
- solr/sample_solr_documents.yml
|
236
222
|
- spec/features/blacklight_advanced_search_form_spec.rb
|
237
|
-
- spec/helpers/advanced_helper_spec.rb
|
238
223
|
- spec/integration/blacklight_stub_spec.rb
|
239
224
|
- spec/lib/advanced_search_builder_spec.rb
|
240
|
-
- spec/lib/blacklight_advanced_search/render_constraints_override_spec.rb
|
241
225
|
- spec/lib/deep_merge_spec.rb
|
242
|
-
- spec/lib/filter_parser_spec.rb
|
243
226
|
- spec/parsing_nesting/build_tree_spec.rb
|
244
227
|
- spec/parsing_nesting/consuming_spec.rb
|
245
228
|
- spec/parsing_nesting/to_solr_spec.rb
|
@@ -249,9 +232,9 @@ files:
|
|
249
232
|
- spec/test_app_templates/lib/generators/test_app_generator.rb
|
250
233
|
homepage: http://projectblacklight.org/
|
251
234
|
licenses:
|
252
|
-
- Apache
|
235
|
+
- Apache-2.0
|
253
236
|
metadata: {}
|
254
|
-
post_install_message:
|
237
|
+
post_install_message:
|
255
238
|
rdoc_options: []
|
256
239
|
require_paths:
|
257
240
|
- lib
|
@@ -262,23 +245,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
262
245
|
version: '0'
|
263
246
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
264
247
|
requirements:
|
265
|
-
- - "
|
248
|
+
- - ">"
|
266
249
|
- !ruby/object:Gem::Version
|
267
|
-
version:
|
250
|
+
version: 1.3.1
|
268
251
|
requirements: []
|
269
|
-
|
270
|
-
|
271
|
-
signing_key:
|
252
|
+
rubygems_version: 3.3.7
|
253
|
+
signing_key:
|
272
254
|
specification_version: 4
|
273
255
|
summary: Blacklight Advanced Search plugin
|
274
256
|
test_files:
|
275
257
|
- spec/features/blacklight_advanced_search_form_spec.rb
|
276
|
-
- spec/helpers/advanced_helper_spec.rb
|
277
258
|
- spec/integration/blacklight_stub_spec.rb
|
278
259
|
- spec/lib/advanced_search_builder_spec.rb
|
279
|
-
- spec/lib/blacklight_advanced_search/render_constraints_override_spec.rb
|
280
260
|
- spec/lib/deep_merge_spec.rb
|
281
|
-
- spec/lib/filter_parser_spec.rb
|
282
261
|
- spec/parsing_nesting/build_tree_spec.rb
|
283
262
|
- spec/parsing_nesting/consuming_spec.rb
|
284
263
|
- spec/parsing_nesting/to_solr_spec.rb
|
data/.travis.yml
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
notifications:
|
2
|
-
email: false
|
3
|
-
|
4
|
-
rvm:
|
5
|
-
- 2.4.1
|
6
|
-
- 2.3.3
|
7
|
-
|
8
|
-
matrix:
|
9
|
-
include:
|
10
|
-
- rvm: 2.3.3
|
11
|
-
env: "RAILS_VERSION=5.0.3"
|
12
|
-
|
13
|
-
notifications:
|
14
|
-
irc: "irc.freenode.org#blacklight"
|
15
|
-
email:
|
16
|
-
- blacklight-commits@googlegroups.com
|
17
|
-
env:
|
18
|
-
global:
|
19
|
-
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
20
|
-
|
21
|
-
jdk: oraclejdk8
|
@@ -1,21 +0,0 @@
|
|
1
|
-
/* Classes used for styling our custom components on the search results page */
|
2
|
-
|
3
|
-
/* constraints */
|
4
|
-
|
5
|
-
.inclusive_or.appliedFilter {
|
6
|
-
/* kinda lame, but we have to group the 'any' criteria somehow, as they are still
|
7
|
-
'and'd with facet and other criteria. It's got a bootstrap 'well' class
|
8
|
-
on it already. */
|
9
|
-
display: inline-block;
|
10
|
-
padding: 4px 8px;
|
11
|
-
margin: 0;
|
12
|
-
}
|
13
|
-
|
14
|
-
.inclusive_or .operator {
|
15
|
-
margin-right: 1em;
|
16
|
-
}
|
17
|
-
|
18
|
-
|
19
|
-
#appliedParams .inclusive_or .operator {
|
20
|
-
font-weight: 500;
|
21
|
-
}
|
data/app/assets/stylesheets/blacklight_advanced_search/blacklight_advanced_search_styles.css.scss
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
|
2
|
-
/* Random styles */
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
form.advanced .adv_facet_selections {
|
7
|
-
color:green;
|
8
|
-
font-size: 80%;
|
9
|
-
display: block;
|
10
|
-
margin-top: 0.25em;
|
11
|
-
}
|
12
|
-
|
13
|
-
.advanced-search-form {
|
14
|
-
.query-criteria-heading {
|
15
|
-
// seems neccesary to get select menu to align okay, not sure why.
|
16
|
-
vertical-align: bottom;
|
17
|
-
margin-top: 0;
|
18
|
-
}
|
19
|
-
|
20
|
-
|
21
|
-
select.form-control.sort-select {
|
22
|
-
width: auto; // why does Bootstrap try to insist on explicit width? dunno.
|
23
|
-
display: inline-block;
|
24
|
-
}
|
25
|
-
|
26
|
-
.query-criteria, .limit-criteria, .sort-submit-buttons {
|
27
|
-
margin-bottom: 4em;
|
28
|
-
}
|
29
|
-
|
30
|
-
}
|
31
|
-
|
32
|
-
.blacklight-advanced-facet-select {
|
33
|
-
// have to do some terribly complicated things with display:table and NESTED
|
34
|
-
// tables to add our checkbox and <label> element and still use display-table
|
35
|
-
// to align everything. sorry!
|
36
|
-
.facet-checkbox, .label-and-count {
|
37
|
-
display: table-cell;
|
38
|
-
}
|
39
|
-
|
40
|
-
.label-and-count {
|
41
|
-
width: 100%;
|
42
|
-
padding-left: 1em;
|
43
|
-
}
|
44
|
-
|
45
|
-
|
46
|
-
label {
|
47
|
-
// a nested table, with existing from BL text and count as display:table-cell
|
48
|
-
// already. the "display:table-row" element is implicit and will be added
|
49
|
-
// by browser as a psuedo-element inside this label.
|
50
|
-
display:table;
|
51
|
-
width: 100%;
|
52
|
-
font-weight: normal;
|
53
|
-
|
54
|
-
margin: 0;
|
55
|
-
padding: 0;
|
56
|
-
}
|
57
|
-
}
|
58
|
-
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# This class should NOT be generated into local app. If you generated
|
2
|
-
# into local app in a previous version, remove that, config is done
|
3
|
-
# in CatalogController now.
|
4
|
-
#
|
5
|
-
# Note that this NEEDS to sub-class CatalogController, so it gets any
|
6
|
-
# custom searching behavior you've added, and uses when fetching facets
|
7
|
-
# etc. It does that right now because BlacklightAdvancedSearch::AdvancedController
|
8
|
-
# is hard-coded to subclass CatalogController.
|
9
|
-
#
|
10
|
-
# TODO:
|
11
|
-
# This seperate controller may not need to exist at all -- it just exists
|
12
|
-
# to provide the advanced search form (and fetching of facets to display
|
13
|
-
# on that form). Instead, mix-in a new "advanced" action to CatalogController?
|
14
|
-
# (Make a backwards compat route though).
|
15
|
-
#
|
16
|
-
# Alternately, if this does exist as a seperate controller, it should
|
17
|
-
# _directly_ < CatalogController, and BlacklightAdvancedSearch::AdvancedController
|
18
|
-
# should be a mix-in that does not assume parent controller. Then, if you have
|
19
|
-
# multi-controllers, you just need to create new `AdvancedControllerForX < XController`
|
20
|
-
# which still mixes in BlacklightAdvancedSearch::AdvancedController. There
|
21
|
-
# are probably some other edges that need to be smoothed for that approach, but
|
22
|
-
# that'd be the direction.
|
23
|
-
class AdvancedController < BlacklightAdvancedSearch::AdvancedController
|
24
|
-
copy_blacklight_config_from(CatalogController)
|
25
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
# Need to sub-class CatalogController so we get all other plugins behavior
|
2
|
-
# for our own "inside a search context" lookup of facets.
|
3
|
-
class BlacklightAdvancedSearch::AdvancedController < CatalogController
|
4
|
-
def index
|
5
|
-
@response = get_advanced_search_facets unless request.method == :post
|
6
|
-
end
|
7
|
-
|
8
|
-
protected
|
9
|
-
|
10
|
-
# Override to use the engine routes
|
11
|
-
def search_action_url(options = {})
|
12
|
-
blacklight_advanced_search_engine.url_for(options.merge(action: 'index'))
|
13
|
-
end
|
14
|
-
|
15
|
-
def get_advanced_search_facets
|
16
|
-
# We want to find the facets available for the current search, but:
|
17
|
-
# * IGNORING current query (add in facets_for_advanced_search_form filter)
|
18
|
-
# * IGNORING current advanced search facets (remove add_advanced_search_to_solr filter)
|
19
|
-
response, _ = search_results(params) do |search_builder|
|
20
|
-
search_builder.except(:add_advanced_search_to_solr).append(:facets_for_advanced_search_form)
|
21
|
-
end
|
22
|
-
|
23
|
-
response
|
24
|
-
end
|
25
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
module BlacklightAdvancedSearch
|
2
|
-
# implementation for AdvancedHelper
|
3
|
-
module AdvancedHelperBehavior
|
4
|
-
# Fill in default from existing search, if present
|
5
|
-
# -- if you are using same search fields for basic
|
6
|
-
# search and advanced, will even fill in properly if existing
|
7
|
-
# search used basic search on same field present in advanced.
|
8
|
-
def label_tag_default_for(key)
|
9
|
-
if !params[key].blank?
|
10
|
-
return params[key]
|
11
|
-
elsif params["search_field"] == key
|
12
|
-
return params["q"]
|
13
|
-
else
|
14
|
-
return nil
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
# Is facet value in adv facet search results?
|
19
|
-
def facet_value_checked?(field, value)
|
20
|
-
BlacklightAdvancedSearch::QueryParser.new(params, blacklight_config).filters_include_value?(field, value)
|
21
|
-
end
|
22
|
-
|
23
|
-
def select_menu_for_field_operator
|
24
|
-
options = {
|
25
|
-
t('blacklight_advanced_search.all') => 'AND',
|
26
|
-
t('blacklight_advanced_search.any') => 'OR'
|
27
|
-
}.sort
|
28
|
-
|
29
|
-
select_tag(:op, options_for_select(options, params[:op]), class: 'input-small')
|
30
|
-
end
|
31
|
-
|
32
|
-
# Current params without fields that will be over-written by adv. search,
|
33
|
-
# or other fields we don't want.
|
34
|
-
def advanced_search_context
|
35
|
-
my_params = search_state.params_for_search.except :page, :f_inclusive, :q, :search_field, :op, :index, :sort
|
36
|
-
|
37
|
-
my_params.except!(*search_fields_for_advanced_search.map { |_key, field_def| field_def[:key] })
|
38
|
-
end
|
39
|
-
|
40
|
-
def search_fields_for_advanced_search
|
41
|
-
@search_fields_for_advanced_search ||= begin
|
42
|
-
blacklight_config.search_fields.select { |_k, v| v.include_in_advanced_search || v.include_in_advanced_search.nil? }
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def facet_field_names_for_advanced_search
|
47
|
-
@facet_field_names_for_advanced_search ||= begin
|
48
|
-
blacklight_config.facet_fields.select { |_k, v| v.include_in_advanced_search || v.include_in_advanced_search.nil? }.values.map(&:field)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
|
-
# Use configured facet partial name for facet or fallback on 'catalog/facet_limit'
|
53
|
-
def advanced_search_facet_partial_name(display_facet)
|
54
|
-
facet_configuration_for_field(display_facet.name).try(:partial) || "catalog/facet_limit"
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
<%# used to render facets with checkboxes on advanced search form,
|
2
|
-
we pretty much just use the built-in blacklight render_facet_partials
|
3
|
-
helper.
|
4
|
-
|
5
|
-
But we've provided a local override of the _facet_limit
|
6
|
-
partial in our own `views/advanced/_facet_limit.html.erb`,
|
7
|
-
that is written to include checkboxes for form selection.
|
8
|
-
|
9
|
-
This is the default display of facets, but you can
|
10
|
-
also choose to use _advanced_search_facets_as_select,
|
11
|
-
for a chosen.js-compatible multi-select.
|
12
|
-
%>
|
13
|
-
|
14
|
-
<div class="advanced-facet-limits panel-group">
|
15
|
-
<%= render_facet_partials facet_field_names_for_advanced_search %>
|
16
|
-
</div>
|
@@ -1,30 +0,0 @@
|
|
1
|
-
<%# alternate version of facets on form that renders using multi-select.
|
2
|
-
Has to copy and paste more code from blacklight than default, making
|
3
|
-
it somewhat more fragile.
|
4
|
-
|
5
|
-
Logic taken from facets_helper_behavior.rb, #render_facet_partials and
|
6
|
-
#render_facet_limit.
|
7
|
-
%>
|
8
|
-
|
9
|
-
<% facets_from_request(facet_field_names).each do |display_facet| %>
|
10
|
-
<% if should_render_facet?(display_facet) %>
|
11
|
-
<div class="form-group advanced-search-facet">
|
12
|
-
<%= label_tag display_facet.name.parameterize, :class => "col-sm-3 control-label" do %>
|
13
|
-
<%= facet_field_label(display_facet.name) %>
|
14
|
-
<% end %>
|
15
|
-
|
16
|
-
<div class="col-sm-9">
|
17
|
-
<%= content_tag(:select, :multiple => true,
|
18
|
-
:name => "f_inclusive[#{display_facet.name}][]",
|
19
|
-
:id => display_facet.name.parameterize,
|
20
|
-
:class => "form-control advanced-search-facet-select") do %>
|
21
|
-
<% display_facet.items.each do |facet_item| %>
|
22
|
-
<%= content_tag :option, :value => facet_item.value, :selected => facet_value_checked?(display_facet.name, facet_item.value) do %>
|
23
|
-
<%= facet_item.label %> (<%= number_with_delimiter facet_item.hits %>)
|
24
|
-
<% end %>
|
25
|
-
<% end %>
|
26
|
-
<% end %>
|
27
|
-
</div>
|
28
|
-
</div>
|
29
|
-
<% end %>
|
30
|
-
<% end %>
|
@@ -1,8 +0,0 @@
|
|
1
|
-
<%- search_fields_for_advanced_search.each do |key, field_def| -%>
|
2
|
-
<div class="form-group advanced-search-field">
|
3
|
-
<%= label_tag key, "#{field_def.label }", :class => "col-sm-3 control-label" %>
|
4
|
-
<div class="col-sm-9">
|
5
|
-
<%= text_field_tag key, label_tag_default_for(key), :class => 'form-control' %>
|
6
|
-
</div>
|
7
|
-
</div>
|
8
|
-
<%- end -%>
|
@@ -1,43 +0,0 @@
|
|
1
|
-
<% unless (search_context_str = render_search_to_s( advanced_search_context)).blank? %>
|
2
|
-
<div class="constraints well search_history">
|
3
|
-
<h4><%= t 'blacklight_advanced_search.form.search_context' %></h4>
|
4
|
-
<%= search_context_str %>
|
5
|
-
</div>
|
6
|
-
<% end %>
|
7
|
-
|
8
|
-
<%= form_tag search_catalog_path, :class => 'advanced form-horizontal', :method => :get do %>
|
9
|
-
|
10
|
-
<%= render_hash_as_hidden_fields(advanced_search_context) %>
|
11
|
-
|
12
|
-
<div class="input-criteria">
|
13
|
-
|
14
|
-
<div class="query-criteria">
|
15
|
-
<h3 class="query-criteria-heading">
|
16
|
-
<%= t('blacklight_advanced_search.form.query_criteria_heading_html', :select_menu => select_menu_for_field_operator ) %>
|
17
|
-
</h3>
|
18
|
-
|
19
|
-
<div id="advanced_search">
|
20
|
-
<%= render 'advanced/advanced_search_fields' %>
|
21
|
-
</div>
|
22
|
-
</div>
|
23
|
-
|
24
|
-
<div class="limit-criteria">
|
25
|
-
<h3 class="limit-criteria-heading"><%= t('blacklight_advanced_search.form.limit_criteria_heading_html')%></h3>
|
26
|
-
|
27
|
-
<div id="advanced_search_facets" class="limit_input">
|
28
|
-
<% if blacklight_config.try(:advanced_search).try {|h| h[:form_facet_partial] } %>
|
29
|
-
<%= render blacklight_config.advanced_search[:form_facet_partial] %>
|
30
|
-
<% else %>
|
31
|
-
<%= render 'advanced_search_facets' %>
|
32
|
-
<% end %>
|
33
|
-
</div>
|
34
|
-
</div>
|
35
|
-
</div>
|
36
|
-
|
37
|
-
<hr>
|
38
|
-
|
39
|
-
<div class="sort-submit-buttons clearfix">
|
40
|
-
<%= render 'advanced_search_submit_btns' %>
|
41
|
-
</div>
|
42
|
-
|
43
|
-
<% end %>
|
@@ -1,24 +0,0 @@
|
|
1
|
-
<div class='panel panel-default'>
|
2
|
-
<div class="panel-heading">Search tips</div>
|
3
|
-
<div class="panel-body">
|
4
|
-
<ul class="advanced-help">
|
5
|
-
<li>Select "match all" to require all fields.
|
6
|
-
</li>
|
7
|
-
|
8
|
-
<li>Select "match any" to find at least one field.
|
9
|
-
</li>
|
10
|
-
|
11
|
-
<li>Combine keywords and attributes to find specific items.
|
12
|
-
</li>
|
13
|
-
|
14
|
-
<li>Use quotation marks to search as a phrase.
|
15
|
-
|
16
|
-
<li>Use "+" before a term to make it required. (Otherwise results matching only some of your terms may be included).</li>
|
17
|
-
|
18
|
-
<li>Use "-" before a word or phrase to exclude.
|
19
|
-
|
20
|
-
<li>Use "OR", "AND", and "NOT" to create complex boolean logic. You can use parentheses in your complex expressions. </li>
|
21
|
-
<li>Truncation and wildcards are not supported - word-stemming is done automatically.</li>
|
22
|
-
</ul>
|
23
|
-
</div>
|
24
|
-
</div>
|
@@ -1,12 +0,0 @@
|
|
1
|
-
<div class="sort-buttons pull-left">
|
2
|
-
<%= label_tag(:sort, t('blacklight_advanced_search.form.sort_label'), :class => "control-label") %>
|
3
|
-
|
4
|
-
<%= select_tag(:sort, options_for_select(sort_fields, h(current_sort_field && current_sort_field.key)), :class => "form-control sort-select") %>
|
5
|
-
<%= hidden_field_tag(:search_field, blacklight_config.advanced_search[:url_key]) %>
|
6
|
-
</div>
|
7
|
-
|
8
|
-
<div class="submit-buttons pull-right">
|
9
|
-
<%= link_to t('blacklight_advanced_search.form.start_over'), blacklight_advanced_search_engine.advanced_search_path, :class =>"btn btn-default advanced-search-start-over" %>
|
10
|
-
|
11
|
-
<%= submit_tag t('blacklight_advanced_search.form.search_btn'), :class=>'btn btn-primary advanced-search-submit', :id => "advanced-search-submit" %>
|
12
|
-
</div>
|
@@ -1,15 +0,0 @@
|
|
1
|
-
<ul class="facet-values list-unstyled blacklight-advanced-facet-select">
|
2
|
-
<% display_facet.items.each do |item| -%>
|
3
|
-
<li>
|
4
|
-
<span class="facet-checkbox">
|
5
|
-
<%= check_box_tag "f_inclusive[#{solr_field}][]", item.value.to_sym, facet_value_checked?(solr_field, item.value), :id => "f_inclusive_#{solr_field}_#{item.value.parameterize}"%>
|
6
|
-
</span>
|
7
|
-
|
8
|
-
<span class="label-and-count">
|
9
|
-
<%= label_tag "f_inclusive_#{solr_field}_#{item.value.parameterize}" do %>
|
10
|
-
<%= render_facet_value(solr_field, item, :suppress_link => true) %>
|
11
|
-
<% end %>
|
12
|
-
<span>
|
13
|
-
</li>
|
14
|
-
<% end -%>
|
15
|
-
</ul>
|
@@ -1,21 +0,0 @@
|
|
1
|
-
<% @page_title = "More Search Options - #{application_name}" %>
|
2
|
-
|
3
|
-
<div class="advanced-search-form col-sm-12">
|
4
|
-
|
5
|
-
<h1 class="advanced page-header">
|
6
|
-
<%= t('blacklight_advanced_search.form.title') %>
|
7
|
-
<%= link_to t('blacklight_advanced_search.form.start_over'), blacklight_advanced_search_engine.advanced_search_path, :class =>"btn btn-default pull-right advanced-search-start-over" %>
|
8
|
-
</h1>
|
9
|
-
|
10
|
-
<div class="row">
|
11
|
-
|
12
|
-
<div class="col-md-8">
|
13
|
-
<%= render 'advanced_search_form' %>
|
14
|
-
</div>
|
15
|
-
<div class="col-md-4">
|
16
|
-
<%= render "advanced_search_help" %>
|
17
|
-
</div>
|
18
|
-
|
19
|
-
</div>
|
20
|
-
|
21
|
-
</div>
|
@@ -1,16 +0,0 @@
|
|
1
|
-
<div class="advanced_facet_limit">
|
2
|
-
<div class="inclusive_or well">
|
3
|
-
<h4>Any of:</h4>
|
4
|
-
<ul class="list-unstyled facet-values">
|
5
|
-
<% advanced_query.filters[solr_field].each do |value| %>
|
6
|
-
<li>
|
7
|
-
<span class="selected"><%= h(value) %></span>
|
8
|
-
<%= link_to(remove_advanced_facet_param(solr_field, value, params), :class => "remove") do %>
|
9
|
-
<span class="glyphicon glyphicon-remove"></span><span class="sr-only">[remove]</span>
|
10
|
-
<% end %>
|
11
|
-
</li>
|
12
|
-
<% end %>
|
13
|
-
</ul>
|
14
|
-
</div>
|
15
|
-
<%= render_facet_limit display_facet, :layout => nil, :partial => advanced_search_facet_partial_name(display_facet) %>
|
16
|
-
</div>
|