From 1065636a475a7436ce74703e24dc6ccaf6a9c093 Mon Sep 17 00:00:00 2001 From: Kirk Wang Date: Tue, 20 Feb 2024 17:17:45 -0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Bring=20in=20blacklight=5Frange?= =?UTF-8?q?=5Flimit=20js=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When we have the blacklight_range_limit require in the application.js before the require for blacklight/blacklight, we got a Blacklight not found error (underestandably). However when we put it under the blacklight require then we got a typeahead error. I couldn't get both to work right so instead I'm bringing over the js files from the range limit gem into our app and requiring them in the application.js. --- app/assets/javascripts/application.js | 8 ++++--- .../range_limit_distro_facets.js | 0 .../range_limit_shared.js | 24 +++++++++++++++++++ .../range_limit_slider.js | 0 4 files changed, 29 insertions(+), 3 deletions(-) rename app/assets/javascripts/{ => blacklight_range_limit}/range_limit_distro_facets.js (100%) create mode 100644 app/assets/javascripts/blacklight_range_limit/range_limit_shared.js rename app/assets/javascripts/{ => blacklight_range_limit}/range_limit_slider.js (100%) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 3f1bf5bf..ba5956e4 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -14,11 +14,13 @@ //= require codemirror-autorefresh //= require codemirror/modes/css //= require jquery3 -//= require 'blacklight_range_limit' -//= require range_limit_distro_facets -//= require range_limit_slider //= require jquery_ujs //= require jquery.fontselect +//= require flot/jquery.flot.js +//= require flot/jquery.flot.selection.js +//= require bootstrap-slider +//= require bootstrap/tooltip +//= require_tree ./blacklight_range_limit //= require dataTables/jquery.dataTables //= require dataTables/bootstrap/3/jquery.dataTables.bootstrap //= require stat_slider diff --git a/app/assets/javascripts/range_limit_distro_facets.js b/app/assets/javascripts/blacklight_range_limit/range_limit_distro_facets.js similarity index 100% rename from app/assets/javascripts/range_limit_distro_facets.js rename to app/assets/javascripts/blacklight_range_limit/range_limit_distro_facets.js diff --git a/app/assets/javascripts/blacklight_range_limit/range_limit_shared.js b/app/assets/javascripts/blacklight_range_limit/range_limit_shared.js new file mode 100644 index 00000000..6aa92cfe --- /dev/null +++ b/app/assets/javascripts/blacklight_range_limit/range_limit_shared.js @@ -0,0 +1,24 @@ + +// takes a string and parses into an integer, but throws away commas first, to avoid truncation when there is a comma +// use in place of javascript's native parseInt +!function(global) { + 'use strict'; + + var previousBlacklightRangeLimit = global.BlacklightRangeLimit; + + function BlacklightRangeLimit(options) { + this.options = options || {}; + } + + BlacklightRangeLimit.noConflict = function noConflict() { + global.BlacklightRangeLimit = previousBlacklightRangeLimit; + return BlacklightRangeLimit; + }; + + BlacklightRangeLimit.parseNum = function parseNum(str) { + str = String(str).replace(/[^0-9]/g, ''); + return parseInt(str, 10); + }; + + global.BlacklightRangeLimit = BlacklightRangeLimit; +}(this); diff --git a/app/assets/javascripts/range_limit_slider.js b/app/assets/javascripts/blacklight_range_limit/range_limit_slider.js similarity index 100% rename from app/assets/javascripts/range_limit_slider.js rename to app/assets/javascripts/blacklight_range_limit/range_limit_slider.js