blacklight 7.33.0 → 8.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 (427) hide show
  1. checksums.yaml +4 -4
  2. data/.env +3 -2
  3. data/.github/workflows/ruby.yml +38 -107
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +243 -2
  6. data/.rubocop_todo.yml +216 -270
  7. data/Gemfile +7 -6
  8. data/README.md +12 -4
  9. data/Rakefile +18 -0
  10. data/VERSION +1 -1
  11. data/app/assets/config/blacklight/manifest.js +3 -0
  12. data/app/assets/javascripts/blacklight/blacklight.esm.js +376 -0
  13. data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -0
  14. data/app/assets/javascripts/blacklight/blacklight.js +332 -485
  15. data/app/assets/javascripts/blacklight/blacklight.js.map +1 -0
  16. data/app/assets/stylesheets/blacklight/_autocomplete.scss +25 -0
  17. data/app/assets/stylesheets/blacklight/_blacklight_base.scss +1 -1
  18. data/app/assets/stylesheets/blacklight/_bookmark.scss +16 -0
  19. data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +8 -0
  20. data/app/assets/stylesheets/blacklight/_facets.scss +104 -49
  21. data/app/assets/stylesheets/blacklight/_header.scss +0 -15
  22. data/app/assets/stylesheets/blacklight/_icons.scss +0 -14
  23. data/app/assets/stylesheets/blacklight/_mixins.scss +20 -0
  24. data/app/assets/stylesheets/blacklight/_modal.scss +8 -2
  25. data/app/assets/stylesheets/blacklight/_search_form.scss +30 -3
  26. data/app/assets/stylesheets/blacklight/_search_history.scss +10 -1
  27. data/app/assets/stylesheets/blacklight/_search_results.scss +6 -2
  28. data/app/assets/stylesheets/blacklight/blacklight_defaults.scss +4 -1
  29. data/app/builders/blacklight/action_builder.rb +18 -9
  30. data/app/components/blacklight/advanced_search_form_component.html.erb +1 -1
  31. data/app/components/blacklight/advanced_search_form_component.rb +7 -9
  32. data/app/components/blacklight/constraints_component.rb +27 -37
  33. data/app/components/blacklight/document/action_component.html.erb +2 -9
  34. data/app/components/blacklight/document/action_component.rb +26 -8
  35. data/app/components/blacklight/document/actions_component.rb +2 -2
  36. data/app/components/blacklight/document/bookmark_component.html.erb +9 -0
  37. data/app/components/blacklight/document/bookmark_component.rb +4 -2
  38. data/app/components/blacklight/document/citation_component.rb +5 -3
  39. data/app/components/blacklight/document/group_component.rb +7 -3
  40. data/app/components/blacklight/document/show_tools_component.html.erb +12 -0
  41. data/app/components/blacklight/document/show_tools_component.rb +23 -0
  42. data/app/components/blacklight/document/sidebar_component.html.erb +2 -0
  43. data/app/components/blacklight/document/sidebar_component.rb +16 -0
  44. data/app/components/blacklight/document/thumbnail_component.html.erb +2 -7
  45. data/app/components/blacklight/document/thumbnail_component.rb +1 -9
  46. data/app/components/blacklight/document_component.html.erb +4 -0
  47. data/app/components/blacklight/document_component.rb +54 -42
  48. data/app/components/blacklight/document_metadata_component.html.erb +4 -2
  49. data/app/components/blacklight/document_metadata_component.rb +11 -6
  50. data/app/components/blacklight/document_title_component.rb +4 -1
  51. data/app/components/blacklight/facet_component.rb +1 -1
  52. data/app/components/blacklight/facet_field_checkboxes_component.html.erb +3 -3
  53. data/app/components/blacklight/facet_field_checkboxes_component.rb +1 -1
  54. data/app/components/blacklight/facet_field_component.html.erb +5 -5
  55. data/app/components/blacklight/facet_field_component.rb +9 -2
  56. data/app/components/blacklight/facet_field_list_component.html.erb +3 -3
  57. data/app/components/blacklight/facet_field_list_component.rb +37 -5
  58. data/app/components/blacklight/facet_field_no_layout_component.rb +0 -2
  59. data/app/components/blacklight/facet_item_component.rb +1 -43
  60. data/app/components/blacklight/facet_item_pivot_component.rb +21 -23
  61. data/app/components/blacklight/header_component.html.erb +2 -0
  62. data/app/components/blacklight/header_component.rb +26 -0
  63. data/app/components/blacklight/hidden_search_state_component.rb +1 -2
  64. data/app/components/blacklight/icons/legacy_icon_component.rb +30 -0
  65. data/app/components/blacklight/icons/list_component.rb +16 -0
  66. data/app/components/blacklight/icons/search_component.rb +16 -0
  67. data/app/components/blacklight/metadata_field_component.html.erb +2 -2
  68. data/app/components/blacklight/metadata_field_component.rb +24 -8
  69. data/app/components/blacklight/metadata_field_layout_component.rb +7 -22
  70. data/app/components/blacklight/metadata_field_plain_text_layout_component.rb +17 -0
  71. data/app/components/blacklight/response/facet_group_component.html.erb +5 -6
  72. data/app/components/blacklight/response/facet_group_component.rb +29 -8
  73. data/app/components/blacklight/response/sort_component.rb +2 -2
  74. data/app/components/blacklight/response/spellcheck_component.rb +18 -7
  75. data/app/components/blacklight/response/view_type_button_component.rb +3 -7
  76. data/app/components/blacklight/response/view_type_component.rb +4 -6
  77. data/app/components/blacklight/search/sidebar_component.html.erb +8 -0
  78. data/app/components/blacklight/search/sidebar_component.rb +17 -0
  79. data/app/components/blacklight/search_bar_component.html.erb +20 -15
  80. data/app/components/blacklight/search_bar_component.rb +2 -16
  81. data/app/components/blacklight/search_button_component.rb +3 -3
  82. data/app/components/blacklight/search_context/server_applied_params_component.html.erb +4 -0
  83. data/app/components/blacklight/search_context/server_applied_params_component.rb +13 -0
  84. data/app/components/blacklight/search_context/server_item_pagination_component.rb +71 -0
  85. data/app/components/blacklight/search_header_component.html.erb +2 -0
  86. data/app/components/blacklight/search_header_component.rb +6 -0
  87. data/app/components/blacklight/search_navbar_component.html.erb +5 -0
  88. data/app/components/blacklight/search_navbar_component.rb +34 -0
  89. data/app/components/blacklight/start_over_button_component.rb +5 -3
  90. data/app/components/blacklight/system/dropdown_component.rb +3 -3
  91. data/app/components/blacklight/system/flash_message_component.html.erb +3 -1
  92. data/app/components/blacklight/system/flash_message_component.rb +12 -3
  93. data/app/components/blacklight/system/modal_component.html.erb +1 -1
  94. data/app/components/blacklight/system/modal_component.rb +1 -3
  95. data/app/components/blacklight/top_navbar_component.html.erb +12 -0
  96. data/app/components/blacklight/top_navbar_component.rb +17 -0
  97. data/app/controllers/bookmarks_controller.rb +1 -0
  98. data/app/controllers/catalog_controller.rb +1 -0
  99. data/app/controllers/concerns/blacklight/bookmarks.rb +11 -6
  100. data/app/controllers/concerns/blacklight/catalog.rb +21 -72
  101. data/app/controllers/concerns/blacklight/controller.rb +6 -43
  102. data/app/controllers/concerns/blacklight/search_context.rb +71 -13
  103. data/app/controllers/concerns/blacklight/search_history.rb +2 -0
  104. data/app/controllers/concerns/blacklight/searchable.rb +12 -1
  105. data/app/controllers/concerns/blacklight/token_based_user.rb +1 -0
  106. data/app/controllers/search_history_controller.rb +1 -0
  107. data/app/helpers/blacklight/blacklight_helper_behavior.rb +1 -400
  108. data/app/helpers/blacklight/catalog_helper_behavior.rb +40 -182
  109. data/app/helpers/blacklight/component_helper_behavior.rb +1 -63
  110. data/app/helpers/blacklight/configuration_helper_behavior.rb +2 -117
  111. data/app/helpers/blacklight/document_helper_behavior.rb +76 -0
  112. data/app/helpers/blacklight/facets_helper_behavior.rb +4 -321
  113. data/app/helpers/blacklight/icon_helper_behavior.rb +5 -4
  114. data/app/helpers/blacklight/layout_helper_behavior.rb +60 -0
  115. data/app/helpers/blacklight/render_partials_helper_behavior.rb +12 -30
  116. data/app/helpers/blacklight/url_helper_behavior.rb +21 -97
  117. data/app/helpers/blacklight_helper.rb +1 -0
  118. data/app/helpers/catalog_helper.rb +1 -0
  119. data/app/javascript/blacklight/bookmark_toggle.js +9 -22
  120. data/app/javascript/blacklight/button_focus.js +9 -7
  121. data/app/javascript/blacklight/checkbox_submit.js +68 -122
  122. data/app/javascript/blacklight/core.js +6 -5
  123. data/app/javascript/blacklight/index.js +14 -0
  124. data/app/javascript/blacklight/modal.js +100 -165
  125. data/app/javascript/blacklight/modalForm.js +60 -0
  126. data/app/javascript/blacklight/search_context.js +13 -29
  127. data/app/models/blacklight/facet_paginator.rb +3 -2
  128. data/app/models/blacklight/icon.rb +4 -2
  129. data/app/models/bookmark.rb +0 -2
  130. data/app/models/concerns/blacklight/configurable.rb +5 -4
  131. data/app/models/concerns/blacklight/document/active_model_shim.rb +1 -0
  132. data/app/models/concerns/blacklight/document/attributes.rb +50 -0
  133. data/app/models/concerns/blacklight/document/cache_key.rb +1 -0
  134. data/app/models/concerns/blacklight/document/dublin_core.rb +2 -1
  135. data/app/models/concerns/blacklight/document/export.rb +2 -1
  136. data/app/models/concerns/blacklight/document/extensions.rb +1 -0
  137. data/app/models/concerns/blacklight/document/schema_org.rb +1 -0
  138. data/app/models/concerns/blacklight/document/semantic_fields.rb +1 -0
  139. data/app/models/concerns/blacklight/document.rb +23 -20
  140. data/app/models/concerns/blacklight/suggest/response.rb +1 -0
  141. data/app/models/concerns/blacklight/user.rb +17 -8
  142. data/app/models/record_mailer.rb +23 -18
  143. data/app/models/search.rb +0 -1
  144. data/app/models/solr_document.rb +1 -0
  145. data/app/presenters/blacklight/clause_presenter.rb +1 -1
  146. data/app/presenters/blacklight/document_presenter.rb +24 -30
  147. data/app/presenters/blacklight/facet_field_presenter.rb +39 -14
  148. data/app/presenters/blacklight/facet_grouped_item_presenter.rb +1 -5
  149. data/app/presenters/blacklight/facet_item_pivot_presenter.rb +60 -0
  150. data/app/presenters/blacklight/facet_item_presenter.rb +3 -9
  151. data/app/presenters/blacklight/field_presenter.rb +1 -0
  152. data/app/presenters/blacklight/index_presenter.rb +2 -40
  153. data/app/presenters/blacklight/json_presenter.rb +7 -5
  154. data/app/presenters/blacklight/rendering/abstract_step.rb +4 -0
  155. data/app/presenters/blacklight/rendering/join.rb +7 -1
  156. data/app/presenters/blacklight/rendering/link_to_facet.rb +3 -6
  157. data/app/presenters/blacklight/rendering/microdata.rb +1 -1
  158. data/app/presenters/blacklight/show_presenter.rb +1 -9
  159. data/app/presenters/blacklight/thumbnail_presenter.rb +1 -1
  160. data/app/services/blacklight/bookmarks_search_builder.rb +22 -0
  161. data/app/services/blacklight/field_retriever.rb +1 -8
  162. data/app/services/blacklight/search_service.rb +9 -7
  163. data/app/values/blacklight/types.rb +95 -11
  164. data/app/views/bookmarks/_clear_bookmarks_widget.html.erb +8 -1
  165. data/app/views/bookmarks/_tools.html.erb +7 -12
  166. data/app/views/catalog/_advanced_search_form.html.erb +0 -1
  167. data/app/views/catalog/_bookmark_control.html.erb +1 -1
  168. data/app/views/catalog/_constraints.html.erb +1 -14
  169. data/app/views/catalog/_document.atom.builder +12 -14
  170. data/app/views/catalog/_document.html.erb +3 -6
  171. data/app/views/catalog/_document.rss.builder +2 -4
  172. data/app/views/catalog/_document_list.html.erb +2 -1
  173. data/app/views/catalog/_facet_layout.html.erb +2 -2
  174. data/app/views/catalog/_facets.html.erb +5 -4
  175. data/app/views/catalog/_home_text.html.erb +2 -14
  176. data/app/views/catalog/_search_form.html.erb +3 -3
  177. data/app/views/catalog/_search_header.html.erb +1 -2
  178. data/app/views/catalog/_search_results.html.erb +2 -2
  179. data/app/views/catalog/_search_sidebar.html.erb +5 -1
  180. data/app/views/catalog/_show_main_content.html.erb +8 -19
  181. data/app/views/catalog/_show_sidebar.html.erb +2 -2
  182. data/app/views/catalog/_show_tools.html.erb +1 -19
  183. data/app/views/catalog/_view_type_group.html.erb +1 -1
  184. data/app/views/catalog/email_success.html.erb +5 -6
  185. data/app/views/catalog/facet.html.erb +7 -5
  186. data/app/views/catalog/index.atom.builder +12 -14
  187. data/app/views/catalog/index.html.erb +7 -1
  188. data/app/views/catalog/index.json.jbuilder +19 -19
  189. data/app/views/catalog/index.rss.builder +1 -1
  190. data/app/views/catalog/opensearch.xml.builder +1 -1
  191. data/app/views/catalog/show.html.erb +1 -6
  192. data/app/views/catalog/sms_success.html.erb +5 -6
  193. data/app/views/catalog/suggest.html.erb +3 -0
  194. data/app/views/layouts/blacklight/base.html.erb +19 -9
  195. data/app/views/record_mailer/email_record.text.erb +4 -3
  196. data/app/views/record_mailer/sms_record.text.erb +4 -4
  197. data/app/views/search_history/index.html.erb +6 -2
  198. data/app/views/shared/_header_navbar.html.erb +1 -22
  199. data/app/views/shared/_modal.html.erb +3 -3
  200. data/blacklight.gemspec +8 -10
  201. data/config/importmap.rb +3 -0
  202. data/config/locales/blacklight.ar.yml +209 -233
  203. data/config/locales/blacklight.ca.yml +0 -7
  204. data/config/locales/blacklight.de.yml +197 -216
  205. data/config/locales/blacklight.en.yml +2 -7
  206. data/config/locales/blacklight.es.yml +196 -216
  207. data/config/locales/blacklight.fr.yml +196 -220
  208. data/config/locales/blacklight.hu.yml +193 -213
  209. data/config/locales/blacklight.it.yml +197 -216
  210. data/config/locales/blacklight.nl.yml +193 -213
  211. data/config/locales/blacklight.pt-BR.yml +195 -216
  212. data/config/locales/blacklight.sq.yml +193 -213
  213. data/config/locales/blacklight.zh.yml +194 -214
  214. data/config/routes.rb +3 -2
  215. data/db/migrate/20140202020201_create_searches.rb +1 -0
  216. data/db/migrate/20140202020202_create_bookmarks.rb +1 -0
  217. data/db/migrate/20140320000000_add_polymorphic_type_to_bookmarks.rb +1 -0
  218. data/docker-compose.yml +1 -0
  219. data/lib/blacklight/abstract_repository.rb +1 -0
  220. data/lib/blacklight/configuration/context.rb +4 -4
  221. data/lib/blacklight/configuration/display_field.rb +7 -9
  222. data/lib/blacklight/configuration/facet_field.rb +17 -11
  223. data/lib/blacklight/configuration/field.rb +1 -0
  224. data/lib/blacklight/configuration/fields.rb +12 -15
  225. data/lib/blacklight/configuration/index_field.rb +1 -0
  226. data/lib/blacklight/configuration/null_display_field.rb +17 -0
  227. data/lib/blacklight/configuration/search_field.rb +1 -0
  228. data/lib/blacklight/configuration/session_tracking_config.rb +45 -0
  229. data/lib/blacklight/configuration/show_field.rb +1 -0
  230. data/lib/blacklight/configuration/sort_field.rb +1 -0
  231. data/lib/blacklight/configuration/tool_config.rb +1 -0
  232. data/lib/blacklight/configuration/view_config.rb +16 -10
  233. data/lib/blacklight/configuration.rb +322 -341
  234. data/lib/blacklight/engine.rb +13 -15
  235. data/lib/blacklight/exceptions.rb +2 -2
  236. data/lib/blacklight/nested_open_struct_with_hash_access.rb +6 -12
  237. data/lib/blacklight/open_struct_with_hash_access.rb +19 -17
  238. data/lib/blacklight/parameters.rb +7 -21
  239. data/lib/blacklight/routes/exportable.rb +1 -0
  240. data/lib/blacklight/routes/searchable.rb +3 -1
  241. data/lib/blacklight/routes.rb +1 -0
  242. data/lib/blacklight/search_builder.rb +10 -10
  243. data/lib/blacklight/search_state/filter_field.rb +8 -25
  244. data/lib/blacklight/search_state/pivot_filter_field.rb +144 -0
  245. data/lib/blacklight/search_state.rb +23 -79
  246. data/lib/blacklight/solr/document.rb +1 -0
  247. data/lib/blacklight/solr/facet_paginator.rb +1 -0
  248. data/lib/blacklight/solr/repository.rb +1 -0
  249. data/lib/blacklight/solr/request.rb +3 -0
  250. data/lib/blacklight/solr/response/facets.rb +21 -5
  251. data/lib/blacklight/solr/response/group.rb +1 -0
  252. data/lib/blacklight/solr/response/group_response.rb +1 -0
  253. data/lib/blacklight/solr/response/more_like_this.rb +1 -0
  254. data/lib/blacklight/solr/response/pagination_methods.rb +4 -3
  255. data/lib/blacklight/solr/response/params.rb +5 -4
  256. data/lib/blacklight/solr/response/response.rb +1 -0
  257. data/lib/blacklight/solr/response/spelling.rb +1 -0
  258. data/lib/blacklight/solr/response.rb +4 -3
  259. data/lib/blacklight/solr/search_builder_behavior.rb +16 -32
  260. data/lib/blacklight/solr.rb +1 -0
  261. data/lib/blacklight/version.rb +1 -0
  262. data/lib/blacklight.rb +8 -11
  263. data/lib/generators/blacklight/assets/importmap_generator.rb +56 -0
  264. data/lib/generators/blacklight/assets/propshaft_generator.rb +34 -0
  265. data/lib/generators/blacklight/assets/sprockets_generator.rb +68 -0
  266. data/lib/generators/blacklight/assets_generator.rb +14 -88
  267. data/lib/generators/blacklight/controller_generator.rb +3 -2
  268. data/lib/generators/blacklight/document_generator.rb +1 -0
  269. data/lib/generators/blacklight/install_generator.rb +7 -4
  270. data/lib/generators/blacklight/models_generator.rb +1 -0
  271. data/lib/generators/blacklight/search_builder_generator.rb +1 -0
  272. data/lib/generators/blacklight/solr_generator.rb +1 -1
  273. data/lib/generators/blacklight/templates/catalog_controller.rb +37 -7
  274. data/lib/generators/blacklight/templates/solr_document.rb +1 -7
  275. data/lib/generators/blacklight/test_support_generator.rb +4 -2
  276. data/lib/generators/blacklight/user_generator.rb +7 -9
  277. data/lib/railties/blacklight.rake +2 -3
  278. data/package.json +10 -10
  279. data/rollup.config.js +37 -0
  280. data/spec/components/blacklight/constraints_component_spec.rb +17 -13
  281. data/spec/components/blacklight/document_component_spec.rb +74 -33
  282. data/spec/components/blacklight/facet_component_spec.rb +2 -7
  283. data/spec/components/blacklight/facet_field_checkboxes_component_spec.rb +1 -2
  284. data/spec/components/blacklight/facet_field_list_component_spec.rb +7 -6
  285. data/spec/components/blacklight/facet_item_pivot_component_spec.rb +9 -7
  286. data/spec/components/blacklight/header_component_spec.rb +20 -0
  287. data/spec/components/blacklight/response/view_type_component_spec.rb +83 -0
  288. data/spec/components/blacklight/search_bar_component_spec.rb +1 -1
  289. data/spec/components/blacklight/search_context/server_applied_params_component_spec.rb +29 -0
  290. data/spec/components/blacklight/search_context/server_item_pagination_component_spec.rb +51 -0
  291. data/spec/controllers/blacklight/catalog/component_configuration_spec.rb +1 -6
  292. data/spec/controllers/blacklight/{base_spec.rb → catalog_spec.rb} +2 -2
  293. data/spec/controllers/bookmarks_controller_spec.rb +2 -3
  294. data/spec/controllers/catalog_controller_spec.rb +24 -126
  295. data/spec/features/autocomplete_spec.rb +1 -1
  296. data/spec/features/axe_spec.rb +1 -1
  297. data/spec/features/bookmarks_spec.rb +1 -1
  298. data/spec/features/component_template_override_spec.rb +8 -0
  299. data/spec/features/facets_spec.rb +1 -1
  300. data/spec/features/modal_spec.rb +12 -0
  301. data/spec/features/search_context_spec.rb +4 -10
  302. data/spec/features/search_results_spec.rb +0 -33
  303. data/spec/features/sitelinks_search_box_spec.rb +13 -0
  304. data/spec/helpers/blacklight/configuration_helper_behavior_spec.rb +2 -138
  305. data/spec/helpers/blacklight/facets_helper_behavior_spec.rb +0 -387
  306. data/spec/helpers/blacklight/icon_helper_behavior_spec.rb +8 -0
  307. data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +5 -7
  308. data/spec/helpers/blacklight/url_helper_behavior_spec.rb +10 -132
  309. data/spec/helpers/blacklight_helper_spec.rb +3 -298
  310. data/spec/helpers/catalog_helper_spec.rb +60 -115
  311. data/spec/i18n_spec.rb +1 -0
  312. data/spec/integration/generators/blacklight/solr_generator_spec.rb +1 -1
  313. data/spec/lib/blacklight/configuration/facet_field_spec.rb +27 -16
  314. data/spec/lib/blacklight/configuration/field_spec.rb +1 -1
  315. data/spec/lib/blacklight/configuration/session_tracking_config_spec.rb +38 -0
  316. data/spec/lib/blacklight/configuration/view_config_spec.rb +1 -1
  317. data/spec/lib/blacklight/open_struct_with_hash_access_spec.rb +4 -4
  318. data/spec/lib/blacklight/parameters_spec.rb +1 -4
  319. data/spec/lib/blacklight/search_state/filter_field_spec.rb +4 -4
  320. data/spec/lib/blacklight/search_state/pivot_filter_field_spec.rb +117 -0
  321. data/spec/lib/blacklight/search_state_spec.rb +80 -198
  322. data/spec/lib/tasks/blacklight_task_spec.rb +1 -0
  323. data/spec/models/blacklight/configuration_spec.rb +41 -53
  324. data/spec/models/blacklight/document/active_model_shim_spec.rb +2 -2
  325. data/spec/models/blacklight/icon_spec.rb +29 -15
  326. data/spec/models/blacklight/search_builder_spec.rb +12 -12
  327. data/spec/models/blacklight/solr/document_spec.rb +3 -3
  328. data/spec/models/blacklight/solr/request_spec.rb +2 -2
  329. data/spec/models/blacklight/solr/response/facets_spec.rb +27 -27
  330. data/spec/models/blacklight/solr/response/group_response_spec.rb +1 -0
  331. data/spec/models/blacklight/solr/response/group_spec.rb +1 -0
  332. data/spec/models/blacklight/solr/response_spec.rb +9 -2
  333. data/spec/models/blacklight/solr/search_builder_spec.rb +32 -23
  334. data/spec/models/blacklight/user_spec.rb +22 -0
  335. data/spec/models/record_mailer_spec.rb +36 -23
  336. data/spec/models/solr_document_spec.rb +21 -3
  337. data/spec/presenters/blacklight/clause_presenter_spec.rb +1 -0
  338. data/spec/presenters/blacklight/document_presenter_spec.rb +3 -2
  339. data/spec/presenters/blacklight/facet_field_presenter_spec.rb +85 -12
  340. data/spec/presenters/blacklight/facet_grouped_item_presenter_spec.rb +1 -0
  341. data/spec/presenters/blacklight/facet_item_presenter_spec.rb +14 -13
  342. data/spec/presenters/blacklight/field_presenter_spec.rb +2 -16
  343. data/spec/presenters/blacklight/index_presenter_spec.rb +3 -4
  344. data/spec/presenters/blacklight/json_presenter_spec.rb +1 -0
  345. data/spec/presenters/blacklight/link_alternate_presenter_spec.rb +3 -2
  346. data/spec/presenters/blacklight/show_presenter_spec.rb +11 -25
  347. data/spec/presenters/pipeline_spec.rb +13 -2
  348. data/spec/presenters/thumbnail_presenter_spec.rb +1 -1
  349. data/spec/requests/load_suggestions_spec.rb +16 -0
  350. data/spec/routing/catalog_routing_spec.rb +6 -1
  351. data/spec/services/blacklight/search_service_spec.rb +31 -68
  352. data/spec/spec_helper.rb +4 -3
  353. data/spec/support/controller_level_helpers.rb +1 -2
  354. data/spec/support/features/search_helpers.rb +39 -0
  355. data/spec/support/features/session_helpers.rb +1 -0
  356. data/spec/support/features.rb +3 -0
  357. data/spec/support/view_component_test_helpers.rb +21 -0
  358. data/spec/test_app_templates/Gemfile.extra +4 -0
  359. data/spec/test_app_templates/lib/generators/test_app_generator.rb +17 -2
  360. data/spec/views/catalog/_document.html.erb_spec.rb +23 -33
  361. data/spec/views/catalog/_document_list.html.erb_spec.rb +7 -2
  362. data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +1 -1
  363. data/spec/views/catalog/_search_header.erb_spec.rb +1 -0
  364. data/spec/views/catalog/_show_sidebar.erb_spec.rb +1 -0
  365. data/spec/views/catalog/_show_tools.html.erb_spec.rb +7 -54
  366. data/spec/views/catalog/_view_type_group.html.erb_spec.rb +17 -9
  367. data/spec/views/catalog/email_success.html.erb_spec.rb +2 -2
  368. data/spec/views/catalog/facet.html.erb_spec.rb +6 -3
  369. data/spec/views/catalog/index.atom.builder_spec.rb +18 -11
  370. data/spec/views/catalog/index.html.erb_spec.rb +5 -6
  371. data/spec/views/catalog/index.json.jbuilder_spec.rb +3 -3
  372. data/spec/views/catalog/show.html.erb_spec.rb +3 -25
  373. data/spec/views/catalog/sms_success.html.erb_spec.rb +2 -2
  374. data/tasks/blacklight.rake +7 -5
  375. metadata +95 -123
  376. data/.babelrc +0 -11
  377. data/app/assets/images/blacklight/list.svg +0 -1
  378. data/app/assets/images/blacklight/search.svg +0 -1
  379. data/app/assets/stylesheets/blacklight/_twitter_typeahead.scss +0 -37
  380. data/app/components/blacklight/content_areas_shim.rb +0 -13
  381. data/app/components/blacklight/search_context_component.rb +0 -34
  382. data/app/controllers/concerns/blacklight/base.rb +0 -7
  383. data/app/controllers/concerns/blacklight/default_component_configuration.rb +0 -64
  384. data/app/controllers/concerns/blacklight/facet.rb +0 -69
  385. data/app/controllers/concerns/blacklight/search_fields.rb +0 -46
  386. data/app/helpers/blacklight/hash_as_hidden_fields_helper_behavior.rb +0 -27
  387. data/app/helpers/blacklight/render_constraints_helper_behavior.rb +0 -188
  388. data/app/helpers/blacklight/search_history_constraints_helper_behavior.rb +0 -97
  389. data/app/helpers/blacklight/suggest_helper_behavior.rb +0 -13
  390. data/app/javascript/blacklight/autocomplete.js +0 -36
  391. data/app/javascript/blacklight/facet_load.js +0 -22
  392. data/app/models/concerns/blacklight/document/email.rb +0 -26
  393. data/app/models/concerns/blacklight/document/sms.rb +0 -24
  394. data/app/presenters/blacklight/search_bar_presenter.rb +0 -47
  395. data/app/views/catalog/_constraints_element.html.erb +0 -14
  396. data/app/views/catalog/_document_action.html.erb +0 -5
  397. data/app/views/catalog/_facet_group.html.erb +0 -5
  398. data/app/views/catalog/_facet_limit.html.erb +0 -3
  399. data/app/views/catalog/_index.html.erb +0 -1
  400. data/app/views/catalog/_index_header.html.erb +0 -22
  401. data/app/views/catalog/_previous_next_doc.html.erb +0 -2
  402. data/app/views/catalog/_show.html.erb +0 -6
  403. data/app/views/catalog/_show_header.html.erb +0 -2
  404. data/app/views/catalog/_thumbnail.html.erb +0 -1
  405. data/lib/blacklight/deprecations/engine_configuration.rb +0 -66
  406. data/lib/blacklight/deprecations/search_state_normalization.rb +0 -52
  407. data/spec/controllers/blacklight/facet_spec.rb +0 -33
  408. data/spec/controllers/blacklight/search_fields_spec.rb +0 -62
  409. data/spec/features/sitelinks_search_box.rb +0 -13
  410. data/spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb +0 -26
  411. data/spec/helpers/blacklight/render_constraints_helper_behavior_spec.rb +0 -92
  412. data/spec/helpers/blacklight/search_history_constraints_helper_behavior_spec.rb +0 -108
  413. data/spec/helpers/blacklight/suggest_helper_behavior_spec.rb +0 -48
  414. data/spec/lib/blacklight/engine_spec.rb +0 -41
  415. data/spec/models/blacklight/document/email_spec.rb +0 -57
  416. data/spec/models/blacklight/document/sms_spec.rb +0 -58
  417. data/spec/presenters/blacklight/search_bar_presenter_spec.rb +0 -94
  418. data/spec/support/view_component_capybara_test_helpers.rb +0 -8
  419. data/spec/views/catalog/_constraints.html.erb_spec.rb +0 -33
  420. data/spec/views/catalog/_facet_group.html.erb_spec.rb +0 -84
  421. data/spec/views/catalog/_facets.html.erb_spec.rb +0 -15
  422. data/spec/views/catalog/_index.html.erb_spec.rb +0 -62
  423. data/spec/views/catalog/_index_header.html.erb_spec.rb +0 -35
  424. data/spec/views/catalog/_previous_next_doc.html.erb_spec.rb +0 -22
  425. data/spec/views/catalog/_show.html.erb_spec.rb +0 -62
  426. data/spec/views/catalog/_thumbnail.html.erb_spec.rb +0 -38
  427. /data/app/components/blacklight/{search_context_component.html.erb → search_context/server_item_pagination_component.html.erb} +0 -0
@@ -1,243 +1,223 @@
1
+ ---
1
2
  es:
2
- views:
3
- pagination:
4
- first: '« Primero'
5
- last: 'Ultimo »'
6
- previous: '« Anterior'
7
- next: 'Siguiente »'
8
- truncate: '…'
9
- aria:
10
- container_label: enlaces de paginación
11
- current_page: Página actual, página %{page}
12
- go_to_first_page: Ir a la primera pagina
13
- go_to_last_page: Ir a la última página
14
- go_to_next_page: Ir a la página siguiente
15
- go_to_page: Ir a la página %{page}
16
- go_to_previous_page: Regresar a la pagina anterior
17
-
18
- pagination_compact:
19
- previous: '« Anterior'
20
- next: 'Siguiente »'
21
-
22
3
  blacklight:
23
- application_name: 'Blacklight'
24
- skip_links:
25
- label: 'Saltar enlaces'
26
- main_content: 'Saltar al contenido principal'
27
- search_field: 'Salta a la búsqueda'
28
- first_result: 'Salta al primer resultado de búsqueda'
29
- header_links:
30
- login: 'Entrar'
31
- logout: 'Salir'
32
- bookmarks: 'Favoritos'
33
- search_history: 'Historia'
34
-
35
- welcome: '¡Bienvenido!'
36
- and: 'y'
37
- or: 'o'
38
-
39
- modal:
40
- close: cerca
41
-
4
+ and: "y"
5
+ application_name: Blacklight
6
+ back_to_bookmarks: Volver a sus favoritos
7
+ back_to_search: Volver a Buscar
42
8
  bookmarks:
43
- title: 'Favoritos'
44
- page_title: 'Favoritos - %{application_name}'
45
- no_bookmarks: 'Usted no tiene favoritos'
46
9
  add:
47
- button: 'Favoritos'
10
+ button: Favoritos
11
+ failure: Lo siento, hubo un problema al guardar los favoritos.
48
12
  success:
49
- one: 'Éxito al añadir su favorito.'
50
- other: 'Éxito añadido favorito.'
51
- failure: 'Lo siento, hubo un problema al guardar los favoritos.'
52
- remove:
53
- button: 'Borrar favorito'
54
- success: 'Borrado favorito.'
55
- failure: 'Lo siento, hubo un problema al borrar los favoritos.'
56
- action_confirm: '¿Quitar este favorito?'
57
- clear:
58
- action_title: 'Borrar favorito'
59
- action_confirm: '¿Borrar sus favoritos?'
60
- success: 'Se borraron sus favoritos.'
61
- failure: 'Lo siento, hubo un problema al borrar sus favoritos.'
62
- need_login: 'Por favor, inicie sesión para administrar y ver sus favoritos.'
63
- list_title: 'Mis Favoritos'
64
- delete: 'Borrar'
65
-
66
- search_history:
13
+ one: Éxito al añadir su favorito.
14
+ other: Éxito añadido favorito.
67
15
  clear:
68
- action_title: 'Borrar historial de búsqueda'
69
- action_confirm: '¿Borrar el historial de búsqueda?'
70
- success: 'Se borro el historial de búsqueda.'
71
- failure: 'Hubo un problema al borrar su historial de búsqueda.'
72
- title: 'Historia'
73
- page_title: 'Historia - %{application_name}'
74
- no_history: 'Usted no tiene historial de búsqueda'
75
- recent: 'Sus búsquedas recientes'
76
- forget: 'Olvidar'
77
- save: 'Guardar'
78
-
79
- tools:
80
- title: 'Herramientas'
81
- citation: 'Cité'
82
- email: 'Correo electrónico'
83
- sms: 'Enviar SMS'
84
- clear: 'Borrar'
85
-
16
+ action_confirm: "¿Borrar sus favoritos?"
17
+ action_title: Borrar favorito
18
+ failure: Lo siento, hubo un problema al borrar sus favoritos.
19
+ success: Se borraron sus favoritos.
20
+ delete: Borrar
21
+ list_title: Mis Favoritos
22
+ need_login: Por favor, inicie sesión para administrar y ver sus favoritos.
23
+ no_bookmarks: Usted no tiene favoritos
24
+ page_title: Favoritos - %{application_name}
25
+ remove:
26
+ action_confirm: "¿Quitar este favorito?"
27
+ button: Borrar favorito
28
+ failure: Lo siento, hubo un problema al borrar los favoritos.
29
+ success: Borrado favorito.
30
+ title: Favoritos
86
31
  citation:
87
- mla: 'MLA'
88
- apa: 'APA'
89
- chicago: 'Chicago'
90
-
32
+ apa: APA
33
+ chicago: Chicago
34
+ mla: MLA
35
+ did_you_mean: "¿Quiere decir %{options}?"
91
36
  email:
37
+ errors:
38
+ to:
39
+ blank: Debe introducir un destinatario para enviar este mensaje
40
+ invalid: Debe entrar un email válido
92
41
  form:
93
- title: 'Enviar'
94
- to: 'Email:'
95
42
  message: 'Mensaje:'
96
- submit: 'Enviar'
43
+ submit: Enviar
44
+ title: Enviar
45
+ to: 'Email:'
46
+ success: Email enviado
97
47
  text:
98
- default_title: 'N/A'
99
- title: 'Titulo: %{value}'
100
- author: 'Autor: %{value}'
101
- format: 'Formato: %{value}'
102
- language: 'Idioma: %{value}'
48
+ default_title: N/A
49
+ message: 'Mensaje: %{message}'
103
50
  subject:
104
51
  one: 'Ficha artículo: %{title}'
105
- other: 'Ficha artículos'
52
+ other: Ficha artículos
106
53
  url: 'URL: %{url}'
107
- message: 'Mensaje: %{message}'
108
-
109
- success: "Email enviado"
110
-
111
- errors:
112
- to:
113
- invalid: 'Debe entrar un email válido'
114
- blank: 'Debe introducir un destinatario para enviar este mensaje'
115
- sms:
116
- form:
117
- title: 'Enviar SMS'
118
- to: 'Número de teléfono:'
119
- carrier: 'Compañía telefónica'
120
- carrier_prompt: 'Por favor, seleccione su compañía telefónica'
121
- submit: 'Enviar'
122
- text:
123
- title: '%{value}'
124
- author: 'por %{value}'
125
- url: 'Link: %{url}'
126
- success: "SMS enviado"
127
- errors:
128
- to:
129
- invalid: 'Debe entrar un número de teléfono válido de 10 dígitos'
130
- blank: "Debe introducir el número de teléfono del destinatario para enviar este mensaj"
131
- carrier:
132
- blank: 'Debe seleccionar compañía telefónica'
133
- invalid: "Debe entrar una compañía telefónica válida"
134
-
135
- back_to_search: 'Volver a Buscar'
136
- back_to_bookmarks: 'Volver a sus favoritos'
137
-
54
+ entry_name:
55
+ default:
56
+ one: entrada
57
+ other: entradas
58
+ grouped:
59
+ default: resultado agrupado
60
+ header_links:
61
+ bookmarks: Favoritos
62
+ login: Entrar
63
+ logout: Salir
64
+ search_history: Historia
65
+ main:
66
+ aria:
67
+ main_container: Contenido principal
68
+ modal:
69
+ close: cerca
70
+ or: o
138
71
  search:
139
- page_title:
140
- title: '%{constraints} - %{application_name} Resultados de la búsqueda'
141
- constraint: '%{label}: %{value}'
142
- many_constraint_values: '%{values} seleccionado'
143
- header: 'Buscar'
144
- search_constraints_header: 'Buscar'
145
- search_results: 'Resultados de la búsqueda'
146
- errors:
147
- request_error: "Lo siento, no entiendo esta búsqueda"
148
- invalid_solr_id: "Lo sentimos, usted ha solicitado un registro que no existe."
149
- per_page:
150
- label: '%{count}<span class="sr-only visually-hidden"> por página</span>'
151
- button_label: '%{count} por página' # TODO: Remove during major release
152
- button_label_html: '%{count}<span class="d-none d-sm-inline"> por página</span>'
153
- title: 'El número de resultados a mostrar por página'
154
- submit: 'Actualización'
155
- aria_label: 'Navegación de resultados'
156
- sort:
157
- label: 'Ordenar por %{field}' # TODO: Remove during major release
158
- label_html: 'Ordenar<span class="d-none d-sm-inline"> por %{field}</span>'
159
- submit: 'Resultados de ordenación'
160
- form:
161
- search_field:
162
- label: 'Buscar en'
163
- title: 'Opciones de Búsqueda temática'
164
- post_label: 'para'
165
- search:
166
- label: 'buscar'
167
- placeholder: 'Buscar...'
168
- submit: 'Buscar'
169
- pagination:
170
- title: 'Resultados de navegación'
171
- pagination_info:
172
- no_items_found: 'No %{entry_name} encontrada'
173
- single_item_found: '<strong>1</strong> %{entry_name} encontrada'
174
- pages:
175
- one: '<strong>%{start_num}</strong> - <strong>%{end_num}</strong> de <strong>%{total_num}</strong>'
176
- other: '<strong>%{start_num}</strong> - <strong>%{end_num}</strong> de <strong>%{total_num}</strong>'
177
- entry_pagination_info:
178
- one: '<strong>1 de 1</strong>'
179
- other: '<strong>%{current}</strong> de <strong>%{total}</strong>'
72
+ atom_feed: Atom de los resultados
73
+ bookmarks:
74
+ absent: Favoritos
75
+ inprogress: Guardando...
76
+ present: En Favoritos
180
77
  documents:
181
78
  aria:
182
- search_results: 'Resultados de la búsqueda'
183
- limit_search: 'Limite su búsqueda'
184
- counter: '%{counter}.'
79
+ limit_search: Limite su búsqueda
80
+ search_results: Resultados de la búsqueda
81
+ counter: "%{counter}."
82
+ entry_pagination_info:
83
+ one: "<strong>1 de 1</strong>"
84
+ other: "<strong>%{current}</strong> de <strong>%{total}</strong>"
85
+ errors:
86
+ invalid_solr_id: Lo sentimos, usted ha solicitado un registro que no existe.
185
87
  facets:
186
- title: 'Limite su búsqueda'
187
- clear: 'Borrar'
188
- all: 'Todos'
189
- sort:
190
- count: 'Ordenación numérica'
191
- index: 'Ordenación A-Z'
192
- count: '%{number}'
193
- more_html: 'más <span class="sr-only visually-hidden">%{field_name}</span> »'
194
- selected:
195
- remove: '[borrar]'
196
- missing: '[Falta]'
88
+ all: Todos
89
+ clear: Borrar
90
+ count: "%{number}"
91
+ group:
92
+ close: Ocultar facetas
93
+ open: Mostrar facetas
94
+ toggle: más »
95
+ missing: "[Falta]"
96
+ more_html: más <span class="sr-only visually-hidden">%{field_name}</span> »
197
97
  pivot:
198
- show: Abierto
199
98
  hide: Cerrar
200
- group:
201
- toggle: 'más »'
202
- group:
203
- more: 'más »'
99
+ show: Abierto
100
+ selected:
101
+ remove: "[borrar]"
102
+ sort:
103
+ count: Ordenación numérica
104
+ index: Ordenación A-Z
105
+ title: Limite su búsqueda
204
106
  filters:
205
- title: 'Usted ha buscado:'
206
- label: '%{label}:'
107
+ label: "%{label}:"
207
108
  remove:
208
- value: 'Eliminar la restricción %{value}'
209
109
  label_value: 'Eliminar la restricción%{label}: %{value}'
210
- start_over: 'Volver a empezar'
110
+ value: Eliminar la restricción %{value}
111
+ title: 'Usted ha buscado:'
112
+ form:
113
+ search:
114
+ label: buscar
115
+ placeholder: Buscar...
116
+ search_field:
117
+ label: Buscar en
118
+ post_label: para
119
+ title: Opciones de Búsqueda temática
120
+ submit: Buscar
121
+ group:
122
+ more: más »
123
+ header: Buscar
211
124
  index:
212
- label: '%{label}:'
125
+ label: "%{label}:"
126
+ page_title:
127
+ constraint: "%{label}: %{value}"
128
+ many_constraint_values: "%{values} seleccionado"
129
+ title: "%{constraints} - %{application_name} Resultados de la búsqueda"
130
+ pagination:
131
+ title: Resultados de navegación
132
+ pagination_info:
133
+ no_items_found: No %{entry_name} encontrada
134
+ pages:
135
+ one: "<strong>%{start_num}</strong> - <strong>%{end_num}</strong> de <strong>%{total_num}</strong>"
136
+ other: "<strong>%{start_num}</strong> - <strong>%{end_num}</strong> de <strong>%{total_num}</strong>"
137
+ single_item_found: "<strong>1</strong> %{entry_name} encontrada"
138
+ per_page:
139
+ aria_label: Navegación de resultados
140
+ button_label: "%{count} por página"
141
+ button_label_html: '%{count}<span class="d-none d-sm-inline"> por página</span>'
142
+ label: '%{count}<span class="sr-only visually-hidden"> por página</span>'
143
+ submit: Actualización
144
+ title: El número de resultados a mostrar por página
145
+ rss_feed: RSS de los resultados
146
+ search_constraints_header: Buscar
147
+ search_results: Resultados de la búsqueda
213
148
  show:
214
- title: '%{document_title} - %{application_name}'
215
- label: '%{label}:'
216
- rss_feed: 'RSS de los resultados'
217
- atom_feed: 'Atom de los resultados'
218
- bookmarks:
219
- present: "En Favoritos"
220
- absent: "Favoritos"
221
- inprogress: "Guardando..."
222
- zero_results:
223
- title: "No se han encontrado resultados para su búsqueda"
224
- modify_search: "Intente modificar su búsqueda"
225
- use_fewer_keywords: "Use menos palabras para empezar, y luego refinar la búsqueda utilizando los enlaces de la izquierda."
226
- search_fields: "Usted busco por %{search_fields}"
227
- search_everything: "Pruebe a buscar de todo"
228
- view_title: "Ver Resultados por: "
149
+ label: "%{label}:"
150
+ title: "%{document_title} - %{application_name}"
151
+ sort:
152
+ label: Ordenar por %{field}
153
+ label_html: Ordenar<span class="d-none d-sm-inline"> por %{field}</span>
154
+ submit: Resultados de ordenación
155
+ start_over: Volver a empezar
229
156
  view:
230
- list: "Lista"
231
-
232
- entry_name:
233
- default:
234
- one: 'entrada'
235
- other: 'entradas'
236
- grouped:
237
- default: 'resultado agrupado'
238
-
239
- did_you_mean: '¿Quiere decir %{options}?'
240
-
241
- main:
157
+ list: Lista
158
+ view_title: 'Ver Resultados por: '
159
+ zero_results:
160
+ modify_search: Intente modificar su búsqueda
161
+ search_everything: Pruebe a buscar de todo
162
+ search_fields: Usted busco por %{search_fields}
163
+ title: No se han encontrado resultados para su búsqueda
164
+ use_fewer_keywords: Use menos palabras para empezar, y luego refinar la búsqueda utilizando los enlaces de la izquierda.
165
+ search_history:
166
+ clear:
167
+ action_confirm: "¿Borrar el historial de búsqueda?"
168
+ action_title: Borrar historial de búsqueda
169
+ failure: Hubo un problema al borrar su historial de búsqueda.
170
+ success: Se borro el historial de búsqueda.
171
+ forget: Olvidar
172
+ no_history: Usted no tiene historial de búsqueda
173
+ page_title: Historia - %{application_name}
174
+ recent: Sus búsquedas recientes
175
+ save: Guardar
176
+ title: Historia
177
+ skip_links:
178
+ first_result: Salta al primer resultado de búsqueda
179
+ label: Saltar enlaces
180
+ main_content: Saltar al contenido principal
181
+ search_field: Salta a la búsqueda
182
+ sms:
183
+ errors:
184
+ carrier:
185
+ blank: Debe seleccionar compañía telefónica
186
+ invalid: Debe entrar una compañía telefónica válida
187
+ to:
188
+ blank: Debe introducir el número de teléfono del destinatario para enviar este mensaj
189
+ invalid: Debe entrar un número de teléfono válido de 10 dígitos
190
+ form:
191
+ carrier: Compañía telefónica
192
+ carrier_prompt: Por favor, seleccione su compañía telefónica
193
+ submit: Enviar
194
+ title: Enviar SMS
195
+ to: 'Número de teléfono:'
196
+ success: SMS enviado
197
+ text:
198
+ url: 'Link: %{url}'
199
+ tools:
200
+ citation: Cité
201
+ clear: Borrar
202
+ email: Correo electrónico
203
+ sms: Enviar SMS
204
+ title: Herramientas
205
+ welcome: "¡Bienvenido!"
206
+ views:
207
+ pagination:
242
208
  aria:
243
- main_container: 'Contenido principal'
209
+ container_label: enlaces de paginación
210
+ current_page: Página actual, página %{page}
211
+ go_to_first_page: Ir a la primera pagina
212
+ go_to_last_page: Ir a la última página
213
+ go_to_next_page: Ir a la página siguiente
214
+ go_to_page: Ir a la página %{page}
215
+ go_to_previous_page: Regresar a la pagina anterior
216
+ first: "&laquo; Primero"
217
+ last: Ultimo &raquo;
218
+ next: Siguiente &raquo;
219
+ previous: "&laquo; Anterior"
220
+ truncate: "…"
221
+ pagination_compact:
222
+ next: Siguiente &raquo;
223
+ previous: "&laquo; Anterior"