blacklight 6.14.0 → 7.0.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.
Files changed (422) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/.npmignore +23 -0
  4. data/.rubocop.yml +40 -16
  5. data/.rubocop_todo.yml +479 -375
  6. data/.solr_wrapper.yml +9 -2
  7. data/.travis.yml +27 -20
  8. data/Gemfile +3 -1
  9. data/README.md +22 -5
  10. data/Rakefile +3 -2
  11. data/VERSION +1 -1
  12. data/Vagrantfile +2 -0
  13. data/app/assets/images/blacklight/list.svg +1 -0
  14. data/app/assets/images/blacklight/search.svg +1 -0
  15. data/app/assets/javascripts/blacklight/blacklight.js +497 -57
  16. data/app/assets/stylesheets/blacklight/_balanced_list.scss +7 -12
  17. data/app/assets/stylesheets/blacklight/_blacklight_base.scss +18 -15
  18. data/app/assets/stylesheets/blacklight/_bookmark.scss +1 -13
  19. data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +27 -0
  20. data/app/assets/stylesheets/blacklight/_constraints.scss +17 -25
  21. data/app/assets/stylesheets/blacklight/_controls.scss +8 -16
  22. data/app/assets/stylesheets/blacklight/_facets.scss +64 -93
  23. data/app/assets/stylesheets/blacklight/_header.scss +35 -48
  24. data/app/assets/stylesheets/blacklight/_icons.scss +35 -0
  25. data/app/assets/stylesheets/blacklight/_layout.scss +0 -10
  26. data/app/assets/stylesheets/blacklight/_mixins.scss +15 -0
  27. data/app/assets/stylesheets/blacklight/_modal.scss +9 -17
  28. data/app/assets/stylesheets/blacklight/_pagination.scss +2 -17
  29. data/app/assets/stylesheets/blacklight/_search_form.scss +7 -0
  30. data/app/assets/stylesheets/blacklight/_search_history.scss +5 -13
  31. data/app/assets/stylesheets/blacklight/_search_results.scss +9 -8
  32. data/app/assets/stylesheets/blacklight/_twitter_typeahead.scss +1 -2
  33. data/app/assets/stylesheets/blacklight/blacklight.scss +1 -1
  34. data/app/builders/blacklight/action_builder.rb +57 -0
  35. data/app/controllers/bookmarks_controller.rb +2 -2
  36. data/app/controllers/catalog_controller.rb +2 -2
  37. data/app/controllers/concerns/blacklight/base.rb +0 -33
  38. data/app/controllers/concerns/blacklight/bookmarks.rb +36 -33
  39. data/app/controllers/concerns/blacklight/catalog.rb +266 -210
  40. data/app/controllers/concerns/blacklight/controller.rb +111 -126
  41. data/app/controllers/concerns/blacklight/default_component_configuration.rb +12 -43
  42. data/app/controllers/concerns/blacklight/facet.rb +3 -0
  43. data/app/controllers/concerns/blacklight/search_context.rb +16 -14
  44. data/app/controllers/concerns/blacklight/search_fields.rb +4 -14
  45. data/app/controllers/concerns/blacklight/search_history.rb +1 -6
  46. data/app/controllers/concerns/blacklight/token_based_user.rb +24 -9
  47. data/app/helpers/blacklight/blacklight_helper_behavior.rb +39 -119
  48. data/app/helpers/blacklight/catalog_helper_behavior.rb +94 -88
  49. data/app/helpers/blacklight/component_helper_behavior.rb +21 -19
  50. data/app/helpers/blacklight/configuration_helper_behavior.rb +30 -57
  51. data/app/helpers/blacklight/facets_helper_behavior.rb +55 -51
  52. data/app/helpers/blacklight/hash_as_hidden_fields_helper_behavior.rb +9 -11
  53. data/app/helpers/blacklight/icon_helper_behavior.rb +18 -0
  54. data/app/helpers/blacklight/layout_helper_behavior.rb +3 -3
  55. data/app/helpers/blacklight/render_constraints_helper_behavior.rb +8 -6
  56. data/app/helpers/blacklight/render_partials_helper_behavior.rb +195 -0
  57. data/app/helpers/blacklight/search_history_constraints_helper_behavior.rb +19 -11
  58. data/app/helpers/blacklight/suggest_helper_behavior.rb +1 -0
  59. data/app/helpers/blacklight/url_helper_behavior.rb +50 -41
  60. data/app/{assets/javascripts → javascript}/blacklight/autocomplete.js +3 -2
  61. data/app/javascript/blacklight/bookmark_toggle.js +25 -0
  62. data/app/javascript/blacklight/checkbox_submit.js +134 -0
  63. data/app/{assets/javascripts → javascript}/blacklight/collapsable.js +1 -1
  64. data/app/{assets/javascripts → javascript}/blacklight/core.js +10 -8
  65. data/app/{assets/javascripts → javascript}/blacklight/facet_load.js +6 -6
  66. data/app/{assets/javascripts/blacklight/ajax_modal.js → javascript/blacklight/modal.js} +62 -64
  67. data/app/{assets/javascripts → javascript}/blacklight/search_context.js +10 -3
  68. data/app/models/blacklight/facet_paginator.rb +3 -3
  69. data/app/models/blacklight/icon.rb +56 -0
  70. data/app/models/blacklight/solr/facet_paginator.rb +3 -3
  71. data/app/models/blacklight/suggest_search.rb +4 -15
  72. data/app/models/bookmark.rb +5 -10
  73. data/app/models/concerns/blacklight/configurable.rb +13 -13
  74. data/app/models/concerns/blacklight/document/active_model_shim.rb +13 -11
  75. data/app/models/concerns/blacklight/document/cache_key.rb +1 -1
  76. data/app/models/concerns/blacklight/document/dublin_core.rb +2 -2
  77. data/app/models/concerns/blacklight/document/email.rb +1 -1
  78. data/app/models/concerns/blacklight/document/extensions.rb +5 -5
  79. data/app/models/concerns/blacklight/document/semantic_fields.rb +9 -9
  80. data/app/models/concerns/blacklight/document/sms.rb +1 -1
  81. data/app/models/concerns/blacklight/document.rb +26 -40
  82. data/app/models/concerns/blacklight/solr/document.rb +8 -8
  83. data/app/models/concerns/blacklight/suggest/response.rb +5 -3
  84. data/app/models/concerns/blacklight/user.rb +7 -6
  85. data/app/models/record_mailer.rb +5 -6
  86. data/app/models/search.rb +5 -7
  87. data/app/presenters/blacklight/document_presenter.rb +25 -140
  88. data/app/presenters/blacklight/field_presenter.rb +7 -5
  89. data/app/presenters/blacklight/index_presenter.rb +41 -58
  90. data/app/presenters/blacklight/json_presenter.rb +10 -14
  91. data/app/presenters/blacklight/link_alternate_presenter.rb +3 -1
  92. data/app/presenters/blacklight/rendering/abstract_step.rb +7 -5
  93. data/app/presenters/blacklight/rendering/helper_method.rb +10 -8
  94. data/app/presenters/blacklight/rendering/join.rb +5 -3
  95. data/app/presenters/blacklight/rendering/link_to_facet.rb +23 -19
  96. data/app/presenters/blacklight/rendering/microdata.rb +6 -3
  97. data/app/presenters/blacklight/rendering/pipeline.rb +7 -5
  98. data/app/presenters/blacklight/rendering/terminator.rb +2 -0
  99. data/app/presenters/blacklight/search_bar_presenter.rb +39 -0
  100. data/app/presenters/blacklight/show_presenter.rb +26 -63
  101. data/app/presenters/blacklight/thumbnail_presenter.rb +74 -0
  102. data/app/services/blacklight/document_factory.rb +13 -0
  103. data/app/services/blacklight/field_retriever.rb +26 -24
  104. data/app/services/blacklight/search_service.rb +152 -0
  105. data/app/values/blacklight/types.rb +31 -0
  106. data/app/views/blacklight/nav/_bookmark.html.erb +2 -2
  107. data/app/views/blacklight/nav/_search_history.html.erb +1 -1
  108. data/app/views/bookmarks/_tools.html.erb +2 -2
  109. data/app/views/bookmarks/index.html.erb +12 -13
  110. data/app/views/catalog/_bookmark_control.html.erb +26 -10
  111. data/app/views/catalog/_citation.html.erb +4 -4
  112. data/app/views/catalog/_constraints.html.erb +6 -7
  113. data/app/views/catalog/_constraints_element.html.erb +6 -6
  114. data/app/views/catalog/_did_you_mean.html.erb +1 -1
  115. data/app/views/catalog/{_document_default.atom.builder → _document.atom.builder} +19 -18
  116. data/app/views/catalog/_document.html.erb +5 -3
  117. data/app/views/catalog/{_document_default.rss.builder → _document.rss.builder} +2 -0
  118. data/app/views/catalog/_document_action.html.erb +2 -1
  119. data/app/views/catalog/_email_form.html.erb +8 -4
  120. data/app/views/catalog/_facet_index_navigation.html.erb +5 -4
  121. data/app/views/catalog/_facet_layout.html.erb +6 -10
  122. data/app/views/catalog/_facet_limit.html.erb +3 -2
  123. data/app/views/catalog/_facet_pagination.html.erb +8 -8
  124. data/app/views/catalog/_facet_pivot.html.erb +2 -2
  125. data/app/views/catalog/_facets.html.erb +9 -12
  126. data/app/views/catalog/_field.json.jbuilder +10 -0
  127. data/app/views/catalog/{_group_default.html.erb → _group.html.erb} +1 -1
  128. data/app/views/catalog/_home_text.html.erb +32 -36
  129. data/app/views/catalog/_index.html.erb +10 -0
  130. data/app/views/catalog/{_index_header_default.html.erb → _index_header.html.erb} +3 -3
  131. data/app/views/catalog/_per_page_widget.html.erb +6 -7
  132. data/app/views/catalog/_previous_next_doc.html.erb +6 -14
  133. data/app/views/catalog/_results_pagination.html.erb +2 -2
  134. data/app/views/catalog/_search_form.html.erb +12 -8
  135. data/app/views/catalog/_search_header.html.erb +0 -3
  136. data/app/views/catalog/_search_results.html.erb +6 -2
  137. data/app/views/catalog/_show.html.erb +8 -0
  138. data/app/views/catalog/_show_main_content.html.erb +4 -4
  139. data/app/views/catalog/_show_more_like_this.html.erb +1 -1
  140. data/app/views/catalog/_show_sidebar.html.erb +3 -3
  141. data/app/views/catalog/_show_tools.html.erb +10 -12
  142. data/app/views/catalog/_sms_form.html.erb +8 -4
  143. data/app/views/catalog/_sort_and_per_page.html.erb +3 -3
  144. data/app/views/catalog/_sort_widget.html.erb +7 -7
  145. data/app/views/catalog/_thumbnail.html.erb +5 -0
  146. data/app/views/catalog/_view_type_group.html.erb +2 -2
  147. data/app/views/catalog/_zero_results.html.erb +1 -1
  148. data/app/views/catalog/citation.js.erb +4 -2
  149. data/app/views/catalog/email.html.erb +5 -3
  150. data/app/views/catalog/email_success.html.erb +12 -8
  151. data/app/views/catalog/facet.html.erb +10 -8
  152. data/app/views/catalog/facet.json.jbuilder +2 -0
  153. data/app/views/catalog/index.atom.builder +13 -16
  154. data/app/views/catalog/index.html.erb +9 -11
  155. data/app/views/catalog/index.json.jbuilder +84 -3
  156. data/app/views/catalog/index.rss.builder +7 -5
  157. data/app/views/catalog/opensearch.xml.builder +12 -10
  158. data/app/views/catalog/show.html.erb +11 -6
  159. data/app/views/catalog/show.json.jbuilder +21 -0
  160. data/app/views/catalog/sms.html.erb +3 -1
  161. data/app/views/catalog/sms_success.html.erb +12 -8
  162. data/app/views/kaminari/blacklight/_first_page.html.erb +2 -2
  163. data/app/views/kaminari/blacklight/_gap.html.erb +2 -2
  164. data/app/views/kaminari/blacklight/_last_page.html.erb +2 -2
  165. data/app/views/kaminari/blacklight/_next_page.html.erb +5 -5
  166. data/app/views/kaminari/blacklight/_page.html.erb +5 -3
  167. data/app/views/kaminari/blacklight/_prev_page.html.erb +4 -4
  168. data/app/views/kaminari/blacklight_compact/_paginator.html.erb +4 -4
  169. data/app/views/layouts/blacklight/base.html.erb +35 -0
  170. data/app/views/layouts/blacklight.html.erb +14 -41
  171. data/app/views/layouts/catalog_result.html.erb +11 -0
  172. data/app/views/search_history/index.html.erb +16 -21
  173. data/app/views/shared/_header_navbar.html.erb +8 -13
  174. data/app/views/shared/_modal.html.erb +6 -0
  175. data/app/views/shared/_user_util_links.html.erb +22 -0
  176. data/blacklight.gemspec +10 -11
  177. data/config/i18n-tasks.yml +17 -0
  178. data/config/locales/blacklight.de.yml +71 -82
  179. data/config/locales/blacklight.en.yml +15 -27
  180. data/config/locales/blacklight.es.yml +14 -26
  181. data/config/locales/blacklight.fr.yml +16 -33
  182. data/config/locales/blacklight.hu.yml +212 -0
  183. data/config/locales/blacklight.it.yml +15 -26
  184. data/config/locales/blacklight.nl.yml +212 -0
  185. data/config/locales/blacklight.pt-BR.yml +24 -29
  186. data/config/locales/blacklight.sq.yml +4 -28
  187. data/config/locales/blacklight.zh.yml +3 -25
  188. data/config/routes.rb +2 -10
  189. data/db/migrate/20140202020202_create_bookmarks.rb +0 -1
  190. data/db/migrate/20140320000000_add_polymorphic_type_to_bookmarks.rb +1 -1
  191. data/lib/blacklight/abstract_repository.rb +22 -10
  192. data/lib/blacklight/configuration/context.rb +12 -1
  193. data/lib/blacklight/configuration/facet_field.rb +16 -9
  194. data/lib/blacklight/configuration/field.rb +32 -3
  195. data/lib/blacklight/configuration/fields.rb +61 -58
  196. data/lib/blacklight/configuration/null_field.rb +2 -0
  197. data/lib/blacklight/configuration/search_field.rb +2 -2
  198. data/lib/blacklight/configuration/sort_field.rb +2 -2
  199. data/lib/blacklight/configuration/view_config.rb +4 -0
  200. data/lib/blacklight/configuration.rb +101 -88
  201. data/lib/blacklight/engine.rb +11 -7
  202. data/lib/blacklight/exceptions.rb +4 -7
  203. data/lib/blacklight/{utils.rb → nested_open_struct_with_hash_access.rb} +9 -81
  204. data/lib/blacklight/open_struct_with_hash_access.rb +49 -0
  205. data/lib/blacklight/parameters.rb +1 -1
  206. data/lib/blacklight/routes/exportable.rb +1 -3
  207. data/lib/blacklight/routes/searchable.rb +3 -3
  208. data/lib/blacklight/runtime_registry.rb +2 -0
  209. data/lib/blacklight/search_builder.rb +28 -35
  210. data/lib/blacklight/search_state.rb +10 -8
  211. data/lib/blacklight/solr/repository.rb +40 -6
  212. data/lib/blacklight/solr/request.rb +1 -1
  213. data/lib/blacklight/solr/response/facets.rb +29 -31
  214. data/lib/blacklight/solr/response/group.rb +3 -3
  215. data/lib/blacklight/solr/response/group_response.rb +1 -1
  216. data/lib/blacklight/solr/response/more_like_this.rb +2 -2
  217. data/lib/blacklight/solr/response/response.rb +2 -2
  218. data/lib/blacklight/solr/response/spelling.rb +4 -3
  219. data/lib/blacklight/solr/response.rb +29 -30
  220. data/lib/blacklight/solr/search_builder_behavior.rb +25 -29
  221. data/lib/blacklight/version.rb +1 -1
  222. data/lib/blacklight.rb +10 -8
  223. data/lib/generators/blacklight/assets_generator.rb +18 -12
  224. data/lib/generators/blacklight/controller_generator.rb +4 -5
  225. data/lib/generators/blacklight/document_generator.rb +1 -1
  226. data/lib/generators/blacklight/install_generator.rb +18 -28
  227. data/lib/generators/blacklight/search_builder_generator.rb +1 -1
  228. data/lib/generators/blacklight/{solr5_generator.rb → solr_generator.rb} +12 -6
  229. data/lib/generators/blacklight/templates/.solr_wrapper.yml +5 -0
  230. data/lib/generators/blacklight/templates/alternate_controller.rb +4 -4
  231. data/lib/generators/blacklight/templates/blacklight.scss +0 -2
  232. data/lib/generators/blacklight/templates/catalog_controller.rb +59 -49
  233. data/lib/generators/blacklight/templates/config/blacklight.yml +1 -13
  234. data/lib/generators/blacklight/templates/solr/conf/schema.xml +388 -0
  235. data/lib/generators/blacklight/templates/solr/conf/solrconfig.xml +195 -0
  236. data/lib/generators/blacklight/test_support_generator.rb +10 -10
  237. data/lib/generators/blacklight/user_generator.rb +5 -6
  238. data/lib/railties/blacklight.rake +17 -21
  239. data/package-lock.json +2195 -0
  240. data/package.json +29 -0
  241. data/spec/controllers/alternate_controller_spec.rb +5 -4
  242. data/spec/controllers/application_controller_spec.rb +1 -5
  243. data/spec/controllers/blacklight/base_spec.rb +6 -3
  244. data/spec/controllers/blacklight/catalog/component_configuration_spec.rb +11 -7
  245. data/spec/controllers/blacklight/facet_spec.rb +1 -2
  246. data/spec/controllers/blacklight/search_fields_spec.rb +25 -34
  247. data/spec/controllers/bookmarks_controller_spec.rb +46 -11
  248. data/spec/controllers/catalog_controller_spec.rb +334 -161
  249. data/spec/controllers/search_history_controller_spec.rb +6 -6
  250. data/spec/features/alternate_controller_spec.rb +4 -4
  251. data/spec/features/autocomplete_spec.rb +4 -2
  252. data/spec/features/bookmarks_spec.rb +10 -10
  253. data/spec/features/did_you_mean_spec.rb +7 -12
  254. data/spec/features/facets_spec.rb +29 -17
  255. data/spec/features/record_view_spec.rb +12 -18
  256. data/spec/features/search_context_spec.rb +6 -7
  257. data/spec/features/search_crawler_spec.rb +3 -5
  258. data/spec/features/search_filters_spec.rb +80 -80
  259. data/spec/features/search_formats_spec.rb +1 -1
  260. data/spec/features/search_history_spec.rb +6 -29
  261. data/spec/features/search_pagination_spec.rb +4 -2
  262. data/spec/features/search_results_spec.rb +14 -12
  263. data/spec/features/search_sort_spec.rb +2 -2
  264. data/spec/features/search_spec.rb +8 -9
  265. data/spec/features/sitelinks_search_box.rb +4 -4
  266. data/{solr → spec/fixtures}/sample_solr_documents.yml +688 -688
  267. data/spec/helpers/{configuration_helper_spec.rb → blacklight/configuration_helper_behavior_spec.rb} +97 -92
  268. data/spec/helpers/{facets_helper_spec.rb → blacklight/facets_helper_behavior_spec.rb} +72 -67
  269. data/spec/helpers/{hash_as_hidden_fields_spec.rb → blacklight/hash_as_hidden_fields_behavior_spec.rb} +2 -2
  270. data/spec/helpers/blacklight/icon_helper_behavior_spec.rb +10 -0
  271. data/spec/helpers/{layout_helper_spec.rb → blacklight/layout_helper_behavior_spec.rb} +5 -5
  272. data/spec/helpers/{render_constraints_helper_spec.rb → blacklight/render_constraints_helper_behavior_spec.rb} +10 -6
  273. data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +92 -0
  274. data/spec/helpers/{search_history_constraints_helper_spec.rb → blacklight/search_history_constraints_helper_behavior_spec.rb} +29 -30
  275. data/spec/helpers/{suggest_helper_spec.rb → blacklight/suggest_helper_behavior_spec.rb} +9 -2
  276. data/spec/helpers/{url_helper_spec.rb → blacklight/url_helper_behavior_spec.rb} +56 -54
  277. data/spec/helpers/blacklight_helper_spec.rb +65 -150
  278. data/spec/helpers/catalog_helper_spec.rb +80 -96
  279. data/spec/i18n_spec.rb +18 -0
  280. data/spec/integration/generators/blacklight/{solr5_generator_spec.rb → solr_generator_spec.rb} +21 -13
  281. data/spec/lib/blacklight/configuration/facet_field_spec.rb +13 -0
  282. data/spec/lib/blacklight/configuration/field_spec.rb +15 -0
  283. data/spec/lib/blacklight/nested_open_struct_with_hash_access_spec.rb +17 -0
  284. data/spec/lib/blacklight/open_struct_with_hash_access_spec.rb +148 -0
  285. data/spec/lib/blacklight/parameters_spec.rb +4 -2
  286. data/spec/lib/blacklight/search_state_spec.rb +53 -36
  287. data/spec/lib/blacklight_spec.rb +14 -15
  288. data/spec/lib/tasks/blacklight_task_spec.rb +4 -6
  289. data/spec/models/blacklight/configurable_spec.rb +24 -27
  290. data/spec/models/blacklight/configuration/context_spec.rb +9 -10
  291. data/spec/models/blacklight/configuration_spec.rb +248 -223
  292. data/spec/models/blacklight/document/active_model_shim_spec.rb +15 -6
  293. data/spec/models/blacklight/document/cache_key_spec.rb +9 -2
  294. data/spec/models/blacklight/document/dublin_core_spec.rb +17 -20
  295. data/spec/models/blacklight/document/email_spec.rb +10 -10
  296. data/spec/models/blacklight/document/sms_spec.rb +10 -10
  297. data/spec/models/blacklight/document_spec.rb +10 -22
  298. data/spec/models/blacklight/facet_paginator_spec.rb +40 -30
  299. data/spec/models/blacklight/icon_spec.rb +44 -0
  300. data/spec/models/blacklight/search_builder_spec.rb +41 -26
  301. data/spec/models/blacklight/solr/document_spec.rb +224 -216
  302. data/spec/models/blacklight/solr/facet_paginator_spec.rb +6 -4
  303. data/spec/models/blacklight/solr/repository_spec.rb +61 -46
  304. data/spec/models/blacklight/solr/request_spec.rb +17 -18
  305. data/spec/models/blacklight/solr/response/facets_spec.rb +58 -58
  306. data/spec/models/blacklight/solr/response/group_response_spec.rb +16 -22
  307. data/spec/models/blacklight/solr/response/group_spec.rb +18 -25
  308. data/spec/models/blacklight/solr/response_spec.rb +56 -55
  309. data/spec/models/blacklight/solr/search_builder_spec.rb +150 -164
  310. data/spec/models/blacklight/suggest/response_spec.rb +6 -4
  311. data/spec/models/blacklight/suggest_search_spec.rb +9 -16
  312. data/spec/models/blacklight/user_spec.rb +9 -11
  313. data/spec/models/bookmark_spec.rb +7 -6
  314. data/spec/models/record_mailer_spec.rb +23 -21
  315. data/spec/models/search_spec.rb +19 -18
  316. data/spec/models/solr_document_spec.rb +33 -5
  317. data/spec/presenters/blacklight/document_presenter_spec.rb +86 -0
  318. data/spec/presenters/blacklight/index_presenter_spec.rb +186 -0
  319. data/spec/presenters/blacklight/json_presenter_spec.rb +59 -0
  320. data/spec/presenters/blacklight/link_alternate_presenter_spec.rb +3 -0
  321. data/spec/presenters/blacklight/search_bar_presenter_spec.rb +79 -0
  322. data/spec/presenters/blacklight/show_presenter_spec.rb +333 -0
  323. data/spec/presenters/pipeline_spec.rb +18 -11
  324. data/spec/presenters/thumbnail_presenter_spec.rb +174 -0
  325. data/spec/routing/catalog_routing_spec.rb +13 -15
  326. data/spec/services/blacklight/search_service_spec.rb +488 -0
  327. data/spec/spec_helper.rb +20 -19
  328. data/spec/support/features/session_helpers.rb +4 -4
  329. data/spec/support/features.rb +1 -1
  330. data/spec/test_app_templates/Gemfile.extra +2 -4
  331. data/spec/test_app_templates/lib/generators/test_app_generator.rb +12 -13
  332. data/spec/views/catalog/_constraints.html.erb_spec.rb +3 -6
  333. data/spec/views/catalog/_constraints_element.html.erb_spec.rb +17 -13
  334. data/spec/views/catalog/_document.html.erb_spec.rb +11 -11
  335. data/spec/views/catalog/_document_list.html.erb_spec.rb +2 -1
  336. data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +5 -5
  337. data/spec/views/catalog/_facet_layout.html.erb_spec.rb +6 -6
  338. data/spec/views/catalog/_facets.html.erb_spec.rb +10 -12
  339. data/spec/views/catalog/{_index_default.erb_spec.rb → _index.html.erb_spec.rb} +14 -15
  340. data/spec/views/catalog/{_index_header_default.html.erb_spec.rb → _index_header.html.erb_spec.rb} +6 -9
  341. data/spec/views/catalog/_paginate_compact.html.erb_spec.rb +7 -30
  342. data/spec/views/catalog/_search_header.erb_spec.rb +1 -3
  343. data/spec/views/catalog/{_show_default.erb_spec.rb → _show.html.erb_spec.rb} +13 -14
  344. data/spec/views/catalog/_show_sidebar.erb_spec.rb +6 -9
  345. data/spec/views/catalog/_show_tools.html.erb_spec.rb +5 -5
  346. data/spec/views/catalog/_sort_and_per_page.html.erb_spec.rb +1 -2
  347. data/spec/views/catalog/_sort_widget.html.erb_spec.rb +3 -1
  348. data/spec/views/catalog/{_thumbnail_default.erb_spec.rb → _thumbnail.html.erb_spec.rb} +7 -9
  349. data/spec/views/catalog/_view_type_group.html.erb_spec.rb +12 -10
  350. data/spec/views/catalog/email_success.html.erb_spec.rb +8 -0
  351. data/spec/views/catalog/facet.html.erb_spec.rb +4 -3
  352. data/spec/views/catalog/facet.json.jbuilder_spec.rb +3 -2
  353. data/spec/views/catalog/index.atom.builder_spec.rb +11 -6
  354. data/spec/views/catalog/index.html.erb_spec.rb +6 -8
  355. data/spec/views/catalog/index.json.jbuilder_spec.rb +119 -26
  356. data/spec/views/catalog/opensearch.xml.builder_spec.rb +1 -1
  357. data/spec/views/catalog/show.html.erb_spec.rb +8 -8
  358. data/spec/views/catalog/show.json.jbuilder_spec.rb +40 -0
  359. data/spec/views/catalog/sms_success.html.erb_spec.rb +8 -0
  360. data/spec/views/{_user_util_links.html.erb_spec.rb → shared/_user_util_links.html.erb_spec.rb} +4 -7
  361. data/tasks/blacklight.rake +10 -8
  362. data/template.demo.rb +3 -11
  363. metadata +188 -189
  364. data/app/assets/javascripts/blacklight/autofocus.js +0 -16
  365. data/app/assets/javascripts/blacklight/bookmark_toggle.js +0 -23
  366. data/app/assets/javascripts/blacklight/checkbox_submit.js +0 -135
  367. data/app/controllers/concerns/blacklight/request_builders.rb +0 -77
  368. data/app/controllers/concerns/blacklight/saved_searches.rb +0 -70
  369. data/app/controllers/concerns/blacklight/search_helper.rb +0 -155
  370. data/app/controllers/concerns/blacklight/suggest.rb +0 -25
  371. data/app/controllers/saved_searches_controller.rb +0 -4
  372. data/app/controllers/suggest_controller.rb +0 -4
  373. data/app/helpers/blacklight/deprecated_url_helper_behavior.rb +0 -57
  374. data/app/helpers/blacklight/render_partials_helper.rb +0 -205
  375. data/app/helpers/blacklight_configuration_helper.rb +0 -4
  376. data/app/helpers/blacklight_url_helper.rb +0 -4
  377. data/app/helpers/component_helper.rb +0 -4
  378. data/app/helpers/facets_helper.rb +0 -4
  379. data/app/helpers/hash_as_hidden_fields_helper.rb +0 -4
  380. data/app/helpers/layout_helper.rb +0 -4
  381. data/app/helpers/render_constraints_helper.rb +0 -4
  382. data/app/helpers/search_history_constraints_helper.rb +0 -4
  383. data/app/helpers/suggest_helper.rb +0 -4
  384. data/app/models/concerns/blacklight/solr/document/more_like_this.rb +0 -6
  385. data/app/views/_user_util_links.html.erb +0 -26
  386. data/app/views/blacklight/nav/_saved_searches.html.erb +0 -1
  387. data/app/views/catalog/_index_default.html.erb +0 -12
  388. data/app/views/catalog/_show_default.html.erb +0 -10
  389. data/app/views/catalog/_thumbnail_default.html.erb +0 -5
  390. data/app/views/saved_searches/index.html.erb +0 -32
  391. data/app/views/shared/_ajax_modal.html.erb +0 -6
  392. data/lib/generators/blacklight/solr4_generator.rb +0 -31
  393. data/lib/generators/blacklight/templates/config/jetty.yml +0 -13
  394. data/solr/conf/schema.xml +0 -629
  395. data/solr/conf/solrconfig.xml +0 -411
  396. data/spec/controllers/blacklight/search_helper_spec.rb +0 -470
  397. data/spec/controllers/saved_searches_controller_spec.rb +0 -32
  398. data/spec/controllers/suggest_controller_spec.rb +0 -17
  399. data/spec/features/saved_searches_spec.rb +0 -47
  400. data/spec/helpers/deprecated_url_helper_behavior_spec.rb +0 -101
  401. data/spec/lib/blacklight/utils_spec.rb +0 -167
  402. data/spec/models/blacklight/solr/document/more_like_this_spec.rb +0 -18
  403. data/spec/presenters/document_presenter_spec.rb +0 -438
  404. data/spec/presenters/index_presenter_spec.rb +0 -173
  405. data/spec/presenters/show_presenter_spec.rb +0 -313
  406. data/spec/support/backport_test.rb +0 -14
  407. /data/app/views/catalog/{_show_header_default.html.erb → _show_header.html.erb} +0 -0
  408. /data/app/views/{_flash_msg.html.erb → shared/_flash_msg.html.erb} +0 -0
  409. /data/{solr → lib/generators/blacklight/templates/solr}/conf/_rest_managed.json +0 -0
  410. /data/{solr → lib/generators/blacklight/templates/solr}/conf/admin-extra.html +0 -0
  411. /data/{solr → lib/generators/blacklight/templates/solr}/conf/elevate.xml +0 -0
  412. /data/{solr → lib/generators/blacklight/templates/solr}/conf/mapping-ISOLatin1Accent.txt +0 -0
  413. /data/{solr → lib/generators/blacklight/templates/solr}/conf/protwords.txt +0 -0
  414. /data/{solr → lib/generators/blacklight/templates/solr}/conf/scripts.conf +0 -0
  415. /data/{solr → lib/generators/blacklight/templates/solr}/conf/spellings.txt +0 -0
  416. /data/{solr → lib/generators/blacklight/templates/solr}/conf/stopwords.txt +0 -0
  417. /data/{solr → lib/generators/blacklight/templates/solr}/conf/stopwords_en.txt +0 -0
  418. /data/{solr → lib/generators/blacklight/templates/solr}/conf/synonyms.txt +0 -0
  419. /data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/example.xsl +0 -0
  420. /data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/example_atom.xsl +0 -0
  421. /data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/example_rss.xsl +0 -0
  422. /data/{solr → lib/generators/blacklight/templates/solr}/conf/xslt/luke.xsl +0 -0
@@ -1,16 +0,0 @@
1
- //= require blacklight/core
2
- (function($) {
3
- Blacklight.do_search_autofocus_fallback = function() {
4
- if (typeof Modernizer != "undefined") {
5
- if (Modernizr.autofocus) {
6
- return;
7
- }
8
- }
9
-
10
- $('input[autofocus]').focus();
11
- }
12
-
13
- Blacklight.onLoad(function() {
14
- Blacklight.do_search_autofocus_fallback();
15
- });
16
- })(jQuery);
@@ -1,23 +0,0 @@
1
- //= require blacklight/core
2
- //= require blacklight/checkbox_submit
3
- (function($) {
4
- //change form submit toggle to checkbox
5
- Blacklight.do_bookmark_toggle_behavior = function() {
6
- $(Blacklight.do_bookmark_toggle_behavior.selector).bl_checkbox_submit({
7
- //css_class is added to elements added, plus used for id base
8
- css_class: "toggle_bookmark",
9
- success: function(checked, response) {
10
- if (response.bookmarks) {
11
- $('[data-role=bookmark-counter]').text(response.bookmarks.count);
12
- }
13
- }
14
- });
15
- };
16
- Blacklight.do_bookmark_toggle_behavior.selector = "form.bookmark_toggle";
17
-
18
- Blacklight.onLoad(function() {
19
- Blacklight.do_bookmark_toggle_behavior();
20
- });
21
-
22
-
23
- })(jQuery);
@@ -1,135 +0,0 @@
1
- /* A JQuery plugin (should this be implemented as a widget instead? not sure)
2
- that will convert a "toggle" form, with single submit button to add/remove
3
- something, like used for Bookmarks, into an AJAXy checkbox instead.
4
-
5
- Apply to a form. Does require certain assumption about the form:
6
- 1) The same form 'action' href must be used for both ADD and REMOVE
7
- actions, with the different being the hidden input name="_method"
8
- being set to "put" or "delete" -- that's the Rails method to pretend
9
- to be doing a certain HTTP verb. So same URL, PUT to add, DELETE
10
- to remove. This plugin assumes that.
11
-
12
- Plus, the form this is applied to should provide a data-doc-id
13
- attribute (HTML5-style doc-*) that contains the id/primary key
14
- of the object in question -- used by plugin for a unique value for
15
- DOM id's.
16
-
17
- Uses HTML for a checkbox compatible with Bootstrap 3.
18
-
19
- Pass in options for your class name and labels:
20
- $("form.something").bl_checkbox_submit({
21
- checked_label: "Selected",
22
- unchecked_label: "Select",
23
- progress_label: "Saving...",
24
- //css_class is added to elements added, plus used for id base
25
- css_class: "toggle_my_kinda_form",
26
- success: function(after_success_check_state) {
27
- #optional callback
28
- }
29
- });
30
- */
31
- (function($) {
32
- $.fn.bl_checkbox_submit = function(arg_opts) {
33
-
34
- this.each(function() {
35
- var options = $.extend({}, $.fn.bl_checkbox_submit.defaults, arg_opts);
36
-
37
-
38
- var form = $(this);
39
- form.children().hide();
40
- //We're going to use the existing form to actually send our add/removes
41
- //This works conveneintly because the exact same action href is used
42
- //for both bookmarks/$doc_id. But let's take out the irrelevant parts
43
- //of the form to avoid any future confusion.
44
- form.find("input[type=submit]").remove();
45
- form.addClass('form-horizontal');
46
-
47
- //View needs to set data-doc-id so we know a unique value
48
- //for making DOM id
49
- var unique_id = form.attr("data-doc-id") || Math.random();
50
- // if form is currently using method delete to change state,
51
- // then checkbox is currently checked
52
- var checked = (form.find("input[name=_method][value=delete]").size() != 0);
53
-
54
- var checkbox = $('<input type="checkbox">')
55
- .addClass( options.css_class )
56
- .attr("id", options.css_class + "_" + unique_id);
57
- var label = $('<label>')
58
- .addClass( options.css_class )
59
- .attr("for", options.css_class + '_' + unique_id)
60
- .attr("title", form.attr("title") || "");
61
- var span = $('<span>');
62
-
63
- label.append(checkbox);
64
- label.append(" ");
65
- label.append(span);
66
-
67
- var checkbox_div = $("<div class='checkbox' />")
68
- .addClass(options.css_class)
69
- .append(label);
70
-
71
- function update_state_for(state) {
72
- checkbox.prop("checked", state);
73
- label.toggleClass("checked", state);
74
- if (state) {
75
- //Set the Rails hidden field that fakes an HTTP verb
76
- //properly for current state action.
77
- form.find("input[name=_method]").val("delete");
78
- span.text(form.attr('data-present'));
79
- } else {
80
- form.find("input[name=_method]").val("put");
81
- span.text(form.attr('data-absent'));
82
- }
83
- }
84
-
85
- form.append(checkbox_div);
86
- update_state_for(checked);
87
-
88
- checkbox.click(function() {
89
- span.text(form.attr('data-inprogress'));
90
- label.attr("disabled", "disabled");
91
- checkbox.attr("disabled", "disabled");
92
-
93
- $.ajax({
94
- url: form.attr("action"),
95
- dataType: 'json',
96
- type: form.attr("method").toUpperCase(),
97
- data: form.serialize(),
98
- error: function() {
99
- alert("Error");
100
- update_state_for(checked);
101
- label.removeAttr("disabled");
102
- checkbox.removeAttr("disabled");
103
- },
104
- success: function(data, status, xhr) {
105
- //if app isn't running at all, xhr annoyingly
106
- //reports success with status 0.
107
- if (xhr.status != 0) {
108
- checked = ! checked;
109
- update_state_for(checked);
110
- label.removeAttr("disabled");
111
- checkbox.removeAttr("disabled");
112
- options.success.call(form, checked, xhr.responseJSON);
113
- } else {
114
- alert("Error");
115
- update_state_for(checked);
116
- label.removeAttr("disabled");
117
- checkbox.removeAttr("disabled");
118
- }
119
- }
120
- });
121
-
122
- return false;
123
- }); //checkbox.click
124
-
125
-
126
- }); //this.each
127
- return this;
128
- };
129
-
130
- $.fn.bl_checkbox_submit.defaults = {
131
- //css_class is added to elements added, plus used for id base
132
- css_class: "bl_checkbox_submit",
133
- success: function() {} //callback
134
- };
135
- })(jQuery);
@@ -1,77 +0,0 @@
1
- # frozen_string_literal: true
2
- module Blacklight
3
- module RequestBuilders
4
- extend ActiveSupport::Concern
5
-
6
- included do
7
- if self.respond_to?(:helper_method)
8
- helper_method(:facet_limit_for)
9
- end
10
- end
11
-
12
- # Override this method to use a search builder other than the one in the config
13
- delegate :search_builder_class, to: :blacklight_config
14
-
15
- def search_builder
16
- search_builder_class.new(self)
17
- end
18
-
19
- ##
20
- # Opensearch autocomplete parameters for plucking a field's value from the results
21
- def solr_opensearch_params(field)
22
- solr_params = {}
23
- solr_params[:rows] ||= 10
24
- solr_params[:fl] = field || blacklight_config.view_config('opensearch').title_field
25
- solr_params
26
- end
27
-
28
- ##
29
- # Pagination parameters for selecting the previous and next documents
30
- # out of a result set.
31
- def previous_and_next_document_params(index, window = 1)
32
- solr_params = blacklight_config.document_pagination_params.dup
33
-
34
- if solr_params.empty?
35
- solr_params[:fl] = '*'
36
- end
37
-
38
- if index > 0
39
- solr_params[:start] = index - window # get one before
40
- solr_params[:rows] = 2*window + 1 # and one after
41
- else
42
- solr_params[:start] = 0 # there is no previous doc
43
- solr_params[:rows] = 2*window # but there should be one after
44
- end
45
-
46
- solr_params[:facet] = false
47
- solr_params
48
- end
49
-
50
- DEFAULT_FACET_LIMIT = 10
51
-
52
- # Look up facet limit for given facet_field. Will look at config, and
53
- # if config is 'true' will look up from Solr @response if available. If
54
- # no limit is avaialble, returns nil. Used from #add_facetting_to_solr
55
- # to supply f.fieldname.facet.limit values in solr request (no @response
56
- # available), and used in display (with @response available) to create
57
- # a facet paginator with the right limit.
58
- def facet_limit_for(facet_field)
59
- facet = blacklight_config.facet_fields[facet_field]
60
- return if facet.blank?
61
-
62
- if facet.limit and @response and @response.aggregations[facet.field]
63
- limit = @response.aggregations[facet.field].limit
64
-
65
- if limit.nil? # we didn't get or a set a limit, so infer one.
66
- facet.limit if facet.limit != true
67
- elsif limit == -1 # limit -1 is solr-speak for unlimited
68
- nil
69
- else
70
- limit.to_i - 1 # we added 1 to find out if we needed to paginate
71
- end
72
- elsif facet.limit
73
- facet.limit == true ? DEFAULT_FACET_LIMIT : facet.limit
74
- end
75
- end
76
- end
77
- end
@@ -1,70 +0,0 @@
1
- # frozen_string_literal: true
2
- module Blacklight
3
- module SavedSearches
4
- extend ActiveSupport::Concern
5
- include Blacklight::Configurable
6
-
7
- included do
8
- copy_blacklight_config_from(CatalogController)
9
- before_action :require_user_authentication_provider
10
- before_action :verify_user
11
- end
12
-
13
- def index
14
- @searches = current_user.searches
15
- end
16
-
17
- def save
18
- current_user.searches << searches_from_history.find(params[:id])
19
- if current_user.save
20
- flash[:notice] = I18n.t('blacklight.saved_searches.add.success')
21
- else
22
- flash[:error] = I18n.t('blacklight.saved_searches.add.failure')
23
- end
24
- if respond_to? :redirect_back
25
- redirect_back fallback_location: blacklight.saved_searches_path
26
- else
27
- # Deprecated in Rails 5.0
28
- redirect_to :back
29
- end
30
- end
31
-
32
- # Only dereferences the user rather than removing the item in case it
33
- # is in the session[:history]
34
- def forget
35
- search = current_user.searches.find(params[:id])
36
-
37
- if search.present?
38
- search.user_id = nil
39
- search.save
40
-
41
- flash[:notice] = I18n.t('blacklight.saved_searches.remove.success')
42
- else
43
- flash[:error] = I18n.t('blacklight.saved_searches.remove.failure')
44
- end
45
- if respond_to? :redirect_back
46
- redirect_back fallback_location: blacklight.saved_searches_path
47
- else
48
- # Deprecated in Rails 5.0
49
- redirect_to :back
50
- end
51
- end
52
-
53
- # Only dereferences the user rather than removing the items in case they
54
- # are in the session[:history]
55
- def clear
56
- if current_user.searches.update_all("user_id = NULL")
57
- flash[:notice] = I18n.t('blacklight.saved_searches.clear.success')
58
- else
59
- flash[:error] = I18n.t('blacklight.saved_searches.clear.failure')
60
- end
61
- redirect_to blacklight.saved_searches_url
62
- end
63
-
64
- protected
65
-
66
- def verify_user
67
- flash[:notice] = I18n.t('blacklight.saved_searches.need_login') and raise Blacklight::Exceptions::AccessDenied unless current_user
68
- end
69
- end
70
- end
@@ -1,155 +0,0 @@
1
- # frozen_string_literal: true
2
- # SearchHelper is a controller layer mixin. It is in the controller scope: request params, session etc.
3
- #
4
- # NOTE: Be careful when creating variables here as they may be overriding something that already exists.
5
- # The ActionController docs: http://api.rubyonrails.org/classes/ActionController/Base.html
6
- #
7
- # Override these methods in your own controller for customizations:
8
- #
9
- # class CatalogController < ActionController::Base
10
- # include Blacklight::Catalog
11
- #
12
- # def repository_class
13
- # MyAlternativeRepo
14
- # end
15
- # end
16
- #
17
- # Or by including in local extensions:
18
- # module LocalSearchHelperExtension
19
- # [ local overrides ]
20
- # end
21
- #
22
- # class CatalogController < ActionController::Base
23
- # include Blacklight::Catalog
24
- # include LocalSearchHelperExtension
25
- #
26
- # def repository_class
27
- # MyAlternativeRepo
28
- # end
29
- # end
30
- #
31
- # Or by using ActiveSupport::Concern:
32
- #
33
- # module LocalSearchHelperExtension
34
- # extend ActiveSupport::Concern
35
- # include Blacklight::SearchHelper
36
- #
37
- # [ local overrides ]
38
- # end
39
- #
40
- # class CatalogController < ApplicationController
41
- # include LocalSearchHelperExtension
42
- # include Blacklight::Catalog
43
- # end
44
-
45
- module Blacklight::SearchHelper
46
- extend ActiveSupport::Concern
47
- include Blacklight::RequestBuilders
48
-
49
- # a solr query method
50
- # @param [Hash] user_params ({}) the user provided parameters (e.g. query, facets, sort, etc)
51
- # @yield [search_builder] optional block yields configured SearchBuilder, caller can modify or create new SearchBuilder to be used. Block should return SearchBuilder to be used.
52
- # @return [Blacklight::Solr::Response] the solr response object
53
- def search_results(user_params)
54
- builder = search_builder.with(user_params)
55
- builder.page = user_params[:page] if user_params[:page]
56
- builder.rows = (user_params[:per_page] || user_params[:rows]) if user_params[:per_page] || user_params[:rows]
57
-
58
- builder = yield(builder) if block_given?
59
- response = repository.search(builder)
60
-
61
- if response.grouped? && grouped_key_for_results
62
- [response.group(grouped_key_for_results), []]
63
- elsif response.grouped? && response.grouped.length == 1
64
- [response.grouped.first, []]
65
- else
66
- [response, response.documents]
67
- end
68
- end
69
-
70
- # retrieve a document, given the doc id
71
- # @param [Array{#to_s},#to_s] id
72
- # @return [Blacklight::Solr::Response, Blacklight::SolrDocument] the solr response object and the first document
73
- def fetch(id = nil, extra_controller_params = {})
74
- if id.is_a? Array
75
- fetch_many(id, search_state.to_h, extra_controller_params)
76
- else
77
- fetch_one(id, extra_controller_params)
78
- end
79
- end
80
-
81
- ##
82
- # Get the solr response when retrieving only a single facet field
83
- # @return [Blacklight::Solr::Response] the solr response
84
- def get_facet_field_response(facet_field, user_params = params || {}, extra_controller_params = {})
85
- query = search_builder.with(user_params).facet(facet_field)
86
- repository.search(query.merge(extra_controller_params))
87
- end
88
-
89
- # Get the previous and next document from a search result
90
- # @return [Blacklight::Solr::Response, Array<Blacklight::SolrDocument>] the solr response and a list of the first and last document
91
- def get_previous_and_next_documents_for_search(index, request_params, extra_controller_params={})
92
- p = previous_and_next_document_params(index)
93
- query = search_builder.with(request_params).start(p.delete(:start)).rows(p.delete(:rows)).merge(extra_controller_params).merge(p)
94
- response = repository.search(query)
95
- document_list = response.documents
96
-
97
- # only get the previous doc if there is one
98
- prev_doc = document_list.first if index > 0
99
- next_doc = document_list.last if (index + 1) < response.total
100
- [response, [prev_doc, next_doc]]
101
- end
102
-
103
- # a solr query method
104
- # does a standard search but returns a simplified object.
105
- # an array is returned, the first item is the query string,
106
- # the second item is an other array. This second array contains
107
- # all of the field values for each of the documents...
108
- # where the field is the "field" argument passed in.
109
- def get_opensearch_response(field = nil, request_params = params || {}, extra_controller_params = {})
110
- field ||= blacklight_config.view_config('opensearch').title_field
111
-
112
- query = search_builder.with(request_params).merge(solr_opensearch_params(field)).merge(extra_controller_params)
113
- response = repository.search(query)
114
-
115
- [response.params[:q], response.documents.flat_map {|doc| doc[field] }.uniq]
116
- end
117
-
118
- ##
119
- # The key to use to retrieve the grouped field to display
120
- def grouped_key_for_results
121
- blacklight_config.index.group
122
- end
123
-
124
- delegate :repository_class, to: :blacklight_config
125
-
126
- def repository
127
- repository_class.new(blacklight_config)
128
- end
129
-
130
- private
131
-
132
- ##
133
- # Retrieve a set of documents by id
134
- # @param [Array] ids
135
- # @param [HashWithIndifferentAccess] user_params
136
- # @param [HashWithIndifferentAccess] extra_controller_params
137
- def fetch_many(ids, user_params, extra_controller_params)
138
- user_params ||= params
139
- extra_controller_params ||= {}
140
-
141
- query = search_builder.
142
- with(user_params).
143
- where(blacklight_config.document_model.unique_key => ids).
144
- merge(extra_controller_params).
145
- merge(fl: '*')
146
- solr_response = repository.search(query)
147
-
148
- [solr_response, solr_response.documents]
149
- end
150
-
151
- def fetch_one(id, extra_controller_params)
152
- solr_response = repository.find id, extra_controller_params
153
- [solr_response, solr_response.documents.first]
154
- end
155
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
- module Blacklight
3
- module Suggest
4
- extend ActiveSupport::Concern
5
-
6
- included do
7
- include Blacklight::Configurable
8
- include Blacklight::SearchHelper
9
-
10
- copy_blacklight_config_from(CatalogController)
11
- end
12
-
13
- def index
14
- respond_to do |format|
15
- format.json do
16
- render json: suggestions_service.suggestions
17
- end
18
- end
19
- end
20
-
21
- def suggestions_service
22
- Blacklight::SuggestSearch.new(params, repository).suggestions
23
- end
24
- end
25
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
- class SavedSearchesController < ApplicationController
3
- include Blacklight::SavedSearches
4
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
- class SuggestController < ApplicationController
3
- include Blacklight::Suggest
4
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
- module Blacklight
3
- module DeprecatedUrlHelperBehavior
4
- extend Deprecation
5
- self.deprecation_horizon = 'blacklight 7.x'
6
-
7
- def params_for_search(*args, &block)
8
- source_params, params_to_merge = case args.length
9
- when 0
10
- search_state.params_for_search
11
- when 1
12
- search_state.params_for_search(args.first)
13
- when 2
14
- Deprecation.warn(Blacklight::DeprecatedUrlHelperBehavior, 'Use controller.search_state_class.new(source_params).params_for_search instead')
15
- controller.search_state_class.new(args.first, blacklight_config).params_for_search(args.last)
16
- else
17
- raise ArgumentError, "wrong number of arguments (#{args.length} for 0..2)"
18
- end
19
- end
20
- deprecation_deprecate :params_for_search
21
-
22
- def sanitize_search_params(source_params)
23
- Blacklight::Parameters.sanitize(source_params)
24
- end
25
- deprecation_deprecate :sanitize_search_params
26
-
27
- def reset_search_params(source_params)
28
- controller.search_state_class.new(source_params, blacklight_config).send(:reset_search_params)
29
- end
30
- deprecation_deprecate :reset_search_params
31
-
32
- def add_facet_params(field, item, source_params = nil)
33
- if source_params
34
- Deprecation.warn(Blacklight::DeprecatedUrlHelperBehavior, 'Use controller.search_state_class.new(source_params).add_facet_params instead')
35
-
36
- controller.search_state_class.new(source_params, blacklight_config).add_facet_params(field, item)
37
- else
38
- search_state.add_facet_params(field, item)
39
- end
40
- end
41
- deprecation_deprecate :add_facet_params
42
-
43
- def remove_facet_params(field, item, source_params = nil)
44
- if source_params
45
- Deprecation.warn(Blacklight::DeprecatedUrlHelperBehavior, 'Use controller.search_state_class.new(source_params).remove_facet_params instead')
46
-
47
- controller.search_state_class.new(source_params, blacklight_config).remove_facet_params(field, item)
48
- else
49
- search_state.remove_facet_params(field, item)
50
- end
51
- end
52
- deprecation_deprecate :remove_facet_params
53
-
54
- delegate :add_facet_params_and_redirect, to: :search_state
55
- deprecation_deprecate :add_facet_params_and_redirect
56
- end
57
- end