Browse Source

slider test

master
rdrew 2 weeks ago
parent
commit
9e84fc950f
  1. 91
      js/custom.js

91
js/custom.js

@ -1,31 +1,66 @@
(function (Drupal, once) { //
Drupal.behaviors.removeTrailingZeros = { // (function (Drupal, once) {
attach: function (context) { // Drupal.behaviors.removeTrailingZeros = {
function processField(id) { // attach: function (context) {
var el = document.getElementById(id); // function processField(id) {
if (!el) return; // var el = document.getElementById(id);
// if (!el) return;
//
// // If value isn't populated yet, wait and retry once
// if (el.value === "") {
// setTimeout(function () {
// processField(id);
// }, 100);
// return;
// }
//
// var str = el.value.toString().slice(0, -3);
// el.value = parseInt(str, 10);
// }
//
// once("from-slider", "#nouislider-input-from", context).forEach(
// function () {
// processField("nouislider-input-from");
// }
// );
//
// once("to-slider", "#nouislider-input-to", context).forEach(function () {
// processField("nouislider-input-to");
// });
// },
// };
// })(Drupal, once);
/**
* @file
* Fix noUiSlider formatting for year facets (remove .00).
*/
// If value isn't populated yet, wait and retry once Drupal.behaviors.olivesnewsYearSliderFix = {
if (el.value === "") { attach: function (context, settings) {
setTimeout(function () { // Target the year slider (ID comes from your facet machine name)
processField(id); const sliderElements = context.querySelectorAll(
}, 100); '#year.facet-slider, .facet-slider[id="year"]'
return; );
}
var str = el.value.toString().slice(0, -3); sliderElements.forEach(function (slider) {
el.value = parseInt(str, 10); if (slider && slider.noUiSlider) {
// Re-apply options with clean integer formatting
slider.noUiSlider.updateOptions(
{
format: {
to: function (value) {
return Math.round(value).toString(); // e.g., 1787 instead of 1787.00
},
from: function (value) {
return Number(value);
},
},
// Optional: also force tooltips to use the same clean format
tooltips: [true, true], // or a custom formatter if needed
},
true
); // true = fire 'update' event so it refreshes immediately
} }
});
once("from-slider", "#nouislider-input-from", context).forEach( },
function () { };
processField("nouislider-input-from");
}
);
once("to-slider", "#nouislider-input-to", context).forEach(function () {
processField("nouislider-input-to");
});
},
};
})(Drupal, once);

Loading…
Cancel
Save