blacklight-spotlight 0.4.1 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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
  }