hyrax 3.6.0 → 4.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (497) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +41 -61
  3. data/.dassie/Gemfile +4 -4
  4. data/.dassie/app/assets/javascripts/application.js +8 -4
  5. data/.dassie/app/assets/stylesheets/application.css +1 -1
  6. data/.dassie/app/assets/stylesheets/hyrax.scss +1 -2
  7. data/.dassie/app/controllers/application_controller.rb +1 -3
  8. data/.dassie/app/controllers/catalog_controller.rb +23 -19
  9. data/.dassie/app/models/user.rb +0 -3
  10. data/.dassie/config/analytics.yml +2 -4
  11. data/.dassie/config/application.rb +1 -1
  12. data/.dassie/config/initializers/riiif.rb +1 -1
  13. data/.dassie/db/schema.rb +5 -5
  14. data/.dassie/package.json +7 -7
  15. data/.engine_cart.yml +2 -39
  16. data/.env +1 -0
  17. data/.github/workflows/main.yml +17 -0
  18. data/.github/workflows/release.yml +17 -0
  19. data/.regen +1 -1
  20. data/.rubocop.yml +1 -1
  21. data/CONTRIBUTING.md +22 -24
  22. data/Dockerfile +1 -1
  23. data/Rakefile +0 -4
  24. data/app/actors/hyrax/actors/base_actor.rb +1 -1
  25. data/app/actors/hyrax/actors/collections_membership_actor.rb +1 -1
  26. data/app/actors/hyrax/actors/create_with_remote_files_actor.rb +5 -11
  27. data/app/actors/hyrax/actors/embargo_actor.rb +4 -11
  28. data/app/actors/hyrax/actors/file_actor.rb +9 -37
  29. data/app/actors/hyrax/actors/file_set_actor.rb +13 -62
  30. data/app/actors/hyrax/actors/lease_actor.rb +4 -11
  31. data/app/assets/javascripts/hyrax/analytics_events.js +38 -88
  32. data/app/assets/javascripts/hyrax/app.js.erb +2 -2
  33. data/app/assets/javascripts/hyrax/batch.js +2 -2
  34. data/app/assets/javascripts/hyrax/batch_edit.js +4 -4
  35. data/app/assets/javascripts/hyrax/batch_select_all.js +13 -13
  36. data/app/assets/javascripts/hyrax/browse_everything.js +4 -2
  37. data/app/assets/javascripts/hyrax/collection_types.es6 +1 -1
  38. data/app/assets/javascripts/hyrax/collections/editor.es6 +5 -1
  39. data/app/assets/javascripts/hyrax/dashboard_actions.js +5 -5
  40. data/app/assets/javascripts/hyrax/editor/controlled_vocabulary.es6 +3 -3
  41. data/app/assets/javascripts/hyrax/editor.es6 +3 -3
  42. data/app/assets/javascripts/hyrax/facets.js +6 -4
  43. data/app/assets/javascripts/hyrax/file_manager/member.es6 +1 -1
  44. data/app/assets/javascripts/hyrax/file_manager/save_manager.es6 +2 -2
  45. data/app/assets/javascripts/hyrax/file_manager/sorting.es6 +2 -2
  46. data/app/assets/javascripts/hyrax/file_manager.es6 +2 -17
  47. data/app/assets/javascripts/hyrax/notification.es6 +1 -1
  48. data/app/assets/javascripts/hyrax/permissions/control.es6 +1 -8
  49. data/app/assets/javascripts/hyrax/permissions/registry.es6 +4 -4
  50. data/app/assets/javascripts/hyrax/permissions/user_controls.es6 +3 -1
  51. data/app/assets/javascripts/hyrax/relationships/confirm_remove_dialog.es6 +1 -1
  52. data/app/assets/javascripts/hyrax/relationships/control.es6 +2 -2
  53. data/app/assets/javascripts/hyrax/relationships/registry_entry.es6 +1 -1
  54. data/app/assets/javascripts/hyrax/reports-buttons.js +9 -9
  55. data/app/assets/javascripts/hyrax/save_work/required_fields.es6 +1 -1
  56. data/app/assets/javascripts/hyrax/save_work/save_work_control.es6 +6 -6
  57. data/app/assets/javascripts/hyrax/save_work/uploaded_files.es6 +2 -2
  58. data/app/assets/javascripts/hyrax/single_use_links_manager.js +1 -1
  59. data/app/assets/javascripts/hyrax/skip_to_content.js +1 -1
  60. data/app/assets/javascripts/hyrax/sorting.js +1 -1
  61. data/app/assets/javascripts/hyrax/trophy.js +1 -1
  62. data/app/assets/javascripts/hyrax/uploader.js +3 -3
  63. data/app/assets/javascripts/hyrax.js +1 -19
  64. data/app/assets/stylesheets/_bootstrap-default-overrides.scss +4 -4
  65. data/app/assets/stylesheets/hyrax/_accessibility.scss +1 -1
  66. data/app/assets/stylesheets/hyrax/_badge.scss +7 -0
  67. data/app/assets/stylesheets/hyrax/_batch-edit.scss +8 -8
  68. data/app/assets/stylesheets/hyrax/_browse_everything_overrides.scss +1 -1
  69. data/app/assets/stylesheets/hyrax/_buttons.scss +31 -1
  70. data/app/assets/stylesheets/hyrax/_card.scss +10 -0
  71. data/app/assets/stylesheets/hyrax/_catalog.scss +22 -48
  72. data/app/assets/stylesheets/hyrax/_collection_types.scss +1 -1
  73. data/app/assets/stylesheets/hyrax/_collections.scss +13 -13
  74. data/app/assets/stylesheets/hyrax/_facets.scss +46 -0
  75. data/app/assets/stylesheets/hyrax/_featured.scss +1 -1
  76. data/app/assets/stylesheets/hyrax/_file-listing.scss +3 -3
  77. data/app/assets/stylesheets/hyrax/_file_manager.scss +17 -17
  78. data/app/assets/stylesheets/hyrax/_file_sets.scss +1 -1
  79. data/app/assets/stylesheets/hyrax/_file_upload.scss +4 -4
  80. data/app/assets/stylesheets/hyrax/_fixedsticky.scss +1 -1
  81. data/app/assets/stylesheets/hyrax/_footer.scss +3 -3
  82. data/app/assets/stylesheets/hyrax/_form-progress.scss +9 -9
  83. data/app/assets/stylesheets/hyrax/_form.scss +3 -4
  84. data/app/assets/stylesheets/hyrax/_forms.scss +62 -29
  85. data/app/assets/stylesheets/hyrax/_header.scss +0 -17
  86. data/app/assets/stylesheets/hyrax/_home-page.scss +13 -51
  87. data/app/assets/stylesheets/hyrax/_html.scss +11 -0
  88. data/app/assets/stylesheets/hyrax/_hyrax.scss +16 -14
  89. data/app/assets/stylesheets/hyrax/_nestable.scss +1 -1
  90. data/app/assets/stylesheets/hyrax/_select_work_type.scss +2 -2
  91. data/app/assets/stylesheets/hyrax/_styles.scss +9 -14
  92. data/app/assets/stylesheets/hyrax/_users.scss +2 -2
  93. data/app/assets/stylesheets/hyrax/_variables.scss +20 -1
  94. data/app/assets/stylesheets/hyrax/_work-show.scss +21 -13
  95. data/app/assets/stylesheets/hyrax/blacklight_gallery.scss +75 -2
  96. data/app/assets/stylesheets/hyrax/dashboard.scss +70 -95
  97. data/app/assets/stylesheets/hyrax/sidebar.scss +39 -19
  98. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +9 -0
  99. data/app/controllers/concerns/hyrax/embargoes_controller_behavior.rb +2 -11
  100. data/app/controllers/concerns/hyrax/leases_controller_behavior.rb +2 -11
  101. data/app/controllers/concerns/hyrax/manages_embargoes.rb +1 -13
  102. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +4 -9
  103. data/app/controllers/hyrax/admin/analytics/collection_reports_controller.rb +2 -2
  104. data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +1 -1
  105. data/app/controllers/hyrax/admin/strategies_controller.rb +1 -1
  106. data/app/controllers/hyrax/admin/workflows_controller.rb +3 -48
  107. data/app/controllers/hyrax/batch_edits_controller.rb +1 -1
  108. data/app/controllers/hyrax/dashboard/collections_controller.rb +2 -1
  109. data/app/controllers/hyrax/dashboard/nest_collections_controller.rb +0 -32
  110. data/app/controllers/hyrax/downloads_controller.rb +1 -16
  111. data/app/controllers/hyrax/file_sets_controller.rb +4 -10
  112. data/app/controllers/hyrax/homepage_controller.rb +0 -1
  113. data/app/controllers/hyrax/my_controller.rb +0 -6
  114. data/app/controllers/hyrax/permissions_controller.rb +1 -1
  115. data/app/controllers/hyrax/single_use_links_controller.rb +1 -2
  116. data/app/controllers/hyrax/transfers_controller.rb +2 -0
  117. data/app/controllers/hyrax/workflow_actions_controller.rb +2 -3
  118. data/app/forms/hyrax/forms/collection_form.rb +1 -1
  119. data/app/forms/hyrax/forms/dashboard/nest_collection_form.rb +0 -2
  120. data/app/forms/hyrax/forms/file_set_edit_form.rb +1 -1
  121. data/app/forms/hyrax/forms/file_set_form.rb +35 -8
  122. data/app/forms/hyrax/forms/resource_form.rb +32 -36
  123. data/app/helpers/hyrax/embargo_helper.rb +0 -11
  124. data/app/helpers/hyrax/facets_helper.rb +150 -0
  125. data/app/helpers/hyrax/hyrax_helper_behavior.rb +5 -5
  126. data/app/helpers/hyrax/lease_helper.rb +0 -11
  127. data/app/indexers/hyrax/basic_metadata_indexer.rb +3 -9
  128. data/app/indexers/hyrax/pcdm_collection_indexer.rb +0 -1
  129. data/app/indexers/hyrax/valkyrie_file_set_indexer.rb +8 -2
  130. data/app/jobs/characterize_job.rb +4 -7
  131. data/app/jobs/content_event_job.rb +1 -1
  132. data/app/jobs/create_derivatives_job.rb +4 -2
  133. data/app/jobs/ingest_local_file_job.rb +5 -13
  134. data/app/jobs/inherit_permissions_job.rb +1 -5
  135. data/app/models/admin_set.rb +0 -8
  136. data/app/models/concerns/hyrax/collection_behavior.rb +2 -3
  137. data/app/models/concerns/hyrax/collection_nesting.rb +1 -10
  138. data/app/models/concerns/hyrax/file_set_behavior.rb +1 -2
  139. data/app/models/concerns/hyrax/in_admin_set.rb +0 -7
  140. data/app/models/concerns/hyrax/user.rb +3 -3
  141. data/app/models/concerns/hyrax/work_behavior.rb +1 -3
  142. data/app/models/content_block.rb +0 -6
  143. data/app/models/hyrax/embargo.rb +1 -1
  144. data/app/models/hyrax/file_metadata.rb +1 -1
  145. data/app/models/hyrax/file_set.rb +3 -3
  146. data/app/models/hyrax/lease.rb +1 -1
  147. data/app/models/hyrax/permission_template.rb +0 -35
  148. data/app/models/proxy_deposit_request.rb +1 -1
  149. data/app/presenters/hyrax/admin/repository_object_presenter.rb +0 -2
  150. data/app/presenters/hyrax/collapsable_section_presenter.rb +2 -2
  151. data/app/presenters/hyrax/collection_presenter.rb +1 -1
  152. data/app/presenters/hyrax/fixity_status_presenter.rb +2 -2
  153. data/app/presenters/hyrax/menu_presenter.rb +1 -1
  154. data/app/presenters/hyrax/permission_badge.rb +8 -9
  155. data/app/presenters/hyrax/version_list_presenter.rb +1 -6
  156. data/app/presenters/hyrax/workflow_presenter.rb +1 -1
  157. data/app/renderers/hyrax/renderers/external_link_attribute_renderer.rb +1 -1
  158. data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +5 -13
  159. data/app/search_builders/hyrax/deposit_search_builder.rb +1 -1
  160. data/app/search_builders/hyrax/nested_collections_parent_search_builder.rb +10 -1
  161. data/app/search_builders/hyrax/single_result.rb +1 -1
  162. data/app/search_builders/hyrax/stats/work_status_search_builder.rb +1 -1
  163. data/app/services/hyrax/adapters/nesting_index_adapter.rb +1 -1
  164. data/app/services/hyrax/analytics/google.rb +15 -23
  165. data/app/services/hyrax/analytics/matomo.rb +3 -4
  166. data/app/services/hyrax/collection_member_service.rb +1 -2
  167. data/app/services/hyrax/collections/nested_collection_query_service.rb +1 -1
  168. data/app/services/hyrax/collections/search_service.rb +0 -1
  169. data/app/services/hyrax/custom_queries.rb +25 -0
  170. data/app/services/hyrax/edit_permissions_service.rb +3 -21
  171. data/app/services/hyrax/embargo_manager.rb +0 -9
  172. data/app/services/hyrax/file_set_csv_service.rb +1 -1
  173. data/app/services/hyrax/graph_exporter.rb +3 -8
  174. data/app/services/hyrax/iiif_authorization_service.rb +1 -1
  175. data/app/services/hyrax/lease_manager.rb +0 -9
  176. data/app/services/hyrax/listeners/file_metadata_listener.rb +0 -11
  177. data/app/services/hyrax/search_service.rb +1 -81
  178. data/app/services/hyrax/solr_query_service.rb +4 -4
  179. data/app/services/hyrax/statistics/depositors/summary.rb +1 -3
  180. data/app/services/hyrax/user_stat_importer.rb +0 -2
  181. data/app/services/hyrax/valkyrie_upload.rb +13 -1
  182. data/app/services/hyrax/versioning_service.rb +9 -77
  183. data/app/services/hyrax/visibility_propagator.rb +5 -5
  184. data/app/services/hyrax/work_query_service.rb +1 -1
  185. data/app/services/hyrax/workflow/actionable_objects.rb +3 -28
  186. data/app/services/hyrax/workflow/permission_query.rb +2 -23
  187. data/app/services/hyrax/working_directory.rb +2 -0
  188. data/app/views/_controls.html.erb +14 -18
  189. data/app/views/_logo.html.erb +0 -1
  190. data/app/views/_masthead.html.erb +8 -18
  191. data/app/views/_user_util_links.html.erb +16 -18
  192. data/app/views/catalog/_document.html.erb +2 -2
  193. data/app/views/catalog/_document_list.html.erb +1 -1
  194. data/app/views/catalog/_facet_limit.html.erb +1 -1
  195. data/app/views/catalog/_index_gallery_collection_wrapper.html.erb +1 -1
  196. data/app/views/catalog/_index_header_list_collection.html.erb +2 -2
  197. data/app/views/catalog/_index_header_list_default.html.erb +1 -1
  198. data/app/views/catalog/_index_list_default.html.erb +7 -5
  199. data/app/views/catalog/_search_form.html.erb +13 -15
  200. data/app/views/catalog/_thumbnail_list_collection.html.erb +2 -2
  201. data/app/views/catalog/_thumbnail_list_default.html.erb +3 -3
  202. data/app/views/catalog/facet.html.erb +21 -0
  203. data/app/views/catalog/index.html.erb +6 -4
  204. data/app/views/hyrax/admin/admin_sets/_form.html.erb +16 -16
  205. data/app/views/hyrax/admin/admin_sets/_form_participant_table.html.erb +35 -33
  206. data/app/views/hyrax/admin/admin_sets/_form_participants.html.erb +9 -8
  207. data/app/views/hyrax/admin/admin_sets/_form_visibility.html.erb +24 -24
  208. data/app/views/hyrax/admin/admin_sets/_form_workflow.erb +5 -5
  209. data/app/views/hyrax/admin/admin_sets/_show_actions.html.erb +3 -3
  210. data/app/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb +9 -9
  211. data/app/views/hyrax/admin/admin_sets/index.html.erb +3 -3
  212. data/app/views/hyrax/admin/admin_sets/show.html.erb +4 -4
  213. data/app/views/hyrax/admin/analytics/_date_range_form.html.erb +3 -3
  214. data/app/views/hyrax/admin/analytics/collection_reports/_custom_range.html.erb +3 -3
  215. data/app/views/hyrax/admin/analytics/collection_reports/_monthly_summary.html.erb +3 -3
  216. data/app/views/hyrax/admin/analytics/collection_reports/_summary.html.erb +3 -3
  217. data/app/views/hyrax/admin/analytics/collection_reports/_top_collections.html.erb +7 -7
  218. data/app/views/hyrax/admin/analytics/collection_reports/index.html.erb +7 -7
  219. data/app/views/hyrax/admin/analytics/collection_reports/show.html.erb +10 -10
  220. data/app/views/hyrax/admin/analytics/work_reports/_custom_range.html.erb +3 -3
  221. data/app/views/hyrax/admin/analytics/work_reports/_monthly_summary.html.erb +3 -3
  222. data/app/views/hyrax/admin/analytics/work_reports/_summary.html.erb +3 -3
  223. data/app/views/hyrax/admin/analytics/work_reports/_top_file_set_downloads.html.erb +5 -5
  224. data/app/views/hyrax/admin/analytics/work_reports/_top_works.html.erb +7 -7
  225. data/app/views/hyrax/admin/analytics/work_reports/_work_counts.html.erb +4 -4
  226. data/app/views/hyrax/admin/analytics/work_reports/_work_files.html.erb +5 -5
  227. data/app/views/hyrax/admin/analytics/work_reports/index.html.erb +8 -8
  228. data/app/views/hyrax/admin/analytics/work_reports/show.html.erb +10 -10
  229. data/app/views/hyrax/admin/appearances/show.html.erb +2 -2
  230. data/app/views/hyrax/admin/collection_types/_form.html.erb +24 -23
  231. data/app/views/hyrax/admin/collection_types/_form_appearance.html.erb +2 -2
  232. data/app/views/hyrax/admin/collection_types/_form_participants.html.erb +4 -4
  233. data/app/views/hyrax/admin/collection_types/_form_settings.html.erb +9 -9
  234. data/app/views/hyrax/admin/collection_types/index.html.erb +6 -6
  235. data/app/views/hyrax/admin/features/index.html.erb +3 -3
  236. data/app/views/hyrax/admin/stats/_new_users.html.erb +1 -1
  237. data/app/views/hyrax/admin/stats/show.html.erb +4 -6
  238. data/app/views/hyrax/admin/users/index.html.erb +3 -3
  239. data/app/views/hyrax/admin/workflow_roles/index.html.erb +8 -8
  240. data/app/views/hyrax/admin/workflows/index.html.erb +80 -55
  241. data/app/views/hyrax/base/_citations.html.erb +6 -6
  242. data/app/views/hyrax/base/_currently_shared.html.erb +3 -3
  243. data/app/views/hyrax/base/_file_manager_actions.html.erb +5 -3
  244. data/app/views/hyrax/base/_file_manager_member.html.erb +5 -5
  245. data/app/views/hyrax/base/_file_manager_member_resource_options.html.erb +6 -6
  246. data/app/views/hyrax/base/_file_manager_members.html.erb +1 -1
  247. data/app/views/hyrax/base/_file_manager_thumbnail.html.erb +1 -1
  248. data/app/views/hyrax/base/_form_child_work_relationships.html.erb +3 -3
  249. data/app/views/hyrax/base/_form_files.html.erb +9 -9
  250. data/app/views/hyrax/base/_form_member_of_collections.html.erb +3 -3
  251. data/app/views/hyrax/base/_form_metadata.html.erb +1 -1
  252. data/app/views/hyrax/base/_form_permission.html.erb +30 -20
  253. data/app/views/hyrax/base/_form_permission_under_embargo.html.erb +1 -1
  254. data/app/views/hyrax/base/_form_permission_under_lease.html.erb +1 -1
  255. data/app/views/hyrax/base/_form_progress.html.erb +7 -7
  256. data/app/views/hyrax/base/_form_relationships.html.erb +1 -1
  257. data/app/views/hyrax/base/_form_rendering.html.erb +1 -1
  258. data/app/views/hyrax/base/_form_representative.html.erb +1 -1
  259. data/app/views/hyrax/base/_form_share.html.erb +6 -6
  260. data/app/views/hyrax/base/_form_thumbnail.html.erb +1 -1
  261. data/app/views/hyrax/base/_form_visibility_component.html.erb +16 -20
  262. data/app/views/hyrax/base/_guts4form.html.erb +12 -20
  263. data/app/views/hyrax/base/_member.html.erb +1 -1
  264. data/app/views/hyrax/base/_metadata.html.erb +1 -1
  265. data/app/views/hyrax/base/_show_actions.html.erb +10 -10
  266. data/app/views/hyrax/base/_work_button_row.html.erb +17 -16
  267. data/app/views/hyrax/base/_workflow_actions.html.erb +10 -10
  268. data/app/views/hyrax/base/_workflow_actions_widget.erb +1 -1
  269. data/app/views/hyrax/base/file_manager.html.erb +4 -5
  270. data/app/views/hyrax/base/inspect_work.html.erb +1 -1
  271. data/app/views/hyrax/base/show.html.erb +12 -12
  272. data/app/views/hyrax/base/unavailable.html.erb +2 -2
  273. data/app/views/hyrax/batch_edits/_check_all.html.erb +0 -1
  274. data/app/views/hyrax/batch_edits/_delete_selected.html.erb +1 -1
  275. data/app/views/hyrax/batch_edits/edit.html.erb +26 -18
  276. data/app/views/hyrax/collections/_bookmark_control.html.erb +2 -2
  277. data/app/views/hyrax/collections/_list_collections.html.erb +6 -6
  278. data/app/views/hyrax/collections/_list_works.html.erb +3 -1
  279. data/app/views/hyrax/collections/_search_form.html.erb +4 -4
  280. data/app/views/hyrax/collections/_show_document_list_row.html.erb +5 -2
  281. data/app/views/hyrax/collections/_sort_and_per_page.html.erb +3 -3
  282. data/app/views/hyrax/collections/_view_type_group.html.erb +2 -2
  283. data/app/views/hyrax/contact_form/new.html.erb +12 -13
  284. data/app/views/hyrax/content_blocks/_form.html.erb +29 -23
  285. data/app/views/hyrax/content_blocks/templates/agreement.html.erb +3 -3
  286. data/app/views/hyrax/dashboard/_admin_sets.html.erb +22 -28
  287. data/app/views/hyrax/dashboard/_index_partials/_current_proxy_rights.html.erb +2 -2
  288. data/app/views/hyrax/dashboard/_index_partials/_proxy_rights.html.erb +4 -4
  289. data/app/views/hyrax/dashboard/_index_partials/_transfers.html.erb +2 -2
  290. data/app/views/hyrax/dashboard/_repository_growth.html.erb +28 -28
  291. data/app/views/hyrax/dashboard/_resource_type_graph.html.erb +4 -4
  292. data/app/views/hyrax/dashboard/_sidebar.html.erb +3 -3
  293. data/app/views/hyrax/dashboard/_tabs.html.erb +6 -2
  294. data/app/views/hyrax/dashboard/_user_activity.html.erb +22 -19
  295. data/app/views/hyrax/dashboard/_visibility_graph.html.erb +4 -4
  296. data/app/views/hyrax/dashboard/_work_type_graph.html.erb +4 -4
  297. data/app/views/hyrax/dashboard/collections/_batch_edits_actions.html.erb +1 -1
  298. data/app/views/hyrax/dashboard/collections/_bookmark_control.html.erb +2 -2
  299. data/app/views/hyrax/dashboard/collections/_edit_actions.html.erb +1 -1
  300. data/app/views/hyrax/dashboard/collections/_form.html.erb +30 -22
  301. data/app/views/hyrax/dashboard/collections/_form_branding.html.erb +19 -19
  302. data/app/views/hyrax/dashboard/collections/_form_discovery.html.erb +8 -4
  303. data/app/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb +7 -7
  304. data/app/views/hyrax/dashboard/collections/_form_share.html.erb +11 -9
  305. data/app/views/hyrax/dashboard/collections/_form_share_table.html.erb +34 -31
  306. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +1 -1
  307. data/app/views/hyrax/dashboard/collections/_list_works.html.erb +3 -1
  308. data/app/views/hyrax/dashboard/collections/_modal_remove_from_collection.html.erb +1 -1
  309. data/app/views/hyrax/dashboard/collections/_modal_remove_sub_collection.html.erb +1 -1
  310. data/app/views/hyrax/dashboard/collections/_show_add_items_actions.html.erb +1 -1
  311. data/app/views/hyrax/dashboard/collections/_show_descriptions.html.erb +5 -3
  312. data/app/views/hyrax/dashboard/collections/_show_document_list_menu.html.erb +4 -4
  313. data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +12 -10
  314. data/app/views/hyrax/dashboard/collections/_show_parent_collection_row.html.erb +2 -2
  315. data/app/views/hyrax/dashboard/collections/_sort_and_per_page.html.erb +4 -4
  316. data/app/views/hyrax/dashboard/collections/_subcollection_list.html.erb +1 -1
  317. data/app/views/hyrax/dashboard/collections/_work_action_menu.html.erb +10 -10
  318. data/app/views/hyrax/dashboard/collections/show.html.erb +4 -4
  319. data/app/views/hyrax/dashboard/profiles/_edit_primary.html.erb +21 -21
  320. data/app/views/hyrax/dashboard/profiles/_trophy_edit.html.erb +5 -5
  321. data/app/views/hyrax/dashboard/profiles/_zotero.html.erb +2 -2
  322. data/app/views/hyrax/dashboard/profiles/edit.html.erb +2 -2
  323. data/app/views/hyrax/dashboard/profiles/show.html.erb +3 -3
  324. data/app/views/hyrax/dashboard/show_admin.html.erb +36 -34
  325. data/app/views/hyrax/dashboard/show_user.html.erb +16 -16
  326. data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +11 -11
  327. data/app/views/hyrax/dashboard/sidebar/_configuration.html.erb +8 -8
  328. data/app/views/hyrax/dashboard/sidebar/_repository_content.html.erb +3 -1
  329. data/app/views/hyrax/dashboard/sidebar/_tasks.html.erb +5 -1
  330. data/app/views/hyrax/dashboard/works/_list_works.html.erb +4 -1
  331. data/app/views/hyrax/depositors/index.html.erb +2 -2
  332. data/app/views/hyrax/embargoes/edit.html.erb +14 -14
  333. data/app/views/hyrax/embargoes/index.html.erb +18 -6
  334. data/app/views/hyrax/file_sets/_actions.html.erb +5 -6
  335. data/app/views/hyrax/file_sets/_descriptions.html.erb +1 -1
  336. data/app/views/hyrax/file_sets/_extra_fields_modal.html.erb +1 -1
  337. data/app/views/hyrax/file_sets/_form.html.erb +1 -1
  338. data/app/views/hyrax/file_sets/_permission.html.erb +1 -1
  339. data/app/views/hyrax/file_sets/_permission_form.html.erb +39 -30
  340. data/app/views/hyrax/file_sets/_show_actions.html.erb +3 -3
  341. data/app/views/hyrax/file_sets/_show_details.html.erb +27 -17
  342. data/app/views/hyrax/file_sets/_single_use_link_rows.html.erb +2 -2
  343. data/app/views/hyrax/file_sets/_single_use_links.html.erb +2 -2
  344. data/app/views/hyrax/file_sets/_versioning.html.erb +9 -9
  345. data/app/views/hyrax/file_sets/edit.html.erb +19 -13
  346. data/app/views/hyrax/file_sets/media_display/_image.html.erb +4 -4
  347. data/app/views/hyrax/file_sets/show.html.erb +2 -2
  348. data/app/views/hyrax/homepage/_announcement.html.erb +2 -2
  349. data/app/views/hyrax/homepage/_explore_collections.html.erb +6 -4
  350. data/app/views/hyrax/homepage/_featured_fields.html.erb +1 -1
  351. data/app/views/hyrax/homepage/_featured_works.html.erb +1 -1
  352. data/app/views/hyrax/homepage/_home_content.html.erb +24 -10
  353. data/app/views/hyrax/homepage/_marketing.html.erb +1 -1
  354. data/app/views/hyrax/homepage/_recent_document.html.erb +4 -1
  355. data/app/views/hyrax/homepage/_sortable_featured.html.erb +3 -3
  356. data/app/views/hyrax/homepage/index.html.erb +4 -4
  357. data/app/views/hyrax/leases/edit.html.erb +14 -14
  358. data/app/views/hyrax/leases/index.html.erb +18 -6
  359. data/app/views/hyrax/my/_admin_set_action_menu.html.erb +5 -5
  360. data/app/views/hyrax/my/_collection_action_menu.html.erb +6 -6
  361. data/app/views/hyrax/my/_constraints.html.erb +2 -2
  362. data/app/views/hyrax/my/_document_list.html.erb +1 -1
  363. data/app/views/hyrax/my/_facet_layout.html.erb +1 -2
  364. data/app/views/hyrax/my/_facet_limit.html.erb +4 -4
  365. data/app/views/hyrax/my/_facet_pagination.html.erb +1 -25
  366. data/app/views/hyrax/my/_facet_pivot.html.erb +1 -1
  367. data/app/views/hyrax/my/_facet_selected.html.erb +1 -1
  368. data/app/views/hyrax/my/_search_form.html.erb +7 -8
  369. data/app/views/hyrax/my/_sort_and_per_page.html.erb +10 -12
  370. data/app/views/hyrax/my/_work_action_menu.html.erb +4 -5
  371. data/app/views/hyrax/my/collections/_facets.html.erb +2 -2
  372. data/app/views/hyrax/my/collections/_list_collections.html.erb +1 -1
  373. data/app/views/hyrax/my/collections/_modal_add_subcollection.html.erb +2 -2
  374. data/app/views/hyrax/my/collections/_modal_add_to_collection.html.erb +2 -2
  375. data/app/views/hyrax/my/collections/_modal_collection_types_to_create.html.erb +5 -5
  376. data/app/views/hyrax/my/collections/_modal_delete_collection.html.erb +1 -1
  377. data/app/views/hyrax/my/collections/_modal_delete_empty_collection.html.erb +1 -1
  378. data/app/views/hyrax/my/collections/_modal_delete_selected_collections.html.erb +1 -1
  379. data/app/views/hyrax/my/collections/_tabs.html.erb +11 -4
  380. data/app/views/hyrax/my/collections/index.html.erb +3 -3
  381. data/app/views/hyrax/my/facet.html.erb +17 -16
  382. data/app/views/hyrax/my/index.html.erb +2 -2
  383. data/app/views/hyrax/my/works/_batch_actions.html.erb +1 -1
  384. data/app/views/hyrax/my/works/_facets.html.erb +2 -2
  385. data/app/views/hyrax/my/works/_list_works.html.erb +6 -7
  386. data/app/views/hyrax/my/works/_tabs.html.erb +6 -6
  387. data/app/views/hyrax/my/works/index.html.erb +20 -18
  388. data/app/views/hyrax/notifications/_notifications.html.erb +1 -1
  389. data/app/views/hyrax/notifications/index.html.erb +4 -4
  390. data/app/views/hyrax/operations/index.html.erb +1 -1
  391. data/app/views/hyrax/operations/show.html.erb +2 -2
  392. data/app/views/hyrax/pages/_form.html.erb +76 -64
  393. data/app/views/hyrax/permissions/confirm.html.erb +4 -4
  394. data/app/views/hyrax/permissions/confirm_access.html.erb +4 -4
  395. data/app/views/hyrax/stats/file.html.erb +1 -1
  396. data/app/views/hyrax/stats/work.html.erb +1 -1
  397. data/app/views/hyrax/transfers/_received.html.erb +4 -4
  398. data/app/views/hyrax/transfers/index.html.erb +8 -8
  399. data/app/views/hyrax/transfers/new.html.erb +1 -1
  400. data/app/views/hyrax/uploads/_js_templates.html.erb +14 -14
  401. data/app/views/hyrax/uploads/_js_templates_branding.html.erb +5 -5
  402. data/app/views/hyrax/uploads/_js_templates_versioning.html.erb +15 -15
  403. data/app/views/hyrax/users/_activity.html.erb +3 -3
  404. data/app/views/hyrax/users/_contributions.html.erb +3 -3
  405. data/app/views/hyrax/users/_left_sidebar.html.erb +1 -1
  406. data/app/views/hyrax/users/_profile_tabs.html.erb +16 -8
  407. data/app/views/hyrax/users/_search_form.html.erb +2 -2
  408. data/app/views/hyrax/users/_user.html.erb +5 -5
  409. data/app/views/hyrax/users/_user_info.html.erb +4 -4
  410. data/app/views/hyrax/users/_vitals.html.erb +3 -3
  411. data/app/views/hyrax/users/show.html.erb +2 -2
  412. data/app/views/layouts/_head_tag_content.html.erb +2 -5
  413. data/app/views/layouts/hyrax/dashboard.html.erb +4 -4
  414. data/app/views/layouts/hyrax.html.erb +4 -3
  415. data/app/views/shared/_appearance_styles.html.erb +8 -8
  416. data/app/views/shared/_footer.html.erb +1 -1
  417. data/app/views/shared/_locale_picker.html.erb +5 -8
  418. data/app/views/shared/_nav_safety_modal.html.erb +2 -2
  419. data/app/views/shared/_select_work_type_modal.html.erb +2 -2
  420. data/config/locales/hyrax.de.yml +5 -6
  421. data/config/locales/hyrax.en.yml +4 -15
  422. data/config/locales/hyrax.es.yml +6 -7
  423. data/config/locales/hyrax.fr.yml +8 -9
  424. data/config/locales/hyrax.it.yml +6 -7
  425. data/config/locales/hyrax.pt-BR.yml +6 -7
  426. data/config/locales/hyrax.zh.yml +6 -7
  427. data/docker-compose.yml +2 -1
  428. data/documentation/developing-your-hyrax-based-app.md +2 -2
  429. data/documentation/legacyREADME.md +3 -3
  430. data/hyrax.gemspec +13 -24
  431. data/karma.conf.js +104 -0
  432. data/lib/generators/hyrax/assets_generator.rb +2 -5
  433. data/lib/generators/hyrax/install_generator.rb +9 -33
  434. data/lib/generators/hyrax/templates/catalog_controller.rb +20 -13
  435. data/lib/generators/hyrax/templates/config/analytics.yml +0 -3
  436. data/lib/generators/hyrax/templates/config/initializers/riiif.rb +1 -1
  437. data/lib/generators/hyrax/templates/config/locales/hyrax.pt-BR.yml +1 -1
  438. data/lib/generators/hyrax/templates/hyrax.scss +1 -2
  439. data/lib/generators/hyrax/templates/package.json +7 -8
  440. data/lib/hyrax/active_fedora_dummy_model.rb +0 -13
  441. data/lib/hyrax/configuration.rb +2 -49
  442. data/lib/hyrax/engine.rb +1 -2
  443. data/lib/hyrax/errors.rb +0 -2
  444. data/lib/hyrax/publisher.rb +0 -4
  445. data/lib/hyrax/specs/capybara.rb +5 -3
  446. data/lib/hyrax/specs/shared_specs/factories/strategies/valkyrie_resource.rb +0 -6
  447. data/lib/hyrax/specs/shared_specs/indexers.rb +0 -5
  448. data/lib/hyrax/transactions/container.rb +0 -54
  449. data/lib/hyrax/version.rb +1 -1
  450. data/lib/valkyrie/indexing/solr/indexing_adapter.rb +1 -1
  451. data/lib/wings/valkyrie/persister.rb +2 -1
  452. data/lib/wings/valkyrie/storage.rb +2 -6
  453. data/package.json +11 -0
  454. data/tasks/hyrax_dev.rake +32 -0
  455. data/template.rb +1 -1
  456. data/vendor/assets/javascripts/dataTables.bootstrap4.js +184 -0
  457. data/vendor/assets/javascripts/fileupload/jquery.fileupload-ui.js +1 -1
  458. data/vendor/assets/javascripts/fileupload/jquery.fileupload.js +2 -2
  459. data/vendor/assets/javascripts/fileupload/jquery.iframe-transport.js +1 -1
  460. data/vendor/assets/javascripts/handlebars.js +5214 -0
  461. data/vendor/assets/javascripts/jquery-ui.js +19057 -0
  462. data/vendor/assets/javascripts/jquery.dataTables.js +15336 -0
  463. data/vendor/assets/javascripts/morris/morris.min.js +9 -1
  464. data/vendor/assets/javascripts/morris/raphael-min.js +4 -6
  465. data/vendor/assets/javascripts/nestable.js +1 -1
  466. data/vendor/assets/stylesheets/dataTables.bootstrap4.css +307 -0
  467. data/vendor/assets/stylesheets/jquery-ui.css +1315 -0
  468. data/vendor/assets/stylesheets/morris.css +3 -0
  469. metadata +95 -218
  470. data/app/actors/hyrax/actors/initialize_workflow_actor.rb +0 -35
  471. data/app/forms/hyrax/forms/embargo.rb +0 -13
  472. data/app/forms/hyrax/forms/lease.rb +0 -13
  473. data/app/forms/hyrax/forms/pcdm_object_form.rb +0 -46
  474. data/app/forms/hyrax/forms/work_embargo_form.rb +0 -35
  475. data/app/forms/hyrax/forms/work_lease_form.rb +0 -35
  476. data/app/helpers/hyrax/url_helper.rb +0 -13
  477. data/app/jobs/content_depositor_change_event_job.rb +0 -48
  478. data/app/models/concerns/hyrax/with_file_sets.rb +0 -17
  479. data/app/services/hyrax/analytics/ga4.rb +0 -204
  480. data/app/services/hyrax/file_set_file_service.rb +0 -55
  481. data/app/services/hyrax/work_resource_query_service.rb +0 -45
  482. data/app/views/hyrax/admin/workflows/_tabs.html.erb +0 -9
  483. data/app/views/shared/_ga4.html.erb +0 -10
  484. data/config/metadata/file_set_metadata.yaml +0 -130
  485. data/lib/hyrax/transactions/create_work.rb +0 -65
  486. data/lib/hyrax/transactions/destroy_work.rb +0 -28
  487. data/lib/hyrax/transactions/steps/apply_collection_permission_template.rb +0 -34
  488. data/lib/hyrax/transactions/steps/apply_permission_template.rb +0 -32
  489. data/lib/hyrax/transactions/steps/apply_visibility.rb +0 -41
  490. data/lib/hyrax/transactions/steps/destroy_work.rb +0 -27
  491. data/lib/hyrax/transactions/steps/ensure_permission_template.rb +0 -29
  492. data/lib/hyrax/transactions/steps/save_work.rb +0 -38
  493. data/lib/hyrax/transactions/update_work.rb +0 -19
  494. data/lib/wings/services/file_converter_service.rb +0 -19
  495. data/lib/wings/services/file_metadata_builder.rb +0 -94
  496. data/vendor/assets/javascripts/handlebars-v4.0.5.js +0 -4612
  497. data/vendor/assets/stylesheets/morris.js/0.5.1/morris.css +0 -2
@@ -9,14 +9,14 @@ To properly administer this repository and preserve the contents of
9
9
  When you submit your file(s) you will have the option of selecting its degree of Visibility on the Web, which will control who can access your materials. Certain license terms apply to each visibility level:
10
10
  </p>
11
11
 
12
- <h3>Visibility Level: <span class="label label-success">PUBLIC</span></h3>
12
+ <h3>Visibility Level: <span class="badge badge-success">PUBLIC</span></h3>
13
13
  <p>
14
14
  By choosing the Public option you are allowing anyone in the world to view your submission. You may choose to apply one of several Creative Commons licenses to your submission, which are explained on the submission form and in the FAQ. These licenses allow you to set your own terms of use for anyone accessing the submission. You authorize <%= ApplicationController.helpers.institution_name %> to distribute your content under the terms of that Creative Commons license and to allow users of <%= ApplicationController.helpers.application_name %> to do the same if your license choice permits that.
15
15
 
16
16
  If you do not choose a license, you grant to <%= ApplicationController.helpers.institution_name %> the non-exclusive right to distribute your submission (including the metadata and abstract) worldwide, in any format or medium for non-commercial, research, educational, or related academic purposes only. You also authorize <%= ApplicationController.helpers.institution_name %> to allow users of the repository to distribute your submission (including the metadata and abstract) worldwide, in any format or medium for non-commercial, research, educational, or related academic purposes only. <%= ApplicationController.helpers.institution_name %> will clearly identify your name(s) as the author(s) or owner(s) of the submission, and will not make any alteration, other than as allowed by this license, to your submission.
17
17
  </p>
18
18
 
19
- <h3>Visibility Level: <span class="label label-info"><%= ApplicationController.helpers.institution_name.upcase %></span></h3>
19
+ <h3>Visibility Level: <span class="badge badge-info"><%= ApplicationController.helpers.institution_name.upcase %></span></h3>
20
20
 
21
21
  <p>
22
22
  If you select the <%= ApplicationController.helpers.institution_name %> access option, you have decided to restrict access only to users of <%= ApplicationController.helpers.institution_name %>'s network. Your deposit will not be accessible to colleagues or students at other universities or to members of the public. If you want your work to be accessible to the broader scholarly community, you should consider the regular Public option instead. If you choose, you may also further limit access to specific individuals or groups of individuals at <%= ApplicationController.helpers.institution_name %>.
@@ -26,7 +26,7 @@ If you select the <%= ApplicationController.helpers.institution_name %> access o
26
26
  By clicking through this license, you grant to <%= ApplicationController.helpers.institution_name %> the non-exclusive right to reproduce and/or distribute your submission (including the metadata and abstract) to students, faculty, staff, and walk-in users of the <%= ApplicationController.helpers.institution_name %> libraries, in any format or medium for non-commercial, research, educational, or related academic purposes only. If you have limited access to specific individuals or groups, <%= ApplicationController.helpers.institution_name %> will distribute your submission ONLY to those users. You also authorize <%= ApplicationController.helpers.institution_name %> to allow <%= ApplicationController.helpers.institution_name %> community users of the repository to distribute your submission (including the metadata and abstract) in any format or medium for <%= ApplicationController.helpers.institution_name %> internal non-commercial, research, educational, or related academic purposes only. <%= ApplicationController.helpers.institution_name %> will clearly identify your name(s) as the author(s) or owner(s) of the submission, and will not make any alteration, other than as allowed by this license, to your submission.
27
27
  </p>
28
28
 
29
- <h3>Visibility Level: <span class="label label-danger">PRIVATE</span></h3>
29
+ <h3>Visibility Level: <span class="badge badge-danger">PRIVATE</span></h3>
30
30
 
31
31
  <p>
32
32
  If you have selected the PRIVATE access option in the <%= ApplicationController.helpers.application_name %> deposit process, you have decided to allow <%= ApplicationController.helpers.institution_name %> a more limited set of rights than those afforded under the Public license option. Your deposit will not be accessible to anyone other than yourself. If you want your work to be accessible to the broader scholarly community, you should consider the regular Public or <%= ApplicationController.helpers.institution_name %> settings instead.
@@ -1,30 +1,24 @@
1
- <div class="row">
2
- <div class="col-md-12">
3
- <div class="panel panel-default">
4
- <div class="panel-heading">
5
- <h2 class="panel-title"><%= t('.title') %></h2>
6
- <div><%= t('.subtitle') %></div>
7
- </div>
8
- <div class="panel-body">
9
- <table class="table table-striped">
10
- <thead>
11
- <tr>
12
- <th><%= t('.admin_set') %></th>
13
- <th><%= t('.works') %></th>
14
- <th><%= t('.files') %></th>
15
- </tr>
16
- </thead>
17
- <tbody>
18
- <% @admin_set_rows.each do |row| %>
19
- <tr>
20
- <td><%= row.admin_set %></td>
21
- <td><%= row.work_count %></td>
22
- <td><%= row.file_count %></td>
23
- </tr>
24
- <% end %>
25
- </tbody>
26
- </table>
27
- </div>
28
- </div>
1
+ <div class="card">
2
+ <div class="card-body">
3
+ <h5 class="card-title"><%= t('.title') %></h5>
4
+ <h6 class="card-subtitle mb-2 text-muted"><%= t('.subtitle') %></h6>
5
+ <table class="table table-striped">
6
+ <thead>
7
+ <tr>
8
+ <th><%= t('.admin_set') %></th>
9
+ <th><%= t('.works') %></th>
10
+ <th><%= t('.files') %></th>
11
+ </tr>
12
+ </thead>
13
+ <tbody>
14
+ <% @admin_set_rows.each do |row| %>
15
+ <tr>
16
+ <td><%= row.admin_set %></td>
17
+ <td><%= row.work_count %></td>
18
+ <td><%= row.file_count %></td>
19
+ </tr>
20
+ <% end %>
21
+ </tbody>
22
+ </table>
29
23
  </div>
30
24
  </div>
@@ -1,6 +1,6 @@
1
1
  <div class="row proxy-rights">
2
- <div class="col-xs-6">
3
- <table class="table table-condensed table-striped" id="authorizedProxies">
2
+ <div class="col-6">
3
+ <table class="table table-sm table-striped" id="authorizedProxies">
4
4
  <tbody>
5
5
  <% if user.can_receive_deposits_from.count == 0 %>
6
6
  <%= t('hyrax.dashboard.no_proxies') %>
@@ -1,11 +1,11 @@
1
1
  <div class="clearfix proxy-rights">
2
2
  <div class="row">
3
- <div class="col-xs-12">
3
+ <div class="col-12">
4
4
  <p><%= t('hyrax.dashboard.proxy_help') %></p>
5
5
  </div>
6
6
  </div>
7
7
  <div class="row">
8
- <div class="col-xs-6 proxy-search">
8
+ <div class="col-6 proxy-search">
9
9
  <h2><%= t("hyrax.dashboard.authorize_proxies") %></h2>
10
10
  <div class="form-group">
11
11
  <label for="user"><%= t("hyrax.dashboard.proxy_user") %></label>
@@ -14,9 +14,9 @@
14
14
  </div>
15
15
  </div>
16
16
 
17
- <div class="col-xs-6">
17
+ <div class="col-6">
18
18
  <h2><%= t("hyrax.dashboard.current_proxies") %></h2>
19
- <table class="table table-condensed table-striped" id="authorizedProxies">
19
+ <table class="table table-sm table-striped" id="authorizedProxies">
20
20
  <tbody>
21
21
  <% user.can_receive_deposits_from.each do |depositor| %>
22
22
  <tr><td class="depositor-name"><%= depositor.name %></td>
@@ -1,8 +1,8 @@
1
1
  <div class="row">
2
- <div class="col-xs-12 col-sm-9">
2
+ <div class="col-12 col-sm-9">
3
3
  <h3><%= t("hyrax.dashboard.transfers_sent") %></h3>
4
4
  </div>
5
- <div class="col-xs-12 col-sm-3 transfer_link">
5
+ <div class="col-12 col-sm-3 transfer_link">
6
6
  <%= link_to hyrax.my_works_path do %>
7
7
  <%= t("hyrax.dashboard.transfer_works_link") %>
8
8
  <% end %>
@@ -1,30 +1,30 @@
1
- <div class="panel-heading">
2
- <h3 class="panel-title"><%= t('.title') %></h3>
3
- </div>
4
- <div class="panel-body text-center">
5
- <div id="dashboard-growth" aria-hidden="true" style="height: 200px">
6
- <% repository_growth = @presenter.repository_growth(@start_date.to_datetime, @end_date.to_datetime).to_json %>
7
- <script>
8
- //<![CDATA[
9
- Hyrax.statistics.repositoryGrowth = <%== repository_growth %>
10
- //]]>
11
- </script></div>
12
- <table aria-label="<%= t('.title') %>" class="table table-striped sr-only text-left">
13
- <thead>
14
- <tr>
15
- <th><%= t('.date') %></th>
16
- <th><%= t('.works') %></th>
17
- <th><%= t('.collections') %></th>
18
- </tr>
19
- </thead>
20
- <tbody>
21
- <% JSON.parse(repository_growth).each do |row| %>
1
+ <div class="card">
2
+ <div class="card-header"><%= t('.title') %></div>
3
+ <div class="card-body d-flex justify-content-center">
4
+ <div id="dashboard-growth" aria-hidden="true" style="height: 200px">
5
+ <% repository_growth = @presenter.repository_growth(@start_date.to_datetime, @end_date.to_datetime).to_json %>
6
+ <script>
7
+ //<![CDATA[
8
+ Hyrax.statistics.repositoryGrowth = <%== repository_growth %>
9
+ //]]>
10
+ </script></div>
11
+ <table aria-label="<%= t('.title') %>" class="table table-striped sr-only text-left">
12
+ <thead>
22
13
  <tr>
23
- <td><%= row["y"] %></td>
24
- <td><%= row["a"] %></td>
25
- <td><%= row["b"] %></td>
14
+ <th><%= t('.date') %></th>
15
+ <th><%= t('.works') %></th>
16
+ <th><%= t('.collections') %></th>
26
17
  </tr>
27
- <% end %>
28
- </tbody>
29
- </table>
30
- </div>
18
+ </thead>
19
+ <tbody>
20
+ <% JSON.parse(repository_growth).each do |row| %>
21
+ <tr>
22
+ <td><%= row["y"] %></td>
23
+ <td><%= row["a"] %></td>
24
+ <td><%= row["b"] %></td>
25
+ </tr>
26
+ <% end %>
27
+ </tbody>
28
+ </table>
29
+ </div>
30
+ </div>
@@ -1,8 +1,8 @@
1
- <div class="panel panel-default">
2
- <div class="panel-heading">
3
- <h3 class="panel-title"><%= t('.title') %></h3>
1
+ <div class="card">
2
+ <div class="card-header">
3
+ <%= t('.title') %>
4
4
  </div>
5
- <div class="panel-body">
5
+ <div class="card-body">
6
6
  <div id="dashboard-resource-types" aria-hidden="true" style="height: 200px">
7
7
  <% @resource_types = Hyrax::Statistic.resource_types %>
8
8
  <script>
@@ -1,8 +1,8 @@
1
1
  <% menu = Hyrax::MenuPresenter.new(self) %>
2
2
  <div class="sidebar-toggle"><span class="fa fa-chevron-circle-right"></span></div>
3
3
  <nav aria-label="sidebar-nav">
4
- <ul class="nav nav-pills nav-stacked">
5
- <li>
4
+ <ul class="nav nav-pills flex-column">
5
+ <li class="nav-item">
6
6
  <div class="profile">
7
7
  <div class="profile-image">
8
8
  <%= image_tag current_user.avatar.url(:thumb), width: 100 if current_user.avatar.present? %>
@@ -12,7 +12,7 @@
12
12
  </div>
13
13
  </div>
14
14
  </li>
15
- <li><%= link_to hyrax.dashboard_path do %>
15
+ <li class="nav-item"><%= link_to hyrax.dashboard_path, class: "nav-link" do %>
16
16
  <span class="fa fa-home" aria-hidden="true"></span> <span class="sidebar-action-text"><%= t('hyrax.admin.sidebar.dashboard') %></span>
17
17
  <% end %>
18
18
  </li>
@@ -1,11 +1,15 @@
1
1
  <!-- Nav tabs -->
2
2
  <ul class="nav nav-tabs" role="tablist">
3
- <li role="presentation" class="active"><a href="#admin_sets" aria-selected="true" role="tab" data-toggle="tab"><%= t('.admin_sets') %></a></li>
3
+ <li role="presentation" class="nav-item">
4
+ <a class="nav-link active" href="#admin_sets" aria-selected="true" role="tab" data-toggle="tab">
5
+ <%= t('.admin_sets') %>
6
+ </a>
7
+ </li>
4
8
  </ul>
5
9
 
6
10
  <!-- Tab panes -->
7
11
  <div class="tab-content">
8
- <div role="tabpanel" class="tab-pane active" id="admin_sets">
12
+ <div role="tabpanel" class="tab-pane show active" id="admin_sets">
9
13
  <%= render 'admin_sets' %>
10
14
  </div>
11
15
  </div>
@@ -1,22 +1,25 @@
1
- <div class="panel-heading">
2
- <h3 class="panel-title"><%= t('.title') %></h3>
3
- </div>
4
- <div class="panel-body text-center">
5
- <% if Hyrax.config.analytics? && Hyrax.config.analytics_provider != 'ga4' %>
6
- <%= render 'user_activity_graph' %>
1
+ <div class="card">
2
+ <div class="card-header">
3
+ <%= t('.title') %>
4
+ </div>
5
+ <div class="card-body d-flex justify-content-center">
6
+ <% if Hyrax.config.analytics? %>
7
+ <%= render 'user_activity_graph' %>
7
8
 
8
- <div class="col-md-3">
9
- <div class="panel panel-default">
10
- <div class="panel-heading">
11
- <h2 class="panel-title text-center"><%= t('.user_summary') %></h2>
12
- </div>
13
- <div class="panel-body text-center">
14
- <p><%= t('.registered_users') %>: <%= @presenter.user_count(@start_date.to_date, @end_date.to_date) %></p>
15
- <p><%= t('.new_visitors') %>: <%= Hyrax::Analytics.new_visitors('range', "#{@start_date},#{@end_date}") %></p>
16
- <p><%= t('.returning_visitors') %>: <%= Hyrax::Analytics.returning_visitors('range', "#{@start_date},#{@end_date}") %></p>
17
- <p><%= t('.total_visitors') %>: <%= Hyrax::Analytics.total_visitors('range', "#{@start_date},#{@end_date}") %></p>
9
+ <!-- FIXME: This is like embedded a card in a card...seems odd -->
10
+ <div class="col-md-3">
11
+ <div class="card">
12
+ <div class="card-header">
13
+ <h2 class="card-title text-center"><%= t('.user_summary') %></h2>
14
+ </div>
15
+ <div class="card-body text-center">
16
+ <p><%= t('.registered_users') %>: <%= @presenter.user_count(@start_date.to_date, @end_date.to_date) %></p>
17
+ <p><%= t('.new_visitors') %>: <%= Hyrax::Analytics.new_visitors('range', "#{@start_date},#{@end_date}") %></p>
18
+ <p><%= t('.returning_visitors') %>: <%= Hyrax::Analytics.returning_visitors('range', "#{@start_date},#{@end_date}") %></p>
19
+ <p><%= t('.total_visitors') %>: <%= Hyrax::Analytics.total_visitors('range', "#{@start_date},#{@end_date}") %></p>
20
+ </div>
18
21
  </div>
19
22
  </div>
20
- </div>
21
- <% end %>
22
- </div>
23
+ <% end %>
24
+ </div>
25
+ </div>
@@ -1,8 +1,8 @@
1
- <div class="panel panel-default">
2
- <div class="panel-heading">
3
- <h3 class="panel-title"><%= t('.visibility') %></h3>
1
+ <div class="card">
2
+ <div class="card-header">
3
+ <%= t('.visibility') %>
4
4
  </div>
5
- <div class="panel-body">
5
+ <div class="card-body">
6
6
  <% repository_objects = @presenter.repository_objects.to_json %>
7
7
  <div id="dashboard-repository-objects" aria-hidden="true" style="height: 200px">
8
8
  <script>
@@ -1,8 +1,8 @@
1
- <div class="panel panel-default">
2
- <div class="panel-heading">
3
- <h3 class="panel-title"><%= t('.title') %></h3>
1
+ <div class="card">
2
+ <div class="card-header">
3
+ <%= t('.title') %>
4
4
  </div>
5
- <div class="panel-body">
5
+ <div class="card-body">
6
6
  <div id="dashboard-work-types" aria-hidden="true" style="height: 200px">
7
7
  <% @work_types = Hyrax::Statistic.work_types %>
8
8
  <script>
@@ -1,3 +1,3 @@
1
- <li data-behavior="batch-edit-select-none" data-state="on"><a href="#"><i class="glyphicon glyphicon-ok"></i> Select None</a></li>
1
+ <li data-behavior="batch-edit-select-none" data-state="on"><a href="#"><i class="fa fa-check"></i> Select None</a></li>
2
2
  <li data-behavior="batch-edit-select-page" data-state="off"><a href="#"><i class=""></i> Select Current Page</a></li>
3
3
  <li><%= button_for_remove_selected_from_collection @collection %></li>
@@ -8,13 +8,13 @@
8
8
  <% unless bookmarked? document %>
9
9
 
10
10
  <%= form_tag(main_app.bookmark_path( document ), :method => :put, :class => "bookmark_toggle", "data-doc-id" => document.id, :'data-present' => t('blacklight.search.bookmarks.present'), :'data-absent' => t('blacklight.search.bookmarks.absent'), :'data-inprogress' => t('blacklight.search.bookmarks.inprogress')) do %>
11
- <%= submit_tag(t('blacklight.bookmarks.add.button'), :id => "bookmark_toggle_#{document.id.to_s.parameterize}", :class => "bookmark_add btn btn-default") %>
11
+ <%= submit_tag(t('blacklight.bookmarks.add.button'), :id => "bookmark_toggle_#{document.id.to_s.parameterize}", :class => "bookmark_add btn btn-secondary") %>
12
12
  <% end %>
13
13
 
14
14
  <% else %>
15
15
 
16
16
  <%= form_tag(main_app.bookmark_path( document ), :method => :delete, :class => "bookmark_toggle", "data-doc-id" => document.id, :'data-present' => t('blacklight.search.bookmarks.present'), :'data-absent' => t('blacklight.search.bookmarks.absent'), :'data-inprogress' => t('blacklight.search.bookmarks.inprogress')) do %>
17
- <%= submit_tag(t('blacklight.bookmarks.remove.button'), :id => "bookmark_toggle_#{document.id.to_s.parameterize}", :class => "bookmark_remove btn btn-default") %>
17
+ <%= submit_tag(t('blacklight.bookmarks.remove.button'), :id => "bookmark_toggle_#{document.id.to_s.parameterize}", :class => "bookmark_remove btn btn-secondary") %>
18
18
  <% end %>
19
19
 
20
20
  <% end %>
@@ -3,5 +3,5 @@
3
3
  <%= link_to t('hyrax.collection.actions.add_existing_works.label'),
4
4
  hyrax.my_works_path(add_works_to_collection: @form.id),
5
5
  title: t('hyrax.collection.actions.add_existing_works.desc'),
6
- class: 'btn btn-default' %>
6
+ class: 'btn btn-secondary' %>
7
7
  </div>
@@ -1,33 +1,41 @@
1
1
  <%= render "shared/nav_safety_modal" %>
2
- <div class="panel panel-default tabs" id="collection-edit-controls">
3
- <ul class="nav nav-tabs" role="tablist">
4
- <li class="active">
5
- <a href="#description" role="tab" data-toggle="tab" class="nav-safety-confirm"><%= t('.tabs.description') %></a>
2
+ <div class="tabs mt-4" id="collection-edit-controls">
3
+ <ul class="nav nav-tabs" id="dashboard-collection-tab" role="tablist">
4
+ <li class="nav-item">
5
+ <a href="#description" role="tab" data-toggle="tab" class="nav-link active nav-safety-confirm">
6
+ <%= t('.tabs.description') %>
7
+ </a>
6
8
  </li>
7
9
  <% if @form.persisted? %>
8
10
  <% if collection_brandable?(collection: @collection) %>
9
- <li>
10
- <a href="#branding" role="tab" data-toggle="tab" class="nav-safety-confirm"><%= t('.tabs.branding') %></a>
11
+ <li class="nav-item">
12
+ <a href="#branding" role="tab" data-toggle="tab" class="nav-link nav-safety-confirm">
13
+ <%= t('.tabs.branding') %>
14
+ </a>
11
15
  </li>
12
16
  <% end %>
13
17
  <% if collection_discoverable?(collection: @collection) %>
14
- <li>
15
- <a href="#discovery" role="tab" data-toggle="tab" class="nav-safety-confirm"><%= t('.tabs.discovery') %></a>
18
+ <li class="nav-item">
19
+ <a href="#discovery" role="tab" data-toggle="tab" class="nav-link nav-safety-confirm">
20
+ <%= t('.tabs.discovery') %>
21
+ </a>
16
22
  </li>
17
23
  <% end %>
18
24
  <% if collection_sharable?(collection: @collection) %>
19
- <li>
20
- <a href="#sharing" role="tab" data-toggle="tab" class="nav-safety-confirm"><%= t('.tabs.sharing') %></a>
25
+ <li class="nav-item">
26
+ <a href="#sharing" role="tab" data-toggle="tab" class="nav-link nav-safety-confirm">
27
+ <%= t('.tabs.sharing') %>
28
+ </a>
21
29
  </li>
22
30
  <% end %>
23
31
  <% end %>
24
32
  </ul>
25
33
 
26
34
  <%= simple_form_for @form, url: [hyrax, :dashboard, @form], html: { class: 'editor nav-safety', data: { behavior: 'collection-form', 'param-key' => @form.model_name.param_key } } do |f| %>
27
- <div class="tab-content">
28
- <div id="description" class="tab-pane active">
29
- <div class="panel panel-default labels">
30
- <div class="panel-body">
35
+ <div class="tab-content card" id="dashboard-collection-tab-content">
36
+ <div id="description" class="tab-pane show active">
37
+ <div class="labels">
38
+ <div class="card-body">
31
39
 
32
40
  <div id="base-terms">
33
41
  <% f.object.primary_terms.each do |term| %>
@@ -44,7 +52,7 @@
44
52
  <% if f.object.display_additional_fields? %>
45
53
  <%= link_to t('hyrax.collection.form.additional_fields'),
46
54
  '#extended-terms',
47
- class: 'btn btn-default additional-fields',
55
+ class: 'btn btn-secondary additional-fields',
48
56
  data: { toggle: 'collapse' },
49
57
  role: "button",
50
58
  'aria-expanded'=> "false",
@@ -74,8 +82,8 @@
74
82
  <% if @form.persisted? %>
75
83
  <% if collection_brandable?(collection: @collection) %>
76
84
  <div id="branding" class="tab-pane">
77
- <div class="panel panel-default labels">
78
- <div class="panel-body">
85
+ <div class="card labels">
86
+ <div class="card-body">
79
87
  <%= render 'form_branding', f: f %>
80
88
  </div>
81
89
  </div>
@@ -84,8 +92,8 @@
84
92
 
85
93
  <% if collection_discoverable?(collection: @collection) %>
86
94
  <div id="discovery" class="tab-pane">
87
- <div class="panel panel-default labels">
88
- <div class="panel-body">
95
+ <div class="card labels">
96
+ <div class="card-body">
89
97
  <%= render 'form_discovery', f: f %>
90
98
  </div>
91
99
  </div>
@@ -94,8 +102,8 @@
94
102
 
95
103
  <% if collection_sharable?(collection: @collection) %>
96
104
  <div id="sharing" class="tab-pane">
97
- <div class="panel panel-default labels" id="collection_permissions" data-param-key="<%= f.object.model_name.param_key %>">
98
- <div class="panel-body">
105
+ <div class="card labels" id="collection_permissions" data-param-key="<%= f.object.model_name.param_key %>">
106
+ <div class="card-body">
99
107
  <%= render 'form_share', f: f %>
100
108
  </div>
101
109
  </div>
@@ -103,7 +111,7 @@
103
111
  <% end %>
104
112
  <% end %>
105
113
 
106
- <div class="panel-footer">
114
+ <div class="card-footer">
107
115
  <% if @collection.persisted? %>
108
116
  <%= f.submit t(:'hyrax.collection.select_form.update'), class: 'btn btn-primary', onclick: "confirmation_needed = false;", id: "update_submit", name: "update_collection" %>
109
117
  <%= link_to t(:'helpers.action.cancel'), hyrax.dashboard_collection_path(@collection), class: 'btn btn-link' %>
@@ -11,28 +11,28 @@
11
11
 
12
12
  <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
13
13
  <div class="row fileupload-buttonbar">
14
- <div class="col-xs-4">
14
+ <div class="col-4">
15
15
  <!-- The fileinput-button span is used to style the file input field as button -->
16
16
  <span class="btn btn-success fileinput-button">
17
- <span class="glyphicon glyphicon-plus"></span>
17
+ <span class="fa fa-plus"></span>
18
18
  <span><%= t('.choose_file') %></span>
19
19
  <input type="file" name="files[]" single />
20
20
  </span>
21
- </div> <!-- end col-xs-4 -->
21
+ </div> <!-- end col-4 -->
22
22
 
23
23
  <!-- The global progress state -->
24
- <div class="col-xs-8 fileupload-progress branding-banner-progress fade">
24
+ <div class="col-8 fileupload-progress branding-banner-progress fade">
25
25
  <!-- The global progress bar -->
26
- <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
27
- <div class="progress-bar progress-bar-success" style="width:0%;"></div>
26
+ <div class="progress" role="progressbar" aria-valuemin="0" aria-valuemax="100">
27
+ <div class="progress-bar progress-bar-striped progress-bar-animated bg-success" style="width:0%;"></div>
28
28
  </div>
29
29
  <!-- The extended global progress state -->
30
30
  <div class="progress-extended">&nbsp;</div>
31
- </div> <!-- end col-xs-5 fileupload-progress fade -->
31
+ </div> <!-- end col-8 fileupload-progress fade -->
32
32
  </div> <!-- end row fileupload-buttonbar -->
33
33
 
34
34
  <div class="row branding-banner-list">
35
- <div class="col-xs-12">
35
+ <div class="col-12">
36
36
  <div class="container">
37
37
  <%# Where the request to display the branding comes from. %>
38
38
  <% if f.object.banner_info[:file] %>
@@ -47,7 +47,7 @@
47
47
 
48
48
  <div class="col-sm-2">
49
49
  <button class="btn btn-danger delete branding-banner-remove" data-type="DELETE" data-url="/" onclick=$("#banner").remove();>
50
- <span class="glyphicon glyphicon-remove"></span>
50
+ <span class="fa fa-times"></span>
51
51
  <span class="controls-remove-text"><%= t('.remove') %></span>
52
52
  <span class="sr-only">
53
53
  <%= t('.previous') %>
@@ -89,28 +89,28 @@
89
89
 
90
90
  <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
91
91
  <div class="row fileupload-buttonbar">
92
- <div class="col-xs-4">
92
+ <div class="col-4">
93
93
  <!-- The fileinput-button span is used to style the file input field as button -->
94
94
  <span class="btn btn-success fileinput-button">
95
- <span class="glyphicon glyphicon-plus"></span>
95
+ <span class="fa fa-plus"></span>
96
96
  <span><%= t('.choose_file') %></span>
97
97
  <input type="file" name="files[]" single />
98
98
  </span>
99
- </div> <!-- end col-xs-4 -->
99
+ </div> <!-- end col-4 -->
100
100
 
101
101
  <!-- The global progress state -->
102
- <div class="col-xs-8 fileupload-progress branding-logo-progress fade">
102
+ <div class="col-8 fileupload-progress branding-logo-progress fade">
103
103
  <!-- The global progress bar -->
104
- <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
105
- <div class="progress-bar progress-bar-success" style="width:0%;"></div>
104
+ <div class="progress" role="progressbar" aria-valuemin="0" aria-valuemax="100">
105
+ <div class="progress-bar progress-bar-striped progress-bar-animated bg-success" style="width:0%;"></div>
106
106
  </div>
107
107
  <!-- The extended global progress state -->
108
108
  <div class="progress-extended">&nbsp;</div>
109
- </div> <!-- end col-xs-8 fileupload-progress branding-logo-progress fade -->
109
+ </div> <!-- end col-8 fileupload-progress branding-logo-progress fade -->
110
110
  </div> <!-- end row fileupload-buttonbar -->
111
111
 
112
112
  <div class="row branding-logo-list">
113
- <div class="col-xs-12">
113
+ <div class="col-12">
114
114
  <div class="container">
115
115
  <% i = 0 %>
116
116
  <% f.object.logo_info.each_with_index do |linfo, i| %>
@@ -133,7 +133,7 @@
133
133
 
134
134
  <div class="col-sm-2">
135
135
  <button class="btn btn-danger delete branding-logo-remove" data-type="DELETE" data-url="/" onclick=$("#logorow_<%= i %>").remove();>
136
- <span class="glyphicon glyphicon-remove"></span>
136
+ <span class="fa fa-times"></span>
137
137
  <span class="controls-remove-text"><%= t('.remove') %></span>
138
138
  <span class="sr-only">
139
139
  <%= t('.previous') %>
@@ -148,7 +148,7 @@
148
148
 
149
149
  <!-- The global file processing state -->
150
150
  <span class="fileupload-process"></span>
151
- </div> <!-- end col-xs-12 -->
151
+ </div> <!-- end col-12 -->
152
152
  </div> <!-- end row branding-logo-list -->
153
153
  </div> <!-- end fileuploadlogo -->
154
154
  </div> <!-- end set-access-controls -->
@@ -3,16 +3,20 @@
3
3
  <p><%= t('.para1') %></p>
4
4
  <p><%= t('.para2') %></p>
5
5
 
6
- <div class="form-group">
7
- <label class="radio">
6
+ <div class="form-check">
7
+ <label class="form-check-label">
8
8
  <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC %>
9
9
  <strong><%= t('hyrax.visibility.open.text') %></strong> - <%= t('hyrax.visibility.open.note_html') %>
10
10
  </label>
11
- <label class="radio">
11
+ </div>
12
+ <div class="form-check">
13
+ <label class="form-check-label">
12
14
  <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED %>
13
15
  <strong><%= t('hyrax.visibility.authenticated.text', institution: institution_name) %></strong> - <%= t('hyrax.visibility.authenticated.note_html', institution: institution_name) %>
14
16
  </label>
15
- <label class="radio">
17
+ </div>
18
+ <div class="form-check">
19
+ <label class="form-check-label">
16
20
  <%= f.radio_button :visibility, Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE %>
17
21
  <strong><%= t('hyrax.visibility.restricted.text') %></strong>- <%= t('hyrax.visibility.restricted.note_html') %>
18
22
  </label>