123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- /**
- * Copyright © 2016 Mageplaza. All rights reserved.
- * See https://www.mageplaza.com/LICENSE.txt for license details.
- */
- define([
- 'jquery',
- 'Magento_Catalog/js/price-utils',
- 'jquery/ui',
- 'Mageplaza_LayeredNavigation/js/layer'
- ], function($, ultil) {
- "use strict";
- $.widget('mageplaza.layerSlider', $.mageplaza.layer, {
- options: {
- sliderElement: '#ln_price_slider',
- textElement: '#ln_price_text'
- },
- _create: function () {
- var self = this;
- $(this.options.sliderElement).slider({
- min: self.options.minValue,
- max: self.options.maxValue,
- values: [self.options.selectedFrom, self.options.selectedTo],
- slide: function( event, ui ) {
- self.displayText(ui.values[0], ui.values[1]);
- },
- change: function(event, ui) {
- self.ajaxSubmit(self.getUrl(ui.values[0], ui.values[1]));
- }
- });
- this.displayText(this.options.selectedFrom, this.options.selectedTo);
- },
- getUrl: function(from, to){
- return this.options.ajaxUrl.replace(encodeURI('{price_start}'), from).replace(encodeURI('{price_end}'), to);
- },
- displayText: function(from, to){
- $(this.options.textElement).html(this.formatPrice(from) + ' - ' + this.formatPrice(to));
- },
- formatPrice: function(value) {
- return ultil.formatPrice(value, this.options.priceFormat);
- }
- });
- return $.mageplaza.layerSlider;
- });
|