Files
backend-mm/public/web/shella/scripts/module.range-of-price.js
2025-09-25 03:03:31 +05:00

73 lines
2.1 KiB
JavaScript

theme.RangeOfPrice = function() {
function RangeOfPrice() {
this.dom = {};
};
RangeOfPrice.prototype = $.extend({}, RangeOfPrice.prototype, {
init: function() {
this.dom.$range = $('.js-range-of-price');
if(this.dom.$range.length) {
var params = {
type: "double",
force_edges: true,
prettify: function (data) {
return data;
}
};
if (Currency) {
this.dom.$range.on('change', function () {
theme.ProductCurrency.update();
});
$.extend(params, {
onStart: function () {
setTimeout(function () {
theme.ProductCurrency.update();
}, 0);
},
onFinish: function () {
theme.ProductCurrency.update();
}
});
}
this.dom.$range.ionRangeSlider(params);
}
},
destroy: function () {
if(this.dom.$range && this.dom.$range.data('ionRangeSlider')) {
this.dom.$range.ionRangeSlider('destroy');
delete this.dom;
}
},
update: function(from, to) {
if(this.dom.$range) {
var api = this.dom.$range.data('ionRangeSlider');
api.update({
from: from,
to: to
});
}
},
reset: function() {
if(this.dom.$range.length) {
var api = this.dom.$range.data('ionRangeSlider');
api.update({
from: api.result.min,
to: api.result.max
});
}
}
});
theme.RangeOfPrice = new RangeOfPrice;
};
$(function() {
theme.RangeOfPrice();
});