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,222 @@
1
+ ---
1
2
  pt-BR:
2
- views:
3
- pagination:
4
- first: '« primeiro'
5
- last: 'último »'
6
- previous: '« anterior'
7
- next: 'próximo »'
8
- truncate: '…'
9
- aria:
10
- container_label: links de paginação
11
- current_page: Página atual, Página %{page}
12
- go_to_first_page: Ir para a primeira página
13
- go_to_last_page: Ir para a última página
14
- go_to_next_page: Ir para a próxima página
15
- go_to_page: Ir para a página %{page}
16
- go_to_previous_page: Ir para a página anterior
17
-
18
-
19
- pagination_compact:
20
- previous: '« ant'
21
- next: 'próx »'
22
-
23
3
  blacklight:
24
- application_name: 'Blacklight'
25
- skip_links:
26
- label: 'pular links'
27
- main_content: 'Ir para o conteúdo principal'
28
- search_field: 'Ir para a pesquisa'
29
- first_result: 'Ir para o primeiro resultado da pesquisa'
30
- header_links:
31
- login: 'Acessar'
32
- logout: 'Sair'
33
- bookmarks: 'Favoritos'
34
- search_history: 'Histórico'
35
-
36
- welcome: 'Bem-Vindo!'
37
- and: 'e'
38
- or: 'ou'
39
-
40
- modal:
41
- close: Fechar
42
-
4
+ and: e
5
+ application_name: Blacklight
6
+ back_to_bookmarks: Voltar aos Favoritos
7
+ back_to_search: Voltar a busca
43
8
  bookmarks:
44
- title: 'Favoritos'
45
- page_title: 'Favoritos - %{application_name}'
46
- no_bookmarks: 'Você não salvou nenhum Favorito'
47
9
  add:
48
- button: 'Favorito'
10
+ button: Favorito
11
+ failure: Xiii, ocorreu um erro ao salvar o favorito.
49
12
  success:
50
- one: 'Favorito Adicionado.'
51
- other: 'Favoritos Adicionados.'
52
- failure: 'Xiii, ocorreu um erro ao salvar o favorito.'
53
- remove:
54
- button: 'Remover favorito'
55
- success: 'Favorito removido.'
56
- failure: 'Xiii, ocorreu um erro a remover o favorito.'
57
- action_confirm: 'Remover este favorito?'
58
- clear:
59
- action_title: 'Limpar favoritos'
60
- action_confirm: 'Deseja limpar seus favoritos?'
61
- success: 'Seus favoritos está limpo.'
62
- failure: 'Xiii, ocorreu um erro ao limpar seus favoritos.'
63
- need_login: 'Faça o login para ver ou modificar seus favoritos.'
64
- list_title: 'Seus Favoritos'
65
- delete: 'Excluir'
66
-
67
- search_history:
13
+ one: Favorito Adicionado.
14
+ other: Favoritos Adicionados.
68
15
  clear:
69
- action_title: 'Limpar Histórico de Busca'
70
- action_confirm: 'Deseja limpar o histórico de Busca?'
71
- success: 'Histórico de Busca removido.'
72
- failure: 'Xiii, ocorreu um erro ao remover o histórico de busca.'
73
- title: 'Histórico de Busca'
74
- page_title: 'Histórico de Busca - %{application_name}'
75
- no_history: 'Não existe nada em seu histórico'
76
- recent: 'Buscas Recentes'
77
- forget: 'limpar'
78
- save: 'salvar'
79
-
80
- tools:
81
- title: 'Ferramentas'
82
- citation: 'Citar'
83
- email: 'Email'
84
- sms: 'SMS'
85
- clear: 'Limpar'
86
-
16
+ action_confirm: Deseja limpar seus favoritos?
17
+ action_title: Limpar favoritos
18
+ failure: Xiii, ocorreu um erro ao limpar seus favoritos.
19
+ success: Seus favoritos está limpo.
20
+ delete: Excluir
21
+ list_title: Seus Favoritos
22
+ need_login: Faça o login para ver ou modificar seus favoritos.
23
+ no_bookmarks: Você não salvou nenhum Favorito
24
+ page_title: Favoritos - %{application_name}
25
+ remove:
26
+ action_confirm: Remover este favorito?
27
+ button: Remover favorito
28
+ failure: Xiii, ocorreu um erro a remover o favorito.
29
+ success: Favorito removido.
30
+ title: Favoritos
87
31
  citation:
88
- mla: 'MLA'
89
- apa: 'APA'
90
- chicago: 'Chicago'
91
-
32
+ apa: APA
33
+ chicago: Chicago
34
+ mla: MLA
35
+ did_you_mean: 'Você quis dizer: %{options}?'
92
36
  email:
37
+ errors:
38
+ to:
39
+ blank: Você precisa especificar um destinaário para enviar esta mensagem
40
+ invalid: Verifique seu endereço de email
93
41
  form:
94
- title: 'Enviar por Email'
95
- to: 'Email:'
96
42
  message: 'Mensagem:'
97
- submit: 'Enviar'
43
+ submit: Enviar
44
+ title: Enviar por Email
45
+ to: 'Email:'
46
+ success: Email Enviado
98
47
  text:
99
- default_title: 'N/A'
100
- title: 'Título: %{value}'
101
- author: 'Autor: %{value}'
102
- format: 'Formato: %{value}'
103
- language: 'Idioma: %{value}'
48
+ default_title: N/A
49
+ message: 'Mensagem: %{message}'
104
50
  subject:
105
51
  one: 'Item: %{title}'
106
- other: 'Itens'
52
+ other: Itens
107
53
  url: 'URL: %{url}'
108
- message: 'Mensagem: %{message}'
109
-
110
- success: "Email Enviado"
111
-
112
- errors:
113
- to:
114
- invalid: 'Verifique seu endereço de email'
115
- blank: 'Você precisa especificar um destinaário para enviar esta mensagem'
116
- sms:
117
- form:
118
- title: 'Enviar por SMS'
119
- to: 'Celular:'
120
- carrier: 'Operadora'
121
- carrier_prompt: 'Selecione a Operadora'
122
- submit: 'Enviar'
123
- text:
124
- title: '%{value}'
125
- author: ' por %{value}'
126
- url: 'Link: %{url}'
127
- success: 'SMS Enviado'
128
- errors:
129
- to:
130
- invalid: 'Você precisa digitar um número de telefone válido'
131
- blank: "Você precisa digitar o número de telefone do destinatário para enviar uma mensagem"
132
- carrier:
133
- blank: 'Você precisa selecionar a operadora'
134
- invalid: 'Você precisa usar uma operadora válida'
135
-
136
- back_to_search: 'Voltar a busca'
137
- back_to_bookmarks: 'Voltar aos Favoritos'
138
-
54
+ entry_name:
55
+ default: registro
56
+ grouped:
57
+ default: resultado agrupado
58
+ header_links:
59
+ bookmarks: Favoritos
60
+ login: Acessar
61
+ logout: Sair
62
+ search_history: Histórico
63
+ main:
64
+ aria:
65
+ main_container: Conteúdo principal
66
+ modal:
67
+ close: Fechar
68
+ or: ou
139
69
  search:
140
- page_title:
141
- title: '%{constraints} - %{application_name} Resultado da Busca'
142
- constraint: '%{label}: %{value}'
143
- many_constraint_values: '%{values} selecionado'
144
- header: 'Busca'
145
- search_constraints_header: 'Busca'
146
- search_results: 'Resultados da Busca'
147
- errors:
148
- request_error: "Desculpe, Eu não compreendi sua busca."
149
- invalid_solr_id: "Desculpe, você solicitou um cadastro que não existe."
150
- per_page:
151
- label: '%{count}<span class="hide-text"> por página</span>'
152
- button_label: '%{count} por página' # TODO: Remove during major release
153
- button_label_html: '%{count}<span class="d-none d-sm-inline"> por página</span>'
154
- title: 'Número de resultados para mostrar por página'
155
- submit: 'Atualizar'
156
- aria_label: 'Navegação de resultados'
157
- sort:
158
- label: 'Ordenar por %{field}' # TODO: Remove during major release
159
- label_html: 'Ordenar<span class="d-none d-sm-inline"> por %{field}</span>'
160
- submit: 'ordenar resultados'
161
- form:
162
- search_field:
163
- label: 'Procurar em'
164
- title: 'Opções da Busca'
165
- post_label: 'por'
166
- search:
167
- label: 'busca'
168
- placeholder: 'Busca...'
169
- submit: 'Buscar'
170
- pagination:
171
- title: 'Navegação nos Resultados'
172
- pagination_info:
173
- no_items_found: 'Nenhum resultado encontrado para %{entry_name}'
174
- single_item_found: '<strong>1</strong> para <strong>1</strong> de <strong>1</strong>'
175
- pages:
176
- one: '<strong>%{start_num}</strong> - <strong>%{end_num}</strong> de <strong>%{total_num}</strong>'
177
- other: '<strong>%{start_num}</strong> - <strong>%{end_num}</strong> de <strong>%{total_num}</strong>'
178
- entry_pagination_info:
179
- one: '<strong>1 de 1</strong>'
180
- other: '<strong>%{current}</strong> de <strong>%{total}</strong>'
70
+ atom_feed: Atom para resultados
71
+ bookmarks:
72
+ absent: Favorite
73
+ inprogress: Salvando...
74
+ present: Nos Favoritos
181
75
  documents:
182
76
  aria:
183
- search_results: 'Resultados da Busca'
184
- limit_search: 'Filtre sua busca'
185
- counter: '%{counter}. '
77
+ limit_search: Filtre sua busca
78
+ search_results: Resultados da Busca
79
+ counter: "%{counter}. "
80
+ entry_pagination_info:
81
+ one: "<strong>1 de 1</strong>"
82
+ other: "<strong>%{current}</strong> de <strong>%{total}</strong>"
83
+ errors:
84
+ invalid_solr_id: Desculpe, você solicitou um cadastro que não existe.
186
85
  facets:
187
- title: 'Filtre sua busca'
188
- clear: 'Limpar'
189
- all: 'Todo'
190
- sort:
191
- count: 'Ordenar por Número'
192
- index: 'Ordem Alfabética A-Z'
193
- count: '%{number}'
194
- more_html: 'mais <span class="sr-only visually-hidden">%{field_name}</span> »'
195
- selected:
196
- remove: '[remover]'
197
- missing: [Ausência]
86
+ all: Todo
87
+ clear: Limpar
88
+ count: "%{number}"
89
+ group:
90
+ close: Ocultar facetas
91
+ open: Mostrar facetas
92
+ toggle: mais »
93
+ missing:
94
+ - Ausência
95
+ more_html: mais <span class="sr-only visually-hidden">%{field_name}</span> »
198
96
  pivot:
199
- show: Abrir
200
97
  hide: Fechar
201
- group:
202
- toggle: 'mais »'
203
- group:
204
- more: 'mais »'
98
+ show: Abrir
99
+ selected:
100
+ remove: "[remover]"
101
+ sort:
102
+ count: Ordenar por Número
103
+ index: Ordem Alfabética A-Z
104
+ title: Filtre sua busca
205
105
  filters:
206
- title: 'Sua busca por:'
207
- label: '%{label}:'
106
+ label: "%{label}:"
208
107
  remove:
209
- value: 'Remover filtro %{value}'
210
108
  label_value: 'Remover %{label}: %{value}'
211
- start_over: 'refazer busca'
109
+ value: Remover filtro %{value}
110
+ title: 'Sua busca por:'
111
+ form:
112
+ search:
113
+ label: busca
114
+ placeholder: Busca...
115
+ search_field:
116
+ label: Procurar em
117
+ post_label: por
118
+ title: Opções da Busca
119
+ submit: Buscar
120
+ group:
121
+ more: mais »
122
+ header: Busca
212
123
  index:
213
- label: '%{label}:'
124
+ label: "%{label}:"
125
+ page_title:
126
+ constraint: "%{label}: %{value}"
127
+ many_constraint_values: "%{values} selecionado"
128
+ title: "%{constraints} - %{application_name} Resultado da Busca"
129
+ pagination:
130
+ title: Navegação nos Resultados
131
+ pagination_info:
132
+ no_items_found: Nenhum resultado encontrado para %{entry_name}
133
+ pages:
134
+ one: "<strong>%{start_num}</strong> - <strong>%{end_num}</strong> de <strong>%{total_num}</strong>"
135
+ other: "<strong>%{start_num}</strong> - <strong>%{end_num}</strong> de <strong>%{total_num}</strong>"
136
+ single_item_found: "<strong>1</strong> para <strong>1</strong> de <strong>1</strong>"
137
+ per_page:
138
+ aria_label: Navegação de resultados
139
+ button_label: "%{count} por página"
140
+ button_label_html: '%{count}<span class="d-none d-sm-inline"> por página</span>'
141
+ label: '%{count}<span class="hide-text"> por página</span>'
142
+ submit: Atualizar
143
+ title: Número de resultados para mostrar por página
144
+ rss_feed: RSS para resultadoss
145
+ search_constraints_header: Busca
146
+ search_results: Resultados da Busca
214
147
  show:
215
- title: '%{document_title} - %{application_name}'
216
- label: '%{label}:'
217
- rss_feed: 'RSS para resultadoss'
218
- atom_feed: 'Atom para resultados'
219
- bookmarks:
220
- present: 'Nos Favoritos'
221
- absent: 'Favorite'
222
- inprogress: 'Salvando...'
223
- zero_results:
224
- title: 'Não foram encontratos resultados para a sua busca'
225
- modify_search: 'Tente modificar sua busca'
226
- use_fewer_keywords: 'Use menos palavras para começar, depois refine sua busca usando os links à esquerda.'
227
- search_fields: 'você buscou por %{search_fields}'
228
- search_everything: 'tente buscar em tudo'
229
- view_title: 'Ver resultados como: '
148
+ label: "%{label}:"
149
+ title: "%{document_title} - %{application_name}"
150
+ sort:
151
+ label: Ordenar por %{field}
152
+ label_html: Ordenar<span class="d-none d-sm-inline"> por %{field}</span>
153
+ submit: ordenar resultados
154
+ start_over: refazer busca
230
155
  view:
231
- list: 'Lista'
232
-
233
-
234
- entry_name:
235
- default: 'registro'
236
- grouped:
237
- default: 'resultado agrupado'
238
-
239
- did_you_mean: 'Você quis dizer: %{options}?'
240
-
241
- main:
156
+ list: Lista
157
+ view_title: 'Ver resultados como: '
158
+ zero_results:
159
+ modify_search: Tente modificar sua busca
160
+ search_everything: tente buscar em tudo
161
+ search_fields: você buscou por %{search_fields}
162
+ title: Não foram encontratos resultados para a sua busca
163
+ use_fewer_keywords: Use menos palavras para começar, depois refine sua busca usando os links à esquerda.
164
+ search_history:
165
+ clear:
166
+ action_confirm: Deseja limpar o histórico de Busca?
167
+ action_title: Limpar Histórico de Busca
168
+ failure: Xiii, ocorreu um erro ao remover o histórico de busca.
169
+ success: Histórico de Busca removido.
170
+ forget: limpar
171
+ no_history: Não existe nada em seu histórico
172
+ page_title: Histórico de Busca - %{application_name}
173
+ recent: Buscas Recentes
174
+ save: salvar
175
+ title: Histórico de Busca
176
+ skip_links:
177
+ first_result: Ir para o primeiro resultado da pesquisa
178
+ label: pular links
179
+ main_content: Ir para o conteúdo principal
180
+ search_field: Ir para a pesquisa
181
+ sms:
182
+ errors:
183
+ carrier:
184
+ blank: Você precisa selecionar a operadora
185
+ invalid: Você precisa usar uma operadora válida
186
+ to:
187
+ blank: Você precisa digitar o número de telefone do destinatário para enviar uma mensagem
188
+ invalid: Você precisa digitar um número de telefone válido
189
+ form:
190
+ carrier: Operadora
191
+ carrier_prompt: Selecione a Operadora
192
+ submit: Enviar
193
+ title: Enviar por SMS
194
+ to: 'Celular:'
195
+ success: SMS Enviado
196
+ text:
197
+ url: 'Link: %{url}'
198
+ tools:
199
+ citation: Citar
200
+ clear: Limpar
201
+ email: Email
202
+ sms: SMS
203
+ title: Ferramentas
204
+ welcome: Bem-Vindo!
205
+ views:
206
+ pagination:
242
207
  aria:
243
- main_container: 'Conteúdo principal'
208
+ container_label: links de paginação
209
+ current_page: Página atual, Página %{page}
210
+ go_to_first_page: Ir para a primeira página
211
+ go_to_last_page: Ir para a última página
212
+ go_to_next_page: Ir para a próxima página
213
+ go_to_page: Ir para a página %{page}
214
+ go_to_previous_page: Ir para a página anterior
215
+ first: "&laquo; primeiro"
216
+ last: último &raquo;
217
+ next: próximo &raquo;
218
+ previous: "&laquo; anterior"
219
+ truncate: "…"
220
+ pagination_compact:
221
+ next: próx &raquo;
222
+ previous: "&laquo; ant"