geoblacklight_admin 0.6.3 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/app/assets/stylesheets/geoblacklight_admin/_core.scss +2 -1
  4. data/app/assets/stylesheets/geoblacklight_admin/modules/_icons.scss +9 -0
  5. data/app/assets/stylesheets/geoblacklight_admin/modules/_pagy.scss +7 -0
  6. data/app/controllers/admin/document_data_dictionaries_controller.rb +126 -0
  7. data/app/controllers/admin/document_data_dictionary_entries_controller.rb +124 -0
  8. data/app/controllers/admin/document_distributions_controller.rb +0 -38
  9. data/app/controllers/admin/import_distributions_controller.rb +126 -0
  10. data/app/controllers/concerns/blacklight/catalog.rb +373 -0
  11. data/app/helpers/facets_helper.rb +19 -0
  12. data/app/javascript/index.js +1 -1
  13. data/app/jobs/import_distributions_run_job.rb +32 -0
  14. data/app/jobs/import_document_distribution_job.rb +23 -0
  15. data/app/models/document.rb +5 -0
  16. data/app/models/document_data_dictionary/csv_header_validator.rb +30 -0
  17. data/app/models/document_data_dictionary.rb +39 -0
  18. data/app/models/document_data_dictionary_entry.rb +9 -0
  19. data/app/models/import_distribution/csv_header_validator.rb +32 -0
  20. data/app/models/import_distribution.rb +55 -0
  21. data/app/models/import_distribution_state_machine.rb +14 -0
  22. data/app/models/import_distribution_transition.rb +26 -0
  23. data/app/models/import_document_distribution.rb +25 -0
  24. data/app/models/import_document_distribution_state_machine.rb +13 -0
  25. data/app/models/import_document_distribution_transition.rb +19 -0
  26. data/app/views/admin/document_data_dictionaries/_data_dictionaries_table.html.erb +40 -0
  27. data/app/views/admin/document_data_dictionaries/_document_data_dictionary.html.erb +37 -0
  28. data/app/views/admin/document_data_dictionaries/_document_data_dictionary.json.jbuilder +2 -0
  29. data/app/views/admin/document_data_dictionaries/_form.html.erb +17 -0
  30. data/app/views/admin/document_data_dictionaries/edit.html.erb +12 -0
  31. data/app/views/admin/document_data_dictionaries/index.html.erb +45 -0
  32. data/app/views/admin/document_data_dictionaries/index.json.jbuilder +1 -0
  33. data/app/views/admin/document_data_dictionaries/new.html.erb +78 -0
  34. data/app/views/admin/document_data_dictionaries/show.html.erb +78 -0
  35. data/app/views/admin/document_data_dictionaries/show.json.jbuilder +1 -0
  36. data/app/views/admin/document_data_dictionary_entries/_form.html.erb +19 -0
  37. data/app/views/admin/document_data_dictionary_entries/edit.html.erb +12 -0
  38. data/app/views/admin/document_data_dictionary_entries/new.html.erb +16 -0
  39. data/app/views/admin/document_distributions/index.html.erb +2 -2
  40. data/app/views/admin/documents/_form_nav.html.erb +4 -0
  41. data/app/views/admin/import_distributions/_form.html.erb +21 -0
  42. data/app/views/admin/import_distributions/_import_distribution.json.jbuilder +5 -0
  43. data/app/views/admin/import_distributions/_show_failed_tab.html.erb +36 -0
  44. data/app/views/admin/import_distributions/_show_success_tab.html.erb +35 -0
  45. data/app/views/admin/import_distributions/edit.html.erb +8 -0
  46. data/app/views/admin/import_distributions/index.html.erb +58 -0
  47. data/app/views/admin/import_distributions/index.json.jbuilder +3 -0
  48. data/app/views/admin/import_distributions/new.html.erb +7 -0
  49. data/app/views/admin/import_distributions/show.html.erb +121 -0
  50. data/app/views/admin/import_distributions/show.json.jbuilder +3 -0
  51. data/app/views/admin/imports/index.html.erb +2 -2
  52. data/app/views/admin/shared/_navbar.html.erb +2 -2
  53. data/app/views/catalog/_facet_pagination.html.erb +6 -0
  54. data/app/views/catalog/_gbl_admin_data_dictionaries.html.erb +3 -0
  55. data/app/views/catalog/_paginate_compact.html.erb +9 -0
  56. data/app/views/catalog/_results_pagination.html.erb +9 -0
  57. data/app/views/catalog/_show_gbl_admin_data_dictionaries.html.erb +44 -0
  58. data/app/views/catalog/data_dictionaries.html.erb +12 -0
  59. data/db/migrate/20241204163117_create_document_data_dictionaries.rb +14 -0
  60. data/db/migrate/20241218174455_create_document_data_dictionary_entries.rb +17 -0
  61. data/db/migrate/20250113213655_import_distributions.rb +56 -0
  62. data/lib/generators/geoblacklight_admin/config_generator.rb +61 -4
  63. data/lib/generators/geoblacklight_admin/templates/btaa_sample_document_data_dictionary_entries.csv +9 -0
  64. data/lib/generators/geoblacklight_admin/templates/btaa_sample_document_distributions.csv +17 -0
  65. data/lib/generators/geoblacklight_admin/templates/config/initializers/pagy.rb +53 -83
  66. data/lib/geoblacklight_admin/engine.rb +1 -0
  67. data/lib/geoblacklight_admin/routes/data_dictionariesable.rb +17 -0
  68. data/lib/geoblacklight_admin/version.rb +1 -1
  69. metadata +61 -14
@@ -1,37 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "pagy"
4
-
5
- # Pagy initializer file (6.0.4)
3
+ # Pagy initializer file (9.3.3)
6
4
  # Customize only what you really need and notice that the core Pagy works also without any of the following lines.
7
5
  # Should you just cherry pick part of this file, please maintain the require-order of the extras
8
6
 
9
- # Pagy DEFAULT Variables
7
+ # Pagy Variables
10
8
  # See https://ddnexus.github.io/pagy/docs/api/pagy#variables
11
- # All the Pagy::DEFAULT are set for all the Pagy instances but can be overridden per instance by just passing them to
9
+ # You can set any pagy variable as a Pagy::DEFAULT. They can also be overridden per instance by just passing them to
12
10
  # Pagy.new|Pagy::Countless.new|Pagy::Calendar::*.new or any of the #pagy* controller methods
13
-
14
- # Instance variables
15
- # See https://ddnexus.github.io/pagy/docs/api/pagy#instance-variables
16
- # Pagy::DEFAULT[:page] = 1 # default
17
- # Pagy::DEFAULT[:items] = 20 # default
18
- # Pagy::DEFAULT[:outset] = 0 # default
19
-
20
- # Other Variables
21
- # See https://ddnexus.github.io/pagy/docs/api/pagy#other-variables
22
- # Pagy::DEFAULT[:size] = [1,4,4,1] # default
23
- # Pagy::DEFAULT[:page_param] = :page # default
24
- # The :params can be also set as a lambda e.g ->(params){ params.exclude('useless').merge!('custom' => 'useful') }
25
- # Pagy::DEFAULT[:params] = {} # default
26
- # Pagy::DEFAULT[:fragment] = '#fragment' # example
27
- # Pagy::DEFAULT[:link_extra] = 'data-remote="true"' # example
28
- # Pagy::DEFAULT[:i18n_key] = 'pagy.item_name' # default
29
- # Pagy::DEFAULT[:cycle] = true # example
30
- # Pagy::DEFAULT[:request_path] = "/foo" # example
11
+ # Here are the few that make more sense as DEFAULTs:
12
+ # Pagy::DEFAULT[:limit] = 20 # default
13
+ # Pagy::DEFAULT[:size] = 7 # default
14
+ # Pagy::DEFAULT[:ends] = true # default
15
+ # Pagy::DEFAULT[:page_param] = :page # default
16
+ # Pagy::DEFAULT[:count_args] = [] # example for non AR ORMs
17
+ # Pagy::DEFAULT[:max_pages] = 3000 # example
31
18
 
32
19
  # Extras
33
20
  # See https://ddnexus.github.io/pagy/categories/extra
34
21
 
22
+ # Legacy Compatibility Extras
23
+
24
+ # Size extra: Enable the Array type for the `:size` variable (e.g. `size: [1,4,4,1]`)
25
+ # See https://ddnexus.github.io/pagy/docs/extras/size
26
+ # require 'pagy/extras/size' # must be required before the other extras
27
+
35
28
  # Backend Extras
36
29
 
37
30
  # Arel extra: For better performance utilizing grouped ActiveRecord collections:
@@ -45,21 +38,12 @@ require "pagy"
45
38
  # Calendar extra: Add pagination filtering by calendar time unit (year, quarter, month, week, day)
46
39
  # See https://ddnexus.github.io/pagy/docs/extras/calendar
47
40
  # require 'pagy/extras/calendar'
48
- # Default for each unit
49
- # Pagy::Calendar::Year::DEFAULT[:order] = :asc # Time direction of pagination
50
- # Pagy::Calendar::Year::DEFAULT[:format] = '%Y' # strftime format
51
- #
52
- # Pagy::Calendar::Quarter::DEFAULT[:order] = :asc # Time direction of pagination
53
- # Pagy::Calendar::Quarter::DEFAULT[:format] = '%Y-Q%q' # strftime format
54
- #
55
- # Pagy::Calendar::Month::DEFAULT[:order] = :asc # Time direction of pagination
56
- # Pagy::Calendar::Month::DEFAULT[:format] = '%Y-%m' # strftime format
57
- #
58
- # Pagy::Calendar::Week::DEFAULT[:order] = :asc # Time direction of pagination
59
- # Pagy::Calendar::Week::DEFAULT[:format] = '%Y-%W' # strftime format
60
- #
61
- # Pagy::Calendar::Day::DEFAULT[:order] = :asc # Time direction of pagination
62
- # Pagy::Calendar::Day::DEFAULT[:format] = '%Y-%m-%d' # strftime format
41
+ # Default for each calendar unit class in IRB:
42
+ # >> Pagy::Calendar::Year::DEFAULT
43
+ # >> Pagy::Calendar::Quarter::DEFAULT
44
+ # >> Pagy::Calendar::Month::DEFAULT
45
+ # >> Pagy::Calendar::Week::DEFAULT
46
+ # >> Pagy::Calendar::Day::DEFAULT
63
47
  #
64
48
  # Uncomment the following lines, if you need calendar localization without using the I18n extra
65
49
  # module LocalizePagyCalendar
@@ -84,13 +68,17 @@ require "pagy"
84
68
  # require 'pagy/extras/elasticsearch_rails'
85
69
 
86
70
  # Headers extra: http response headers (and other helpers) useful for API pagination
87
- # See http://ddnexus.github.io/pagy/extras/headers
71
+ # See https://ddnexus.github.io/pagy/docs/extras/headers
88
72
  # require 'pagy/extras/headers'
89
73
  # Pagy::DEFAULT[:headers] = { page: 'Current-Page',
90
- # items: 'Page-Items',
74
+ # limit: 'Page-Items',
91
75
  # count: 'Total-Count',
92
76
  # pages: 'Total-Pages' } # default
93
77
 
78
+ # Keyset extra: Paginate with the Pagy keyset pagination technique
79
+ # See https://ddnexus.github.io/pagy/docs/extras/keyset
80
+ # require 'pagy/extras/keyset'
81
+
94
82
  # Meilisearch extra: Paginate `Meilisearch` result objects
95
83
  # See https://ddnexus.github.io/pagy/docs/extras/meilisearch
96
84
  # Default :pagy_search method: change only if you use also
@@ -102,8 +90,8 @@ require "pagy"
102
90
 
103
91
  # Metadata extra: Provides the pagination metadata to Javascript frameworks like Vue.js, react.js, etc.
104
92
  # See https://ddnexus.github.io/pagy/docs/extras/metadata
105
- # you must require the frontend helpers internal extra (BEFORE the metadata extra) ONLY if you need also the :sequels
106
- # require 'pagy/extras/frontend_helpers'
93
+ # you must require the JS Tools internal extra (BEFORE the metadata extra) ONLY if you need also the :sequels
94
+ # require 'pagy/extras/js_tools'
107
95
  # require 'pagy/extras/metadata'
108
96
  # For performance reasons, you should explicitly set ONLY the metadata you use in the frontend
109
97
  # Pagy::DEFAULT[:metadata] = %i[scaffold_url page prev next last] # example
@@ -112,7 +100,7 @@ require "pagy"
112
100
  # See https://ddnexus.github.io/pagy/docs/extras/searchkick
113
101
  # Default :pagy_search method: change only if you use also
114
102
  # the elasticsearch_rails or meilisearch extra that defines the same
115
- # DEFAULT[:searchkick_pagy_search] = :pagy_search
103
+ # Pagy::DEFAULT[:searchkick_pagy_search] = :pagy_search
116
104
  # Default original :search method called internally to do the actual search
117
105
  # Pagy::DEFAULT[:searchkick_search] = :search
118
106
  # require 'pagy/extras/searchkick'
@@ -129,58 +117,37 @@ require "pagy/extras/bootstrap"
129
117
  # See https://ddnexus.github.io/pagy/docs/extras/bulma
130
118
  # require 'pagy/extras/bulma'
131
119
 
132
- # Foundation extra: Add nav, nav_js and combo_nav_js helpers and templates for Foundation pagination
133
- # See https://ddnexus.github.io/pagy/docs/extras/foundation
134
- # require 'pagy/extras/foundation'
135
-
136
- # Materialize extra: Add nav, nav_js and combo_nav_js helpers for Materialize pagination
137
- # See https://ddnexus.github.io/pagy/docs/extras/materialize
138
- # require 'pagy/extras/materialize'
139
-
140
- # Navs extra: Add nav_js and combo_nav_js javascript helpers
141
- # Notice: the other frontend extras add their own framework-styled versions,
142
- # so require this extra only if you need the unstyled version
143
- # See https://ddnexus.github.io/pagy/docs/extras/navs
144
- # require 'pagy/extras/navs'
145
-
146
- # Semantic extra: Add nav, nav_js and combo_nav_js helpers for Semantic UI pagination
147
- # See https://ddnexus.github.io/pagy/docs/extras/semantic
148
- # require 'pagy/extras/semantic'
149
-
150
- # UIkit extra: Add nav helper and templates for UIkit pagination
151
- # See https://ddnexus.github.io/pagy/docs/extras/uikit
152
- # require 'pagy/extras/uikit'
120
+ # Pagy extra: Add the pagy styled versions of the javascript-powered navs
121
+ # and a few other components to the Pagy::Frontend module.
122
+ # See https://ddnexus.github.io/pagy/docs/extras/pagy
123
+ require "pagy/extras/pagy"
153
124
 
154
125
  # Multi size var used by the *_nav_js helpers
155
- # See https://ddnexus.github.io/pagy/docs/extras/navs#steps
156
- # Pagy::DEFAULT[:steps] = { 0 => [2,3,3,2], 540 => [3,5,5,3], 720 => [5,7,7,5] } # example
126
+ # See https://ddnexus.github.io/pagy/docs/extras/pagy#steps
127
+ # Pagy::DEFAULT[:steps] = { 0 => 5, 540 => 7, 720 => 9 } # example
157
128
 
158
129
  # Feature Extras
159
130
 
160
- # Gearbox extra: Automatically change the number of items per page depending on the page number
131
+ # Gearbox extra: Automatically change the limit per page depending on the page number
161
132
  # See https://ddnexus.github.io/pagy/docs/extras/gearbox
162
133
  # require 'pagy/extras/gearbox'
163
134
  # set to false only if you want to make :gearbox_extra an opt-in variable
164
135
  # Pagy::DEFAULT[:gearbox_extra] = false # default true
165
- # Pagy::DEFAULT[:gearbox_items] = [15, 30, 60, 100] # default
136
+ # Pagy::DEFAULT[:gearbox_limit] = [15, 30, 60, 100] # default
166
137
 
167
- # Items extra: Allow the client to request a custom number of items per page with an optional selector UI
168
- # See https://ddnexus.github.io/pagy/docs/extras/items
169
- # require 'pagy/extras/items'
170
- # set to false only if you want to make :items_extra an opt-in variable
171
- # Pagy::DEFAULT[:items_extra] = false # default true
172
- # Pagy::DEFAULT[:items_param] = :items # default
173
- # Pagy::DEFAULT[:max_items] = 100 # default
138
+ # Limit extra: Allow the client to request a custom limit per page with an optional selector UI
139
+ # See https://ddnexus.github.io/pagy/docs/extras/limit
140
+ require "pagy/extras/limit"
141
+ # set to false only if you want to make :limit_extra an opt-in variable
142
+ # Pagy::DEFAULT[:limit_extra] = false # default true
143
+ # Pagy::DEFAULT[:limit_param] = :limit # default
144
+ Pagy::DEFAULT[:limit_max] = 100 # default
174
145
 
175
146
  # Overflow extra: Allow for easy handling of overflowing pages
176
147
  # See https://ddnexus.github.io/pagy/docs/extras/overflow
177
148
  # require 'pagy/extras/overflow'
178
149
  # Pagy::DEFAULT[:overflow] = :empty_page # default (other options: :last_page and :exception)
179
150
 
180
- # Support extra: Extra support for features like: incremental, infinite, auto-scroll pagination
181
- # See https://ddnexus.github.io/pagy/docs/extras/support
182
- # require 'pagy/extras/support'
183
-
184
151
  # Trim extra: Remove the page=1 param from links
185
152
  # See https://ddnexus.github.io/pagy/docs/extras/trim
186
153
  # require 'pagy/extras/trim'
@@ -192,9 +159,15 @@ require "pagy/extras/bootstrap"
192
159
  # require 'pagy/extras/standalone'
193
160
  # Pagy::DEFAULT[:url] = 'http://www.example.com/subdir' # optional default
194
161
 
162
+ # Jsonapi extra: Implements JSON:API specifications
163
+ # See https://ddnexus.github.io/pagy/docs/extras/jsonapi
164
+ # require 'pagy/extras/jsonapi' # must be required after the other extras
165
+ # set to false only if you want to make :jsonapi an opt-in variable
166
+ # Pagy::DEFAULT[:jsonapi] = false # default true
167
+
195
168
  # Rails
196
169
  # Enable the .js file required by the helpers that use javascript
197
- # (pagy*_nav_js, pagy*_combo_nav_js, and pagy_items_selector_js)
170
+ # (pagy*_nav_js, pagy*_combo_nav_js, and pagy_limit_selector_js)
198
171
  # See https://ddnexus.github.io/pagy/docs/api/javascript
199
172
 
200
173
  # With the asset pipeline
@@ -235,8 +208,5 @@ require "pagy/extras/bootstrap"
235
208
  # See https://ddnexus.github.io/pagy/docs/extras/i18n
236
209
  # require 'pagy/extras/i18n'
237
210
 
238
- # Default i18n key
239
- # Pagy::DEFAULT[:i18n_key] = 'pagy.item_name' # default
240
-
241
211
  # When you are done setting your own default freeze it, so it will not get changed accidentally
242
212
  Pagy::DEFAULT.freeze
@@ -18,6 +18,7 @@ module GeoblacklightAdmin
18
18
  ActionView::Base.include DocumentHelper
19
19
  ActionView::Base.include FormInputHelper
20
20
  ActionView::Base.include MappingsHelper
21
+ ActionView::Base.include FacetsHelper
21
22
  end
22
23
  end
23
24
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GeoblacklightAdmin
4
+ module Routes
5
+ class DataDictionariesable
6
+ def initialize(defaults = {})
7
+ @defaults = defaults
8
+ end
9
+
10
+ def call(mapper, _options = {})
11
+ mapper.member do
12
+ mapper.get "data_dictionaries"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GeoblacklightAdmin
4
- VERSION = "0.6.3"
4
+ VERSION = "0.7.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geoblacklight_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Larson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-06 00:00:00.000000000 Z
11
+ date: 2025-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_storage_validations
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '7.33'
47
+ version: '7.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '7.33'
54
+ version: '7.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: blacklight_advanced_search
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -184,14 +184,14 @@ dependencies:
184
184
  requirements:
185
185
  - - "~>"
186
186
  - !ruby/object:Gem::Version
187
- version: '4.4'
187
+ version: '4.0'
188
188
  type: :runtime
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
192
  - - "~>"
193
193
  - !ruby/object:Gem::Version
194
- version: '4.4'
194
+ version: '4.0'
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: haml
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -296,14 +296,14 @@ dependencies:
296
296
  requirements:
297
297
  - - "~>"
298
298
  - !ruby/object:Gem::Version
299
- version: '6.0'
299
+ version: '9.0'
300
300
  type: :runtime
301
301
  prerelease: false
302
302
  version_requirements: !ruby/object:Gem::Requirement
303
303
  requirements:
304
304
  - - "~>"
305
305
  - !ruby/object:Gem::Version
306
- version: '6.0'
306
+ version: '9.0'
307
307
  - !ruby/object:Gem::Dependency
308
308
  name: paper_trail
309
309
  requirement: !ruby/object:Gem::Requirement
@@ -353,9 +353,6 @@ dependencies:
353
353
  - - "~>"
354
354
  - !ruby/object:Gem::Version
355
355
  version: '7.0'
356
- - - "<"
357
- - !ruby/object:Gem::Version
358
- version: '7.3'
359
356
  type: :runtime
360
357
  prerelease: false
361
358
  version_requirements: !ruby/object:Gem::Requirement
@@ -363,9 +360,6 @@ dependencies:
363
360
  - - "~>"
364
361
  - !ruby/object:Gem::Version
365
362
  version: '7.0'
366
- - - "<"
367
- - !ruby/object:Gem::Version
368
- version: '7.3'
369
363
  - !ruby/object:Gem::Dependency
370
364
  name: ruby-progressbar
371
365
  requirement: !ruby/object:Gem::Requirement
@@ -813,6 +807,7 @@ files:
813
807
  - app/assets/stylesheets/geoblacklight_admin/modules/_icons.scss
814
808
  - app/assets/stylesheets/geoblacklight_admin/modules/_images.scss
815
809
  - app/assets/stylesheets/geoblacklight_admin/modules/_nav.scss
810
+ - app/assets/stylesheets/geoblacklight_admin/modules/_pagy.scss
816
811
  - app/assets/stylesheets/geoblacklight_admin/modules/_results.scss
817
812
  - app/assets/stylesheets/geoblacklight_admin/modules/_tables.scss
818
813
  - app/assets/stylesheets/geoblacklight_admin/modules/_toasts.scss
@@ -826,12 +821,15 @@ files:
826
821
  - app/controllers/admin/bulk_actions_controller.rb
827
822
  - app/controllers/admin/document_accesses_controller.rb
828
823
  - app/controllers/admin/document_assets_controller.rb
824
+ - app/controllers/admin/document_data_dictionaries_controller.rb
825
+ - app/controllers/admin/document_data_dictionary_entries_controller.rb
829
826
  - app/controllers/admin/document_distributions_controller.rb
830
827
  - app/controllers/admin/document_downloads_controller.rb
831
828
  - app/controllers/admin/documents_controller.rb
832
829
  - app/controllers/admin/elements_controller.rb
833
830
  - app/controllers/admin/form_elements_controller.rb
834
831
  - app/controllers/admin/ids_controller.rb
832
+ - app/controllers/admin/import_distributions_controller.rb
835
833
  - app/controllers/admin/import_documents_controller.rb
836
834
  - app/controllers/admin/imports_controller.rb
837
835
  - app/controllers/admin/mappings_controller.rb
@@ -839,9 +837,11 @@ files:
839
837
  - app/controllers/admin/reference_types_controller.rb
840
838
  - app/controllers/admin/search_controller.rb
841
839
  - app/controllers/admin/users_controller.rb
840
+ - app/controllers/concerns/blacklight/catalog.rb
842
841
  - app/helpers/asset_helper.rb
843
842
  - app/helpers/bulk_actions_helper.rb
844
843
  - app/helpers/document_helper.rb
844
+ - app/helpers/facets_helper.rb
845
845
  - app/helpers/form_input_helper.rb
846
846
  - app/helpers/geoblacklight_admin_helper.rb
847
847
  - app/helpers/mappings_helper.rb
@@ -863,6 +863,8 @@ files:
863
863
  - app/jobs/geoblacklight_admin/remove_parent_dct_references_uri_job.rb
864
864
  - app/jobs/geoblacklight_admin/set_parent_dct_references_uri_job.rb
865
865
  - app/jobs/geoblacklight_admin/store_image_job.rb
866
+ - app/jobs/import_distributions_run_job.rb
867
+ - app/jobs/import_document_distribution_job.rb
866
868
  - app/jobs/import_document_job.rb
867
869
  - app/jobs/import_run_job.rb
868
870
  - app/models/active_storage_attachment.rb
@@ -895,6 +897,9 @@ files:
895
897
  - app/models/document/geom_validator.rb
896
898
  - app/models/document/reference.rb
897
899
  - app/models/document_access.rb
900
+ - app/models/document_data_dictionary.rb
901
+ - app/models/document_data_dictionary/csv_header_validator.rb
902
+ - app/models/document_data_dictionary_entry.rb
898
903
  - app/models/document_distribution.rb
899
904
  - app/models/document_download.rb
900
905
  - app/models/document_state_machine.rb
@@ -918,7 +923,14 @@ files:
918
923
  - app/models/import/csv_header_validator.rb
919
924
  - app/models/import_btaa.rb
920
925
  - app/models/import_btaa_aardvark.rb
926
+ - app/models/import_distribution.rb
927
+ - app/models/import_distribution/csv_header_validator.rb
928
+ - app/models/import_distribution_state_machine.rb
929
+ - app/models/import_distribution_transition.rb
921
930
  - app/models/import_document.rb
931
+ - app/models/import_document_distribution.rb
932
+ - app/models/import_document_distribution_state_machine.rb
933
+ - app/models/import_document_distribution_transition.rb
922
934
  - app/models/import_document_state_machine.rb
923
935
  - app/models/import_document_transition.rb
924
936
  - app/models/import_gblv1.rb
@@ -984,6 +996,19 @@ files:
984
996
  - app/views/admin/document_assets/display_attach_form.html.erb
985
997
  - app/views/admin/document_assets/edit.html.erb
986
998
  - app/views/admin/document_assets/index.html.erb
999
+ - app/views/admin/document_data_dictionaries/_data_dictionaries_table.html.erb
1000
+ - app/views/admin/document_data_dictionaries/_document_data_dictionary.html.erb
1001
+ - app/views/admin/document_data_dictionaries/_document_data_dictionary.json.jbuilder
1002
+ - app/views/admin/document_data_dictionaries/_form.html.erb
1003
+ - app/views/admin/document_data_dictionaries/edit.html.erb
1004
+ - app/views/admin/document_data_dictionaries/index.html.erb
1005
+ - app/views/admin/document_data_dictionaries/index.json.jbuilder
1006
+ - app/views/admin/document_data_dictionaries/new.html.erb
1007
+ - app/views/admin/document_data_dictionaries/show.html.erb
1008
+ - app/views/admin/document_data_dictionaries/show.json.jbuilder
1009
+ - app/views/admin/document_data_dictionary_entries/_form.html.erb
1010
+ - app/views/admin/document_data_dictionary_entries/edit.html.erb
1011
+ - app/views/admin/document_data_dictionary_entries/new.html.erb
987
1012
  - app/views/admin/document_distributions/_document_distribution.html.erb
988
1013
  - app/views/admin/document_distributions/_document_distribution.json.jbuilder
989
1014
  - app/views/admin/document_distributions/_form.html.erb
@@ -1061,6 +1086,16 @@ files:
1061
1086
  - app/views/admin/form_elements/show.json.jbuilder
1062
1087
  - app/views/admin/ids/fetch.json.jbuilder
1063
1088
  - app/views/admin/ids/index.json.jbuilder
1089
+ - app/views/admin/import_distributions/_form.html.erb
1090
+ - app/views/admin/import_distributions/_import_distribution.json.jbuilder
1091
+ - app/views/admin/import_distributions/_show_failed_tab.html.erb
1092
+ - app/views/admin/import_distributions/_show_success_tab.html.erb
1093
+ - app/views/admin/import_distributions/edit.html.erb
1094
+ - app/views/admin/import_distributions/index.html.erb
1095
+ - app/views/admin/import_distributions/index.json.jbuilder
1096
+ - app/views/admin/import_distributions/new.html.erb
1097
+ - app/views/admin/import_distributions/show.html.erb
1098
+ - app/views/admin/import_distributions/show.json.jbuilder
1064
1099
  - app/views/admin/import_documents/show.html.haml
1065
1100
  - app/views/admin/imports/_form.html.erb
1066
1101
  - app/views/admin/imports/_import.json.jbuilder
@@ -1105,7 +1140,13 @@ files:
1105
1140
  - app/views/admin/shared/_schema_timestamp.html.erb
1106
1141
  - app/views/admin/shared/_toast.html.erb
1107
1142
  - app/views/admin/users/index.html.erb
1143
+ - app/views/catalog/_facet_pagination.html.erb
1144
+ - app/views/catalog/_gbl_admin_data_dictionaries.html.erb
1145
+ - app/views/catalog/_paginate_compact.html.erb
1146
+ - app/views/catalog/_results_pagination.html.erb
1108
1147
  - app/views/catalog/_show_gbl_admin.html.erb
1148
+ - app/views/catalog/_show_gbl_admin_data_dictionaries.html.erb
1149
+ - app/views/catalog/data_dictionaries.html.erb
1109
1150
  - config/authorities/formats.yml
1110
1151
  - config/authorities/languages.yml
1111
1152
  - config/authorities/resource_type.yml
@@ -1129,6 +1170,9 @@ files:
1129
1170
  - db/migrate/20241009200524_create_admin_reference_types.rb
1130
1171
  - db/migrate/20241010161420_create_document_references.rb
1131
1172
  - db/migrate/20241120238823_rename_references_to_distributions.rb
1173
+ - db/migrate/20241204163117_create_document_data_dictionaries.rb
1174
+ - db/migrate/20241218174455_create_document_data_dictionary_entries.rb
1175
+ - db/migrate/20250113213655_import_distributions.rb
1132
1176
  - db/seeds.rb
1133
1177
  - db/seeds_elements.csv
1134
1178
  - db/seeds_elements.numbers
@@ -1147,6 +1191,8 @@ files:
1147
1191
  - lib/generators/geoblacklight_admin/templates/_user_util_links.html.erb
1148
1192
  - lib/generators/geoblacklight_admin/templates/api_controller.rb
1149
1193
  - lib/generators/geoblacklight_admin/templates/base.html.erb
1194
+ - lib/generators/geoblacklight_admin/templates/btaa_sample_document_data_dictionary_entries.csv
1195
+ - lib/generators/geoblacklight_admin/templates/btaa_sample_document_distributions.csv
1150
1196
  - lib/generators/geoblacklight_admin/templates/btaa_sample_records.csv
1151
1197
  - lib/generators/geoblacklight_admin/templates/config/database.yml
1152
1198
  - lib/generators/geoblacklight_admin/templates/config/geomg_aardvark_schema.json
@@ -1207,6 +1253,7 @@ files:
1207
1253
  - lib/geoblacklight_admin.rb
1208
1254
  - lib/geoblacklight_admin/engine.rb
1209
1255
  - lib/geoblacklight_admin/rake_task.rb
1256
+ - lib/geoblacklight_admin/routes/data_dictionariesable.rb
1210
1257
  - lib/geoblacklight_admin/tasks/distributions.rake
1211
1258
  - lib/geoblacklight_admin/tasks/images.rake
1212
1259
  - lib/geoblacklight_admin/tasks/solr.rake