From 78d95a8a144f24e420933820e55004d44ecff81e Mon Sep 17 00:00:00 2001 From: mistic100 Date: Sat, 23 Aug 2014 10:24:55 +0000 Subject: create a mini jquery plugin for sliders on batch manager + async load git-svn-id: http://piwigo.org/svn/trunk@29249 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/themes/default/js/batchManagerGlobal.js | 4 +++ admin/themes/default/js/doubleSlider.js | 43 +++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 admin/themes/default/js/doubleSlider.js (limited to 'admin/themes/default/js') diff --git a/admin/themes/default/js/batchManagerGlobal.js b/admin/themes/default/js/batchManagerGlobal.js index 12d5987ac..8ebf7295d 100644 --- a/admin/themes/default/js/batchManagerGlobal.js +++ b/admin/themes/default/js/batchManagerGlobal.js @@ -43,6 +43,10 @@ $("#removeFilters").click(function() { return false; }); +$('[data-slider=widths]').pwgDoubleSlider(sliders.widths); +$('[data-slider=heights]').pwgDoubleSlider(sliders.heights); +$('[data-slider=ratios]').pwgDoubleSlider(sliders.ratios); +$('[data-slider=filesizes]').pwgDoubleSlider(sliders.filesizes); /* ********** Thumbs */ diff --git a/admin/themes/default/js/doubleSlider.js b/admin/themes/default/js/doubleSlider.js new file mode 100644 index 000000000..490331feb --- /dev/null +++ b/admin/themes/default/js/doubleSlider.js @@ -0,0 +1,43 @@ +(function($){ + +/** + * OPTIONS: + * values {mixed[]} + * selected {object} min and max + * text {string} + */ +$.fn.pwgDoubleSlider = function(options) { + var that = this; + + function onChange(e, ui) { + that.find('[data-input=min]').val(options.values[ui.values[0]]); + that.find('[data-input=max]').val(options.values[ui.values[1]]); + + that.find('.slider-info').html(sprintf( + options.text, + options.values[ui.values[0]], + options.values[ui.values[1]] + )); + } + + var slider = this.find('.slider-slider').slider({ + range: true, + min: 0, + max: options.values.length - 1, + values: [ + options.values.indexOf(options.selected.min), + options.values.indexOf(options.selected.max) + ], + slide: onChange, + change: onChange + }); + + this.find('.slider-choice').on('click', function(){ + slider.slider('values', 0, options.values.indexOf($(this).data('min'))); + slider.slider('values', 1, options.values.indexOf($(this).data('max'))); + }); + + return this; +}; + +}(jQuery)); \ No newline at end of file -- cgit v1.2.3