blacklight-spotlight 0.4.1 → 0.5.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 (367) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +22 -8
  3. data/Rakefile +40 -39
  4. data/app/assets/javascripts/spotlight/blacklight_configuration.js +16 -0
  5. data/app/assets/javascripts/spotlight/blocks/resources_block.js +3 -1
  6. data/app/assets/stylesheets/spotlight/_blacklight_configuration.scss +2 -2
  7. data/app/assets/stylesheets/spotlight/_blacklight_overrides.scss +24 -0
  8. data/app/assets/stylesheets/spotlight/_header.scss +150 -47
  9. data/app/assets/stylesheets/spotlight/_pages.scss +62 -11
  10. data/app/assets/stylesheets/spotlight/_report_a_problem.scss +1 -0
  11. data/app/assets/stylesheets/spotlight/_spotlight.scss +1 -0
  12. data/app/builders/spotlight/bootstrap_breadcrumbs_builder.rb +28 -21
  13. data/app/controllers/spotlight/about_pages_controller.rb +25 -14
  14. data/app/controllers/spotlight/appearances_controller.rb +34 -30
  15. data/app/controllers/spotlight/application_controller.rb +2 -1
  16. data/app/controllers/spotlight/attachments_controller.rb +9 -7
  17. data/app/controllers/spotlight/browse_controller.rb +13 -9
  18. data/app/controllers/spotlight/catalog_controller.rb +179 -161
  19. data/app/controllers/spotlight/concerns/application_controller.rb +22 -20
  20. data/app/controllers/spotlight/concerns/catalog_search_context.rb +44 -0
  21. data/app/controllers/spotlight/confirmations_controller.rb +5 -2
  22. data/app/controllers/spotlight/contact_forms_controller.rb +13 -7
  23. data/app/controllers/spotlight/contacts_controller.rb +13 -4
  24. data/app/controllers/spotlight/custom_fields_controller.rb +48 -40
  25. data/app/controllers/spotlight/dashboards_controller.rb +17 -8
  26. data/app/controllers/spotlight/default_controller.rb +3 -1
  27. data/app/controllers/spotlight/exhibits_controller.rb +69 -62
  28. data/app/controllers/spotlight/feature_pages_controller.rb +21 -11
  29. data/app/controllers/spotlight/home_pages_controller.rb +6 -5
  30. data/app/controllers/spotlight/lock_controller.rb +3 -1
  31. data/app/controllers/spotlight/metadata_configurations_controller.rb +49 -0
  32. data/app/controllers/spotlight/pages_controller.rb +28 -18
  33. data/app/controllers/spotlight/resources/upload_controller.rb +53 -46
  34. data/app/controllers/spotlight/resources_controller.rb +9 -5
  35. data/app/controllers/spotlight/roles_controller.rb +26 -22
  36. data/app/controllers/spotlight/search_configurations_controller.rb +66 -0
  37. data/app/controllers/spotlight/searches_controller.rb +91 -82
  38. data/app/controllers/spotlight/solr_controller.rb +20 -13
  39. data/app/controllers/spotlight/tags_controller.rb +5 -3
  40. data/app/controllers/spotlight/versions_controller.rb +15 -12
  41. data/app/controllers/spotlight/view_configurations_controller.rb +17 -0
  42. data/app/helpers/spotlight/application_helper.rb +44 -32
  43. data/app/helpers/spotlight/browse_helper.rb +13 -1
  44. data/app/helpers/spotlight/crud_link_helpers.rb +22 -14
  45. data/app/helpers/spotlight/jcrop_helper.rb +4 -2
  46. data/app/helpers/spotlight/main_app_helpers.rb +45 -41
  47. data/app/helpers/spotlight/navbar_helper.rb +6 -0
  48. data/app/helpers/spotlight/pages_helper.rb +23 -15
  49. data/app/helpers/spotlight/roles_helper.rb +10 -4
  50. data/app/helpers/spotlight/search_configurations_helper.rb +22 -0
  51. data/app/helpers/spotlight/title_helper.rb +16 -13
  52. data/app/jobs/spotlight/add_uploads_from_csv.rb +13 -9
  53. data/app/jobs/spotlight/reindex_job.rb +9 -9
  54. data/app/jobs/spotlight/rename_sidecar_field_job.rb +3 -0
  55. data/app/mailers/spotlight/confirmation_mailer.rb +2 -0
  56. data/app/mailers/spotlight/indexing_complete_mailer.rb +4 -2
  57. data/app/models/ability.rb +3 -0
  58. data/app/models/concerns/spotlight/ar_light.rb +49 -25
  59. data/app/models/concerns/spotlight/blacklight_configuration_defaults.rb +25 -10
  60. data/app/models/concerns/spotlight/exhibit_analytics.rb +28 -0
  61. data/app/models/concerns/spotlight/image_derivatives.rb +25 -26
  62. data/app/models/concerns/spotlight/resources/open_graph.rb +23 -19
  63. data/app/models/concerns/spotlight/resources/web.rb +25 -24
  64. data/app/models/concerns/spotlight/solr_document.rb +40 -34
  65. data/app/models/concerns/spotlight/solr_document/active_model_concern.rb +29 -40
  66. data/app/models/concerns/spotlight/solr_document/atomic_updates.rb +22 -18
  67. data/app/models/concerns/spotlight/solr_document/finder.rb +23 -18
  68. data/app/models/concerns/spotlight/solr_document/spotlight_images.rb +43 -39
  69. data/app/models/concerns/spotlight/solr_document/uploaded_resource.rb +41 -29
  70. data/app/models/concerns/spotlight/user.rb +25 -19
  71. data/app/models/sir_trevor_rails/blocks/browse_block.rb +36 -30
  72. data/app/models/sir_trevor_rails/blocks/featured_pages_block.rb +24 -18
  73. data/app/models/sir_trevor_rails/blocks/oembed_block.rb +8 -4
  74. data/app/models/sir_trevor_rails/blocks/search_results_block.rb +29 -23
  75. data/app/models/sir_trevor_rails/blocks/solr_documents_block.rb +43 -42
  76. data/app/models/sir_trevor_rails/blocks/solr_documents_carousel_block.rb +16 -12
  77. data/app/models/sir_trevor_rails/blocks/solr_documents_embed_block.rb +7 -3
  78. data/app/models/sir_trevor_rails/blocks/solr_documents_features_block.rb +7 -3
  79. data/app/models/sir_trevor_rails/blocks/solr_documents_grid_block.rb +7 -3
  80. data/app/models/sir_trevor_rails/blocks/textable.rb +18 -18
  81. data/app/models/spotlight/ability.rb +32 -33
  82. data/app/models/spotlight/about_page.rb +3 -1
  83. data/app/models/spotlight/analytics/ga.rb +46 -27
  84. data/app/models/spotlight/attachment.rb +3 -1
  85. data/app/models/spotlight/blacklight_configuration.rb +146 -68
  86. data/app/models/spotlight/contact.rb +35 -30
  87. data/app/models/spotlight/contact_email.rb +6 -3
  88. data/app/models/spotlight/contact_form.rb +4 -3
  89. data/app/models/spotlight/custom_field.rb +41 -33
  90. data/app/models/spotlight/exhibit.rb +104 -130
  91. data/app/models/spotlight/feature_page.rb +9 -7
  92. data/app/models/spotlight/featured_image.rb +10 -10
  93. data/app/models/spotlight/field_metadata.rb +46 -0
  94. data/app/models/spotlight/home_page.rb +8 -5
  95. data/app/models/spotlight/lock.rb +4 -3
  96. data/app/models/spotlight/main_navigation.rb +9 -3
  97. data/app/models/spotlight/masthead.rb +17 -16
  98. data/app/models/spotlight/page.rb +16 -16
  99. data/app/models/spotlight/resource.rb +69 -22
  100. data/app/models/spotlight/resources/csv_upload.rb +8 -4
  101. data/app/models/spotlight/resources/upload.rb +68 -57
  102. data/app/models/spotlight/role.rb +30 -34
  103. data/app/models/spotlight/search.rb +74 -63
  104. data/app/models/spotlight/solr_document_sidecar.rb +17 -15
  105. data/app/serializers/spotlight/exhibit_export_serializer.rb +65 -29
  106. data/app/serializers/spotlight/page_representer.rb +10 -6
  107. data/app/uploaders/spotlight/attachment_uploader.rb +4 -6
  108. data/app/uploaders/spotlight/avatar_uploader.rb +4 -3
  109. data/app/uploaders/spotlight/featured_image_uploader.rb +15 -14
  110. data/app/uploaders/spotlight/item_uploader.rb +3 -1
  111. data/app/uploaders/spotlight/masthead_uploader.rb +4 -2
  112. data/app/views/catalog/_search_form.html.erb +24 -0
  113. data/app/views/shared/_browse_navbar.html.erb +1 -1
  114. data/app/views/shared/_exhibit_navbar.html.erb +1 -1
  115. data/app/views/spotlight/appearances/edit.html.erb +13 -45
  116. data/app/views/spotlight/catalog/_edit_default.html.erb +1 -1
  117. data/app/views/spotlight/custom_fields/_form.html.erb +1 -1
  118. data/app/views/spotlight/exhibits/edit.html.erb +4 -4
  119. data/app/views/spotlight/home_pages/_empty.html.erb +1 -3
  120. data/app/views/spotlight/home_pages/_page_options.html.erb +1 -1
  121. data/app/views/spotlight/{blacklight_configurations → metadata_configurations}/_metadata_field.html.erb +0 -0
  122. data/app/views/spotlight/{blacklight_configurations/edit_metadata_fields.html.erb → metadata_configurations/edit.html.erb} +1 -1
  123. data/app/views/spotlight/pages/show.html.erb +2 -2
  124. data/app/views/spotlight/search_configurations/_default_per_page.html.erb +5 -0
  125. data/app/views/spotlight/search_configurations/_document_index_view_types.html.erb +7 -0
  126. data/app/views/spotlight/search_configurations/_facets.html.erb +38 -0
  127. data/app/views/spotlight/search_configurations/_search_fields.html.erb +58 -0
  128. data/app/views/spotlight/search_configurations/_sort.html.erb +53 -0
  129. data/app/views/spotlight/search_configurations/edit.html.erb +46 -0
  130. data/app/views/spotlight/searches/_search.html.erb +1 -1
  131. data/app/views/spotlight/shared/_admin_sidebar.html.erb +0 -2
  132. data/app/views/spotlight/shared/_curation_sidebar.html.erb +2 -3
  133. data/app/views/spotlight/shared/_report_a_problem.html.erb +2 -2
  134. data/app/views/spotlight/sir_trevor/blocks/_oembed_block.html.erb +5 -1
  135. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_block.html.erb +7 -5
  136. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_carousel_block.html.erb +2 -2
  137. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_embed_block.html.erb +7 -5
  138. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_features_block.html.erb +2 -2
  139. data/app/views/spotlight/sir_trevor/blocks/_solr_documents_grid_block.html.erb +14 -9
  140. data/config/locales/spotlight.en.yml +94 -49
  141. data/config/routes.rb +11 -20
  142. data/db/migrate/20150410180014_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +15 -0
  143. data/db/migrate/20150410180015_add_missing_taggable_index.acts_as_taggable_on_engine.rb +10 -0
  144. data/db/migrate/20150410180016_change_collation_for_tag_names.acts_as_taggable_on_engine.rb +10 -0
  145. data/db/migrate/20150713160101_change_spotlight_searches_to_published.rb +5 -0
  146. data/db/migrate/20151016092343_remove_searchable_from_exhibit.rb +20 -0
  147. data/lib/blacklight/spotlight.rb +1 -1
  148. data/lib/generators/spotlight/install_generator.rb +27 -25
  149. data/lib/generators/spotlight/templates/catalog_controller.rb +7 -5
  150. data/lib/generators/spotlight/templates/jetty.rake +8 -2
  151. data/lib/generators/spotlight/templates/spotlight_helper.rb +3 -1
  152. data/lib/spotlight.rb +4 -2
  153. data/lib/spotlight/base.rb +21 -14
  154. data/lib/spotlight/catalog.rb +10 -9
  155. data/lib/spotlight/catalog/access_controls_enforcement.rb +30 -15
  156. data/lib/spotlight/config.rb +4 -2
  157. data/lib/spotlight/controller.rb +12 -11
  158. data/lib/spotlight/engine.rb +30 -22
  159. data/lib/spotlight/rails/routes.rb +7 -4
  160. data/lib/spotlight/version.rb +2 -1
  161. data/lib/tasks/spotlight_tasks.rake +56 -50
  162. data/spec/controllers/application_controller_spec.rb +13 -13
  163. data/spec/controllers/spotlight/about_pages_controller_spec.rb +63 -59
  164. data/spec/controllers/spotlight/appearances_controller_spec.rb +29 -24
  165. data/spec/controllers/spotlight/application_controller_spec.rb +3 -3
  166. data/spec/controllers/spotlight/attachments_controller_spec.rb +10 -10
  167. data/spec/controllers/spotlight/browse_controller_spec.rb +23 -25
  168. data/spec/controllers/spotlight/catalog_controller_spec.rb +82 -87
  169. data/spec/controllers/spotlight/confirmations_controller_spec.rb +13 -11
  170. data/spec/controllers/spotlight/contact_forms_controller_spec.rb +17 -12
  171. data/spec/controllers/spotlight/contacts_controller_spec.rb +36 -36
  172. data/spec/controllers/spotlight/custom_fields_controller_spec.rb +26 -26
  173. data/spec/controllers/spotlight/dashboards_controller_spec.rb +14 -14
  174. data/spec/controllers/spotlight/exhibits_controller_spec.rb +59 -54
  175. data/spec/controllers/spotlight/feature_pages_controller_spec.rb +59 -59
  176. data/spec/controllers/spotlight/home_pages_controller_spec.rb +28 -29
  177. data/spec/controllers/spotlight/metadata_configurations_controller_spec.rb +84 -0
  178. data/spec/controllers/spotlight/resources/upload_controller_spec.rb +42 -33
  179. data/spec/controllers/spotlight/resources_controller_spec.rb +25 -29
  180. data/spec/controllers/spotlight/roles_controller_spec.rb +37 -19
  181. data/spec/controllers/spotlight/search_configurations_controller_spec.rb +125 -0
  182. data/spec/controllers/spotlight/searches_controller_spec.rb +84 -63
  183. data/spec/controllers/spotlight/solr_controller_spec.rb +13 -14
  184. data/spec/controllers/spotlight/tags_controller_spec.rb +16 -16
  185. data/spec/controllers/spotlight/versions_controller_spec.rb +15 -18
  186. data/spec/controllers/spotlight/view_configurations_controller_spec.rb +31 -0
  187. data/spec/factories/contacts.rb +1 -3
  188. data/spec/factories/custom_fields.rb +2 -4
  189. data/spec/factories/exhibits.rb +4 -2
  190. data/spec/factories/pages.rb +8 -11
  191. data/spec/factories/resources.rb +4 -4
  192. data/spec/factories/searches.rb +10 -13
  193. data/spec/factories/tags.rb +0 -3
  194. data/spec/factories/users.rb +2 -4
  195. data/spec/features/about_page_spec.rb +19 -19
  196. data/spec/features/add_contacts_spec.rb +34 -34
  197. data/spec/features/add_custom_field_metadata_spec.rb +24 -26
  198. data/spec/features/add_item_bookmarklet_spec.rb +12 -12
  199. data/spec/features/browse_category_admin_spec.rb +39 -39
  200. data/spec/features/catalog_spec.rb +9 -10
  201. data/spec/features/confirm_email_spec.rb +10 -10
  202. data/spec/features/create_exhibit_spec.rb +18 -15
  203. data/spec/features/create_page_spec.rb +8 -8
  204. data/spec/features/curator_items.rb +3 -3
  205. data/spec/features/dashboard_spec.rb +15 -16
  206. data/spec/features/edit_contact_spec.rb +8 -10
  207. data/spec/features/edit_search_fields_spec.rb +79 -0
  208. data/spec/features/exhibits/add_tags_spec.rb +15 -16
  209. data/spec/features/exhibits/administration_spec.rb +25 -25
  210. data/spec/features/exhibits/custom_metadata_fields_spec.rb +41 -43
  211. data/spec/features/exhibits/edit_metadata_fields_spec.rb +19 -19
  212. data/spec/features/feature_page_spec.rb +49 -48
  213. data/spec/features/home_page_spec.rb +38 -38
  214. data/spec/features/import_exhibit_spec.rb +23 -20
  215. data/spec/features/item_admin_spec.rb +28 -29
  216. data/spec/features/javascript/about_page_admin_spec.rb +9 -9
  217. data/spec/features/javascript/block_controls_spec.rb +16 -18
  218. data/spec/features/javascript/blocks/featured_browse_categories_block_spec.rb +11 -12
  219. data/spec/features/javascript/blocks/featured_pages_block_spec.rb +12 -13
  220. data/spec/features/javascript/blocks/search_result_block_spec.rb +17 -17
  221. data/spec/features/javascript/blocks/solr_documents_block_spec.rb +67 -65
  222. data/spec/features/javascript/edit_in_place_spec.rb +30 -56
  223. data/spec/features/javascript/feature_page_admin_spec.rb +73 -59
  224. data/spec/features/javascript/home_page_edit_spec.rb +6 -6
  225. data/spec/features/javascript/metadata_admin_spec.rb +15 -15
  226. data/spec/features/javascript/multi_image_select_spec.rb +17 -18
  227. data/spec/features/javascript/preview_block_spec.rb +11 -12
  228. data/spec/features/javascript/rule_block_spec.rb +7 -7
  229. data/spec/features/javascript/search_config_admin_spec.rb +144 -0
  230. data/spec/features/javascript/search_context_spec.rb +41 -42
  231. data/spec/features/main_navigation_spec.rb +22 -22
  232. data/spec/features/metadata_admin_spec.rb +8 -8
  233. data/spec/features/multiple_exhibits_spec.rb +15 -17
  234. data/spec/features/report_a_problem_spec.rb +23 -17
  235. data/spec/features/site_masthead_spec.rb +46 -46
  236. data/spec/features/slideshow_spec.rb +8 -9
  237. data/spec/features/tags_admin_spec.rb +11 -11
  238. data/spec/features/upload_non_repository_item_spec.rb +32 -32
  239. data/spec/features/user_admin_spec.rb +7 -7
  240. data/spec/helpers/spotlight/application_helper_spec.rb +63 -56
  241. data/spec/helpers/spotlight/browse_helper_spec.rb +6 -6
  242. data/spec/helpers/spotlight/crud_link_helpers_spec.rb +58 -52
  243. data/spec/helpers/spotlight/main_app_helpers_spec.rb +44 -24
  244. data/spec/helpers/spotlight/navbar_helper_spec.rb +4 -4
  245. data/spec/helpers/spotlight/pages_helper_spec.rb +56 -37
  246. data/spec/helpers/spotlight/roles_helper_spec.rb +3 -3
  247. data/spec/helpers/spotlight/search_configurations_helper_spec.rb +24 -0
  248. data/spec/helpers/spotlight/title_helper_spec.rb +33 -35
  249. data/spec/jobs/spotlight/reindex_job_spec.rb +6 -6
  250. data/spec/jobs/spotlight/rename_sidecar_field_job_spec.rb +7 -7
  251. data/spec/lib/spotlight/catalog/access_controls_enforcement_spec.rb +41 -26
  252. data/spec/lib/spotlight/controller_spec.rb +10 -10
  253. data/spec/lib/spotlight/routes_spec.rb +4 -4
  254. data/spec/mailers/spotlight/indexing_complete_mailer_spec.rb +13 -13
  255. data/spec/models/sir_trevor_rails/blocks/solr_documents_block_spec.rb +8 -8
  256. data/spec/models/{spotlight/sir_trevor_blocks → sir_trevor_rails/blocks}/textable_spec.rb +7 -8
  257. data/spec/models/solr_document_spec.rb +49 -50
  258. data/spec/models/spotlight/ability_spec.rb +17 -20
  259. data/spec/models/spotlight/about_page_spec.rb +6 -6
  260. data/spec/models/spotlight/analytics/ga_spec.rb +2 -2
  261. data/spec/models/spotlight/blacklight_configuration_spec.rb +196 -133
  262. data/spec/models/spotlight/contact_email_spec.rb +28 -24
  263. data/spec/models/spotlight/contact_spec.rb +6 -7
  264. data/spec/models/spotlight/custom_field_spec.rb +51 -52
  265. data/spec/models/spotlight/exhibit_spec.rb +102 -60
  266. data/spec/models/spotlight/feature_page_spec.rb +32 -32
  267. data/spec/models/spotlight/featured_image_spec.rb +5 -5
  268. data/spec/models/spotlight/field_metadata_spec.rb +78 -0
  269. data/spec/models/spotlight/home_page_spec.rb +11 -20
  270. data/spec/models/spotlight/{spotlight_image_derivatives_spec.rb → image_derivatives_spec.rb} +2 -2
  271. data/spec/models/spotlight/main_navigation_spec.rb +7 -9
  272. data/spec/models/spotlight/masthead_spec.rb +6 -6
  273. data/spec/models/spotlight/page_spec.rb +26 -29
  274. data/spec/models/spotlight/resource_spec.rb +56 -26
  275. data/spec/models/spotlight/resources/open_graph_spec.rb +16 -18
  276. data/spec/models/spotlight/resources/upload_spec.rb +32 -35
  277. data/spec/models/spotlight/resources/web_spec.rb +9 -11
  278. data/spec/models/spotlight/role_spec.rb +20 -20
  279. data/spec/models/spotlight/search_spec.rb +32 -15
  280. data/spec/models/spotlight/solr_document/atomic_updates_spec.rb +34 -0
  281. data/spec/models/spotlight/{solr_document_images_spec.rb → solr_document/spotlight_images_spec.rb} +18 -10
  282. data/spec/models/spotlight/solr_document/uploaded_resource_spec.rb +52 -0
  283. data/spec/models/spotlight/solr_document_sidecar_spec.rb +3 -4
  284. data/spec/routing/spotlight/exhibit_catalog_spec.rb +5 -5
  285. data/spec/routing/spotlight/pages_routing_spec.rb +24 -25
  286. data/spec/serializers/spotlight/exhibit_export_serializer_spec.rb +88 -68
  287. data/spec/spec_helper.rb +13 -22
  288. data/spec/support/features/test_features_helpers.rb +50 -46
  289. data/spec/support/views/test_view_helpers.rb +1 -1
  290. data/spec/test_app_templates/Gemfile.extra +0 -1
  291. data/spec/test_app_templates/carrierwave.rb +2 -2
  292. data/spec/test_app_templates/catalog_controller.rb +42 -42
  293. data/spec/test_app_templates/lib/generators/test_app_generator.rb +20 -11
  294. data/spec/test_app_templates/spotlight_test.rake +3 -3
  295. data/spec/uploaders/spotlight/item_uploader_spec.rb +68 -0
  296. data/spec/views/_user_util_links.html.erb_spec.rb +14 -14
  297. data/spec/views/shared/_analytics.html.erb_spec.rb +4 -6
  298. data/spec/views/shared/_exhibit_masthead.html.erb_spec.rb +19 -20
  299. data/spec/views/shared/_exhibit_navbar.html.erb_spec.rb +129 -131
  300. data/spec/views/shared/_footer.html.erb_spec.rb +6 -7
  301. data/spec/views/shared/_header_navbar.html.erb_spec.rb +5 -5
  302. data/spec/views/spotlight/about_pages/_empty.html.erb_spec.rb +4 -4
  303. data/spec/views/spotlight/about_pages/_sidebar.html.erb_spec.rb +9 -11
  304. data/spec/views/spotlight/about_pages/index.html.erb_spec.rb +31 -28
  305. data/spec/views/spotlight/browse/_search.html.erb_spec.rb +6 -6
  306. data/spec/views/spotlight/browse/_sort_and_per_page.html.erb_spec.rb +10 -12
  307. data/spec/views/spotlight/browse/index.html.erb_spec.rb +6 -6
  308. data/spec/views/spotlight/browse/show.html.erb_spec.rb +19 -20
  309. data/spec/views/spotlight/catalog/_edit_default.html.erb_spec.rb +7 -7
  310. data/spec/views/spotlight/catalog/admin.html.erb_spec.rb +7 -7
  311. data/spec/views/spotlight/catalog/edit.html.erb_spec.rb +3 -6
  312. data/spec/views/spotlight/catalog/new.html.erb_spec.rb +8 -10
  313. data/spec/views/spotlight/contacts/edit.html.erb_spec.rb +8 -8
  314. data/spec/views/spotlight/dashboards/_analytics.html.erb_spec.rb +22 -22
  315. data/spec/views/spotlight/exhibits/edit.html.erb_spec.rb +7 -8
  316. data/spec/views/spotlight/feature_pages/_empty.html.erb_spec.rb +5 -5
  317. data/spec/views/spotlight/feature_pages/_sidebar.html.erb_spec.rb +24 -26
  318. data/spec/views/spotlight/home_pages/_empty.html.erb_spec.rb +13 -9
  319. data/spec/views/spotlight/home_pages/_sidebar.html.erb_spec.rb +6 -6
  320. data/spec/views/spotlight/metadata_configurations/_metadata_field.html.erb_spec.rb +26 -0
  321. data/spec/views/spotlight/metadata_configurations/edit.html.erb_spec.rb +22 -0
  322. data/spec/views/spotlight/pages/edit.html.erb_spec.rb +16 -16
  323. data/spec/views/spotlight/pages/index.html.erb_spec.rb +19 -17
  324. data/spec/views/spotlight/pages/new.html.erb_spec.rb +6 -6
  325. data/spec/views/spotlight/pages/show.html.erb_spec.rb +27 -28
  326. data/spec/views/spotlight/roles/index.html.erb_spec.rb +6 -6
  327. data/spec/views/spotlight/search_configurations/_search_fields.html.erb_spec.rb +54 -0
  328. data/spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb +28 -0
  329. data/spec/views/spotlight/searches/_search.html.erb_spec.rb +20 -10
  330. data/spec/views/spotlight/searches/edit.html.erb_spec.rb +12 -11
  331. data/spec/views/spotlight/searches/index.html.erb_spec.rb +12 -7
  332. data/spec/views/spotlight/sir_trevor/blocks/_iframe_block.html.erb_spec.rb +7 -8
  333. data/spec/views/spotlight/sir_trevor/blocks/_rule_block.html.erb_spec.rb +4 -4
  334. data/spec/views/spotlight/sir_trevor/blocks/_solr_documents_block.html.erb_spec.rb +38 -0
  335. data/spec/views/spotlight/sir_trevor/blocks/_solr_documents_carousel_block.html.erb_spec.rb +7 -8
  336. data/spec/views/spotlight/sir_trevor/blocks/_solr_documents_embed_block.html.erb_spec.rb +18 -13
  337. data/spec/views/spotlight/sir_trevor/blocks/_solr_documents_features_block.html.erb_spec.rb +14 -12
  338. data/spec/views/spotlight/sir_trevor/blocks/_solr_documents_grid_block.html.erb_spec.rb +11 -12
  339. data/spec/views/spotlight/tags/index.html.erb_spec.rb +9 -9
  340. metadata +167 -83
  341. data/app/controllers/spotlight/blacklight_configurations_controller.rb +0 -101
  342. data/app/controllers/spotlight/resources/csv_controller.rb +0 -23
  343. data/app/forms/spotlight/appearance.rb +0 -86
  344. data/app/helpers/spotlight/attachments_helper.rb +0 -4
  345. data/app/helpers/spotlight/blacklight_configurations_helper.rb +0 -15
  346. data/app/jobs/spotlight/set_default_thumbnail_job.rb +0 -16
  347. data/app/models/spotlight/resources/csv.rb +0 -80
  348. data/app/uploaders/spotlight/csv_uploader.rb +0 -15
  349. data/app/views/spotlight/blacklight_configurations/edit_facet_fields.html.erb +0 -47
  350. data/app/views/spotlight/blacklight_configurations/edit_sort_fields.html.erb +0 -65
  351. data/app/views/spotlight/resources/csv/_form.html.erb +0 -17
  352. data/app/views/spotlight/resources/csv/new.html.erb +0 -3
  353. data/spec/controllers/spotlight/blacklight_configurations_controller_spec.rb +0 -167
  354. data/spec/features/edit_sort_fields_spec.rb +0 -42
  355. data/spec/features/exhibits/edit_facet_fields_spec.rb +0 -37
  356. data/spec/features/javascript/facet_admin_spec.rb +0 -36
  357. data/spec/features/search_facets_admin_spec.rb +0 -19
  358. data/spec/features/update_appearance_spec.rb +0 -58
  359. data/spec/helpers/spotlight/blacklight_configurations_helper_spec.rb +0 -12
  360. data/spec/models/spotlight/appearance_spec.rb +0 -33
  361. data/spec/models/spotlight/resources/csv_spec.rb +0 -101
  362. data/spec/models/spotlight/solr_document_atomic_updates_spec.rb +0 -29
  363. data/spec/models/spotlight/solr_document_uploaded_resource_spec.rb +0 -45
  364. data/spec/uploaders/item_uploader_spec.rb +0 -62
  365. data/spec/views/spotlight/blacklight_configuration/_metadata_field.html.erb_spec.rb +0 -27
  366. data/spec/views/spotlight/blacklight_configuration/edit_metadata_fields.html.erb_spec.rb +0 -23
  367. data/spec/views/spotlight/blacklight_configuration/edit_sort_fields.html.erb_spec.rb +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 08801de0ceb8e82515d08ceaad4bab28feb4abaf
4
- data.tar.gz: c3d7458402364cad94982cfac35232f036ec2b0c
3
+ metadata.gz: 0fca6298cd0b33b7047e4476caa703812750e677
4
+ data.tar.gz: 6eb41f57205d58a1728cfa00a12d65132762644a
5
5
  SHA512:
6
- metadata.gz: 66909d964b55ce89b690f17232abc66a25f68900dcf1a52b79834d545fc5bf37bf437d13c58816af1e8dda25227384bfc1903dc713aadd8ab058a8f623759e00
7
- data.tar.gz: c8dee63a79069cd5c797c94c5a9e9dcfd3576ff8882f7d04ef5e63343a384866f9402f6fe462b8abbd4e28bdb712a1708bc5fba06f6d95b4b4bc20fc090e7009
6
+ metadata.gz: 74e40b060f9ff6840fc5a8d3a6f6b0f9fba7a2dd44d38d42121a1311eee5281448e4205498f9801d7627d7a0d1bf363f11a085cde8caa39e1783db5b4c0d72cb
7
+ data.tar.gz: be19923238f9a87ee0717ccdd04261571c7757dbd62d413c3042cd6eb88246582b4f1a01e3a7dd66d0b08303fae41dfb62bff91d571ace2c0e18286aec939294
data/README.md CHANGED
@@ -9,10 +9,10 @@ Read more about what Spotlight is, our motivations for creating it, and how to i
9
9
 
10
10
  ## Requirements
11
11
 
12
- 1. Ruby (2.0.0 or greater)
12
+ 1. Ruby (2.2.0 or greater)
13
13
  2. Rails (4.2.0 or greater)
14
- 3. Java (7 or greater) *for solr*
15
- 4. ImageMagick
14
+ 3. Java (7 or greater) *for Solr*
15
+ 4. ImageMagick (http://www.imagemagick.org/script/index.php) due to [carrierwave](https://github.com/carrierwaveuploader/carrierwave#adding-versions)
16
16
 
17
17
  ## Installation
18
18
 
@@ -67,16 +67,30 @@ Spotlight introduces functionality that depends on being able to send emails to
67
67
 
68
68
  See the [Spotlight wiki](https://github.com/sul-dlss/spotlight/wiki) for more detailed information on configuring Spotlight.
69
69
 
70
- ## To start the development/test application
70
+ # Developing Spotlight
71
71
 
72
- 1. Clone this repo, `cd` in and run `$ bundle install`
73
- 2. Start jetty and the dev server: `$ bundle exec rake spotlight:server` (this task will build a Spotlight-based application, start Solr, and run the built-in rails server)
74
- 3. Visit [http://localhost:3000](http://localhost:3000)
72
+ Spotlight:
73
+
74
+ * is a Rails engine and needs to be used in the context of a Rails application. We use [engine_cart](https://github.com/cbeer/engine_cart) to create an internal test application at spec/internal.
75
+ * uses Solr as part of its integration tests. We use [jettywrapper](https://github.com/projecthydra/jettywrapper) to manage the Solr instance used for development and test.
76
+
77
+ Our `$ rake ci` and `$ rake spotlight:server` tasks utilize Solr and the testing rails app automatically.
78
+
79
+ ## More Information for Developers
80
+
81
+ * [Contributing to Spotlight](https://github.com/sul-dlss/spotlight/wiki/Contributing-to-Spotlight)
82
+ * [Testing](https://github.com/sul-dlss/spotlight/wiki/Testing)
75
83
 
76
84
  ## Tests
77
85
 
78
- Run tests:
86
+ ### Prerequisites
87
+
88
+ PhantomJS (https://github.com/teampoltergeist/poltergeist#installing-phantomjs) is an addition requirement for testing javascript.
89
+
90
+ ### Run all the tests:
79
91
 
80
92
  ```
81
93
  $ rake
82
94
  ```
95
+
96
+ This utilizes Solr and the testing rails app automatically.
data/Rakefile CHANGED
@@ -4,13 +4,13 @@ rescue LoadError
4
4
  puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
5
  end
6
6
 
7
- ZIP_URL = "https://github.com/projectblacklight/blacklight-jetty/archive/v4.10.4.zip"
7
+ ZIP_URL = 'https://github.com/projectblacklight/blacklight-jetty/archive/v4.10.4.zip'
8
8
 
9
9
  require 'rdoc/task'
10
10
 
11
11
  RDoc::Task.new(:rdoc) do |rdoc|
12
12
  rdoc.rdoc_dir = 'rdoc'
13
- rdoc.title = 'Spotlight'
13
+ rdoc.title = 'Spotlight'
14
14
  rdoc.options << '--line-numbers'
15
15
  rdoc.rdoc_files.include('README.rdoc')
16
16
  rdoc.rdoc_files.include('lib/**/*.rb')
@@ -21,6 +21,9 @@ Bundler::GemHelper.install_tasks
21
21
  require 'rspec/core/rake_task'
22
22
  RSpec::Core::RakeTask.new(:spec)
23
23
 
24
+ require 'rubocop/rake_task'
25
+ RuboCop::RakeTask.new(:rubocop)
26
+
24
27
  require 'jettywrapper'
25
28
 
26
29
  require 'engine_cart/rake_task'
@@ -28,91 +31,89 @@ EngineCart.fingerprint_proc = EngineCart.rails_fingerprint_proc
28
31
 
29
32
  require 'spotlight/version'
30
33
 
31
- task :ci => ['engine_cart:generate', 'jetty:clean', 'spotlight:configure_jetty'] do
32
- ENV['environment'] = "test"
34
+ task ci: ['engine_cart:generate', 'jetty:clean', 'spotlight:configure_jetty'] do
35
+ ENV['environment'] = 'test'
33
36
  jetty_params = Jettywrapper.load_config
34
- jetty_params[:startup_wait]= 60
37
+ jetty_params[:startup_wait] = 60
35
38
 
36
39
  Jettywrapper.wrap(jetty_params) do
37
- Rake::Task["spotlight:fixtures"].invoke
40
+ Rake::Task['spotlight:fixtures'].invoke
38
41
 
39
42
  # run the tests
40
- Rake::Task["spec"].invoke
43
+ Rake::Task['spec'].invoke
41
44
  end
42
45
  end
43
46
 
44
-
45
47
  namespace :spotlight do
46
- desc "Copies the default SOLR config for the bundled Testing Server"
48
+ desc 'Copies the default SOLR config for the bundled Testing Server'
47
49
  task :configure_jetty do
48
- FileList['solr_conf/conf/*'].each do |f|
49
- cp("#{f}", 'jetty/solr/blacklight-core/conf/', :verbose => true)
50
+ FileList['solr_conf/conf/*'].each do |f|
51
+ cp("#{f}", 'jetty/solr/blacklight-core/conf/', verbose: true)
50
52
  end
51
53
  end
52
54
 
53
- desc "Load fixtures"
54
- task :fixtures => ['engine_cart:generate'] do
55
+ desc 'Load fixtures'
56
+ task fixtures: ['engine_cart:generate'] do
55
57
  within_test_app do
56
- system "rake spotlight_test:solr:seed RAILS_ENV=test"
57
- abort "Error running fixtures" unless $?.success?
58
+ system 'rake spotlight_test:solr:seed RAILS_ENV=test'
59
+ abort 'Error running fixtures' unless $?.success?
58
60
  end
59
61
  end
60
62
 
63
+ desc 'Start the test application for Spotlight'
61
64
  task :server do
62
65
  Rake::Task['engine_cart:generate'].invoke
63
66
 
64
- unless File.exists? 'jetty'
67
+ unless File.exist? 'jetty'
65
68
  Rake::Task['jetty:clean'].invoke
66
69
  Rake::Task['spotlight:configure_jetty'].invoke
67
70
  end
68
71
 
69
72
  jetty_params = Jettywrapper.load_config
70
- jetty_params[:startup_wait]= 60
73
+ jetty_params[:startup_wait] = 60
71
74
 
72
75
  Jettywrapper.wrap(jetty_params) do
73
76
  within_test_app do
74
- unless File.exists? '.initialized'
75
- system "bundle exec rake spotlight:initialize"
76
- system "bundle exec rake spotlight_test:solr:seed"
77
- File.open('.initialized', "w") {}
77
+ unless File.exist? '.initialized'
78
+ system 'bundle exec rake spotlight:initialize'
79
+ system 'bundle exec rake spotlight_test:solr:seed'
80
+ File.open('.initialized', 'w') {}
78
81
  end
79
- system "bundle exec rails s"
82
+ system 'bundle exec rails s'
80
83
  end
81
84
  end
82
85
  end
83
-
86
+
84
87
  namespace :template do
88
+ desc 'Start a brand new Spotlight application using the Rails template'
85
89
  task :server do
86
90
  require 'tmpdir'
87
91
  require 'fileutils'
88
- template_path = File.expand_path(File.join(File.dirname(__FILE__), "template.rb"))
92
+ template_path = File.expand_path(File.join(File.dirname(__FILE__), 'template.rb'))
89
93
 
90
94
  Dir.mktmpdir do |dir|
91
-
92
95
  Dir.chdir(dir) do
93
96
  Bundler.with_clean_env do
94
- version = if Gem.loaded_specs["rails"]
95
- "_#{Gem.loaded_specs["rails"].version}_"
96
- end
97
+ version = "_#{Gem.loaded_specs['rails'].version}_" if Gem.loaded_specs['rails']
97
98
 
98
99
  Bundler.with_clean_env do
99
- IO.popen({"SPOTLIGHT_GEM" => File.dirname(__FILE__)}, ["rails", version, "new", "internal", "--skip-spring", "-m", template_path] + [err: [:child, :out]]) do |io|
100
- IO.copy_stream(io,$stderr)
101
-
100
+ IO.popen({ 'SPOTLIGHT_GEM' => File.dirname(__FILE__) },
101
+ ['rails', version, 'new', 'internal', '--skip-spring', '-m', template_path] +
102
+ [err: [:child, :out]]) do |io|
103
+ IO.copy_stream(io, $stderr)
104
+
102
105
  _, exit_status = Process.wait2(io.pid)
103
106
 
104
- if exit_status != 0
105
- raise "Failed to generate spotlight"
106
- end
107
+ fail 'Failed to generate spotlight' if exit_status != 0
107
108
  end
108
109
  end
109
-
110
+
110
111
  Bundler.with_clean_env do
111
- Dir.chdir("internal") do
112
+ Dir.chdir('internal') do
112
113
  APP_ROOT = Dir.pwd
113
- jetty_params = Jettywrapper.load_config
114
+ jetty_params = Jettywrapper.load_config
114
115
  Jettywrapper.wrap(jetty_params) do
115
- system "bundle exec rails s"
116
+ system 'bundle exec rails s'
116
117
  end
117
118
  end
118
119
  end
@@ -123,4 +124,4 @@ namespace :spotlight do
123
124
  end
124
125
  end
125
126
 
126
- task default: :ci
127
+ task default: [:ci, :rubocop]
@@ -1,6 +1,7 @@
1
1
  Spotlight.onLoad(function() {
2
2
  // Add Select/Deselect all button behavior
3
3
  addCheckboxToggleBehavior();
4
+ addEnableToggleBehavior();
4
5
  });
5
6
 
6
7
  // Add Select/Deselect all button behavior
@@ -44,4 +45,19 @@ function addCheckboxToggleBehavior() {
44
45
  button.text(button.data('select-text'));
45
46
  }
46
47
  }
48
+ }
49
+
50
+ function addEnableToggleBehavior() {
51
+ $("[data-behavior='enable-feature']").each(function(){
52
+ var checkbox = $(this);
53
+ var target = $($(this).data('target'));
54
+
55
+ checkbox.on('change', function() {
56
+ if ($(this).is(':checked')) {
57
+ target.find('input:checkbox').not("[data-behavior='enable-feature']").prop('checked', true).attr('disabled', false);
58
+ } else {
59
+ target.find('input:checkbox').not("[data-behavior='enable-feature']").prop('checked', false).attr('disabled', true);
60
+ }
61
+ });
62
+ });
47
63
  }
@@ -19,8 +19,10 @@ Spotlight.Block.Resources = (function(){
19
19
 
20
20
  display_checkbox: "display-checkbox",
21
21
 
22
+ globalIndex: 0,
23
+
22
24
  _itemPanel: function(data) {
23
- var index = data.id || this.$('.field').length;
25
+ var index = "item_" + this.globalIndex++;
24
26
  var checked;
25
27
  if (data.display == "true") {
26
28
  checked = "checked='checked'"
@@ -64,11 +64,11 @@
64
64
  }
65
65
  }
66
66
 
67
- .disabled-sort-option {
67
+ .disabled-sort-option, .disabled-search-option {
68
68
  .panel {margin-bottom: 0;}
69
69
  }
70
70
 
71
- .sort_fields_admin {
71
+ .sort_fields_admin, .search_fields_admin {
72
72
  .panel-title {
73
73
  display: inline;
74
74
  }
@@ -0,0 +1,24 @@
1
+ .submit-search-text {
2
+ @extend .sr-only;
3
+ }
4
+
5
+ .search-query-form {
6
+ z-index: 1;
7
+
8
+ .input-group {
9
+ width: 100%;
10
+ }
11
+
12
+ .input-group-addon {
13
+ &.for-search-field {
14
+ background-color: $input-bg;
15
+ border-radius: $border-radius-base 0 0 $border-radius-base;
16
+ width: 15ch;
17
+ }
18
+ }
19
+
20
+ .search_field {
21
+ background: transparent;
22
+ border: none;
23
+ }
24
+ }
@@ -1,5 +1,7 @@
1
- $masthead-height: 120px;
1
+ $masthead-height: 180px;
2
2
  $masthead-image-blur: 1px;
3
+ $menu-link-background-color-active: rgba(255, 255, 255, 0.3);
4
+ $menu-link-background-color-hover: rgba(255, 255, 255, 0.15);
3
5
 
4
6
  @mixin masthead-background-containers() {
5
7
  position: absolute;
@@ -10,25 +12,92 @@ $masthead-image-blur: 1px;
10
12
  height: inherit;
11
13
  }
12
14
 
13
- #exhibit-masthead, #exhibit-navbar {
15
+ @mixin masthead-navigation-menu() {
16
+ border: 0;
17
+ border-radius: 0;
18
+
19
+ ul.nav.navbar-nav {
20
+ > li {
21
+ text-transform: uppercase;
22
+
23
+ a {
24
+ color: $gray-lighter;
25
+ letter-spacing: 1.2px;
26
+ }
27
+ }
28
+
29
+ a:hover {
30
+ background-color: $menu-link-background-color-hover;
31
+ }
32
+
33
+ > .active > a {
34
+ background-color: $menu-link-background-color-active;
35
+ color: $white;
36
+ }
37
+
38
+ .dropdown-menu {
39
+ text-transform: none;
40
+
41
+ > li a {
42
+ color: $black;
43
+
44
+ &:hover {
45
+ background-color: $gray-lighter;
46
+ }
47
+ }
48
+ }
49
+ }
50
+
51
+ // Curated Features menu link when it has dropdown menu
52
+ .navbar-nav > .open > a,
53
+ .navbar-nav > .open > a:hover,
54
+ .navbar-nav > .open > a:focus {
55
+ background-color: $menu-link-background-color-hover;
56
+ }
57
+ }
58
+
59
+ #exhibit-masthead,
60
+ #exhibit-navbar {
14
61
  z-index: 1;
15
62
  }
16
63
 
17
64
  #exhibit-navbar {
65
+ z-index: 100;
66
+
18
67
  &.page-masthead {
19
- background-color: $gray;
68
+ @include masthead-navigation-menu();
69
+ background-color: rgba(0, 0, 0, 0.5);
70
+ border-bottom: 1px solid $gray;
20
71
  margin-bottom: 0;
21
- border: 0;
22
- border-radius: 0;
72
+ margin-top: 0;
73
+
23
74
  .navbar-nav {
24
75
  float: right;
25
76
  }
26
- .navbar-brand, .navbar-nav li {
77
+
78
+ .navbar-brand,
79
+ .navbar-nav li {
27
80
  color: $gray-lighter;
28
- &.active a {color: $gray;}
29
- a {color: $gray-lighter;}
81
+
82
+ &.active a {
83
+ color: $gray;
84
+ }
85
+
86
+ a {
87
+ color: $gray-lighter;
88
+ }
30
89
  }
31
90
  }
91
+
92
+ .navbar-form {
93
+ text-align: right;
94
+ }
95
+ }
96
+
97
+ #exhibit-masthead.with-image + #exhibit-navbar.navbar-default {
98
+ @include masthead-navigation-menu();
99
+ background-color: rgba(0, 0, 0, 0.2);
100
+ border-top: 1px solid $gray;
32
101
  }
33
102
 
34
103
  .navbar + .navbar {
@@ -40,30 +109,44 @@ $masthead-image-blur: 1px;
40
109
  }
41
110
 
42
111
  #exhibit-masthead {
43
- margin-bottom: 0;
44
- padding: 0 0 24px 0;
45
- position: static;
46
112
  height: $masthead-height;
113
+ margin-bottom: -50px;
114
+ padding: 0;
115
+ position: static;
116
+
47
117
  & > .container {
48
- // Maintains the site title and subtitle at slightly below
49
- // vertically-centered, even if height of masthead is changed.
50
118
  position: relative;
51
- top: 60%;
119
+ top: 33%;
52
120
  -webkit-transform: translateY(-50%);
53
121
  transform: translateY(-50%);
54
122
  }
123
+
55
124
  &.with-page-masthead {
56
125
  margin-bottom: $padding-base-vertical;
126
+ margin-top: -51px;
127
+
128
+ > .container {
129
+ top: 60%;
130
+ }
131
+
132
+ .navbar-brand {
133
+ font-size: $font-size-large;
134
+ text-shadow: 1px 1px 0 $black;
135
+ }
136
+
57
137
  .search-title {
58
138
  text-align: center;
139
+
59
140
  small {
60
- text-transform: uppercase ;
141
+ text-transform: uppercase;
61
142
  }
62
143
  }
63
144
  }
145
+
64
146
  .site-title {
65
147
  font-size: 30px;
66
148
  }
149
+
67
150
  small {
68
151
  display: block;
69
152
  padding-top: $padding-base-vertical;
@@ -71,49 +154,59 @@ $masthead-image-blur: 1px;
71
154
  }
72
155
 
73
156
  &.with-image {
74
- .site-title, .search-title {
157
+ .site-title,
158
+ .search-title {
75
159
  color: $white;
76
- text-shadow: 0 1px 0 $black;
160
+ text-shadow: 1px 1px 0 $black;
77
161
  }
162
+
78
163
  small {
79
164
  color: $white;
80
165
  }
81
- }
82
166
 
83
- .more-exhibits {
84
- @extend .navbar-right;
85
- }
167
+ .more-exhibits {
168
+ a {
169
+ color: $gray-lighter;
170
+ background: rgba(0, 0, 0, 0.4);
171
+ border-top-left-radius: $border-radius-base;
172
+ border-top-right-radius: $border-radius-base;
173
+ }
86
174
 
87
- &.with-image .more-exhibits {
88
- a {
89
- color: $gray-lighter;
90
- background: rgba(0, 0, 0, 0.4);
91
- border-top-left-radius: $border-radius-base;
92
- border-top-right-radius: $border-radius-base;
93
- }
94
- a:hover, a:focus, a:active {
95
- background: rgba(0, 0, 0, 0.6);
96
- }
175
+ a:hover,
176
+ a:focus,
177
+ a:active {
178
+ background: rgba(0, 0, 0, 0.6);
179
+ }
97
180
 
98
- .dropdown-menu a {
99
- background: none;
100
- color: $gray;
101
- &:hover, &:focus, &:active {
102
- background-color: $gray-lighter;
181
+ .dropdown-menu a {
182
+ background: none;
183
+ color: $gray;
184
+
185
+ &:hover,
186
+ &:focus,
187
+ &:active {
188
+ background-color: $gray-lighter;
189
+ }
103
190
  }
104
191
  }
105
192
  }
106
193
 
194
+ .more-exhibits {
195
+ @extend .navbar-right;
196
+ }
197
+
107
198
  &.with-page-masthead {
108
- .site-title {margin-top: $padding-large-vertical * 3;}
199
+ .site-title {
200
+ margin-top: $padding-large-vertical * 3;
201
+ }
109
202
 
110
203
  .more-exhibits {
111
204
  @extend .navbar-left;
112
205
  padding-top: $padding-base-vertical;
113
206
 
114
207
  .dropdown-menu {
115
- right: auto;
116
208
  left: 0;
209
+ right: auto;
117
210
  }
118
211
  }
119
212
  }
@@ -135,6 +228,7 @@ $masthead-image-blur: 1px;
135
228
  // Add right border to image to hide lighter blurred edge
136
229
  border-right: 1px solid $black;
137
230
  }
231
+
138
232
  // Include gradient to improve text legibility,
139
233
  // especially on light background images.
140
234
  .background-container-gradient {
@@ -148,19 +242,28 @@ $masthead-image-blur: 1px;
148
242
  }
149
243
  }
150
244
 
245
+ // Margin between bottom of masthead and start of page content.
246
+ // Need to apply bottom margin to different element, depending on
247
+ // whether it is a regular masthead or a browse category masthead
248
+ #exhibit-masthead + #exhibit-navbar,
249
+ #exhibit-navbar + #exhibit-masthead {
250
+ margin-bottom: $padding-large-vertical * 2.5;
251
+ }
252
+
151
253
  .col-md-4 {
152
254
  .submit-search-text {
153
255
  // hide 'search' label
154
- // copied from .sr-only, sadly can't seem to use @extend in a media
155
- // query like this, have to copy.
156
- position: absolute;
157
- width: 1px;
158
- height: 1px;
159
- margin: -1px;
160
- overflow: hidden;
161
- clip: rect(0,0,0,0);
162
- border: 0;
256
+ // copied from .sr-only, sadly can't seem to use @extend in a media
257
+ // query like this, have to copy.
258
+ border: 0;
259
+ clip: rect(0, 0, 0, 0);
260
+ height: 1px;
261
+ margin: -1px;
262
+ overflow: hidden;
263
+ position: absolute;
264
+ width: 1px;
163
265
  }
266
+
164
267
  .glyphicon-search {
165
268
  line-height: $line-height-computed;
166
269
  }