blacklight_heatmaps 1.1.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a03189451c6ce94aa819be2e1e37b6b13682ae7b2e23346591602e78b414fae0
4
- data.tar.gz: 9db2a647a7decc345acdaa2f627482b2878dfd505e25a65c9c1e57809e99f37e
3
+ metadata.gz: 24f086dfa95576ef614df42a0e330472852275e379efce3a10b018e22506c369
4
+ data.tar.gz: 3f17b5bf828fd918b39bc1fdcd2d41936b8d56083a25ca2d992d6bc75fa79e62
5
5
  SHA512:
6
- metadata.gz: 05e65c68c3990bea54b4ac89092564815ef02a31bcb554e28c332d9ebfd1b49d221ddb9b6ee09bfb7352036b0e3043bde0eec91f8c3ce78c7bcaba63d90eff6b
7
- data.tar.gz: ac76ff4fbb11bfb29881f6c9a966f2341123610f416aa21c2f5b64a618ea134bba46a5575f47427306f4ac5645667dee5c65f2df09a811d127c14bbe7f8c4f00
6
+ metadata.gz: 469bce42ba24493fd508fd413598106923b0eb0dc15f1a7bf4c71272a3fe4bbef4853e88a5cfbfbb3d5d5d60f891a118c1cb57a65d5c3dc6a6fe081d513aaa0a
7
+ data.tar.gz: fcc61b79be207c9fac704e5ad1c3db497928dbd5e7acc15eccc7018c56407df9c1f44670c0898384ce14f381994cb945c23a588034847e0d0ba99bfc65ea1c8c
@@ -1,8 +1,8 @@
1
1
  Blacklight.onLoad(function () {
2
2
  'use strict';
3
3
 
4
- $('[data-index-map]').each(function () {
5
- BlacklightHeatmaps.indexView(this, {});
4
+ document.querySelectorAll('[data-index-map]').forEach(function (el) {
5
+ BlacklightHeatmaps.indexView(el, {});
6
6
  });
7
7
  });
8
8
 
@@ -13,20 +13,22 @@ Blacklight.onLoad(function () {
13
13
  options: {},
14
14
 
15
15
  initialize: function (el, options) {
16
- var _this = this;
17
- var $el = $(el);
18
- var requestUrl = $el.data().searchUrl + '&format=heatmaps';
19
- var geometryField = $el.data().geometryField;
20
- var template = $el.data().sidebarTemplate;
21
- var colorRamp = $el.data().colorRamp;
16
+ var requestUrl = el.dataset.searchUrl + '&format=heatmaps';
17
+ var geometryField = el.dataset.geometryField;
18
+ var template = el.dataset.sidebarTemplate;
19
+ var colorRamp = JSON.parse(el.dataset.colorRamp);
22
20
 
23
21
  // Blank out page link content first and disable pagination
24
- $('#sortAndPerPage .page-links').html('');
25
- $('ul.pagination').hide();
22
+ document.querySelectorAll('#sortAndPerPage .page-links').forEach(function (links) {
23
+ links.innerHTML = '';
24
+ });
25
+ document.querySelectorAll('ul.pagination').forEach(function (links) {
26
+ links.classList.add('d-none');
27
+ });
26
28
 
27
- var map = L.map($el[0].id).setView([0, 0], 1);
29
+ var map = L.map(el.id).setView([0, 0], 1);
28
30
  var basemap = BlacklightHeatmaps.selectBasemap(
29
- $el.data().basemapProvider
31
+ el.dataset.basemapProvider
30
32
  ).addTo(map);
31
33
 
32
34
  var solrLayer = L.solrHeatmap(requestUrl, {
@@ -57,7 +59,7 @@ Blacklight.onLoad(function () {
57
59
  solrLayer.on('dataAdded', function (e) {
58
60
  if (e.response && e.response.docs) {
59
61
  var html = '';
60
- $.each(e.response.docs, function (i, value) {
62
+ e.response.docs.forEach(function (value) {
61
63
  html += L.Util.template(template, value);
62
64
  });
63
65
 
@@ -65,16 +67,11 @@ Blacklight.onLoad(function () {
65
67
 
66
68
  var docCount = e.response.pages.total_count;
67
69
 
68
- $('#sortAndPerPage .page-links').html(
69
- parseInt(docCount).toLocaleString() + ' ' +
70
- _this.pluralize(docCount, 'item') + ' found'
71
- );
70
+ document.querySelectorAll('#sortAndPerPage .page-links').forEach(function (links) {
71
+ links.innerHTML = parseInt(docCount).toLocaleString() + ' ' + (docCount == 1 ? 'item' : 'items') + ' found';
72
+ });
72
73
  }
73
74
  });
74
-
75
- $(document).on('turbolinks:click', function (e) {
76
- e.preventDefault();
77
- });
78
75
  },
79
76
 
80
77
  pluralize: function (count, word) {
@@ -1,8 +1,8 @@
1
1
  Blacklight.onLoad(function () {
2
2
  'use strict';
3
3
 
4
- $('[data-show-map]').each(function () {
5
- BlacklightHeatmaps.showView(this);
4
+ document.querySelectorAll('[data-show-map]').forEach(function (el) {
5
+ BlacklightHeatmaps.showView(el);
6
6
  });
7
7
  });
8
8
 
@@ -13,15 +13,14 @@ Blacklight.onLoad(function () {
13
13
  options: {},
14
14
 
15
15
  initialize: function (el, options) {
16
- var $el = $(el);
17
- var features = $el.data().features;
16
+ var json = JSON.parse(el.dataset.features);
18
17
 
19
- var map = L.map($el[0].id).setView([0, 0], 1);
18
+ var map = L.map(el.id).setView([0, 0], 1);
20
19
  var basemap = BlacklightHeatmaps.selectBasemap(
21
- $el.data().basemapProvider
20
+ el.dataset.basemapProvider
22
21
  ).addTo(map);
23
22
 
24
- var features = L.geoJson(features, {
23
+ var features = L.geoJson(json, {
25
24
  pointToLayer: function(feature, latlng) {
26
25
  return L.marker(latlng, {
27
26
  icon: BlacklightHeatmaps.Icons.default
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BlacklightHeatmaps
4
+ module Icons
5
+ # This is the gallery icon for the view type button.
6
+ # You can override the default svg by setting:
7
+ # Blacklight::Gallery:Icons::SlideshowComponent.svg = '<svg>your SVG here</svg>'
8
+ class HeatmapsComponent < Blacklight::Icons::IconComponent
9
+ self.svg = <<~SVG
10
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 10h-2v2h2v-2zm0 4h-2v2h2v-2zm-8-4H6v2h2v-2zm4 0h-2v2h2v-2zm8-6H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V6h16v12z"/></svg>
11
+ SVG
12
+ end
13
+ end
14
+ end
@@ -10,6 +10,7 @@ module Blacklight
10
10
  class: 'blacklight-heatmaps-index-map',
11
11
  id: 'index-map',
12
12
  data: index_map_data_attributes,
13
+ role: 'region',
13
14
  'aria-label': t('blacklight.heatmaps.aria-label')
14
15
  )
15
16
  end
@@ -24,7 +25,7 @@ module Blacklight
24
25
  <div class='media'>
25
26
  <div class='media-body'>
26
27
  <h3 class='media-heading'>
27
- <a href=\"{url}\"}>
28
+ <a href="{url}">
28
29
  {title}
29
30
  </a>
30
31
  </h3>
@@ -1,4 +1,4 @@
1
- <div class='blacklight-heatmaps-index-map-container'>
1
+ <div class='blacklight-heatmaps-index-map-container' data-turbolinks="false">
2
2
  <%= index_map_div %>
3
3
  <%= content_tag(:div, id: 'index-map-sidebar') do %>
4
4
  <% end %>
@@ -2,8 +2,9 @@ presenter = Blacklight::JsonPresenter.new(@response, blacklight_config)
2
2
 
3
3
  json.response do
4
4
  json.docs(presenter.documents) do |document|
5
- json.url polymorphic_url(url_for_document(document))
6
- json.title index_presenter(document).heading
5
+ document_presenter = document_presenter(document)
6
+ json.url url_for(search_state.url_for_document(document))
7
+ json.title document_presenter.heading
7
8
  end
8
9
 
9
10
  json.facet_heatmaps @response['facet_counts']['facet_heatmaps']
@@ -7,6 +7,12 @@ module BlacklightHeatmaps
7
7
  end
8
8
 
9
9
  Mime::Type.register 'application/vnd.heatmaps+json', :heatmaps
10
+ if Blacklight::VERSION > '8'
11
+ Blacklight::Configuration.default_configuration do
12
+ Blacklight::Configuration.default_values[:search_state_fields] ||= []
13
+ Blacklight::Configuration.default_values[:search_state_fields] += %i[bbox]
14
+ end
15
+ end
10
16
  end
11
17
  end
12
18
  end
@@ -1,3 +1,3 @@
1
1
  module BlacklightHeatmaps
2
- VERSION = "1.1.0"
2
+ VERSION = '1.3.0'
3
3
  end
@@ -15,12 +15,6 @@ module BlacklightHeatmaps
15
15
  end
16
16
  end
17
17
 
18
- def install_webpacker
19
- return unless Rails.version.to_i == 6
20
-
21
- rake 'webpacker:install'
22
- end
23
-
24
18
  def configuration
25
19
  inject_into_file 'app/controllers/catalog_controller.rb', after: 'configure_blacklight do |config|' do
26
20
  "\n # BlacklightHeatmaps configuration values" \
@@ -30,9 +24,9 @@ module BlacklightHeatmaps
30
24
  "\n config.basemap_provider = 'positron'" \
31
25
  "\n config.show.partials.insert(1, :show_leaflet_map)" \
32
26
  "\n config.index.respond_to.heatmaps = true" \
33
- "\n config.view.heatmaps.partials = []" \
34
- "\n #Heatmap color ramp. For best results, use http://colorbrewer2.org or http://tristen.ca/hcl-picker/#/hlc/5/1" \
35
- "\n config.view.heatmaps.color_ramp = ['#ffffcc', '#a1dab4', '#41b6c4', '#2c7fb8', '#253494']" \
27
+ "\n config.view.heatmaps(partials: []," \
28
+ "\n color_ramp: ['#ffffcc', '#a1dab4', '#41b6c4', '#2c7fb8', '#253494']," \
29
+ "\n icon: BlacklightHeatmaps::Icons::HeatmapsComponent)" \
36
30
  "\n"
37
31
  end
38
32
  end
@@ -11,15 +11,5 @@ namespace :blacklight_heatmaps do
11
11
  conn.add docs
12
12
  conn.commit
13
13
  end
14
-
15
- desc 'Fetch random data from WhosOnFirst gazetteer and index into Solr'
16
- task :seed_random, [:n] => [:environment] do |_t, args|
17
- args.with_defaults(n: 10)
18
- puts "Indexing #{args[:n]} random data records"
19
- docs = YAML.load(`bundle exec ruby #{File.join(BlacklightHeatmaps::Engine.root, 'scripts', 'sample_whosonfirst.rb')} #{args[:n]}`)
20
- conn = Blacklight.default_index.connection
21
- conn.add docs
22
- conn.commit
23
- end
24
14
  end
25
15
  end
data/spec/examples.txt CHANGED
@@ -1,31 +1,31 @@
1
1
  example_id | status | run_time |
2
2
  --------------------------------------------------------------------------------------- | ------ | --------------- |
3
- ./spec/features/configurable_basemap_spec.rb[1:1] | passed | 0.41776 seconds |
4
- ./spec/features/configurable_basemap_spec.rb[1:2:1] | passed | 0.36464 seconds |
5
- ./spec/features/configurable_basemap_spec.rb[1:3:1] | passed | 0.71567 seconds |
6
- ./spec/features/index_page_map_spec.rb[1:1] | passed | 8.86 seconds |
7
- ./spec/features/show_page_map_spec.rb[1:1] | passed | 0.62926 seconds |
8
- ./spec/features/show_page_map_spec.rb[1:2] | passed | 0.4947 seconds |
9
- ./spec/helpers/blacklight/maps_helper_spec.rb[1:1:1] | passed | 0.00938 seconds |
10
- ./spec/helpers/blacklight/maps_helper_spec.rb[1:2:1] | passed | 0.00674 seconds |
11
- ./spec/models/concerns/blacklight_heatmaps/bounding_box_spec.rb[1:1:1] | passed | 0.00041 seconds |
12
- ./spec/models/concerns/blacklight_heatmaps/bounding_box_spec.rb[1:2:1] | passed | 0.00028 seconds |
13
- ./spec/models/concerns/blacklight_heatmaps/bounding_box_spec.rb[1:3:1] | passed | 0.00055 seconds |
14
- ./spec/models/concerns/blacklight_heatmaps/bounding_box_spec.rb[1:4:1] | passed | 0.00028 seconds |
15
- ./spec/models/concerns/blacklight_heatmaps/geometry_parser_spec.rb[1:1:1:1] | passed | 0.0003 seconds |
16
- ./spec/models/concerns/blacklight_heatmaps/geometry_parser_spec.rb[1:1:2:1] | passed | 0.00053 seconds |
17
- ./spec/models/concerns/blacklight_heatmaps/geometry_parser_spec.rb[1:1:3:1] | passed | 0.00438 seconds |
18
- ./spec/models/concerns/blacklight_heatmaps/geometry_solr_document_spec.rb[1:1:1] | passed | 0.00081 seconds |
19
- ./spec/models/concerns/blacklight_heatmaps/geometry_solr_document_spec.rb[1:2:1] | passed | 0.03251 seconds |
20
- ./spec/models/concerns/blacklight_heatmaps/geometry_solr_document_spec.rb[1:3:1] | passed | 0.00094 seconds |
21
- ./spec/models/concerns/blacklight_heatmaps/geometry_solr_document_spec.rb[1:4:1] | passed | 0.00061 seconds |
22
- ./spec/models/concerns/blacklight_heatmaps/point_spec.rb[1:1:1] | passed | 0.05593 seconds |
23
- ./spec/models/concerns/blacklight_heatmaps/point_spec.rb[1:2:1] | passed | 0.00169 seconds |
24
- ./spec/models/concerns/blacklight_heatmaps/solr_facet_heatmap_behavior_spec.rb[1:1:1:1] | passed | 0.00432 seconds |
25
- ./spec/models/concerns/blacklight_heatmaps/solr_facet_heatmap_behavior_spec.rb[1:1:2:1] | passed | 0.01045 seconds |
26
- ./spec/models/concerns/blacklight_heatmaps/solr_facet_heatmap_behavior_spec.rb[1:2:1] | passed | 0.00528 seconds |
27
- ./spec/models/concerns/blacklight_heatmaps/solr_facet_heatmap_behavior_spec.rb[1:3:1] | passed | 0.00558 seconds |
28
- ./spec/models/concerns/blacklight_heatmaps/solr_facet_heatmap_behavior_spec.rb[1:4:1] | passed | 0.00459 seconds |
29
- ./spec/views/catalog/_document_heatmaps.html.erb_spec.rb[1:1] | passed | 0.00637 seconds |
30
- ./spec/views/catalog/_show_leaflet_map_default.html.erb_spec.rb[1:1:1] | passed | 0.01314 seconds |
31
- ./spec/views/catalog/_show_leaflet_map_default.html.erb_spec.rb[1:2:1] | passed | 0.08646 seconds |
3
+ ./spec/features/configurable_basemap_spec.rb[1:1] | passed | 0.16395 seconds |
4
+ ./spec/features/configurable_basemap_spec.rb[1:2:1] | passed | 0.13941 seconds |
5
+ ./spec/features/configurable_basemap_spec.rb[1:3:1] | passed | 0.16693 seconds |
6
+ ./spec/features/index_page_map_spec.rb[1:1] | passed | 10.89 seconds |
7
+ ./spec/features/show_page_map_spec.rb[1:1] | passed | 0.1382 seconds |
8
+ ./spec/features/show_page_map_spec.rb[1:2] | passed | 0.17365 seconds |
9
+ ./spec/helpers/blacklight/maps_helper_spec.rb[1:1:1] | passed | 0.00406 seconds |
10
+ ./spec/helpers/blacklight/maps_helper_spec.rb[1:2:1] | passed | 0.00331 seconds |
11
+ ./spec/models/concerns/blacklight_heatmaps/bounding_box_spec.rb[1:1:1] | passed | 0.00006 seconds |
12
+ ./spec/models/concerns/blacklight_heatmaps/bounding_box_spec.rb[1:2:1] | passed | 0.00006 seconds |
13
+ ./spec/models/concerns/blacklight_heatmaps/bounding_box_spec.rb[1:3:1] | passed | 0.00008 seconds |
14
+ ./spec/models/concerns/blacklight_heatmaps/bounding_box_spec.rb[1:4:1] | passed | 0.00006 seconds |
15
+ ./spec/models/concerns/blacklight_heatmaps/geometry_parser_spec.rb[1:1:1:1] | passed | 0.00012 seconds |
16
+ ./spec/models/concerns/blacklight_heatmaps/geometry_parser_spec.rb[1:1:2:1] | passed | 0.00077 seconds |
17
+ ./spec/models/concerns/blacklight_heatmaps/geometry_parser_spec.rb[1:1:3:1] | passed | 0.00193 seconds |
18
+ ./spec/models/concerns/blacklight_heatmaps/geometry_solr_document_spec.rb[1:1:1] | passed | 0.0006 seconds |
19
+ ./spec/models/concerns/blacklight_heatmaps/geometry_solr_document_spec.rb[1:2:1] | passed | 0.00008 seconds |
20
+ ./spec/models/concerns/blacklight_heatmaps/geometry_solr_document_spec.rb[1:3:1] | passed | 0.00028 seconds |
21
+ ./spec/models/concerns/blacklight_heatmaps/geometry_solr_document_spec.rb[1:4:1] | passed | 0.00014 seconds |
22
+ ./spec/models/concerns/blacklight_heatmaps/point_spec.rb[1:1:1] | passed | 0.00008 seconds |
23
+ ./spec/models/concerns/blacklight_heatmaps/point_spec.rb[1:2:1] | passed | 0.00007 seconds |
24
+ ./spec/models/concerns/blacklight_heatmaps/solr_facet_heatmap_behavior_spec.rb[1:1:1:1] | passed | 0.00163 seconds |
25
+ ./spec/models/concerns/blacklight_heatmaps/solr_facet_heatmap_behavior_spec.rb[1:1:2:1] | passed | 0.00427 seconds |
26
+ ./spec/models/concerns/blacklight_heatmaps/solr_facet_heatmap_behavior_spec.rb[1:2:1] | passed | 0.05584 seconds |
27
+ ./spec/models/concerns/blacklight_heatmaps/solr_facet_heatmap_behavior_spec.rb[1:3:1] | passed | 0.00206 seconds |
28
+ ./spec/models/concerns/blacklight_heatmaps/solr_facet_heatmap_behavior_spec.rb[1:4:1] | passed | 0.00917 seconds |
29
+ ./spec/views/catalog/_document_heatmaps.html.erb_spec.rb[1:1] | passed | 0.0042 seconds |
30
+ ./spec/views/catalog/_show_leaflet_map_default.html.erb_spec.rb[1:1:1] | passed | 0.00266 seconds |
31
+ ./spec/views/catalog/_show_leaflet_map_default.html.erb_spec.rb[1:2:1] | passed | 0.00446 seconds |
@@ -5,8 +5,12 @@ feature 'Index page map', js: true do
5
5
  visit search_catalog_path(q: ' ', view: 'heatmaps', search_field: 'all_fields')
6
6
  expect(page).to have_css '.leaflet-map-pane'
7
7
 
8
- # Zoomed to world
9
- expect(page).to have_css 'img[src*="/light_all/1/0/0.png"]'
8
+ # Conditionally check for the PNG only on GitHub CI
9
+ # Leaflet chooses tile zoom based on retina; this causes tests to fail locally
10
+ if ENV['GITHUB_ACTIONS']
11
+ # Zoomed to world
12
+ expect(page).to have_css 'img[src*="/light_all/1/0/0.png"]'
13
+ end
10
14
 
11
15
  # Hides pagination
12
16
  expect(page).to have_css 'ul.pagination', visible: false
@@ -4,8 +4,14 @@ feature 'Show map map', js: true do
4
4
  it 'renders a leaflet map' do
5
5
  visit solr_document_path '43037890'
6
6
  expect(page).to have_css '.leaflet-map-pane'
7
- # Zoomed to Kazakhstan
8
- expect(page).to have_css 'img[src*="light_all/4/11/5.png"]'
7
+
8
+ # Conditionally check for the tile only on GitHub CI
9
+ # Leaflet chooses tile zoom based on retina; this causes tests to fail locally
10
+ if ENV['GITHUB_ACTIONS']
11
+ # Zoomed to Kazakhstan
12
+ expect(page).to have_css 'img[src*="light_all/4/11/5.png"]'
13
+ end
14
+
9
15
  expect(page).to have_css 'svg g path'
10
16
  end
11
17
  it 'renders a point type and a polygon' do
@@ -26,6 +26,7 @@ describe Blacklight::MapsHelper do
26
26
  .to have_css '[data-basemap-provider="positron"]'
27
27
  expect(helper.index_map_div).to have_css '[data-sidebar-template]'
28
28
  expect(helper.index_map_div).to have_css '[data-color-ramp]'
29
+ expect(helper.index_map_div).to have_css '[role="region"]'
29
30
  expect(helper.index_map_div).to have_css '[aria-label="heatmap"]'
30
31
  end
31
32
  end
data/spec/spec_helper.rb CHANGED
@@ -17,7 +17,7 @@ require 'rspec/rails'
17
17
 
18
18
  Dir[Pathname.new(File.expand_path("../support/**/*.rb", __FILE__))].each { |f| require f }
19
19
 
20
- require 'webdrivers/chromedriver'
20
+ require 'selenium-webdriver'
21
21
 
22
22
  Capybara.javascript_driver = :selenium_chrome_headless
23
23
 
@@ -1 +0,0 @@
1
- gem 'sprockets', '< 4'
@@ -4,7 +4,7 @@ class TestAppGenerator < Rails::Generators::Base
4
4
  source_root './spec/test_app_templates'
5
5
 
6
6
  def add_gems
7
- gem 'blacklight', '~> 7.0'
7
+ gem 'blacklight', ENV.fetch('BLACKLIGHT_VERSION', '~> 7.0')
8
8
 
9
9
  Bundler.with_clean_env do
10
10
  run 'bundle install'
@@ -24,4 +24,13 @@ class TestAppGenerator < Rails::Generators::Base
24
24
  def install_engine
25
25
  generate 'blacklight_heatmaps:install'
26
26
  end
27
+
28
+ # Temporarily force js assets to fall back to sprockets
29
+ def clean_up_js_builds
30
+ return unless File.exist?('app/assets/builds')
31
+
32
+ append_to_file 'app/assets/config/manifest.js', "\n//= link application.js\n" if File.exist?('app/assets/config/manifest.js')
33
+ gsub_file 'app/assets/config/manifest.js', '//= link_tree ../builds', ''
34
+ remove_dir 'app/assets/builds'
35
+ end
27
36
  end
@@ -55,12 +55,12 @@ L.SolrHeatmap = L.GeoJSON.extend({
55
55
  geojson.type = 'FeatureCollection';
56
56
  geojson.features = [];
57
57
 
58
- $.each(_this.facetHeatmap.counts_ints2D, function (row, value) {
58
+ _this.facetHeatmap.counts_ints2D.forEach(function(value, row) {
59
59
  if (value === null) {
60
60
  return;
61
61
  }
62
62
 
63
- $.each(value, function (column, val) {
63
+ value.forEach(function (val, column) {
64
64
  if (val === 0) {
65
65
  return;
66
66
  }
@@ -105,12 +105,12 @@ L.SolrHeatmap = L.GeoJSON.extend({
105
105
  var maxValue = classifications[classifications.length - 1];
106
106
  var gradient = _this._getGradient(classifications);
107
107
 
108
- $.each(_this.facetHeatmap.counts_ints2D, function (row, value) {
108
+ _this.facetHeatmap.counts_ints2D.forEach(function(value, row) {
109
109
  if (value === null) {
110
110
  return;
111
111
  }
112
112
 
113
- $.each(value, function (column, val) {
113
+ value.forEach(function (val, column) {
114
114
  if (val === 0) {
115
115
  return;
116
116
  }
@@ -172,12 +172,12 @@ L.SolrHeatmap = L.GeoJSON.extend({
172
172
  maxClusterRadius: 140,
173
173
  });
174
174
 
175
- $.each(_this.facetHeatmap.counts_ints2D, function (row, value) {
175
+ _this.facetHeatmap.counts_ints2D.forEach(function(value, row) {
176
176
  if (value === null) {
177
177
  return;
178
178
  }
179
179
 
180
- $.each(value, function (column, val) {
180
+ value.forEach(function (val, column) {
181
181
  if (val === 0) {
182
182
  return;
183
183
  }
@@ -218,7 +218,7 @@ L.SolrHeatmap = L.GeoJSON.extend({
218
218
  _getClassifications: function (howMany) {
219
219
  var _this = this;
220
220
  var oneDArray = [];
221
- $.each(_this.facetHeatmap.counts_ints2D, function (row, value) {
221
+ _this.facetHeatmap.counts_ints2D.forEach(function(value, row) {
222
222
  if (value != null) {
223
223
  oneDArray = oneDArray.concat(value);
224
224
  }
@@ -244,7 +244,7 @@ L.SolrHeatmap = L.GeoJSON.extend({
244
244
 
245
245
  _this.eachLayer(function (layer) {
246
246
  var color;
247
- $.each(classifications, function (i, val) {
247
+ classifications.forEach(function (val, i) {
248
248
  if (layer.feature.properties.count >= val) {
249
249
  color = scale[i];
250
250
  }
@@ -296,22 +296,26 @@ L.SolrHeatmap = L.GeoJSON.extend({
296
296
  _getData: function () {
297
297
  var _this = this;
298
298
  var startTime = Date.now();
299
- $.getJSON({
300
- url: _this._solrUrl,
301
- data: {
302
- bbox: _this._mapViewToBbox(),
303
- },
304
- success: function (data) {
305
- var totalTime = 'Solr response time: ' + (Date.now() - startTime) + ' ms';
306
- if (_this.options.logging) {
307
- console.log(totalTime);
308
- }
309
299
 
310
- _this.docsCount = data.response.numFound;
311
- _this.renderStart = Date.now();
312
- _this._computeHeatmapObject(data);
313
- _this.fireEvent('dataAdded', data);
314
- },
300
+ var url = new URL(_this._solrUrl);
301
+ url.searchParams.append('bbox', _this._mapViewToBbox());
302
+
303
+ fetch(url, {
304
+ headers: {
305
+ 'Accept': 'application/json',
306
+ }
307
+ }).then(function (response) {
308
+ return response.json();
309
+ }).then(function (data) {
310
+ var totalTime = 'Solr response time: ' + (Date.now() - startTime) + ' ms';
311
+ if (_this.options.logging) {
312
+ console.log(totalTime);
313
+ }
314
+
315
+ _this.docsCount = data.response.numFound;
316
+ _this.renderStart = Date.now();
317
+ _this._computeHeatmapObject(data);
318
+ _this.fireEvent('dataAdded', data);
315
319
  });
316
320
  },
317
321
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight_heatmaps
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jack Reed
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-20 00:00:00.000000000 Z
11
+ date: 2024-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '6'
19
+ version: 7.1.4
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '8'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '6'
29
+ version: 7.1.4
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '8'
@@ -34,30 +34,36 @@ dependencies:
34
34
  name: blacklight
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 7.17.1
40
+ - - "<"
38
41
  - !ruby/object:Gem::Version
39
- version: '7.0'
42
+ version: '9'
40
43
  type: :runtime
41
44
  prerelease: false
42
45
  version_requirements: !ruby/object:Gem::Requirement
43
46
  requirements:
44
- - - "~>"
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 7.17.1
50
+ - - "<"
45
51
  - !ruby/object:Gem::Version
46
- version: '7.0'
52
+ version: '9'
47
53
  - !ruby/object:Gem::Dependency
48
54
  name: leaflet-rails
49
55
  requirement: !ruby/object:Gem::Requirement
50
56
  requirements:
51
57
  - - "~>"
52
58
  - !ruby/object:Gem::Version
53
- version: '1.2'
59
+ version: 1.3.0
54
60
  type: :runtime
55
61
  prerelease: false
56
62
  version_requirements: !ruby/object:Gem::Requirement
57
63
  requirements:
58
64
  - - "~>"
59
65
  - !ruby/object:Gem::Version
60
- version: '1.2'
66
+ version: 1.3.0
61
67
  - !ruby/object:Gem::Dependency
62
68
  name: leaflet-sidebar-rails
63
69
  requirement: !ruby/object:Gem::Requirement
@@ -143,19 +149,19 @@ dependencies:
143
149
  - !ruby/object:Gem::Version
144
150
  version: '0'
145
151
  - !ruby/object:Gem::Dependency
146
- name: webdrivers
152
+ name: selenium-webdriver
147
153
  requirement: !ruby/object:Gem::Requirement
148
154
  requirements:
149
- - - ">="
155
+ - - "~>"
150
156
  - !ruby/object:Gem::Version
151
- version: '0'
157
+ version: '4.11'
152
158
  type: :development
153
159
  prerelease: false
154
160
  version_requirements: !ruby/object:Gem::Requirement
155
161
  requirements:
156
- - - ">="
162
+ - - "~>"
157
163
  - !ruby/object:Gem::Version
158
- version: '0'
164
+ version: '4.11'
159
165
  description: Search and view Blacklight resources on a map.
160
166
  email:
161
167
  - phillipjreed@gmail.com
@@ -174,6 +180,7 @@ files:
174
180
  - app/assets/javascripts/blacklight_heatmaps/viewers/index.js
175
181
  - app/assets/javascripts/blacklight_heatmaps/viewers/show.js
176
182
  - app/assets/stylesheets/blacklight_heatmaps/default.scss
183
+ - app/components/blacklight_heatmaps/icons/heatmaps_component.rb
177
184
  - app/controllers/blacklight_heatmaps/application_controller.rb
178
185
  - app/helpers/blacklight/maps_helper.rb
179
186
  - app/models/concerns/blacklight_heatmaps/bounding_box.rb
@@ -235,7 +242,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
242
  - !ruby/object:Gem::Version
236
243
  version: '0'
237
244
  requirements: []
238
- rubygems_version: 3.2.32
245
+ rubygems_version: 3.5.23
239
246
  signing_key:
240
247
  specification_version: 4
241
248
  summary: Search and view Blacklight resources on a map.