blacklight-spotlight 2.7.2 → 2.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/spotlight/admin/add_another.js +22 -0
  3. data/app/assets/javascripts/spotlight/{add_new_page_button.js → admin/add_new_page_button.js} +0 -0
  4. data/app/assets/javascripts/spotlight/{appearance.js → admin/appearance.js} +0 -0
  5. data/app/assets/javascripts/spotlight/{attachments.js → admin/attachments.js} +0 -0
  6. data/app/assets/javascripts/spotlight/{blacklight_configuration.js → admin/blacklight_configuration.js} +0 -0
  7. data/app/assets/javascripts/spotlight/{block_mixins → admin/block_mixins}/autocompleteable.js +0 -0
  8. data/app/assets/javascripts/spotlight/{block_mixins → admin/block_mixins}/formable.js +0 -0
  9. data/app/assets/javascripts/spotlight/{block_mixins → admin/block_mixins}/plustextable.js +0 -0
  10. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/block.js +0 -0
  11. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/browse_block.js +1 -1
  12. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/iframe_block.js +0 -0
  13. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/link_to_search_block.js +1 -1
  14. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/oembed_block.js +0 -0
  15. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/pages_block.js +1 -1
  16. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/resources_block.js +0 -0
  17. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/rule_block.js +0 -0
  18. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/search_result_block.js +3 -3
  19. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/solr_documents_base_block.js +2 -2
  20. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/solr_documents_block.js +1 -1
  21. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/solr_documents_carousel_block.js +1 -1
  22. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/solr_documents_embed_block.js +1 -1
  23. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/solr_documents_features_block.js +2 -2
  24. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/solr_documents_grid_block.js +1 -1
  25. data/app/assets/javascripts/spotlight/{blocks → admin/blocks}/uploaded_items_block.js +0 -0
  26. data/app/assets/javascripts/spotlight/{catalog_edit.js → admin/catalog_edit.js} +0 -0
  27. data/app/assets/javascripts/spotlight/{copy_email_addresses.js → admin/copy_email_addresses.js} +0 -0
  28. data/app/assets/javascripts/spotlight/{crop.es6 → admin/crop.es6} +0 -0
  29. data/app/assets/javascripts/spotlight/{croppable.js → admin/croppable.js} +1 -1
  30. data/app/assets/javascripts/spotlight/{edit_in_place.js → admin/edit_in_place.js} +0 -0
  31. data/app/assets/javascripts/spotlight/{exhibits.js → admin/exhibits.js} +0 -0
  32. data/app/assets/javascripts/spotlight/{form_observer.js → admin/form_observer.js} +0 -0
  33. data/app/assets/javascripts/spotlight/{iiif.es6 → admin/iiif.es6} +0 -0
  34. data/app/assets/javascripts/spotlight/admin/index.js +18 -0
  35. data/app/assets/javascripts/spotlight/{locks.js → admin/locks.js} +0 -0
  36. data/app/assets/javascripts/spotlight/{multi_image_selector.js → admin/multi_image_selector.js} +0 -0
  37. data/app/assets/javascripts/spotlight/{pages.js.erb → admin/pages.js.erb} +0 -2
  38. data/app/assets/javascripts/spotlight/{readonly_checkbox.js → admin/readonly_checkbox.js} +0 -0
  39. data/app/assets/javascripts/spotlight/{reindex_monitor.js → admin/reindex_monitor.js} +0 -0
  40. data/app/assets/javascripts/spotlight/{search_typeahead.js → admin/search_typeahead.js} +1 -1
  41. data/app/assets/javascripts/spotlight/{select_related_input.js → admin/select_related_input.js} +0 -0
  42. data/app/assets/javascripts/spotlight/{sir-trevor → admin/sir-trevor}/block_controls.js +0 -0
  43. data/app/assets/javascripts/spotlight/{sir-trevor → admin/sir-trevor}/block_limits.js +0 -0
  44. data/app/assets/javascripts/spotlight/{sir-trevor → admin/sir-trevor}/locales.js +0 -0
  45. data/app/assets/javascripts/spotlight/{spotlight_nestable.js → admin/spotlight_nestable.js} +0 -0
  46. data/app/assets/javascripts/spotlight/{tabs.js → admin/tabs.js} +0 -0
  47. data/app/assets/javascripts/spotlight/{translation_progress.js → admin/translation_progress.js} +0 -0
  48. data/app/assets/javascripts/spotlight/{users.js → admin/users.js} +0 -0
  49. data/app/assets/javascripts/spotlight/application.js +2 -22
  50. data/app/assets/javascripts/spotlight/{analytics.js → user/analytics.js} +0 -0
  51. data/app/assets/javascripts/spotlight/user/carousel.js +3 -0
  52. data/app/assets/javascripts/spotlight/{clear_form_button.js → user/clear_form_button.js} +0 -0
  53. data/app/assets/javascripts/spotlight/user/index.js +6 -0
  54. data/app/assets/javascripts/spotlight/{report_a_problem.js → user/report_a_problem.js} +0 -0
  55. data/app/assets/javascripts/spotlight/{zpr_links.js.erb → user/zpr_links.js.erb} +0 -0
  56. data/app/controllers/spotlight/catalog_controller.rb +1 -1
  57. data/app/controllers/spotlight/custom_fields_controller.rb +1 -1
  58. data/app/controllers/spotlight/resources/csv_upload_controller.rb +1 -1
  59. data/app/controllers/spotlight/resources/upload_controller.rb +17 -13
  60. data/app/controllers/spotlight/resources_controller.rb +5 -0
  61. data/app/controllers/spotlight/searches_controller.rb +0 -2
  62. data/app/controllers/spotlight/solr_controller.rb +18 -1
  63. data/app/helpers/spotlight/pages_helper.rb +10 -0
  64. data/app/jobs/spotlight/add_uploads_from_csv.rb +1 -1
  65. data/app/jobs/spotlight/rename_sidecar_field_job.rb +21 -7
  66. data/app/models/spotlight/blacklight_configuration.rb +4 -2
  67. data/app/models/spotlight/custom_field.rb +20 -20
  68. data/app/models/spotlight/exhibit.rb +11 -1
  69. data/app/models/spotlight/page.rb +10 -4
  70. data/app/models/spotlight/page_content.rb +18 -0
  71. data/app/models/spotlight/page_content/sir_trevor.rb +17 -0
  72. data/app/models/spotlight/solr_document_sidecar.rb +3 -0
  73. data/app/presenters/spotlight/iiif_manifest_presenter.rb +2 -2
  74. data/app/serializers/spotlight/exhibit_export_serializer.rb +4 -0
  75. data/app/services/spotlight/upload_solr_document_builder.rb +10 -3
  76. data/app/values/custom_field_name.rb +6 -6
  77. data/app/views/spotlight/catalog/_edit_sidecar.html.erb +9 -14
  78. data/app/views/spotlight/custom_fields/_form.html.erb +7 -2
  79. data/app/views/spotlight/custom_fields/form_group/_text.html.erb +14 -0
  80. data/app/views/spotlight/custom_fields/form_group/_vocab.html.erb +14 -0
  81. data/app/views/spotlight/pages/_form.html.erb +1 -1
  82. data/app/views/spotlight/resources/new.html.erb +9 -3
  83. data/app/views/spotlight/resources/upload/_form.html.erb +3 -1
  84. data/config/i18n-tasks.yml +1 -0
  85. data/config/locales/spotlight.en.yml +5 -0
  86. data/db/migrate/20190807085432_add_content_type_to_pages.rb +5 -0
  87. data/db/migrate/20190813085432_add_is_multiple_to_custom_fields.rb +7 -0
  88. data/lib/spotlight/engine.rb +8 -1
  89. data/lib/spotlight/version.rb +1 -1
  90. data/spec/controllers/spotlight/catalog_controller_spec.rb +6 -0
  91. data/spec/controllers/spotlight/resources/csv_upload_controller_spec.rb +1 -1
  92. data/spec/controllers/spotlight/resources/upload_controller_spec.rb +9 -1
  93. data/spec/controllers/spotlight/solr_controller_spec.rb +16 -0
  94. data/spec/examples.txt +1305 -1325
  95. data/spec/features/add_custom_field_metadata_spec.rb +19 -1
  96. data/spec/features/add_items_spec.rb +19 -2
  97. data/spec/features/exhibits/custom_metadata_fields_spec.rb +23 -0
  98. data/spec/helpers/spotlight/pages_helper_spec.rb +14 -0
  99. data/spec/jobs/spotlight/add_uploads_from_csv_spec.rb +4 -2
  100. data/spec/models/spotlight/blacklight_configuration_spec.rb +2 -2
  101. data/spec/models/spotlight/custom_field_spec.rb +8 -3
  102. data/spec/models/spotlight/page_spec.rb +35 -0
  103. metadata +61 -51
@@ -22,7 +22,7 @@ describe 'Adding custom metadata field data', type: :feature do
22
22
 
23
23
  click_on 'Save changes'
24
24
 
25
- expect(::SolrDocument.new(id: 'dq287tq6352').sidecar(exhibit).data).to include 'field_name_tesim' => 'My new custom field value'
25
+ expect(::SolrDocument.new(id: 'dq287tq6352').sidecar(exhibit).data).to include 'some-field' => 'My new custom field value'
26
26
  sleep(1) # The data isn't commited to solr immediately.
27
27
 
28
28
  visit spotlight.exhibit_solr_document_path(exhibit, 'dq287tq6352')
@@ -43,6 +43,24 @@ describe 'Adding custom metadata field data', type: :feature do
43
43
  end
44
44
  end
45
45
 
46
+ context 'with a multivalued field', js: true do
47
+ let(:custom_field) { FactoryBot.create(:custom_field, exhibit: exhibit, is_multiple: true) }
48
+ it 'can add multiple values' do
49
+ visit spotlight.exhibit_solr_document_path(exhibit, 'dq287tq6352')
50
+
51
+ expect(page).to have_link 'Edit'
52
+
53
+ click_on 'Edit'
54
+ fill_in 'Some Field', with: 'value 1'
55
+ click_on 'Add another'
56
+ fill_in 'solr_document_sidecar_data_some-field_2', with: 'value 2'
57
+
58
+ click_on 'Save changes'
59
+
60
+ expect(::SolrDocument.new(id: 'dq287tq6352').sidecar(exhibit).data).to include 'some-field' => ['value 1', 'value 2']
61
+ end
62
+ end
63
+
46
64
  it 'has a public toggle' do
47
65
  visit spotlight.exhibit_solr_document_path(exhibit, 'dq287tq6352')
48
66
 
@@ -4,7 +4,7 @@ describe 'Uploading a non-repository item', type: :feature do
4
4
  include ActiveJob::TestHelper
5
5
 
6
6
  let!(:exhibit) { FactoryBot.create(:exhibit) }
7
- let!(:custom_field) { FactoryBot.create(:custom_field, exhibit: exhibit) }
7
+ let!(:custom_field) { FactoryBot.create(:custom_field, exhibit: exhibit, field_type: :vocab) }
8
8
  let(:exhibit_curator) { FactoryBot.create(:exhibit_curator, exhibit: exhibit) }
9
9
  let(:user) { exhibit_curator }
10
10
  before { login_as user }
@@ -24,7 +24,7 @@ describe 'Uploading a non-repository item', type: :feature do
24
24
  expect(page).to have_css('textarea#resources_upload_data_spotlight_upload_description_tesim')
25
25
  expect(page).to have_css('#resources_upload_data_spotlight_upload_attribution_tesim[type="text"]')
26
26
  expect(page).to have_css('#resources_upload_data_spotlight_upload_date_tesim[type="text"]')
27
- expect(page).to have_css("#resources_upload_data_#{custom_field.field}[type='text']")
27
+ expect(page).to have_css("#f0_resources_upload_data_#{custom_field.slug}[type='text']")
28
28
  end
29
29
  end
30
30
 
@@ -46,6 +46,23 @@ describe 'Uploading a non-repository item', type: :feature do
46
46
  Blacklight.default_index.connection.commit
47
47
  end
48
48
 
49
+ it 'creates a new item event without an attached file' do
50
+ visit spotlight.new_exhibit_resource_path(exhibit)
51
+
52
+ click_link 'Upload item'
53
+
54
+ fill_in 'Title', with: 'no-image'
55
+
56
+ within '#new_resources_upload' do
57
+ click_button 'Add item'
58
+ end
59
+ expect(page).to have_content 'Object uploaded successfully.'
60
+ expect(Spotlight::Resource.last.data['full_title_tesim']).to eq 'no-image'
61
+
62
+ Blacklight.default_index.connection.delete_by_id Spotlight::Resource.last.send(:compound_id)
63
+ Blacklight.default_index.connection.commit
64
+ end
65
+
49
66
  it 'displays the multi-item CSV upload form' do
50
67
  visit spotlight.new_exhibit_resource_path(exhibit)
51
68
  expect(page).to have_css('h1', text: /Curation/)
@@ -71,4 +71,27 @@ describe 'Adding custom metadata fields', type: :feature do
71
71
  visit spotlight.edit_exhibit_search_configuration_path exhibit
72
72
  expect(page).to have_content 'My new custom field'
73
73
  end
74
+
75
+ it 'can be multivalued' do
76
+ visit spotlight.edit_exhibit_metadata_configuration_path exhibit
77
+ click_on 'Add new field'
78
+ fill_in 'Label', with: 'My multivalued custom field'
79
+
80
+ choose 'Controlled vocabulary'
81
+ check 'custom_field_is_multiple'
82
+ click_on 'Save'
83
+
84
+ expect(page).to have_content 'The custom field was created.'
85
+ within '#exhibit-specific-fields' do
86
+ # Edit
87
+ click_link 'Edit'
88
+ end
89
+
90
+ expect(page).to have_checked_field 'Controlled vocabulary'
91
+ expect(page).to have_unchecked_field 'Free text'
92
+ expect(page).to have_checked_field 'custom_field_is_multiple', disabled: true
93
+
94
+ visit spotlight.edit_exhibit_search_configuration_path exhibit
95
+ expect(page).to have_content 'My multivalued custom field'
96
+ end
74
97
  end
@@ -100,4 +100,18 @@ describe Spotlight::PagesHelper, type: :helper do
100
100
  expect(helper.sir_trevor_markdown(nil)).to be_blank
101
101
  end
102
102
  end
103
+
104
+ describe '#content_editor_class' do
105
+ context 'with a sir-trevor backed page' do
106
+ it 'has a custom class' do
107
+ expect(helper.content_editor_class(Spotlight::Page.new)).to eq 'js-st-instance'
108
+ end
109
+ end
110
+
111
+ context 'with a sir-trevor backed page' do
112
+ it 'derives a css class name from the editor type' do
113
+ expect(helper.content_editor_class(Spotlight::Page.new(content_type: 'Something::Custom'))).to eq 'js-something-custom-instance'
114
+ end
115
+ end
116
+ end
103
117
  end
@@ -7,7 +7,8 @@ describe Spotlight::AddUploadsFromCSV do
7
7
  let(:data) do
8
8
  [
9
9
  { 'url' => 'x' },
10
- { 'url' => 'y' }
10
+ { 'url' => 'y' },
11
+ { 'url' => '~' }
11
12
  ]
12
13
  end
13
14
 
@@ -29,10 +30,11 @@ describe Spotlight::AddUploadsFromCSV do
29
30
 
30
31
  it 'creates uploaded resources for each row of data' do
31
32
  upload = FactoryBot.create(:uploaded_resource)
32
- expect(Spotlight::Resources::Upload).to receive(:new).at_least(:once).and_return(upload)
33
+ expect(Spotlight::Resources::Upload).to receive(:new).exactly(3).times.and_return(upload)
33
34
 
34
35
  expect(upload).to receive(:build_upload).with(remote_image_url: 'x').and_call_original
35
36
  expect(upload).to receive(:build_upload).with(remote_image_url: 'y').and_call_original
37
+ expect(upload).not_to receive(:build_upload).with(remote_image_url: '~')
36
38
  expect(upload).to receive(:save_and_index).at_least(:once)
37
39
 
38
40
  job.perform_now
@@ -96,7 +96,7 @@ describe Spotlight::BlacklightConfiguration, type: :model do
96
96
 
97
97
  it 'defaults to not showing a custom field in the facets' do
98
98
  field = double('field', new_record?: false, field: 'a', solr_field: 'a', configuration: {})
99
- custom_fields = double('custom_fields', vocab: [field], reject: [])
99
+ custom_fields = double('custom_fields', facetable: [field], reject: [])
100
100
  allow(custom_fields).to receive(:map).and_yield(field)
101
101
  allow(subject.exhibit).to receive(:custom_fields).and_return(custom_fields)
102
102
  subject.facet_fields = { 'a' => { enabled: '1', label: 'Label' } }
@@ -523,7 +523,7 @@ describe Spotlight::BlacklightConfiguration, type: :model do
523
523
 
524
524
  describe '#custom_facet_fields' do
525
525
  it 'converts exhibit-specific fields to Blacklight configurations' do
526
- allow(subject.exhibit).to receive_message_chain(:custom_fields, vocab: [
526
+ allow(subject.exhibit).to receive_message_chain(:custom_fields, facetable: [
527
527
  stub_model(Spotlight::CustomField, field: 'abc', configuration: { a: 1 }, exhibit: subject.exhibit),
528
528
  stub_model(Spotlight::CustomField, field: 'xyz', configuration: { x: 2 }, exhibit: subject.exhibit)
529
529
  ])
@@ -67,13 +67,13 @@ describe Spotlight::CustomField, type: :model do
67
67
  it 'ends in the text suffix if it is a text field' do
68
68
  subject.field_type = 'text'
69
69
  subject.save
70
- expect(subject.field).to end_with Spotlight::Engine.config.solr_fields.text_suffix
70
+ expect(subject.field).to end_with '_tesim'
71
71
  end
72
72
 
73
73
  it 'ends in a string suffix if it is a vocab field' do
74
74
  subject.field_type = 'vocab'
75
75
  subject.save
76
- expect(subject.field).to end_with Spotlight::Engine.config.solr_fields.string_suffix
76
+ expect(subject.field).to end_with '_ssim'
77
77
  end
78
78
 
79
79
  it 'begins with readonly if it is readonly' do
@@ -182,7 +182,12 @@ describe Spotlight::CustomField, type: :model do
182
182
  end
183
183
 
184
184
  it 'queues a job to reindex any documents with data in the old field' do
185
- expect(Spotlight::RenameSidecarFieldJob).to receive(:perform_later).with(exhibit, subject.field, subject.field.sub('tesim', 'ssim'))
185
+ expect(Spotlight::RenameSidecarFieldJob).to receive(:perform_later).with(
186
+ exhibit,
187
+ subject.field, subject.field.sub('tesim', 'ssim'),
188
+ subject.slug, subject.slug
189
+ )
190
+
186
191
  subject.field_type = 'vocab'
187
192
  subject.save
188
193
  end
@@ -65,6 +65,28 @@ describe Spotlight::Page, type: :model do
65
65
  page.content = []
66
66
  expect(page.content).to be_a_kind_of SirTrevorRails::BlockArray
67
67
  end
68
+
69
+ context 'with an alternate page content type' do
70
+ let(:page) { FactoryBot.create(:feature_page, content_type: 'Static') }
71
+ let(:fake_class) do
72
+ Class.new do
73
+ def self.parse(*_args)
74
+ 'xyz'
75
+ end
76
+ end
77
+ end
78
+
79
+ before do
80
+ # needed so we don't accidentally stub Spotlight::PageContent below
81
+ require 'spotlight/page_content'
82
+ stub_const('Spotlight::PageContent::Static', fake_class)
83
+ end
84
+
85
+ it 'works' do
86
+ page.content = [].to_json
87
+ expect(page.content).to eq 'xyz'
88
+ end
89
+ end
68
90
  end
69
91
 
70
92
  describe '#content?' do
@@ -81,6 +103,19 @@ describe Spotlight::Page, type: :model do
81
103
  end
82
104
  end
83
105
 
106
+ describe '#content_type' do
107
+ let(:page) { FactoryBot.create(:feature_page) }
108
+
109
+ it 'can be set as an attribute' do
110
+ page.content_type = 'Xyz'
111
+ expect(page.content_type).to eq 'Xyz'
112
+ end
113
+
114
+ it 'defauts to SirTrevor' do
115
+ expect(page.content_type).to eq 'SirTrevor'
116
+ end
117
+ end
118
+
84
119
  describe '#slug' do
85
120
  let(:page) { FactoryBot.create(:feature_page) }
86
121
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight-spotlight
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.2
4
+ version: 2.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2019-08-07 00:00:00.000000000 Z
14
+ date: 2019-08-29 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -789,57 +789,61 @@ files:
789
789
  - app/assets/images/spotlight/default_browse_thumbnail.jpg
790
790
  - app/assets/images/spotlight/default_thumbnail.jpg
791
791
  - app/assets/images/spotlight/fallback/default.png
792
- - app/assets/javascripts/spotlight/add_new_page_button.js
793
- - app/assets/javascripts/spotlight/analytics.js
794
- - app/assets/javascripts/spotlight/appearance.js
792
+ - app/assets/javascripts/spotlight/admin/add_another.js
793
+ - app/assets/javascripts/spotlight/admin/add_new_page_button.js
794
+ - app/assets/javascripts/spotlight/admin/appearance.js
795
+ - app/assets/javascripts/spotlight/admin/attachments.js
796
+ - app/assets/javascripts/spotlight/admin/blacklight_configuration.js
797
+ - app/assets/javascripts/spotlight/admin/block_mixins/autocompleteable.js
798
+ - app/assets/javascripts/spotlight/admin/block_mixins/formable.js
799
+ - app/assets/javascripts/spotlight/admin/block_mixins/plustextable.js
800
+ - app/assets/javascripts/spotlight/admin/blocks/block.js
801
+ - app/assets/javascripts/spotlight/admin/blocks/browse_block.js
802
+ - app/assets/javascripts/spotlight/admin/blocks/iframe_block.js
803
+ - app/assets/javascripts/spotlight/admin/blocks/link_to_search_block.js
804
+ - app/assets/javascripts/spotlight/admin/blocks/oembed_block.js
805
+ - app/assets/javascripts/spotlight/admin/blocks/pages_block.js
806
+ - app/assets/javascripts/spotlight/admin/blocks/resources_block.js
807
+ - app/assets/javascripts/spotlight/admin/blocks/rule_block.js
808
+ - app/assets/javascripts/spotlight/admin/blocks/search_result_block.js
809
+ - app/assets/javascripts/spotlight/admin/blocks/solr_documents_base_block.js
810
+ - app/assets/javascripts/spotlight/admin/blocks/solr_documents_block.js
811
+ - app/assets/javascripts/spotlight/admin/blocks/solr_documents_carousel_block.js
812
+ - app/assets/javascripts/spotlight/admin/blocks/solr_documents_embed_block.js
813
+ - app/assets/javascripts/spotlight/admin/blocks/solr_documents_features_block.js
814
+ - app/assets/javascripts/spotlight/admin/blocks/solr_documents_grid_block.js
815
+ - app/assets/javascripts/spotlight/admin/blocks/uploaded_items_block.js
816
+ - app/assets/javascripts/spotlight/admin/catalog_edit.js
817
+ - app/assets/javascripts/spotlight/admin/copy_email_addresses.js
818
+ - app/assets/javascripts/spotlight/admin/crop.es6
819
+ - app/assets/javascripts/spotlight/admin/croppable.js
820
+ - app/assets/javascripts/spotlight/admin/edit_in_place.js
821
+ - app/assets/javascripts/spotlight/admin/exhibits.js
822
+ - app/assets/javascripts/spotlight/admin/form_observer.js
823
+ - app/assets/javascripts/spotlight/admin/iiif.es6
824
+ - app/assets/javascripts/spotlight/admin/index.js
825
+ - app/assets/javascripts/spotlight/admin/locks.js
826
+ - app/assets/javascripts/spotlight/admin/multi_image_selector.js
827
+ - app/assets/javascripts/spotlight/admin/pages.js.erb
828
+ - app/assets/javascripts/spotlight/admin/readonly_checkbox.js
829
+ - app/assets/javascripts/spotlight/admin/reindex_monitor.js
830
+ - app/assets/javascripts/spotlight/admin/search_typeahead.js
831
+ - app/assets/javascripts/spotlight/admin/select_related_input.js
832
+ - app/assets/javascripts/spotlight/admin/sir-trevor/block_controls.js
833
+ - app/assets/javascripts/spotlight/admin/sir-trevor/block_limits.js
834
+ - app/assets/javascripts/spotlight/admin/sir-trevor/locales.js
835
+ - app/assets/javascripts/spotlight/admin/spotlight_nestable.js
836
+ - app/assets/javascripts/spotlight/admin/tabs.js
837
+ - app/assets/javascripts/spotlight/admin/translation_progress.js
838
+ - app/assets/javascripts/spotlight/admin/users.js
795
839
  - app/assets/javascripts/spotlight/application.js
796
- - app/assets/javascripts/spotlight/attachments.js
797
- - app/assets/javascripts/spotlight/blacklight_configuration.js
798
- - app/assets/javascripts/spotlight/block_mixins/autocompleteable.js
799
- - app/assets/javascripts/spotlight/block_mixins/formable.js
800
- - app/assets/javascripts/spotlight/block_mixins/plustextable.js
801
- - app/assets/javascripts/spotlight/blocks/block.js
802
- - app/assets/javascripts/spotlight/blocks/browse_block.js
803
- - app/assets/javascripts/spotlight/blocks/iframe_block.js
804
- - app/assets/javascripts/spotlight/blocks/link_to_search_block.js
805
- - app/assets/javascripts/spotlight/blocks/oembed_block.js
806
- - app/assets/javascripts/spotlight/blocks/pages_block.js
807
- - app/assets/javascripts/spotlight/blocks/resources_block.js
808
- - app/assets/javascripts/spotlight/blocks/rule_block.js
809
- - app/assets/javascripts/spotlight/blocks/search_result_block.js
810
- - app/assets/javascripts/spotlight/blocks/solr_documents_base_block.js
811
- - app/assets/javascripts/spotlight/blocks/solr_documents_block.js
812
- - app/assets/javascripts/spotlight/blocks/solr_documents_carousel_block.js
813
- - app/assets/javascripts/spotlight/blocks/solr_documents_embed_block.js
814
- - app/assets/javascripts/spotlight/blocks/solr_documents_features_block.js
815
- - app/assets/javascripts/spotlight/blocks/solr_documents_grid_block.js
816
- - app/assets/javascripts/spotlight/blocks/uploaded_items_block.js
817
- - app/assets/javascripts/spotlight/catalog_edit.js
818
- - app/assets/javascripts/spotlight/clear_form_button.js
819
- - app/assets/javascripts/spotlight/copy_email_addresses.js
820
- - app/assets/javascripts/spotlight/crop.es6
821
- - app/assets/javascripts/spotlight/croppable.js
822
- - app/assets/javascripts/spotlight/edit_in_place.js
823
- - app/assets/javascripts/spotlight/exhibits.js
824
- - app/assets/javascripts/spotlight/form_observer.js
825
- - app/assets/javascripts/spotlight/iiif.es6
826
- - app/assets/javascripts/spotlight/locks.js
827
- - app/assets/javascripts/spotlight/multi_image_selector.js
828
- - app/assets/javascripts/spotlight/pages.js.erb
829
- - app/assets/javascripts/spotlight/readonly_checkbox.js
830
- - app/assets/javascripts/spotlight/reindex_monitor.js
831
- - app/assets/javascripts/spotlight/report_a_problem.js
832
- - app/assets/javascripts/spotlight/search_typeahead.js
833
- - app/assets/javascripts/spotlight/select_related_input.js
834
- - app/assets/javascripts/spotlight/sir-trevor/block_controls.js
835
- - app/assets/javascripts/spotlight/sir-trevor/block_limits.js
836
- - app/assets/javascripts/spotlight/sir-trevor/locales.js
837
840
  - app/assets/javascripts/spotlight/spotlight.js
838
- - app/assets/javascripts/spotlight/spotlight_nestable.js
839
- - app/assets/javascripts/spotlight/tabs.js
840
- - app/assets/javascripts/spotlight/translation_progress.js
841
- - app/assets/javascripts/spotlight/users.js
842
- - app/assets/javascripts/spotlight/zpr_links.js.erb
841
+ - app/assets/javascripts/spotlight/user/analytics.js
842
+ - app/assets/javascripts/spotlight/user/carousel.js
843
+ - app/assets/javascripts/spotlight/user/clear_form_button.js
844
+ - app/assets/javascripts/spotlight/user/index.js
845
+ - app/assets/javascripts/spotlight/user/report_a_problem.js
846
+ - app/assets/javascripts/spotlight/user/zpr_links.js.erb
843
847
  - app/assets/stylesheets/spotlight/_attachments.css
844
848
  - app/assets/stylesheets/spotlight/_blacklight_configuration.scss
845
849
  - app/assets/stylesheets/spotlight/_blacklight_overrides.scss
@@ -990,6 +994,8 @@ files:
990
994
  - app/models/spotlight/masthead.rb
991
995
  - app/models/spotlight/page.rb
992
996
  - app/models/spotlight/page_configurations.rb
997
+ - app/models/spotlight/page_content.rb
998
+ - app/models/spotlight/page_content/sir_trevor.rb
993
999
  - app/models/spotlight/reindex_progress.rb
994
1000
  - app/models/spotlight/reindexing_log_entry.rb
995
1001
  - app/models/spotlight/resource.rb
@@ -1079,6 +1085,8 @@ files:
1079
1085
  - app/views/spotlight/contacts/new.html.erb
1080
1086
  - app/views/spotlight/custom_fields/_form.html.erb
1081
1087
  - app/views/spotlight/custom_fields/edit.html.erb
1088
+ - app/views/spotlight/custom_fields/form_group/_text.html.erb
1089
+ - app/views/spotlight/custom_fields/form_group/_vocab.html.erb
1082
1090
  - app/views/spotlight/custom_fields/new.html.erb
1083
1091
  - app/views/spotlight/dashboards/_analytics.html.erb
1084
1092
  - app/views/spotlight/dashboards/_page.html.erb
@@ -1264,6 +1272,8 @@ files:
1264
1272
  - db/migrate/20180529225807_change_spotlight_pages_content_column_to_medium_text.rb
1265
1273
  - db/migrate/20180822233601_change_type_of_taggings_taggable.rb
1266
1274
  - db/migrate/20181127085432_change_weight_on_pages.rb
1275
+ - db/migrate/20190807085432_add_content_type_to_pages.rb
1276
+ - db/migrate/20190813085432_add_is_multiple_to_custom_fields.rb
1267
1277
  - lib/blacklight/spotlight.rb
1268
1278
  - lib/generators/spotlight/install_generator.rb
1269
1279
  - lib/generators/spotlight/scaffold_resource_generator.rb