sufia 7.2.0 → 7.3.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (259) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +2 -0
  3. data/.rubocop.yml +3 -0
  4. data/.rubocop_todo.yml +1 -2
  5. data/.travis.yml +0 -1
  6. data/Gemfile +2 -1
  7. data/README.md +23 -106
  8. data/app/actors/sufia/apply_permission_template_actor.rb +19 -0
  9. data/app/actors/sufia/create_with_remote_files_actor.rb +2 -2
  10. data/app/actors/sufia/default_admin_set_actor.rb +42 -0
  11. data/app/actors/sufia/interpret_visibility_actor.rb +115 -0
  12. data/app/assets/images/collection.png +0 -0
  13. data/app/assets/javascripts/sufia.js +6 -0
  14. data/app/assets/javascripts/sufia/admin/admin_set/participants.es6 +9 -0
  15. data/app/assets/javascripts/sufia/admin/admin_set/visibility.es6 +134 -0
  16. data/app/assets/javascripts/sufia/admin/admin_set_controls.es6 +11 -0
  17. data/app/assets/javascripts/sufia/app.js +27 -5
  18. data/app/assets/javascripts/sufia/autocomplete.es6 +15 -0
  19. data/app/assets/javascripts/sufia/autocomplete/work.es6 +29 -0
  20. data/app/assets/javascripts/sufia/dashboard_actions.js +2 -4
  21. data/app/assets/javascripts/sufia/save_work/save_work_control.es6 +14 -2
  22. data/app/assets/javascripts/sufia/save_work/uploaded_files.es6 +7 -2
  23. data/app/assets/javascripts/sufia/save_work/visibility_component.es6 +245 -4
  24. data/app/assets/javascripts/sufia/select_work_type.es6 +38 -0
  25. data/app/assets/javascripts/sufia/workflow_actions_affix.js +14 -0
  26. data/app/assets/stylesheets/sufia/_dashboard.scss +50 -29
  27. data/app/assets/stylesheets/sufia/_footer.scss +30 -0
  28. data/app/assets/stylesheets/sufia/_header.scss +3 -4
  29. data/app/assets/stylesheets/sufia/_home-page.scss +10 -8
  30. data/app/assets/stylesheets/sufia/_select_work_type.scss +43 -0
  31. data/app/assets/stylesheets/sufia/_sufia.scss +4 -1
  32. data/app/assets/stylesheets/sufia/_variables.scss +3 -0
  33. data/app/assets/stylesheets/sufia/admin.scss +66 -169
  34. data/app/assets/stylesheets/sufia/blacklight_gallery.scss +17 -0
  35. data/app/authorities/qa/authorities/find_works.rb +15 -0
  36. data/app/controllers/concerns/sufia/batch_edits_controller_behavior.rb +2 -1
  37. data/app/controllers/concerns/sufia/batch_uploads_controller_behavior.rb +26 -13
  38. data/app/controllers/concerns/sufia/collections_controller_behavior.rb +25 -0
  39. data/app/controllers/concerns/sufia/controller.rb +8 -0
  40. data/app/controllers/concerns/sufia/deny_access_override_behavior.rb +1 -1
  41. data/app/controllers/concerns/sufia/file_sets_controller_behavior.rb +5 -14
  42. data/app/controllers/concerns/sufia/homepage_controller_behavior.rb +2 -0
  43. data/app/controllers/concerns/sufia/users_controller_behavior.rb +18 -7
  44. data/app/controllers/concerns/sufia/works_controller_behavior.rb +13 -10
  45. data/app/controllers/my/collections_controller.rb +5 -0
  46. data/app/controllers/my/shares_controller.rb +5 -0
  47. data/app/controllers/my/works_controller.rb +5 -0
  48. data/app/controllers/stats_controller.rb +1 -1
  49. data/app/controllers/sufia/admin/admin_sets_controller.rb +20 -2
  50. data/app/controllers/sufia/admin/permission_template_accesses_controller.rb +15 -0
  51. data/app/controllers/sufia/admin/permission_templates_controller.rb +29 -0
  52. data/app/controllers/sufia/admin_controller.rb +2 -0
  53. data/app/controllers/sufia/trophies_controller.rb +0 -2
  54. data/app/forms/sufia/forms/admin_set_form.rb +19 -0
  55. data/app/forms/sufia/forms/batch_edit_form.rb +16 -6
  56. data/app/forms/sufia/forms/batch_upload_form.rb +3 -2
  57. data/app/forms/sufia/forms/permission_template_form.rb +115 -0
  58. data/app/forms/sufia/forms/work_form.rb +6 -0
  59. data/app/helpers/batch_edits_helper.rb +1 -1
  60. data/app/helpers/sufia/citations_behavior.rb +0 -5
  61. data/app/helpers/sufia/citations_behaviors/formatters.rb +0 -1
  62. data/app/helpers/sufia/sufia_helper_behavior.rb +38 -6
  63. data/app/indexers/sufia/collection_indexer.rb +6 -0
  64. data/app/jobs/batch_create_job.rb +7 -15
  65. data/app/models/batch_upload_item.rb +2 -0
  66. data/app/models/concerns/sufia/ability.rb +12 -1
  67. data/app/models/sufia/permission_template.rb +102 -0
  68. data/app/models/sufia/permission_template_access.rb +18 -0
  69. data/app/presenters/sufia/admin_set_presenter.rb +1 -1
  70. data/app/presenters/sufia/model_icon.rb +7 -0
  71. data/app/presenters/sufia/select_type_list_presenter.rb +37 -0
  72. data/app/presenters/sufia/select_type_presenter.rb +35 -0
  73. data/app/presenters/sufia/work_show_presenter.rb +0 -2
  74. data/app/search_builders/collection_search_builder.rb +0 -2
  75. data/app/search_builders/sufia/admin_set_search_builder.rb +24 -0
  76. data/app/search_builders/sufia/catalog_search_builder.rb +10 -4
  77. data/app/search_builders/sufia/find_works_search_builder.rb +44 -0
  78. data/app/search_builders/sufia/my_search_builder_behavior.rb +0 -4
  79. data/app/search_builders/sufia/my_works_search_builder.rb +1 -1
  80. data/app/services/sufia/actor_factory.rb +6 -2
  81. data/app/services/sufia/admin_set_create_service.rb +22 -0
  82. data/app/services/sufia/admin_set_service.rb +46 -16
  83. data/app/services/sufia/collection_thumbnail_path_service.rb +10 -0
  84. data/app/services/sufia/workflow/abstract_notification.rb +39 -0
  85. data/app/services/sufia/workflow/changes_required_notification.rb +22 -0
  86. data/app/services/sufia/workflow/complete_notification.rb +22 -0
  87. data/app/services/sufia/workflow/pending_review_notification.rb +21 -0
  88. data/app/services/sufia/workflow/workflow_by_admin_set_strategy.rb +15 -0
  89. data/app/views/_masthead.html.erb +4 -4
  90. data/app/views/_toolbar.html.erb +31 -9
  91. data/app/views/_user_util_links.html.erb +7 -7
  92. data/app/views/batch_edits/edit.html.erb +24 -12
  93. data/app/views/catalog/_thumbnail_list_collection.html.erb +1 -1
  94. data/app/views/collections/_form.html.erb +2 -2
  95. data/app/views/collections/_media_display.html.erb +1 -1
  96. data/app/views/curation_concerns/base/_find_work_widget.html.erb +16 -0
  97. data/app/views/curation_concerns/base/_form.html.erb +6 -0
  98. data/app/views/curation_concerns/base/_form_child_work_relationships.html.erb +1 -1
  99. data/app/views/curation_concerns/base/_form_metadata.html.erb +1 -1
  100. data/app/views/curation_concerns/base/_form_parent_work_relationships.html.erb +43 -0
  101. data/app/views/curation_concerns/base/_form_progress.html.erb +7 -4
  102. data/app/views/curation_concerns/base/_form_relationships.html.erb +6 -6
  103. data/app/views/curation_concerns/base/_form_share.html.erb +1 -2
  104. data/app/views/curation_concerns/base/_guts4form.html.erb +1 -1
  105. data/app/views/curation_concerns/base/_social_media.html.erb +1 -1
  106. data/app/views/curation_concerns/base/_workflow_actions_widget.erb +3 -0
  107. data/app/views/curation_concerns/base/edit.html.erb +1 -1
  108. data/app/views/curation_concerns/base/new.html.erb +1 -1
  109. data/app/views/curation_concerns/base/show.html.erb +4 -1
  110. data/app/views/curation_concerns/file_sets/_show_actions.html.erb +0 -3
  111. data/app/views/dashboard/_create_work_action.html.erb +20 -0
  112. data/app/views/dashboard/_index_partials/_heading_actions.html.erb +9 -22
  113. data/app/views/layouts/admin.html.erb +8 -68
  114. data/app/views/layouts/curation_concerns/1_column.html.erb +4 -31
  115. data/app/views/layouts/homepage.html.erb +15 -45
  116. data/app/views/layouts/sufia-dashboard.html.erb +1 -36
  117. data/app/views/layouts/sufia.html.erb +49 -0
  118. data/app/views/my/_document_list.html.erb +1 -1
  119. data/app/views/my/_facet_limit.html.erb +2 -2
  120. data/app/views/my/_index_partials/_default_group.html.erb +10 -10
  121. data/app/views/my/_index_partials/_list_collections.html.erb +1 -1
  122. data/app/views/my/_sort_and_per_page.html.erb +8 -8
  123. data/app/views/records/edit_fields/_rights.html.erb +0 -1
  124. data/app/views/shared/_footer.html.erb +1 -1
  125. data/app/views/shared/_select_work_type_modal.html.erb +34 -0
  126. data/app/views/sufia/admin/_collections.html.erb +31 -0
  127. data/app/views/sufia/admin/_sidebar.html.erb +35 -23
  128. data/app/views/sufia/admin/admin_sets/_form.html.erb +38 -15
  129. data/app/views/sufia/admin/admin_sets/_form_metadata.html.erb +2 -0
  130. data/app/views/sufia/admin/admin_sets/_form_participant_table.html.erb +21 -0
  131. data/app/views/sufia/admin/admin_sets/_form_participants.html.erb +68 -0
  132. data/app/views/sufia/admin/admin_sets/_form_visibility.html.erb +58 -0
  133. data/app/views/sufia/admin/admin_sets/index.html.erb +29 -33
  134. data/app/views/sufia/admin/admin_sets/show.html.erb +3 -0
  135. data/app/views/sufia/admin/show.html.erb +22 -19
  136. data/app/views/sufia/batch_uploads/_form.html.erb +2 -1
  137. data/app/views/sufia/homepage/index.html.erb +11 -3
  138. data/app/views/sufia/uploads/_js_templates.html.erb +15 -11
  139. data/app/views/users/_user_row.html.erb +10 -0
  140. data/app/views/users/index.html.erb +1 -12
  141. data/config/features.rb +2 -0
  142. data/config/locales/sufia.en.yml +122 -37
  143. data/config/routes.rb +4 -1
  144. data/db/migrate/20161021175854_create_permission_template.rb +11 -0
  145. data/db/migrate/20161021180154_create_permission_template_access.rb +11 -0
  146. data/db/migrate/20161116222307_add_release_to_permission_templates.rb +6 -0
  147. data/lib/generators/sufia/install_generator.rb +12 -3
  148. data/lib/generators/sufia/templates/catalog_controller.rb +3 -13
  149. data/lib/generators/sufia/templates/workflow.json.erb +65 -0
  150. data/lib/generators/sufia/upgrade700_generator.rb +1 -1
  151. data/lib/generators/sufia/work/templates/locale.en.yml.erb +37 -0
  152. data/lib/generators/sufia/{work_generator.rb → work/work_generator.rb} +25 -5
  153. data/lib/sufia.rb +0 -1
  154. data/lib/sufia/engine.rb +7 -0
  155. data/lib/sufia/move_all_works_to_admin_set.rb +8 -0
  156. data/lib/sufia/version.rb +1 -1
  157. data/lib/tasks/migrate.rake +8 -0
  158. data/spec/actors/sufia/apply_permission_template_actor_spec.rb +64 -0
  159. data/spec/actors/sufia/create_with_remote_files_actor_spec.rb +8 -0
  160. data/spec/actors/sufia/default_admin_set_actor_spec.rb +43 -0
  161. data/spec/actors/sufia/interpret_visibility_actor_spec.rb +266 -0
  162. data/spec/authorities/qa/authorities/find_works_spec.rb +55 -0
  163. data/spec/controllers/batch_edits_controller_spec.rb +1 -6
  164. data/spec/controllers/citations_controller_spec.rb +49 -10
  165. data/spec/controllers/collections_controller_spec.rb +39 -0
  166. data/spec/controllers/curation_concerns/generic_works_controller_spec.rb +22 -1
  167. data/spec/controllers/dashboard_controller_spec.rb +0 -8
  168. data/spec/controllers/depositors_controller_spec.rb +2 -2
  169. data/spec/controllers/downloads_controller_spec.rb +2 -2
  170. data/spec/controllers/my/collections_controller_spec.rb +5 -0
  171. data/spec/controllers/my/shares_controller_spec.rb +5 -0
  172. data/spec/controllers/my/works_controller_spec.rb +5 -0
  173. data/spec/controllers/stats_controller_spec.rb +1 -1
  174. data/spec/controllers/sufia/admin/admin_sets_controller_spec.rb +33 -5
  175. data/spec/controllers/sufia/admin/permission_template_accesses_controller_spec.rb +36 -0
  176. data/spec/controllers/sufia/admin/permission_templates_controller_spec.rb +46 -0
  177. data/spec/controllers/sufia/admin_controller_spec.rb +6 -0
  178. data/spec/controllers/sufia/batch_uploads_controller_spec.rb +40 -42
  179. data/spec/controllers/sufia/homepage_controller_spec.rb +14 -0
  180. data/spec/controllers/sufia/trophies_controller_spec.rb +17 -4
  181. data/spec/controllers/users_controller_spec.rb +13 -4
  182. data/spec/factories/permission_template_accesses.rb +5 -0
  183. data/spec/factories/permission_templates.rb +5 -0
  184. data/spec/factories/sipity_entities.rb +7 -0
  185. data/spec/factories/users.rb +4 -0
  186. data/spec/factories/workflow_states.rb +6 -0
  187. data/spec/factories/workflows.rb +5 -0
  188. data/spec/features/admin_admin_set_spec.rb +6 -4
  189. data/spec/features/batch_edit_spec.rb +0 -1
  190. data/spec/features/collection_spec.rb +4 -4
  191. data/spec/features/edit_work_spec.rb +1 -0
  192. data/spec/features/work_show_spec.rb +10 -0
  193. data/spec/forms/sufia/forms/admin_set_form_spec.rb +2 -1
  194. data/spec/forms/sufia/forms/batch_edit_form_spec.rb +30 -0
  195. data/spec/forms/sufia/forms/permission_template_form_spec.rb +196 -0
  196. data/spec/forms/sufia/forms/work_form_spec.rb +35 -1
  197. data/spec/helpers/batch_edits_helper_spec.rb +4 -4
  198. data/spec/helpers/blacklight_helper_spec.rb +1 -1
  199. data/spec/helpers/sufia_helper_spec.rb +39 -7
  200. data/spec/indexers/sufia/collection_indexer_spec.rb +12 -0
  201. data/spec/javascripts/autocomplete_spec.js.coffee +46 -6
  202. data/spec/javascripts/visibility_component_spec.js +491 -0
  203. data/spec/jobs/batch_create_job_spec.rb +27 -28
  204. data/spec/lib/sufia/arkivo_spec.rb +14 -0
  205. data/spec/lib/sufia/controlled_vocabulary/importer/downloader_spec.rb +31 -0
  206. data/spec/lib/sufia/move_all_works_to_admin_set_spec.rb +13 -0
  207. data/spec/lib/sufia/zotero_spec.rb +8 -0
  208. data/spec/models/sufia/ability_spec.rb +54 -14
  209. data/spec/models/sufia/permission_template_spec.rb +144 -0
  210. data/spec/models/sufia/user_usage_stats_spec.rb +8 -2
  211. data/spec/presenters/sufia/homepage_presenter_spec.rb +1 -1
  212. data/spec/presenters/sufia/select_type_list_presenter_spec.rb +26 -0
  213. data/spec/presenters/sufia/select_type_presenter_spec.rb +21 -0
  214. data/spec/search_builder/sufia/admin_set_search_builder_spec.rb +57 -0
  215. data/spec/search_builder/sufia/catalog_search_builder_spec.rb +40 -14
  216. data/spec/search_builder/sufia/find_works_search_builder_spec.rb +60 -0
  217. data/spec/search_builder/sufia/my_shares_search_builder_spec.rb +4 -1
  218. data/spec/search_builder/sufia/single_admin_set_search_builder_spec.rb +5 -1
  219. data/spec/services/sufia/actor_factory_spec.rb +13 -5
  220. data/spec/services/sufia/admin_set_create_service_spec.rb +27 -0
  221. data/spec/services/sufia/admin_set_service_spec.rb +104 -17
  222. data/spec/services/sufia/workflow/changes_required_notification_spec.rb +32 -0
  223. data/spec/services/sufia/workflow/complete_notification_spec.rb +32 -0
  224. data/spec/services/sufia/workflow/pending_review_notification_spec.rb +31 -0
  225. data/spec/services/sufia/workflow/workflow_by_admin_set_strategy_spec.rb +22 -0
  226. data/spec/spec_helper.rb +24 -5
  227. data/spec/support/proxies.rb +1 -1
  228. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -0
  229. data/spec/views/_toolbar.html.erb_spec.rb +23 -6
  230. data/spec/views/batch_edits/edit.html.erb_spec.rb +7 -1
  231. data/spec/views/collections/_form_for_select_collection.html.erb_spec.rb +1 -3
  232. data/spec/views/curation_concerns/base/_find_work_widget.html.erb_spec.rb +22 -0
  233. data/spec/views/curation_concerns/base/_form.html.erb_spec.rb +7 -0
  234. data/spec/views/curation_concerns/base/_form_child_work_relationships.html.erb_spec.rb +1 -0
  235. data/spec/views/curation_concerns/base/_form_parent_work_relationships.html.erb_spec.rb +114 -0
  236. data/spec/views/curation_concerns/base/_form_progress.html.erb_spec.rb +3 -2
  237. data/spec/views/curation_concerns/base/_social_media.html.erb_spec.rb +1 -1
  238. data/spec/views/curation_concerns/base/edit.html.erb_spec.rb +1 -1
  239. data/spec/views/curation_concerns/base/show.html.erb_spec.rb +5 -1
  240. data/spec/views/curation_concerns/file_sets/_show_actions.html.erb_spec.rb +2 -2
  241. data/spec/views/dashboard/create_work_action.html.erb_spec.rb +27 -0
  242. data/spec/views/dashboard/index_spec.rb +7 -2
  243. data/spec/views/my/_sort_and_per_page.html.erb_spec.rb +33 -0
  244. data/spec/views/shared/select_work_type_modal.html.erb_spec.rb +32 -0
  245. data/spec/views/sufia/admin/admin_sets/_form.html.erb_spec.rb +18 -0
  246. data/spec/views/sufia/admin/admin_sets/_form_participants.html.erb_spec.rb +13 -0
  247. data/spec/views/sufia/admin/admin_sets/_form_visibility.html.erb_spec.rb +23 -0
  248. data/spec/views/sufia/batch_uploads/_form.html.erb_spec.rb +2 -12
  249. data/spec/views/sufia/homepage/index.html.erb_spec.rb +29 -8
  250. data/sufia.gemspec +5 -6
  251. data/tasks/sufia-dev.rake +6 -10
  252. data/template.rb +15 -0
  253. metadata +140 -28
  254. data/app/assets/stylesheets/sufia/widgets.css +0 -288
  255. data/app/helpers/sufia/citations_behaviors/formatters/endnote_formatter.rb +0 -49
  256. data/app/models/domain_term.rb +0 -4
  257. data/app/views/citations/file.html.erb +0 -0
  258. data/app/views/records/_rights_modal.html.erb +0 -1
  259. data/db/migrate/20160328222160_create_local_authorities.rb +0 -50
@@ -0,0 +1,38 @@
1
+ export default class SelectWorkType {
2
+ /**
3
+ * Initializes the class in the context of an individual table element
4
+ * @param {jQuery} element the table element that this class represents
5
+ */
6
+ constructor(element) {
7
+ this.$element = element;
8
+ this.target = element.data('target')
9
+ this.modal = $(this.target);
10
+ this.form = this.modal.find('form.new-work-select')
11
+
12
+ // launch the modal.
13
+ element.on('click', (e) => {
14
+ e.preventDefault();
15
+ this.modal.modal();
16
+ // ensure the type is set for the last clicked element
17
+ this.type = element.data('create-type')
18
+ // add custom routing logic when the modal is shown
19
+ this.form.on('submit', this.routingLogic.bind(this));
20
+ });
21
+
22
+ // remove the routing logic when the modal is hidden
23
+ this.modal.on('hide.bs.modal', (e) => {
24
+ this.form.unbind('submit')
25
+ });
26
+ }
27
+
28
+ // when the form is submitted route to the correct location
29
+ routingLogic(e) {
30
+ e.preventDefault();
31
+ // get the destination from the data attribute of the selected radio button
32
+ window.location.href = this.destination()
33
+ }
34
+
35
+ destination() {
36
+ return this.form.find('input[type="radio"]:checked').data(this.type)
37
+ }
38
+ }
@@ -0,0 +1,14 @@
1
+ Blacklight.onLoad(function() {
2
+ if ($('.workflow-actions').length) {
3
+ $(document).on('scroll', function() {
4
+ var workflowDiv = $('#workflow_controls');
5
+ var workflowDivPos = $('.workflow-actions').offset().top + $('#workflow_controls').height();
6
+ workflowDiv.removeClass('workflow-affix');
7
+ if(workflowDivPos > ($(window).scrollTop() + $(window).height())){
8
+ workflowDiv.addClass('workflow-affix');
9
+ } else {
10
+ workflowDiv.removeClass('workflow-affix');
11
+ }
12
+ });
13
+ }
14
+ });
@@ -11,15 +11,12 @@
11
11
  }
12
12
  }
13
13
 
14
- .heading-tile {
15
- border: 0;
16
- }
17
-
18
14
  .heading-row {
19
15
  border: 0;
20
16
  }
21
17
 
22
- #content-header .heading-row:nth-child(2) {
18
+ .heading-tile {
19
+ border: 0;
23
20
  padding-top: .5em;
24
21
  a:link,
25
22
  a:visited {
@@ -37,31 +34,30 @@
37
34
  transition-duration: .35s;
38
35
  transition-timing-function: ease-out;
39
36
  }
40
- }
41
-
42
- div.heading-tile .glyphicon {
43
- background: $icon-background-color;
44
- color: $icon-font-color;
45
- display: block;
46
- width: 2em;
47
- height: 2em;
48
- line-height: 1.75em;
49
- margin: 0 auto;
50
- border-radius: 50%;
51
- border: 2px solid $icon-border-color;
52
- overflow: hidden;
53
- transition-property: background-color, color;
54
- transition-duration: .35s;
55
- transition-timing-function: ease-out;
56
- }
37
+ .glyphicon {
38
+ background: $icon-background-color;
39
+ color: $icon-font-color;
40
+ display: block;
41
+ width: 2em;
42
+ height: 2em;
43
+ line-height: 1.75em;
44
+ margin: 0 auto;
45
+ border-radius: 50%;
46
+ border: 2px solid $icon-border-color;
47
+ overflow: hidden;
48
+ transition-property: background-color, color;
49
+ transition-duration: .35s;
50
+ transition-timing-function: ease-out;
51
+ }
57
52
 
58
- div.heading-tile:hover .glyphicon {
59
- background-color: $icon-background-color-hover;
60
- border-color: $icon-border-color-hover;
61
- color: $icon-font-color-hover;
62
- transition-property: background-color, color;
63
- transition-duration: .35s;
64
- transition-timing-function: ease-out;
53
+ &:hover .glyphicon {
54
+ background-color: $icon-background-color-hover;
55
+ border-color: $icon-border-color-hover;
56
+ color: $icon-font-color-hover;
57
+ transition-property: background-color, color;
58
+ transition-duration: .35s;
59
+ transition-timing-function: ease-out;
60
+ }
65
61
  }
66
62
 
67
63
  .panel-body h4 {
@@ -120,3 +116,28 @@ div.heading-tile:hover .glyphicon {
120
116
  margin-top: $padding-small-vertical;
121
117
  }
122
118
  }
119
+
120
+ // submenu items
121
+ ul.collapse > li > a,
122
+ ul.collapsing > li > a {
123
+ padding-left: 40px;
124
+ }
125
+
126
+ .collapse-toggle {
127
+ margin-bottom: 0;
128
+
129
+ &::after {
130
+ content: "❯";
131
+ float: right;
132
+ transform: rotate(90deg);
133
+ }
134
+
135
+ &.collapsed {
136
+ border-bottom: 0;
137
+
138
+ &::after {
139
+ transform: rotate(0deg);
140
+ transition: transform 0.1s ease;
141
+ }
142
+ }
143
+ }
@@ -0,0 +1,30 @@
1
+ // Styles below keep footer at bottom of viewport
2
+ html {
3
+ position: relative;
4
+ min-height: 100%;
5
+ }
6
+
7
+ body {
8
+ margin-bottom: $footer-height + $footer-top-margin;
9
+ }
10
+
11
+ .site-footer {
12
+ margin-top: $footer-top-margin;
13
+ padding: 10px;
14
+
15
+ // Styles below keep footer at bottom of viewport
16
+ position: absolute;
17
+ bottom: 0;
18
+ height: $footer-height;
19
+ width: 100%;
20
+ }
21
+
22
+ @media (max-width: $screen-sm) {
23
+ // make more room in the footer for mobile devices
24
+ body {
25
+ margin-bottom: 2 * $footer-height + $footer-top-margin;
26
+ }
27
+ .site-footer {
28
+ height: 2 * $footer-height;
29
+ }
30
+ }
@@ -4,12 +4,11 @@
4
4
 
5
5
  #masthead {
6
6
  z-index: $zindex-navbar + 1;
7
- margin-bottom: 0;
8
- margin-top: 0;
9
7
  }
10
8
 
11
- .navbar + .navbar {
12
- margin-top: 0;
9
+ .navbar + .navbar,
10
+ .navbar + .image-masthead {
11
+ margin-top: -1 * $navbar-margin-bottom;
13
12
  }
14
13
 
15
14
  .searchbar-right {
@@ -42,14 +42,16 @@
42
42
  background-color: $navbar-transparent-bg;
43
43
  margin-bottom: 0;
44
44
 
45
- li > a {
46
- color: $navbar-transparent-link-color;
47
- text-transform: uppercase;
48
-
49
- &:hover,
50
- &:focus {
51
- background-color: $navbar-transparent-link-hover-bg;
52
- color: $navbar-transparent-link-hover-color;
45
+ .navbar-nav {
46
+ a {
47
+ color: $navbar-transparent-link-color;
48
+ text-transform: uppercase;
49
+
50
+ &:hover,
51
+ &:focus {
52
+ background-color: $navbar-transparent-link-hover-bg;
53
+ color: $navbar-transparent-link-hover-color;
54
+ }
53
55
  }
54
56
  }
55
57
 
@@ -0,0 +1,43 @@
1
+ .select-worktype:first-child {
2
+ border-top: none;
3
+ }
4
+ .select-worktype {
5
+ border-top: 1px solid $table-border-color;
6
+ padding: 10px;
7
+
8
+ label {
9
+ margin: 0;
10
+ width: 100%;
11
+ }
12
+
13
+ input[type="radio"] {
14
+ float: left;
15
+ position: relative;
16
+ width: 10%;
17
+ }
18
+
19
+ .select-work-icon {
20
+ float: left;
21
+ font-size: 400%;
22
+ line-height: 1;
23
+ position: relative;
24
+ text-align: center;
25
+ width: 20%;
26
+
27
+ .fa {
28
+ vertical-align: top
29
+ }
30
+ }
31
+ .select-work-description {
32
+ float: left;
33
+ position: relative;
34
+ width: 70%;
35
+ }
36
+
37
+ h3 {
38
+ margin-top: 0;
39
+ }
40
+ }
41
+ .new-work-select {
42
+ clear: both;
43
+ }
@@ -1,13 +1,15 @@
1
1
  @import 'hydra-editor/multi_value_fields';
2
2
  @import 'curation_concerns/modules/forms';
3
3
  @import 'curation_concerns/modules/file_manager';
4
+ @import 'curation_concerns/positioning';
4
5
  @import 'sufia/variables', 'sufia/file_sets', 'sufia/settings', 'sufia/header',
5
6
  'sufia/styles', 'sufia/file-listing', 'sufia/browse_everything_overrides',
6
7
  'sufia/nestable', 'sufia/collections', 'sufia/batch-edit', 'sufia/dashboard',
7
8
  'sufia/home-page', 'sufia/featured', 'sufia/usage-stats', 'sufia/catalog',
8
9
  'sufia/buttons', 'sufia/tinymce', 'sufia/proxy-rights', 'sufia/file-show',
9
10
  'sufia/work-show', 'sufia/modal', 'sufia/form', 'sufia/form-progress',
10
- 'sufia/fixedsticky', 'sufia/file_upload', 'sufia/representative-media';
11
+ 'sufia/fixedsticky', 'sufia/file_upload', 'sufia/representative-media',
12
+ 'sufia/footer', 'sufia/select_work_type';
11
13
  @import 'sharing_buttons';
12
14
 
13
15
  /* This class is to workaround an issue in which Bootstrap requires a div to display a tooltip
@@ -23,3 +25,4 @@
23
25
  display: inline-block;
24
26
  }
25
27
 
28
+
@@ -12,3 +12,6 @@ $navbar-transparent-link-active-bg: rgba(255, 255, 255, 0.2) !default;
12
12
  $title-height: 75px !default;
13
13
  $marketing-text-color: $gray-darker !important;
14
14
  $marketing-text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.1) !important;
15
+
16
+ $footer-top-margin: 3 * $padding-small-vertical !default;
17
+ $footer-height: 118px !default;
@@ -1,203 +1,100 @@
1
- @import 'widgets';
2
-
3
- $sidebar-background-color: #5f5f5f !default;
4
- $sidebar-separator-color: #555 !default;
5
- $sidebar-link-color: #ffffff !default;
6
- $sidebar-icon-color: #ffffff !default;
7
- $sidebar-hover-background-color: #7f7f7f !default;
8
- $sidebar-hover-icon-color: #eee !default;
9
-
10
- $breadcrumb-background-color: #e8e8e8 !default;
11
- $breadcrumb-link-color: #8d8678 !default;
12
-
13
- $header-background-color: black !default;
14
- $header-text-color: #f7f7f7 !default;
15
- $header-logo-color: #ffffff !default;
16
- $header-height: 35px !default;
1
+ @import 'bootstrap/variables';
2
+ $tab-margin: 44px !default;
17
3
  $title-text-color: #4e4a42 !default;
18
- $content-background-color: #f5f5f5 !default;
19
-
20
-
21
- .page-title {
22
- float: left;
23
- padding: 5px 10px;
24
- width: 100%;
25
-
26
- h1 {
27
- color: $title-text-color;
28
- float: left;
29
- font-size: 26px;
30
- line-height: 30px;
31
- margin: 0;
32
- margin-bottom: 15px;
33
- padding: 0;
34
-
35
- > .fa {
36
- margin-left: 6px;
37
- margin-right: 6px;
38
- }
39
- }
4
+ $tab-active-accent-color: $brand-primary !default;
5
+ $admin-sidebar-background-color: #808080 !default;
6
+ $admin-sidebar-link-color: #ffffff !default;
7
+ $admin-sidebar-link-hover-color: #000000 !default;
8
+ $admin-content-background-color: #f0f0f0 !default;
9
+ $admin-vertical-padding: 10px !default;
10
+
11
+ .tabs {
12
+ margin-top: $tab-margin;
13
+ position: relative;
40
14
  }
41
15
 
42
- .panel {
43
- float: left;
44
- width: 100%;
45
-
46
- .panel-heading,
47
- .panel-footer,
48
- .panel-body {
49
- float: left;
50
- width: 100%;
51
- }
52
-
53
- .panel-title {
54
- color: $title-text-color;
55
- display: block;
56
- float: left;
57
- font-size: 16px;
58
- font-weight: 400;
59
- line-height: 30px;
60
- }
16
+ .nav-tabs {
17
+ border-bottom: 0;
18
+ margin-bottom: 0;
19
+ margin-top: -$tab-margin;
20
+ padding: 0 5px;
61
21
  }
62
22
 
63
- .admin-set-members {
64
- h3 {
65
- font-size: 16px;
66
- font-weight: 400;
67
- margin: 0;
68
- }
23
+ .nav-tabs > li > a {
24
+ border-top: 2px solid transparent;
69
25
  }
70
26
 
71
- .title-button {
72
- margin-right: 15px;
73
- margin-top: 10px;
74
- width: auto;
27
+ .nav-tabs > li.active > a,
28
+ .nav-tabs > li.active > a:hover {
29
+ border-top: 2px solid $tab-active-accent-color;
75
30
  }
76
31
 
77
- .page-container {
78
- width: 100%;
79
- float: left;
80
- min-height: 100%;
81
- position: relative;
82
- background: $sidebar-background-color;
32
+ body {
33
+ background-color: $admin-sidebar-background-color;
83
34
  }
84
35
 
85
- .page-container .page-sidebar {
86
- width: 300px;
36
+ /* This is needed in Chrome for the admin/admin_sets edit view to render the participants tab
37
+ * Without this the contents of that tab flow off the right-hand side of the screen
38
+ * (The other containers on that page have `float: left` except for the fieldset.)
39
+ */
40
+ fieldset {
87
41
  float: left;
88
- position: relative;
89
- z-index: 3;
90
42
  }
91
43
 
92
- .page-sidebar {
93
- color: #ddd;
44
+ #content-wrapper {
45
+ padding-bottom: 0;
94
46
  }
95
47
 
96
- .page-container .page-content {
97
- min-height: 100%;
98
- height: 100vh;
99
- margin-left: 300px;
100
- background: $content-background-color;
101
- position: relative;
48
+ .main-content {
49
+ padding-top: $admin-vertical-padding;
50
+ padding-bottom: $admin-vertical-padding;
51
+ background-color: $admin-content-background-color;
102
52
  }
103
53
 
104
- .page-container .page-content .page-content-wrap {
105
- float: left;
106
- width: 100%;
107
- }
108
-
109
- .page-content-wrap > .row {
110
- margin-left: 0px;
111
- margin-right: 0px;
112
- }
54
+ .sidebar {
55
+ padding-bottom: $admin-vertical-padding;
56
+ padding-top: $admin-vertical-padding;
113
57
 
114
- .breadcrumb {
115
- float: left;
116
- background: $breadcrumb-background-color;
117
- margin-bottom: 10px;
118
- padding: 6px 15px 7px;
119
- width: 100%;
58
+ a {
59
+ color: $admin-sidebar-link-color;
60
+ }
120
61
 
121
- li,
122
- li a {
123
- color: $breadcrumb-link-color;
124
- font-size: 11px;
125
- text-decoration: none;
62
+ a:hover {
63
+ color: $admin-sidebar-link-hover-color;
126
64
  }
127
65
  }
128
66
 
129
- .x-navigation {
130
- width: 100%;
131
- padding: 0px;
132
- margin: 0px;
133
- float: left;
134
- list-style: none;
135
- display: block;
136
- background: $sidebar-background-color;
67
+ .navbar {
68
+ margin-bottom: 0;
137
69
  }
138
70
 
139
- .x-navigation li {
71
+ .panel {
72
+ border: 0;
140
73
  float: left;
141
- display: block;
142
74
  width: 100%;
143
- padding: 0px;
144
- margin: 0px;
145
- position: relative;
146
- }
147
-
148
- .x-navigation li > a {
149
- display: block;
150
- width: 100%;
151
- line-height: 19px;
152
- color: $sidebar-link-color;
153
- font-size: 13px;
154
- font-weight: 400;
155
- text-decoration: none;
156
- padding: 15px 10px 15px 15px;
157
- border-bottom: 1px solid $sidebar-separator-color;
158
- }
159
-
160
- .x-navigation li > a .fa {
161
- color: $sidebar-icon-color;
162
- margin-right: 10px;
163
- transition: color 200ms ease;
164
- }
165
-
166
- .x-navigation li > a:hover {
167
- background: $sidebar-hover-background-color;
168
- transition: all 200ms ease;
169
- }
170
-
171
- .x-navigation li > a:hover .fa {
172
- color: $sidebar-hover-icon-color;
173
- }
174
-
175
- .x-navigation > li.xn-logo > a:first-child {
176
- background: $header-background-color;
177
- font-size: 18px;
178
- padding: 8px;
179
- color: $header-logo-color;
180
- height: $header-height;
181
- text-align: center;
182
- }
183
75
 
184
- .x-navigation.x-navigation-horizontal {
185
- height: $header-height;
186
- background: $header-background-color;
187
- border-color: $header-background-color;
188
- }
76
+ .panel-heading,
77
+ .panel-footer,
78
+ .panel-body {
79
+ float: left;
80
+ width: 100%;
81
+ }
189
82
 
190
- .x-navigation.x-navigation-horizontal li {
191
- position: relative;
83
+ .panel-title {
84
+ color: $title-text-color;
85
+ display: block;
86
+ float: left;
87
+ font-size: 16px;
88
+ font-weight: 400;
89
+ line-height: 30px;
90
+ }
192
91
  }
193
92
 
194
- .x-navigation.x-navigation-horizontal > li {
195
- width: auto;
93
+ .panel.panel-default.labels {
94
+ border-top: 1px solid $panel-default-border;
95
+ margin-bottom: 0;
196
96
  }
197
97
 
198
- .x-navigation.x-navigation-horizontal > li > a {
199
- padding: 10px;
200
- border-bottom: 0px;
201
- line-height: 20px;
202
- color: $header-text-color;
98
+ .spacer {
99
+ margin-bottom: 5px;
203
100
  }