geoblacklight_admin 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +27 -3
  3. data/Rakefile +30 -12
  4. data/app/assets/javascripts/geoblacklight_admin.js +1 -0
  5. data/app/assets/stylesheets/geoblacklight_admin/_core.scss +5 -0
  6. data/app/assets/stylesheets/geoblacklight_admin/modules/_chosen.scss +425 -0
  7. data/app/controllers/admin/admin_controller.rb +4 -2
  8. data/app/controllers/admin/advanced_search_controller.rb +123 -103
  9. data/app/controllers/admin/api_controller.rb +123 -108
  10. data/app/controllers/admin/bookmarks_controller.rb +4 -4
  11. data/app/controllers/admin/bulk_actions_controller.rb +9 -4
  12. data/app/controllers/admin/concerns/upload_util.rb +2 -0
  13. data/app/controllers/admin/document_accesses_controller.rb +10 -4
  14. data/app/controllers/admin/document_assets_controller.rb +14 -11
  15. data/app/controllers/admin/document_downloads_controller.rb +12 -10
  16. data/app/controllers/admin/documents_controller.rb +16 -8
  17. data/app/controllers/admin/elements_controller.rb +6 -5
  18. data/app/controllers/admin/form_elements_controller.rb +4 -4
  19. data/app/controllers/admin/ids_controller.rb +107 -87
  20. data/app/controllers/admin/import_documents_controller.rb +1 -1
  21. data/app/controllers/admin/imports_controller.rb +7 -3
  22. data/app/controllers/admin/mappings_controller.rb +6 -4
  23. data/app/controllers/admin/notifications_controller.rb +1 -1
  24. data/app/controllers/admin/search_controller.rb +1 -1
  25. data/app/controllers/admin/users_controller.rb +1 -1
  26. data/app/helpers/form_input_helper.rb +4 -4
  27. data/app/helpers/geoblacklight_admin_helper.rb +1 -1
  28. data/app/jobs/export_job.rb +2 -1
  29. data/app/models/admin/bookmark.rb +18 -0
  30. data/app/models/api_search_builder.rb +3 -1
  31. data/app/models/document/bbox_validator.rb +9 -5
  32. data/app/models/document/date_range_validator.rb +13 -10
  33. data/app/models/document/geom_validator.rb +4 -2
  34. data/app/models/document.rb +15 -7
  35. data/app/models/element.rb +9 -7
  36. data/app/models/form_control.rb +2 -0
  37. data/app/models/form_element.rb +2 -0
  38. data/app/models/form_feature.rb +2 -0
  39. data/app/models/form_group.rb +2 -0
  40. data/app/models/form_header.rb +2 -0
  41. data/app/models/geoblacklight_admin/schema.rb +5 -2
  42. data/app/models/geoblacklight_admin.rb +2 -0
  43. data/app/models/import/csv_duplicates_validator.rb +2 -1
  44. data/app/models/import/csv_header_validator.rb +2 -1
  45. data/app/models/import.rb +4 -7
  46. data/app/models/user.rb +1 -1
  47. data/app/services/export_csv_service.rb +5 -1
  48. data/app/views/admin/advanced_search/facets.json.jbuilder +9 -8
  49. data/app/views/admin/advanced_search/index.json.jbuilder +8 -7
  50. data/app/views/admin/api/_field.json.jbuilder +1 -1
  51. data/app/views/admin/api/fetch.json.jbuilder +8 -7
  52. data/app/views/admin/api/index.json.jbuilder +8 -7
  53. data/app/views/admin/bookmarks/index.html.erb +2 -2
  54. data/app/views/admin/bulk_actions/index.html.erb +3 -3
  55. data/app/views/admin/bulk_actions/show.html.erb +1 -1
  56. data/app/views/admin/document_accesses/_form.html.erb +1 -1
  57. data/app/views/admin/document_accesses/destroy_all.html.erb +2 -2
  58. data/app/views/admin/document_accesses/edit.html.erb +1 -1
  59. data/app/views/admin/document_accesses/import.html.erb +2 -2
  60. data/app/views/admin/document_accesses/index.html.erb +9 -9
  61. data/app/views/admin/document_accesses/new.html.erb +1 -1
  62. data/app/views/admin/document_downloads/_form.html.erb +1 -1
  63. data/app/views/admin/document_downloads/destroy_all.html.erb +1 -1
  64. data/app/views/admin/document_downloads/edit.html.erb +2 -3
  65. data/app/views/admin/document_downloads/import.html.erb +1 -1
  66. data/app/views/admin/document_downloads/index.html.erb +9 -9
  67. data/app/views/admin/document_downloads/new.html.erb +1 -1
  68. data/app/views/admin/document_downloads/show.html.erb +2 -2
  69. data/app/views/admin/documents/_document_bookmark.html.erb +1 -1
  70. data/app/views/admin/documents/_form_nav.html.erb +1 -1
  71. data/app/views/admin/documents/_json_btaa_aardvark.jbuilder +1 -3
  72. data/app/views/admin/documents/edit.html.erb +1 -1
  73. data/app/views/admin/documents/features/_multiple_download_links.html.erb +2 -2
  74. data/app/views/admin/documents/index.html.erb +2 -4
  75. data/app/views/admin/documents/versions.html.erb +1 -1
  76. data/app/views/admin/elements/_element.json.jbuilder +4 -1
  77. data/app/views/admin/elements/_form.html.erb +1 -1
  78. data/app/views/admin/elements/edit.html.erb +2 -2
  79. data/app/views/admin/elements/index.html.erb +3 -3
  80. data/app/views/admin/elements/index.json.jbuilder +2 -0
  81. data/app/views/admin/elements/new.html.erb +1 -1
  82. data/app/views/admin/elements/show.html.erb +6 -6
  83. data/app/views/admin/elements/show.json.jbuilder +2 -0
  84. data/app/views/admin/form_elements/_form.html.erb +1 -1
  85. data/app/views/admin/form_elements/_form_element.json.jbuilder +2 -0
  86. data/app/views/admin/form_elements/edit.html.erb +2 -2
  87. data/app/views/admin/form_elements/index.html.erb +1 -1
  88. data/app/views/admin/form_elements/index.json.jbuilder +2 -0
  89. data/app/views/admin/form_elements/new.html.erb +1 -1
  90. data/app/views/admin/form_elements/show.html.erb +2 -2
  91. data/app/views/admin/form_elements/show.json.jbuilder +2 -0
  92. data/app/views/admin/ids/fetch.json.jbuilder +8 -7
  93. data/app/views/admin/ids/index.json.jbuilder +3 -2
  94. data/app/views/admin/import_documents/show.html.haml +1 -1
  95. data/app/views/admin/imports/_import.json.jbuilder +2 -1
  96. data/app/views/admin/imports/_show_failed_tab.html.erb +2 -2
  97. data/app/views/admin/imports/_show_success_tab.html.erb +1 -1
  98. data/app/views/admin/imports/edit.html.erb +3 -3
  99. data/app/views/admin/imports/index.html.erb +3 -3
  100. data/app/views/admin/layouts/application.html.erb +4 -4
  101. data/app/views/admin/mappings/_form.html.erb +1 -1
  102. data/app/views/admin/mappings/_mapping.json.jbuilder +2 -1
  103. data/app/views/admin/mappings/edit.html.erb +2 -2
  104. data/app/views/admin/mappings/new.html.erb +1 -1
  105. data/app/views/admin/mappings/show.html.erb +2 -2
  106. data/app/views/admin/notifications/index.html.erb +3 -3
  107. data/app/views/admin/search/index.html.erb +2 -2
  108. data/app/views/admin/shared/_navbar.html.erb +8 -3
  109. data/app/views/catalog/_show_gbl_admin.html.erb +3 -0
  110. data/config/routes.rb +37 -33
  111. data/db/migrate/20230316183001_add_geoblacklight_admin_gem.rb +408 -0
  112. data/db/seeds.rb +7 -5
  113. data/lib/generators/geoblacklight_admin/config_generator.rb +43 -31
  114. data/lib/generators/geoblacklight_admin/install_generator.rb +2 -3
  115. data/lib/generators/geoblacklight_admin/jobs_generator.rb +3 -2
  116. data/lib/generators/geoblacklight_admin/models_generator.rb +0 -1
  117. data/lib/generators/geoblacklight_admin/templates/_show_sidebar.html.erb +19 -0
  118. data/lib/generators/geoblacklight_admin/templates/_user_util_links.html.erb +1 -1
  119. data/lib/generators/geoblacklight_admin/templates/config/database.yml +9 -5
  120. data/lib/generators/geoblacklight_admin/templates/config/initializers/geoblacklight_admin.rb +1 -2
  121. data/lib/generators/geoblacklight_admin/templates/config/initializers/pagy.rb +150 -68
  122. data/lib/generators/geoblacklight_admin/templates/config/settings.yml +241 -0
  123. data/lib/generators/geoblacklight_admin/templates/package.json +1 -0
  124. data/lib/generators/geoblacklight_admin/views_generator.rb +0 -1
  125. data/lib/geoblacklight_admin/engine.rb +5 -6
  126. data/lib/geoblacklight_admin/version.rb +1 -1
  127. data/lib/geoblacklight_admin.rb +1 -1
  128. data/lib/tasks/geoblacklight_admin.rake +10 -6
  129. metadata +79 -48
  130. data/.editorconfig +0 -18
  131. data/.gitignore +0 -75
  132. data/.standard.yml +0 -4
  133. data/Gemfile +0 -59
  134. data/LICENSE +0 -21
  135. data/app/assets/images/.keep +0 -0
  136. data/app/controllers/admin/concerns/.keep +0 -0
  137. data/app/models/bookmark.rb +0 -17
  138. data/app/models/concerns/.keep +0 -0
  139. data/db/migrate/20230316183001_add_geoblacklight_admin.rb +0 -399
  140. data/geoblacklight_admin.gemspec +0 -67
  141. data/lib/generators/geoblacklight_admin/templates/.env.development.example +0 -28
  142. data/lib/generators/geoblacklight_admin/templates/.solr_wrapper.yml +0 -7
  143. data/lib/generators/geoblacklight_admin/templates/solr/snapshots/.keep +0 -0
  144. data/lib/tasks/.keep +0 -0
  145. data/spec/test_app_templates/lib/generators/test_app_generator.rb +0 -35
  146. data/template.rb +0 -16
@@ -1,129 +1,208 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Pagy initializer file (3.8.3)
4
- # Customize only what you really need and notice that Pagy works also without any of the following lines.
3
+ # Pagy initializer file (6.0.4)
4
+ # Customize only what you really need and notice that the core Pagy works also without any of the following lines.
5
5
  # Should you just cherry pick part of this file, please maintain the require-order of the extras
6
6
 
7
+ # Pagy DEFAULT Variables
8
+ # See https://ddnexus.github.io/pagy/docs/api/pagy#variables
9
+ # All the Pagy::DEFAULT are set for all the Pagy instances but can be overridden per instance by just passing them to
10
+ # Pagy.new|Pagy::Countless.new|Pagy::Calendar::*.new or any of the #pagy* controller methods
11
+
12
+ # Instance variables
13
+ # See https://ddnexus.github.io/pagy/docs/api/pagy#instance-variables
14
+ # Pagy::DEFAULT[:page] = 1 # default
15
+ # Pagy::DEFAULT[:items] = 20 # default
16
+ # Pagy::DEFAULT[:outset] = 0 # default
17
+
18
+ # Other Variables
19
+ # See https://ddnexus.github.io/pagy/docs/api/pagy#other-variables
20
+ # Pagy::DEFAULT[:size] = [1,4,4,1] # default
21
+ # Pagy::DEFAULT[:page_param] = :page # default
22
+ # The :params can be also set as a lambda e.g ->(params){ params.exclude('useless').merge!('custom' => 'useful') }
23
+ # Pagy::DEFAULT[:params] = {} # default
24
+ # Pagy::DEFAULT[:fragment] = '#fragment' # example
25
+ # Pagy::DEFAULT[:link_extra] = 'data-remote="true"' # example
26
+ # Pagy::DEFAULT[:i18n_key] = 'pagy.item_name' # default
27
+ # Pagy::DEFAULT[:cycle] = true # example
28
+ # Pagy::DEFAULT[:request_path] = "/foo" # example
29
+
7
30
  # Extras
8
- # See https://ddnexus.github.io/pagy/extras
31
+ # See https://ddnexus.github.io/pagy/categories/extra
9
32
 
10
33
  # Backend Extras
11
34
 
35
+ # Arel extra: For better performance utilizing grouped ActiveRecord collections:
36
+ # See: https://ddnexus.github.io/pagy/docs/extras/arel
37
+ # require 'pagy/extras/arel'
38
+
12
39
  # Array extra: Paginate arrays efficiently, avoiding expensive array-wrapping and without overriding
13
- # See https://ddnexus.github.io/pagy/extras/array
40
+ # See https://ddnexus.github.io/pagy/docs/extras/array
14
41
  # require 'pagy/extras/array'
15
42
 
43
+ # Calendar extra: Add pagination filtering by calendar time unit (year, quarter, month, week, day)
44
+ # See https://ddnexus.github.io/pagy/docs/extras/calendar
45
+ # require 'pagy/extras/calendar'
46
+ # Default for each unit
47
+ # Pagy::Calendar::Year::DEFAULT[:order] = :asc # Time direction of pagination
48
+ # Pagy::Calendar::Year::DEFAULT[:format] = '%Y' # strftime format
49
+ #
50
+ # Pagy::Calendar::Quarter::DEFAULT[:order] = :asc # Time direction of pagination
51
+ # Pagy::Calendar::Quarter::DEFAULT[:format] = '%Y-Q%q' # strftime format
52
+ #
53
+ # Pagy::Calendar::Month::DEFAULT[:order] = :asc # Time direction of pagination
54
+ # Pagy::Calendar::Month::DEFAULT[:format] = '%Y-%m' # strftime format
55
+ #
56
+ # Pagy::Calendar::Week::DEFAULT[:order] = :asc # Time direction of pagination
57
+ # Pagy::Calendar::Week::DEFAULT[:format] = '%Y-%W' # strftime format
58
+ #
59
+ # Pagy::Calendar::Day::DEFAULT[:order] = :asc # Time direction of pagination
60
+ # Pagy::Calendar::Day::DEFAULT[:format] = '%Y-%m-%d' # strftime format
61
+ #
62
+ # Uncomment the following lines, if you need calendar localization without using the I18n extra
63
+ # module LocalizePagyCalendar
64
+ # def localize(time, opts)
65
+ # ::I18n.l(time, **opts)
66
+ # end
67
+ # end
68
+ # Pagy::Calendar.prepend LocalizePagyCalendar
69
+
16
70
  # Countless extra: Paginate without any count, saving one query per rendering
17
- # See https://ddnexus.github.io/pagy/extras/countless
71
+ # See https://ddnexus.github.io/pagy/docs/extras/countless
18
72
  # require 'pagy/extras/countless'
19
- # Pagy::VARS[:cycle] = false # default
73
+ # Pagy::DEFAULT[:countless_minimal] = false # default (eager loading)
20
74
 
21
75
  # Elasticsearch Rails extra: Paginate `ElasticsearchRails::Results` objects
22
- # See https://ddnexus.github.io/pagy/extras/elasticsearch_rails
76
+ # See https://ddnexus.github.io/pagy/docs/extras/elasticsearch_rails
77
+ # Default :pagy_search method: change only if you use also
78
+ # the searchkick or meilisearch extra that defines the same
79
+ # Pagy::DEFAULT[:elasticsearch_rails_pagy_search] = :pagy_search
80
+ # Default original :search method called internally to do the actual search
81
+ # Pagy::DEFAULT[:elasticsearch_rails_search] = :search
23
82
  # require 'pagy/extras/elasticsearch_rails'
24
83
 
84
+ # Headers extra: http response headers (and other helpers) useful for API pagination
85
+ # See http://ddnexus.github.io/pagy/extras/headers
86
+ # require 'pagy/extras/headers'
87
+ # Pagy::DEFAULT[:headers] = { page: 'Current-Page',
88
+ # items: 'Page-Items',
89
+ # count: 'Total-Count',
90
+ # pages: 'Total-Pages' } # default
91
+
92
+ # Meilisearch extra: Paginate `Meilisearch` result objects
93
+ # See https://ddnexus.github.io/pagy/docs/extras/meilisearch
94
+ # Default :pagy_search method: change only if you use also
95
+ # the elasticsearch_rails or searchkick extra that define the same method
96
+ # Pagy::DEFAULT[:meilisearch_pagy_search] = :pagy_search
97
+ # Default original :search method called internally to do the actual search
98
+ # Pagy::DEFAULT[:meilisearch_search] = :ms_search
99
+ # require 'pagy/extras/meilisearch'
100
+
101
+ # Metadata extra: Provides the pagination metadata to Javascript frameworks like Vue.js, react.js, etc.
102
+ # See https://ddnexus.github.io/pagy/docs/extras/metadata
103
+ # you must require the frontend helpers internal extra (BEFORE the metadata extra) ONLY if you need also the :sequels
104
+ # require 'pagy/extras/frontend_helpers'
105
+ # require 'pagy/extras/metadata'
106
+ # For performance reasons, you should explicitly set ONLY the metadata you use in the frontend
107
+ # Pagy::DEFAULT[:metadata] = %i[scaffold_url page prev next last] # example
108
+
25
109
  # Searchkick extra: Paginate `Searchkick::Results` objects
26
- # See https://ddnexus.github.io/pagy/extras/searchkick
110
+ # See https://ddnexus.github.io/pagy/docs/extras/searchkick
111
+ # Default :pagy_search method: change only if you use also
112
+ # the elasticsearch_rails or meilisearch extra that defines the same
113
+ # DEFAULT[:searchkick_pagy_search] = :pagy_search
114
+ # Default original :search method called internally to do the actual search
115
+ # Pagy::DEFAULT[:searchkick_search] = :search
27
116
  # require 'pagy/extras/searchkick'
117
+ # uncomment if you are going to use Searchkick.pagy_search
118
+ # Searchkick.extend Pagy::Searchkick
28
119
 
29
120
  # Frontend Extras
30
121
 
31
122
  # Bootstrap extra: Add nav, nav_js and combo_nav_js helpers and templates for Bootstrap pagination
32
- # See https://ddnexus.github.io/pagy/extras/bootstrap
123
+ # See https://ddnexus.github.io/pagy/docs/extras/bootstrap
33
124
  require "pagy/extras/bootstrap"
34
125
 
35
126
  # Bulma extra: Add nav, nav_js and combo_nav_js helpers and templates for Bulma pagination
36
- # See https://ddnexus.github.io/pagy/extras/bulma
127
+ # See https://ddnexus.github.io/pagy/docs/extras/bulma
37
128
  # require 'pagy/extras/bulma'
38
129
 
39
130
  # Foundation extra: Add nav, nav_js and combo_nav_js helpers and templates for Foundation pagination
40
- # See https://ddnexus.github.io/pagy/extras/foundation
131
+ # See https://ddnexus.github.io/pagy/docs/extras/foundation
41
132
  # require 'pagy/extras/foundation'
42
133
 
43
134
  # Materialize extra: Add nav, nav_js and combo_nav_js helpers for Materialize pagination
44
- # See https://ddnexus.github.io/pagy/extras/materialize
135
+ # See https://ddnexus.github.io/pagy/docs/extras/materialize
45
136
  # require 'pagy/extras/materialize'
46
137
 
47
138
  # Navs extra: Add nav_js and combo_nav_js javascript helpers
48
139
  # Notice: the other frontend extras add their own framework-styled versions,
49
140
  # so require this extra only if you need the unstyled version
50
- # See https://ddnexus.github.io/pagy/extras/navs
141
+ # See https://ddnexus.github.io/pagy/docs/extras/navs
51
142
  # require 'pagy/extras/navs'
52
143
 
53
144
  # Semantic extra: Add nav, nav_js and combo_nav_js helpers for Semantic UI pagination
54
- # See https://ddnexus.github.io/pagy/extras/semantic
145
+ # See https://ddnexus.github.io/pagy/docs/extras/semantic
55
146
  # require 'pagy/extras/semantic'
56
147
 
57
148
  # UIkit extra: Add nav helper and templates for UIkit pagination
58
- # See https://ddnexus.github.io/pagy/extras/uikit
149
+ # See https://ddnexus.github.io/pagy/docs/extras/uikit
59
150
  # require 'pagy/extras/uikit'
60
151
 
61
152
  # Multi size var used by the *_nav_js helpers
62
- # See https://ddnexus.github.io/pagy/extras/navs#steps
63
- # Pagy::VARS[:steps] = { 0 => [2,3,3,2], 540 => [3,5,5,3], 720 => [5,7,7,5] } # example
153
+ # See https://ddnexus.github.io/pagy/docs/extras/navs#steps
154
+ # Pagy::DEFAULT[:steps] = { 0 => [2,3,3,2], 540 => [3,5,5,3], 720 => [5,7,7,5] } # example
64
155
 
65
156
  # Feature Extras
66
157
 
67
- # Headers extra: http response headers (and other helpers) useful for API pagination
68
- # See http://ddnexus.github.io/pagy/extras/headers
69
- # require 'pagy/extras/headers'
70
- # Pagy::VARS[:headers] = { page: 'Current-Page', items: 'Page-Items', count: 'Total-Count', pages: 'Total-Pages' } # default
71
-
72
- # Support extra: Extra support for features like: incremental, infinite, auto-scroll pagination
73
- # See https://ddnexus.github.io/pagy/extras/support
74
- # require 'pagy/extras/support'
158
+ # Gearbox extra: Automatically change the number of items per page depending on the page number
159
+ # See https://ddnexus.github.io/pagy/docs/extras/gearbox
160
+ # require 'pagy/extras/gearbox'
161
+ # set to false only if you want to make :gearbox_extra an opt-in variable
162
+ # Pagy::DEFAULT[:gearbox_extra] = false # default true
163
+ # Pagy::DEFAULT[:gearbox_items] = [15, 30, 60, 100] # default
75
164
 
76
165
  # Items extra: Allow the client to request a custom number of items per page with an optional selector UI
77
- # See https://ddnexus.github.io/pagy/extras/items
166
+ # See https://ddnexus.github.io/pagy/docs/extras/items
78
167
  # require 'pagy/extras/items'
79
- # Pagy::VARS[:items_param] = :items # default
80
- # Pagy::VARS[:max_items] = 100 # default
168
+ # set to false only if you want to make :items_extra an opt-in variable
169
+ # Pagy::DEFAULT[:items_extra] = false # default true
170
+ # Pagy::DEFAULT[:items_param] = :items # default
171
+ # Pagy::DEFAULT[:max_items] = 100 # default
81
172
 
82
173
  # Overflow extra: Allow for easy handling of overflowing pages
83
- # See https://ddnexus.github.io/pagy/extras/overflow
174
+ # See https://ddnexus.github.io/pagy/docs/extras/overflow
84
175
  # require 'pagy/extras/overflow'
85
- # Pagy::VARS[:overflow] = :empty_page # default (other options: :last_page and :exception)
176
+ # Pagy::DEFAULT[:overflow] = :empty_page # default (other options: :last_page and :exception)
86
177
 
87
- # Metadata extra: Provides the pagination metadata to Javascript frameworks like Vue.js, react.js, etc.
88
- # See https://ddnexus.github.io/pagy/extras/metadata
89
- # you must require the shared internal extra (BEFORE the metadata extra) ONLY if you need also the :sequels
90
- # require 'pagy/extras/shared'
91
- # require 'pagy/extras/metadata'
92
- # For performance reason, you should explicitly set ONLY the metadata you use in the frontend
93
- # Pagy::VARS[:metadata] = [:scaffold_url, :count, :page, :prev, :next, :last] # example
178
+ # Support extra: Extra support for features like: incremental, infinite, auto-scroll pagination
179
+ # See https://ddnexus.github.io/pagy/docs/extras/support
180
+ # require 'pagy/extras/support'
94
181
 
95
182
  # Trim extra: Remove the page=1 param from links
96
- # See https://ddnexus.github.io/pagy/extras/trim
183
+ # See https://ddnexus.github.io/pagy/docs/extras/trim
97
184
  # require 'pagy/extras/trim'
185
+ # set to false only if you want to make :trim_extra an opt-in variable
186
+ # Pagy::DEFAULT[:trim_extra] = false # default true
98
187
 
99
- # Pagy Variables
100
- # See https://ddnexus.github.io/pagy/api/pagy#variables
101
- # All the Pagy::VARS are set for all the Pagy instances but can be overridden
102
- # per instance by just passing them to Pagy.new or the #pagy controller method
103
-
104
- # Instance variables
105
- # See https://ddnexus.github.io/pagy/api/pagy#instance-variables
106
- Pagy::VARS[:items] = 10 # default
107
-
108
- # Other Variables
109
- # See https://ddnexus.github.io/pagy/api/pagy#other-variables
110
- # Pagy::VARS[:size] = [1,4,4,1] # default
111
- # Pagy::VARS[:page_param] = :page # default
112
- # Pagy::VARS[:params] = {} # default
113
- # Pagy::VARS[:anchor] = '#anchor' # example
114
- # Pagy::VARS[:link_extra] = 'data-remote="true"' # example
188
+ # Standalone extra: Use pagy in non Rack environment/gem
189
+ # See https://ddnexus.github.io/pagy/docs/extras/standalone
190
+ # require 'pagy/extras/standalone'
191
+ # Pagy::DEFAULT[:url] = 'http://www.example.com/subdir' # optional default
115
192
 
116
193
  # Rails
117
-
118
- # Rails: extras assets path required by the helpers that use javascript
194
+ # Enable the .js file required by the helpers that use javascript
119
195
  # (pagy*_nav_js, pagy*_combo_nav_js, and pagy_items_selector_js)
120
- # See https://ddnexus.github.io/pagy/extras#javascript
196
+ # See https://ddnexus.github.io/pagy/docs/api/javascript
197
+
198
+ # With the asset pipeline
199
+ # Sprockets need to look into the pagy javascripts dir, so add it to the assets paths
121
200
  # Rails.application.config.assets.paths << Pagy.root.join('javascripts')
122
201
 
123
202
  # I18n
124
203
 
125
204
  # Pagy internal I18n: ~18x faster using ~10x less memory than the i18n gem
126
- # See https://ddnexus.github.io/pagy/api/frontend#i18n
205
+ # See https://ddnexus.github.io/pagy/docs/api/i18n
127
206
  # Notice: No need to configure anything in this section if your app uses only "en"
128
207
  # or if you use the i18n extra below
129
208
  #
@@ -136,23 +215,26 @@ Pagy::VARS[:items] = 10 # default
136
215
  #
137
216
  # load the "de", "en" and "es" built-in locales:
138
217
  # (the first passed :locale will be used also as the default_locale)
139
- # Pagy::I18n.load({locale: 'de'},
140
- # {locale: 'en'},
141
- # {locale: 'es'})
218
+ # Pagy::I18n.load({ locale: 'de' },
219
+ # { locale: 'en' },
220
+ # { locale: 'es' })
142
221
  #
143
222
  # load the "en" built-in locale, a custom "es" locale,
144
223
  # and a totally custom locale complete with a custom :pluralize proc:
145
224
  # (the first passed :locale will be used also as the default_locale)
146
- # Pagy::I18n.load({locale: 'en'},
147
- # {locale: 'es', filepath: 'path/to/pagy-es.yml'},
148
- # {locale: 'xyz', # not built-in
149
- # filepath: 'path/to/pagy-xyz.yml',
150
- # pluralize: lambda{|count| ... } )
225
+ # Pagy::I18n.load({ locale: 'en' },
226
+ # { locale: 'es', filepath: 'path/to/pagy-es.yml' },
227
+ # { locale: 'xyz', # not built-in
228
+ # filepath: 'path/to/pagy-xyz.yml',
229
+ # pluralize: lambda{ |count| ... } )
151
230
 
152
231
  # I18n extra: uses the standard i18n gem which is ~18x slower using ~10x more memory
153
232
  # than the default pagy internal i18n (see above)
154
- # See https://ddnexus.github.io/pagy/extras/i18n
233
+ # See https://ddnexus.github.io/pagy/docs/extras/i18n
155
234
  # require 'pagy/extras/i18n'
156
235
 
157
236
  # Default i18n key
158
- # Pagy::VARS[:i18n_key] = 'pagy.item_name' # default
237
+ # Pagy::DEFAULT[:i18n_key] = 'pagy.item_name' # default
238
+
239
+ # When you are done setting your own default freeze it, so it will not get changed accidentally
240
+ Pagy::DEFAULT.freeze
@@ -0,0 +1,241 @@
1
+ # Configurable Logo Used for CartoDB export
2
+ APPLICATION_LOGO_URL: 'http://geoblacklight.org/images/geoblacklight-logo.png'
3
+
4
+ # Carto OneClick Service https://carto.com/engine/open-in-carto/
5
+ CARTO_ONECLICK_LINK: 'http://oneclick.carto.com/'
6
+
7
+ # ArcGIS Online Base URL
8
+ ARCGIS_BASE_URL: 'https://www.arcgis.com/home/webmap/viewer.html'
9
+
10
+ # Download path can be configured using this setting
11
+ #DOWNLOAD_PATH: "./tmp/cache/downloads"
12
+
13
+ # The bq boost value for spatial search matches within a bounding box
14
+ BBOX_WITHIN_BOOST: '10'
15
+
16
+ # The bf boost value for overlap ratio
17
+ OVERLAP_RATIO_BOOST: '2'
18
+
19
+ # Homepage Map Geometry
20
+ # Leave null to default to entire world
21
+ # Add a stringified GeoJSON object to scope initial render (example from UMass)
22
+ HOMEPAGE_MAP_GEOM: null
23
+ # HOMEPAGE_MAP_GEOM: '{"type":"Polygon","coordinates":[[[-73.58,42.93],[-73.58,41.20],[-69.90,41.20],[-69.90,42.93]]]}'
24
+
25
+ # Non-search-field GeoBlacklight application permitted params
26
+ GBL_PARAMS:
27
+ - :bbox
28
+ - :email
29
+ - :file
30
+ - :format
31
+ - :id
32
+ - :logo
33
+ - :provider
34
+ - :type
35
+ - :BBOX
36
+ - :HEIGHT
37
+ - :LAYERS
38
+ - :QUERY_LAYERS
39
+ - :URL
40
+ - :WIDTH
41
+ - :X
42
+ - :Y
43
+
44
+ # Solr field mappings
45
+ FIELDS:
46
+ :ACCESS_RIGHTS: 'dct_accessRights_s'
47
+ :ALTERNATIVE_TITLE: 'dct_alternative_sm'
48
+ :CENTROID: 'dcat_centroid'
49
+ :CREATOR: 'dct_creator_sm'
50
+ :DATE_ISSUED: 'dct_issued_s'
51
+ :DATE_RANGE: 'gbl_dateRange_drsim'
52
+ :DESCRIPTION: 'dct_description_sm'
53
+ :FORMAT: 'dct_format_s'
54
+ :FILE_SIZE: 'gbl_fileSize_s'
55
+ :GEOREFERENCED: 'gbl_georeferenced_b'
56
+ :ID: 'id'
57
+ :IDENTIFIER: 'dct_identifier_sm'
58
+ :INDEX_YEAR: 'gbl_indexYear_im'
59
+ :IS_PART_OF: 'dct_isPartOf_sm'
60
+ :IS_REPLACED_BY: 'dct_isReplacedBy_sm'
61
+ :THEME: 'dcat_theme_sm'
62
+ :KEYWORD: 'dcat_keyword_sm'
63
+ :LANGUAGE: 'dct_language_sm'
64
+ :LAYER_MODIFIED: 'gbl_mdModified_dt'
65
+ :LICENSE: 'dct_license_sm'
66
+ :MEMBER_OF: 'pcdm_memberOf_sm'
67
+ :METADATA_VERSION: 'gbl_mdVersion_s'
68
+ :MODIFIED: 'gbl_mdModified_dt'
69
+ :OVERLAP_FIELD: 'solr_bboxtype'
70
+ :PUBLISHER: 'dct_publisher_sm'
71
+ :PROVIDER: 'schema_provider_s'
72
+ :REFERENCES: 'dct_references_s'
73
+ :RELATION: 'dct_relation_sm'
74
+ :REPLACES: 'dct_replaces_sm'
75
+ :RESOURCE_CLASS: 'gbl_resourceClass_sm'
76
+ :RESOURCE_TYPE: 'gbl_resourceType_sm'
77
+ :RIGHTS: 'dct_rights_sm'
78
+ :RIGHTS_HOLDER: 'dct_rightsHolder_sm'
79
+ :SOURCE: 'dct_source_sm'
80
+ :SPATIAL_COVERAGE: 'dct_spatial_sm'
81
+ :GEOMETRY: 'locn_geometry'
82
+ :SUBJECT: 'dct_subject_sm'
83
+ :SUPPRESSED: 'gbl_suppressed_b'
84
+ :TEMPORAL_COVERAGE: 'dct_temporal_sm'
85
+ :TITLE: 'dct_title_s'
86
+ :VERSION: 'dct_isVersionOf_sm'
87
+ :WXS_IDENTIFIER: 'gbl_wxsIdentifier_s'
88
+ :B1G_PUBLICATION_STATE: 'b1g_publication_state_s'
89
+ :B1G_ACCRUAL_METHOD: 'b1g_dct_accrualMethod_s'
90
+ :B1G_CODE: 'b1g_code_s'
91
+ :B1G_CHILD_RECORD: 'b1g_child_record_b'
92
+ :B1G_GEOMG_ID: 'geomg_id_s'
93
+
94
+ # Institution deployed at
95
+ INSTITUTION: 'Stanford'
96
+
97
+ # Metadata shown in tool panel
98
+ METADATA_SHOWN:
99
+ - 'mods'
100
+ - 'fgdc'
101
+ - 'iso19139'
102
+ - 'html'
103
+
104
+ # (For external Download) timeout and open_timeout parameters for Faraday
105
+ TIMEOUT_DOWNLOAD: 16
106
+
107
+ # (For WMS inspection) timeout and open_timeout parameters for Faraday
108
+ TIMEOUT_WMS: 4
109
+
110
+ # Use the geometry type for the data relations icon
111
+ USE_GEOM_FOR_RELATIONS_ICON: false
112
+
113
+ # Web services shown in tool panel
114
+ WEBSERVICES_SHOWN:
115
+ - 'wms'
116
+ - 'tms'
117
+ - 'wfs'
118
+ - 'xyz'
119
+ - 'wmts'
120
+ - 'tilejson'
121
+ - 'iiif'
122
+ - 'feature_layer'
123
+ - 'tiled_map_layer'
124
+ - 'dynamic_map_layer'
125
+ - 'image_map_layer'
126
+
127
+ # Relationships to display
128
+ RELATIONSHIPS_SHOWN:
129
+ MEMBER_OF:
130
+ field: pcdm_memberOf_sm
131
+ query_type: ancestors
132
+ icon: nil
133
+ label: geoblacklight.relations.member_of
134
+ PART_OF_ANCESTORS:
135
+ field: dct_isPartOf_sm
136
+ query_type: ancestors
137
+ icon: nil
138
+ label: geoblacklight.relations.part_of_ancestors
139
+ PART_OF_DESCENDANTS:
140
+ field: dct_isPartOf_sm
141
+ query_type: descendants
142
+ icon: child-item
143
+ label: geoblacklight.relations.part_of_descendants
144
+ RELATION:
145
+ field: dct_relation_sm
146
+ query_type: ancestors
147
+ icon: nil
148
+ label: geoblacklight.relations.relation
149
+ REPLACES:
150
+ field: dct_replaces_sm
151
+ query_type: ancestors
152
+ icon: nil
153
+ label: geoblacklight.relations.replaces
154
+ REPLACED_BY:
155
+ field: dct_isReplacedBy_sm
156
+ query_type: descendants
157
+ icon: nil
158
+ label: geoblacklight.relations.replaced_by
159
+ SOURCE_ANCESTORS:
160
+ field: dct_source_sm
161
+ query_type: ancestors
162
+ icon: parent-item
163
+ label: geoblacklight.relations.ancestor
164
+ SOURCE_DESCENDANTS:
165
+ field: dct_source_sm
166
+ query_type: descendants
167
+ icon: child-item
168
+ label: geoblacklight.relations.descendant
169
+ VERSION_OF:
170
+ field: dct_isVersionOf_sm
171
+ query_type: descendants
172
+ icon: nil
173
+ label: geoblacklight.relations.version_of
174
+
175
+ # WMS Parameters
176
+ WMS_PARAMS:
177
+ :SERVICE: 'WMS'
178
+ :VERSION: '1.1.1'
179
+ :REQUEST: 'GetFeatureInfo'
180
+ :STYLES: ''
181
+ :SRS: 'EPSG:4326'
182
+ :EXCEPTIONS: 'application/json'
183
+ :INFO_FORMAT: 'text/html'
184
+
185
+ # Settings for leaflet
186
+ LEAFLET:
187
+ MAP:
188
+ LAYERS:
189
+ DETECT_RETINA: true
190
+ INDEX:
191
+ DEFAULT: &default
192
+ color: "#7FCDBB"
193
+ weight: "1"
194
+ radius: "4"
195
+ UNAVAILABLE:
196
+ <<: *default
197
+ color: "#EDF8B1"
198
+ SELECTED:
199
+ <<: *default
200
+ color: "#2C7FB8"
201
+ VIEWERS:
202
+ DYNAMICMAPLAYER:
203
+ CONTROLS:
204
+ - 'Opacity'
205
+ - 'Fullscreen'
206
+ FEATURELAYER:
207
+ CONTROLS:
208
+ - 'Opacity'
209
+ - 'Fullscreen'
210
+ IIIF:
211
+ CONTROLS:
212
+ - 'Fullscreen'
213
+ IMAGEMAPLAYER:
214
+ CONTROLS:
215
+ - 'Opacity'
216
+ - 'Fullscreen'
217
+ INDEXMAP:
218
+ CONTROLS:
219
+ - 'Fullscreen'
220
+ TILEDMAPLAYER:
221
+ CONTROLS:
222
+ - 'Opacity'
223
+ - 'Fullscreen'
224
+ WMS:
225
+ CONTROLS:
226
+ - 'Opacity'
227
+ - 'Fullscreen'
228
+
229
+ # Toggle the help text feature that offers users context
230
+ HELP_TEXT:
231
+ viewer_protocol:
232
+ - 'dynamic_map_layer'
233
+ - 'feature_layer'
234
+ - 'iiif'
235
+ - 'iiif_manifest'
236
+ - 'image_map_layer'
237
+ - 'index_map'
238
+ - 'tiled_map_layer'
239
+ - 'wms'
240
+ - 'tms'
241
+ - 'oembed'
@@ -2,6 +2,7 @@
2
2
  "name": "internal",
3
3
  "private": true,
4
4
  "dependencies": {
5
+ "@babel/plugin-proposal-private-methods": "^7.18.6",
5
6
  "@rails/actioncable": "^6.0.0",
6
7
  "@rails/activestorage": "^6.0.0",
7
8
  "@rails/ujs": "^6.0.0",
@@ -14,6 +14,5 @@ module GeoblacklightAdmin
14
14
  def create_views
15
15
  # @TODO
16
16
  end
17
-
18
17
  end
19
18
  end
@@ -3,17 +3,16 @@
3
3
  module GeoblacklightAdmin
4
4
  class Engine < ::Rails::Engine
5
5
  isolate_namespace GeoblacklightAdmin
6
-
7
6
 
8
7
  # GeoblacklightAdminHelper is needed by all helpers, so we inject it
9
8
  # into action view base here.
10
9
  initializer "geoblacklight_admin.helpers" do
11
10
  config.after_initialize do
12
- ActionView::Base.send :include, GeoblacklightAdminHelper
13
- ActionView::Base.send :include, BulkActionsHelper
14
- ActionView::Base.send :include, DocumentHelper
15
- ActionView::Base.send :include, FormInputHelper
16
- ActionView::Base.send :include, MappingsHelper
11
+ ActionView::Base.include GeoblacklightAdminHelper
12
+ ActionView::Base.include BulkActionsHelper
13
+ ActionView::Base.include DocumentHelper
14
+ ActionView::Base.include FormInputHelper
15
+ ActionView::Base.include MappingsHelper
17
16
  end
18
17
  end
19
18
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GeoblacklightAdmin
4
- VERSION = "0.0.1"
4
+ VERSION = "0.1.0"
5
5
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "active_support/dependencies"
3
4
  require "geoblacklight_admin/engine"
4
5
 
5
6
  module GeoblacklightAdmin
6
- # Your code goes here...
7
7
  end
@@ -9,7 +9,10 @@ namespace :gbl_admin do
9
9
  task :server, [:rails_server_args] do |_t, args|
10
10
  require "solr_wrapper"
11
11
  SolrWrapper.wrap(port: "8983") do |solr|
12
- solr.with_collection(name: "blacklight-core", dir: File.join(File.expand_path(Rails.root, File.dirname(__FILE__)), "solr", "conf")) do
12
+ solr.with_collection(name: "blacklight-core",
13
+ dir: File.join(
14
+ File.expand_path(Rails.root, File.dirname(__FILE__)), "solr", "conf"
15
+ )) do
13
16
  puts "\nSolr server running: http://localhost:#{solr.port}/solr/#/blacklight-core"
14
17
  puts "\n^C to stop"
15
18
  puts " "
@@ -24,8 +27,6 @@ namespace :gbl_admin do
24
27
  end
25
28
  end
26
29
 
27
-
28
-
29
30
  desc "Run test suite"
30
31
  task ci: :environment do
31
32
  Rails.env = "test"
@@ -80,7 +81,9 @@ namespace :geomg do
80
81
  puts " "
81
82
  begin
82
83
  # Rake::Task['geomg:solr:restore'].invoke
83
- system "bundle exec rails s --binding=#{ENV.fetch("GEOMG_SERVER_BIND_INTERFACE", "0.0.0.0")} --port=#{ENV.fetch("GEOMG_SERVER_PORT", "3000")}"
84
+ system "bundle exec rails s --binding=#{ENV.fetch("GEOMG_SERVER_BIND_INTERFACE",
85
+ "0.0.0.0")} --port=#{ENV.fetch("GEOMG_SERVER_PORT",
86
+ "3000")}"
84
87
  sleep
85
88
  rescue Interrupt
86
89
  puts "\nShutting down..."
@@ -100,7 +103,7 @@ namespace :geomg do
100
103
  puts "Solr running at http://localhost:8983/solr/#/blacklight-core/, ^C to exit"
101
104
  begin
102
105
  Rake::Task["db:fixtures:load"].invoke
103
- Rake::Task["geomg:solr:reindex"].invoke
106
+ # Rake::Task["geomg:solr:reindex"].invoke
104
107
  sleep
105
108
  rescue Interrupt
106
109
  puts "\nShutting down..."
@@ -200,7 +203,8 @@ namespace :geomg do
200
203
 
201
204
  snapshot = Dir.glob(Rails.root.join("solr/snapshots/snapshot.*").to_s).last
202
205
 
203
- FileUtils.cp_r(snapshot, Rails.root.join("tmp/geoportal-core-development/server/solr/geoportal-core-development/data").to_s)
206
+ FileUtils.cp_r(snapshot,
207
+ Rails.root.join("tmp/geoportal-core-development/server/solr/geoportal-core-development/data").to_s)
204
208
 
205
209
  res = Faraday.get "#{solr}/#{replication}"
206
210
  puts res.body