geoblacklight 4.2.0 → 4.4.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +1 -1
- data/.gitignore +1 -0
- data/app/assets/images/blacklight/geoblacklight-icons.json +558 -279
- data/app/assets/images/blacklight/northwestern-university.svg +5 -0
- data/app/javascript/index.js +7 -0
- data/app/{frontend → javascript}/openlayers/ol_initializer.js +1 -1
- data/app/javascript/stylesheets/openlayers.css +1 -0
- data/config/locales/geoblacklight.en.yml +2 -1
- data/geoblacklight.gemspec +1 -1
- data/lib/generators/geoblacklight/install_generator.rb +21 -2
- data/{app/frontend/entrypoints → lib/generators/geoblacklight/templates}/clover.js +1 -1
- data/lib/generators/geoblacklight/templates/ol.js +6 -0
- data/lib/generators/geoblacklight/templates/package-test.json +10 -0
- data/lib/generators/geoblacklight/templates/package.json +10 -0
- data/lib/generators/geoblacklight/templates/vite.config.ts +8 -0
- data/lib/generators/geoblacklight/templates/vite.json +1 -1
- data/lib/geoblacklight/engine.rb +0 -24
- data/lib/geoblacklight/version.rb +1 -1
- data/package.json +25 -5
- data/spec/features/full_screen_controll_spec.rb +1 -1
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +21 -1
- data/vite.config.ts +20 -4
- metadata +16 -14
- data/app/frontend/entrypoints/application.js +0 -28
- data/app/frontend/entrypoints/ol.js +0 -5
- data/app/frontend/stylesheets/openlayers.css +0 -1
- data/app/helpers/geoblacklight/application_helper.rb +0 -8
- data/config/vite.json +0 -14
- /data/app/{frontend → javascript}/clover/clover_initializer.js +0 -0
- /data/app/{frontend → javascript}/openlayers/basemaps.js +0 -0
@@ -0,0 +1,5 @@
|
|
1
|
+
<!-- Generated by IcoMoon.io -->
|
2
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="33" height="32" viewBox="0 0 33 32">
|
3
|
+
<title>northwestern-university</title>
|
4
|
+
<path fill="#6c757d" d="M21.118 0.238v2.258l3.79 0.953 0.749 0.93v18.088l-18.984-22.468h-5.583v1.691l3.087 3.472v23.455l-4.176 1.169v1.974h11.972v-1.986l-3.711-0.987-0.76-0.942v-18.86l19.325 23.013h2.235v-28.437l4.199-1.271v-2.054z"></path>
|
5
|
+
</svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
@import "../../../node_modules/ol/ol.css";
|
@@ -166,7 +166,8 @@ en:
|
|
166
166
|
multilinestring: Multi-line string
|
167
167
|
multipoint: Multi-point
|
168
168
|
multipolygon: Multi-polygon
|
169
|
-
nebraska: University of Nebraska
|
169
|
+
nebraska: University of Nebraska-Lincoln
|
170
|
+
northwestern-university: Northwestern University
|
170
171
|
nyu: New York University
|
171
172
|
ohio-state: The Ohio State University
|
172
173
|
penn-state: Penn State University
|
data/geoblacklight.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_dependency "faraday", "~> 2.0"
|
24
24
|
spec.add_dependency "coderay"
|
25
25
|
spec.add_dependency "deprecation"
|
26
|
-
spec.add_dependency "geo_combine", "~> 0.
|
26
|
+
spec.add_dependency "geo_combine", "~> 0.9"
|
27
27
|
spec.add_dependency "mime-types"
|
28
28
|
spec.add_dependency "handlebars_assets"
|
29
29
|
spec.add_dependency "rgeo-geojson"
|
@@ -5,9 +5,10 @@ require "rails/generators"
|
|
5
5
|
module Geoblacklight
|
6
6
|
class Install < Rails::Generators::Base
|
7
7
|
source_root File.expand_path("../templates", __FILE__)
|
8
|
-
|
9
8
|
desc "Install Geoblacklight"
|
10
9
|
|
10
|
+
class_option :test, type: :boolean, default: false, aliases: "-t", desc: "Indicates that app will be installed in a test environment"
|
11
|
+
|
11
12
|
def allow_geoblacklight_params
|
12
13
|
gbl_params = <<-PARAMS
|
13
14
|
before_action :allow_geoblacklight_params
|
@@ -116,9 +117,21 @@ module Geoblacklight
|
|
116
117
|
copy_file "base.html.erb", "app/views/layouts/blacklight/base.html.erb"
|
117
118
|
end
|
118
119
|
|
119
|
-
|
120
|
+
def copy_package_json
|
121
|
+
if options[:test]
|
122
|
+
# If building engine cart test app, use specific package.json so the
|
123
|
+
# locally built frontend javascript is used instead of the npm package.
|
124
|
+
copy_file "package-test.json", "package.json"
|
125
|
+
else
|
126
|
+
copy_file "package.json", "package.json"
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
# Vite - Config files
|
120
131
|
def copy_config_vite_json
|
121
132
|
copy_file "vite.json", "config/vite.json"
|
133
|
+
copy_file "vite.config.ts", "vite.config.ts"
|
134
|
+
run "yarn install"
|
122
135
|
end
|
123
136
|
|
124
137
|
# Run bundle with vite install
|
@@ -128,5 +141,11 @@ module Geoblacklight
|
|
128
141
|
run "bundle exec vite install"
|
129
142
|
end
|
130
143
|
end
|
144
|
+
|
145
|
+
# Vite - Copy over the Vite entrypoints
|
146
|
+
def copy_vite_entrypoints
|
147
|
+
copy_file "clover.js", "app/javascript/entrypoints/clover.js"
|
148
|
+
copy_file "ol.js", "app/javascript/entrypoints/ol.js"
|
149
|
+
end
|
131
150
|
end
|
132
151
|
end
|
data/lib/geoblacklight/engine.rb
CHANGED
@@ -8,33 +8,9 @@ require "geoblacklight/version"
|
|
8
8
|
require "nokogiri"
|
9
9
|
require "mime/types"
|
10
10
|
require "handlebars_assets"
|
11
|
-
require "vite_ruby"
|
12
11
|
|
13
12
|
module Geoblacklight
|
14
13
|
class Engine < ::Rails::Engine
|
15
|
-
delegate :vite_ruby, to: :class
|
16
|
-
|
17
|
-
def self.vite_ruby
|
18
|
-
@vite_ruby ||= ViteRuby.new(root: root)
|
19
|
-
end
|
20
|
-
|
21
|
-
# Expose compiled assets via Rack::Static when running in the host app.
|
22
|
-
config.app_middleware.use(Rack::Static,
|
23
|
-
urls: ["/#{vite_ruby.config.public_output_dir}"],
|
24
|
-
root: root.join(vite_ruby.config.public_dir))
|
25
|
-
|
26
|
-
initializer "vite_rails_engine.proxy" do |app|
|
27
|
-
if vite_ruby.run_proxy?
|
28
|
-
app.middleware.insert_before 0, ViteRuby::DevServerProxy, ssl_verify_none: true, vite_ruby: vite_ruby
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
initializer "vite_rails_engine.logger" do
|
33
|
-
config.after_initialize do
|
34
|
-
vite_ruby.logger = Rails.logger
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
14
|
# GeoblacklightHelper is needed by all helpers, so we inject it
|
39
15
|
# into action view base here.
|
40
16
|
initializer "geoblacklight.helpers" do
|
data/package.json
CHANGED
@@ -1,8 +1,29 @@
|
|
1
1
|
{
|
2
|
-
"name": "geoblacklight",
|
3
|
-
"
|
4
|
-
"
|
2
|
+
"name": "@geoblacklight/frontend",
|
3
|
+
"type": "module",
|
4
|
+
"version": "4.4.6",
|
5
5
|
"license": "Apache-2.0",
|
6
|
+
"publishConfig": {
|
7
|
+
"access": "public"
|
8
|
+
},
|
9
|
+
"scripts": {
|
10
|
+
"dev": "vite",
|
11
|
+
"build": "vite build",
|
12
|
+
"watch": "vite build --watch"
|
13
|
+
},
|
14
|
+
"files": ["dist"],
|
15
|
+
"main": "./dist/frontend.js",
|
16
|
+
"module": "./dist/frontend.umd.cjs",
|
17
|
+
"exports": {
|
18
|
+
".": {
|
19
|
+
"import": "./dist/frontend.js",
|
20
|
+
"require": "./dist/frontend.umd.cjs"
|
21
|
+
},
|
22
|
+
"./dist/style.css": {
|
23
|
+
"import": "./dist/style.css",
|
24
|
+
"require": "./dist/style.css"
|
25
|
+
}
|
26
|
+
},
|
6
27
|
"dependencies": {
|
7
28
|
"@samvera/clover-iiif": "^2.3.2",
|
8
29
|
"ol": "8.1.0",
|
@@ -10,7 +31,6 @@
|
|
10
31
|
"react": "^18.2.0"
|
11
32
|
},
|
12
33
|
"devDependencies": {
|
13
|
-
"vite": "^5.0.0"
|
14
|
-
"vite-plugin-ruby": "^5.0.0"
|
34
|
+
"vite": "^5.0.0"
|
15
35
|
}
|
16
36
|
}
|
@@ -17,6 +17,6 @@ end
|
|
17
17
|
feature "Clover IIIF fullscreen control", js: true do
|
18
18
|
scenario "IIIF layer should have full screen control" do
|
19
19
|
visit solr_document_path("princeton-sx61dn82p")
|
20
|
-
expect(page).to
|
20
|
+
expect(page).to have_button("Toggle full page")
|
21
21
|
end
|
22
22
|
end
|
@@ -7,19 +7,39 @@ class TestAppGenerator < Rails::Generators::Base
|
|
7
7
|
|
8
8
|
def add_gems
|
9
9
|
gem "blacklight"
|
10
|
+
|
11
|
+
# In CI, Javascript and Webpacker are removed when generating Rails 6.x
|
12
|
+
# applications to enable Vite. Disabling javascript during test app
|
13
|
+
# generation removes Turbolinks. This gem is required and needs to be
|
14
|
+
# re-added.
|
15
|
+
if ENV["RAILS_VERSION"] && Gem::Version.new(ENV["RAILS_VERSION"]) < Gem::Version.new("7.0")
|
16
|
+
gem "turbolinks"
|
17
|
+
end
|
18
|
+
|
10
19
|
Bundler.with_clean_env do
|
11
20
|
run "bundle install"
|
12
21
|
end
|
13
22
|
end
|
14
23
|
|
24
|
+
def build_frontend
|
25
|
+
run "yarn install && yarn build"
|
26
|
+
end
|
27
|
+
|
28
|
+
# Ensure local frontend build is linked so internal test app
|
29
|
+
# can use local javascript instead of npm package.
|
30
|
+
def link_frontend
|
31
|
+
run "yarn link"
|
32
|
+
end
|
33
|
+
|
15
34
|
def run_blacklight_generator
|
16
35
|
say_status("warning", "GENERATING BL", :yellow)
|
17
36
|
|
18
37
|
generate "blacklight:install", "--devise"
|
19
38
|
end
|
20
39
|
|
40
|
+
# Install geoblacklight with the `test` option
|
21
41
|
def install_engine
|
22
|
-
generate "geoblacklight:install", "-f"
|
42
|
+
generate "geoblacklight:install", "-f --test"
|
23
43
|
end
|
24
44
|
|
25
45
|
# Symlink fixture document directories so the test app doesn't have to be
|
data/vite.config.ts
CHANGED
@@ -1,8 +1,24 @@
|
|
1
|
+
import { resolve } from 'path'
|
1
2
|
import { defineConfig } from 'vite'
|
2
|
-
import
|
3
|
+
import { exec } from 'child_process'
|
3
4
|
|
4
5
|
export default defineConfig({
|
5
|
-
|
6
|
-
|
7
|
-
|
6
|
+
build: {
|
7
|
+
manifest: true,
|
8
|
+
minify: true,
|
9
|
+
reportCompressedSize: true,
|
10
|
+
lib: {
|
11
|
+
entry: resolve(__dirname, 'app/javascript/index.js'),
|
12
|
+
name: '@geoblacklight/frontend',
|
13
|
+
fileName: 'frontend'
|
14
|
+
}
|
15
|
+
},
|
16
|
+
"plugins": [
|
17
|
+
{
|
18
|
+
name: 'clobber internal test app vite files and cache',
|
19
|
+
buildEnd: async() => {
|
20
|
+
exec("cd .internal_test_app && bundle exec vite clobber")
|
21
|
+
}
|
22
|
+
}
|
23
|
+
]
|
8
24
|
})
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geoblacklight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Graves
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2024-
|
14
|
+
date: 2024-04-03 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
@@ -109,14 +109,14 @@ dependencies:
|
|
109
109
|
requirements:
|
110
110
|
- - "~>"
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: '0.
|
112
|
+
version: '0.9'
|
113
113
|
type: :runtime
|
114
114
|
prerelease: false
|
115
115
|
version_requirements: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
117
|
- - "~>"
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version: '0.
|
119
|
+
version: '0.9'
|
120
120
|
- !ruby/object:Gem::Dependency
|
121
121
|
name: mime-types
|
122
122
|
requirement: !ruby/object:Gem::Requirement
|
@@ -435,6 +435,7 @@ files:
|
|
435
435
|
- app/assets/images/blacklight/multipoint.svg
|
436
436
|
- app/assets/images/blacklight/multipolygon.svg
|
437
437
|
- app/assets/images/blacklight/nebraska.svg
|
438
|
+
- app/assets/images/blacklight/northwestern-university.svg
|
438
439
|
- app/assets/images/blacklight/nyu.svg
|
439
440
|
- app/assets/images/blacklight/ohio-state.svg
|
440
441
|
- app/assets/images/blacklight/pagelines-brands.svg
|
@@ -549,19 +550,16 @@ files:
|
|
549
550
|
- app/controllers/download_controller.rb
|
550
551
|
- app/controllers/relation_controller.rb
|
551
552
|
- app/controllers/wms_controller.rb
|
552
|
-
- app/frontend/clover/clover_initializer.js
|
553
|
-
- app/frontend/entrypoints/application.js
|
554
|
-
- app/frontend/entrypoints/clover.js
|
555
|
-
- app/frontend/entrypoints/ol.js
|
556
|
-
- app/frontend/openlayers/basemaps.js
|
557
|
-
- app/frontend/openlayers/ol_initializer.js
|
558
|
-
- app/frontend/stylesheets/openlayers.css
|
559
553
|
- app/helpers/arcgis_helper.rb
|
560
554
|
- app/helpers/blacklight_helper.rb
|
561
555
|
- app/helpers/carto_helper.rb
|
562
|
-
- app/helpers/geoblacklight/application_helper.rb
|
563
556
|
- app/helpers/geoblacklight/geoblacklight_helper_behavior.rb
|
564
557
|
- app/helpers/geoblacklight_helper.rb
|
558
|
+
- app/javascript/clover/clover_initializer.js
|
559
|
+
- app/javascript/index.js
|
560
|
+
- app/javascript/openlayers/basemaps.js
|
561
|
+
- app/javascript/openlayers/ol_initializer.js
|
562
|
+
- app/javascript/stylesheets/openlayers.css
|
565
563
|
- app/models/concerns/geoblacklight/bbox_filter_field.rb
|
566
564
|
- app/models/concerns/geoblacklight/bbox_filter_query.rb
|
567
565
|
- app/models/concerns/geoblacklight/solr_document.rb
|
@@ -614,7 +612,6 @@ files:
|
|
614
612
|
- config/initializers/new_gbl_settings_defaults_4.1.yml
|
615
613
|
- config/initializers/rails_config.rb
|
616
614
|
- config/locales/geoblacklight.en.yml
|
617
|
-
- config/vite.json
|
618
615
|
- geoblacklight.gemspec
|
619
616
|
- jest.config.js
|
620
617
|
- lib/generators/geoblacklight/assets_generator.rb
|
@@ -626,8 +623,13 @@ files:
|
|
626
623
|
- lib/generators/geoblacklight/templates/assets/geoblacklight.js
|
627
624
|
- lib/generators/geoblacklight/templates/base.html.erb
|
628
625
|
- lib/generators/geoblacklight/templates/catalog_controller.rb
|
626
|
+
- lib/generators/geoblacklight/templates/clover.js
|
627
|
+
- lib/generators/geoblacklight/templates/ol.js
|
628
|
+
- lib/generators/geoblacklight/templates/package-test.json
|
629
|
+
- lib/generators/geoblacklight/templates/package.json
|
629
630
|
- lib/generators/geoblacklight/templates/settings.gbl_v1.yml
|
630
631
|
- lib/generators/geoblacklight/templates/settings.yml
|
632
|
+
- lib/generators/geoblacklight/templates/vite.config.ts
|
631
633
|
- lib/generators/geoblacklight/templates/vite.json
|
632
634
|
- lib/geoblacklight.rb
|
633
635
|
- lib/geoblacklight/bounding_box.rb
|
@@ -905,7 +907,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
905
907
|
- !ruby/object:Gem::Version
|
906
908
|
version: 2.5.2
|
907
909
|
requirements: []
|
908
|
-
rubygems_version: 3.4.
|
910
|
+
rubygems_version: 3.4.10
|
909
911
|
signing_key:
|
910
912
|
specification_version: 4
|
911
913
|
summary: A discovery platform for geospatial holdings
|
@@ -1,28 +0,0 @@
|
|
1
|
-
// To see this message, add the following to the `<head>` section in your
|
2
|
-
// views/layouts/application.html.erb
|
3
|
-
//
|
4
|
-
// <%= vite_client_tag %>
|
5
|
-
// <%= vite_javascript_tag 'application' %>
|
6
|
-
console.log('Vite ⚡️ Rails')
|
7
|
-
|
8
|
-
// If using a TypeScript entrypoint file:
|
9
|
-
// <%= vite_typescript_tag 'application' %>
|
10
|
-
//
|
11
|
-
// If you want to use .jsx or .tsx, add the extension:
|
12
|
-
// <%= vite_javascript_tag 'application.jsx' %>
|
13
|
-
|
14
|
-
console.log('Visit the guide for more information: ', 'https://vite-ruby.netlify.app/guide/rails')
|
15
|
-
|
16
|
-
// Example: Load Rails libraries in Vite.
|
17
|
-
//
|
18
|
-
// import * as Turbo from '@hotwired/turbo'
|
19
|
-
// Turbo.start()
|
20
|
-
//
|
21
|
-
// import ActiveStorage from '@rails/activestorage'
|
22
|
-
// ActiveStorage.start()
|
23
|
-
//
|
24
|
-
// // Import all channels.
|
25
|
-
// const channels = import.meta.globEager('./**/*_channel.js')
|
26
|
-
|
27
|
-
// Example: Import a stylesheet in app/frontend/index.css
|
28
|
-
// import '~/index.css'
|
@@ -1 +0,0 @@
|
|
1
|
-
@import "node_modules/ol/ol.css";
|
data/config/vite.json
DELETED
File without changes
|
File without changes
|