73 lines
2.1 KiB
JavaScript
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();
|
|
}); |