materialize-sass 0.99.0 → 0.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +2 -2
- data/app/assets/javascripts/materialize.js +6015 -5060
- data/app/assets/javascripts/materialize/animation.js +4 -5
- data/app/assets/javascripts/materialize/buttons.js +24 -38
- data/app/assets/javascripts/materialize/cards.js +13 -21
- data/app/assets/javascripts/materialize/carousel.js +122 -110
- data/app/assets/javascripts/materialize/character_counter.js +14 -22
- data/app/assets/javascripts/materialize/chips.js +41 -44
- data/app/assets/javascripts/materialize/collapsible.js +41 -46
- data/app/assets/javascripts/materialize/date_picker/picker.date.js +965 -1167
- data/app/assets/javascripts/materialize/date_picker/picker.js +546 -634
- data/app/assets/javascripts/materialize/date_picker/picker.time.js +166 -212
- data/app/assets/javascripts/materialize/dropdown.js +53 -68
- data/app/assets/javascripts/materialize/extras/nouislider.js +3 -1
- data/app/assets/javascripts/materialize/extras/nouislider.min.js +1 -1
- data/app/assets/javascripts/materialize/forms.js +156 -154
- data/app/assets/javascripts/materialize/global.js +34 -43
- data/app/assets/javascripts/materialize/hammer.min.js +424 -1
- data/app/assets/javascripts/materialize/initial.js +3 -3
- data/app/assets/javascripts/materialize/jquery.easing.1.4.js +120 -142
- data/app/assets/javascripts/materialize/jquery.hammer.js +9 -9
- data/app/assets/javascripts/materialize/materialbox.js +81 -107
- data/app/assets/javascripts/materialize/modal.js +373 -162
- data/app/assets/javascripts/materialize/parallax.js +11 -15
- data/app/assets/javascripts/materialize/pushpin.js +2 -5
- data/app/assets/javascripts/materialize/scrollFire.js +9 -11
- data/app/assets/javascripts/materialize/scrollspy.js +84 -92
- data/app/assets/javascripts/materialize/sideNav.js +128 -139
- data/app/assets/javascripts/materialize/slider.js +83 -112
- data/app/assets/javascripts/materialize/tabs.js +196 -196
- data/app/assets/javascripts/materialize/tapTarget.js +170 -173
- data/app/assets/javascripts/materialize/toasts.js +330 -112
- data/app/assets/javascripts/materialize/tooltip.js +134 -145
- data/app/assets/javascripts/materialize/transitions.js +43 -49
- data/app/assets/javascripts/materialize/velocity.min.js +623 -2
- data/app/assets/javascripts/materialize/waves.js +42 -47
- data/app/assets/stylesheets/materialize/components/_buttons.scss +1 -1
- data/app/assets/stylesheets/materialize/components/_carousel.scss +4 -5
- data/app/assets/stylesheets/materialize/components/_chips.scss +1 -0
- data/app/assets/stylesheets/materialize/components/_collapsible.scss +4 -7
- data/app/assets/stylesheets/materialize/components/_color.scss +1 -1
- data/app/assets/stylesheets/materialize/components/_global.scss +8 -14
- data/app/assets/stylesheets/materialize/components/_navbar.scss +0 -1
- data/app/assets/stylesheets/materialize/components/_tabs.scss +1 -7
- data/app/assets/stylesheets/materialize/components/_toast.scss +6 -12
- data/app/assets/stylesheets/materialize/components/_variables.scss +55 -43
- data/app/assets/stylesheets/materialize/components/date_picker/_default.scss +1 -0
- data/app/assets/stylesheets/materialize/components/forms/_checkboxes.scss +2 -12
- data/app/assets/stylesheets/materialize/components/forms/_file-input.scss +6 -0
- data/app/assets/stylesheets/materialize/components/forms/_input-fields.scss +67 -37
- data/app/assets/stylesheets/materialize/components/forms/_radio-buttons.scss +1 -3
- data/app/assets/stylesheets/materialize/components/forms/_select.scss +72 -11
- data/app/assets/stylesheets/materialize/components/forms/_switches.scss +2 -4
- data/app/assets/stylesheets/materialize/extras/nouislider.css +8 -1
- data/lib/materialize-sass/version.rb +1 -1
- metadata +2 -5
- data/app/assets/javascripts/materialize/init.js +0 -214
- data/app/assets/javascripts/materialize/jquery.timeago.min.js +0 -1
- data/app/assets/javascripts/materialize/prism.js +0 -8
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
// Add posibility to scroll to selected option
|
4
4
|
// usefull for select for example
|
5
|
-
$.fn.scrollTo = function(elem) {
|
5
|
+
$.fn.scrollTo = function (elem) {
|
6
6
|
$(this).scrollTop($(this).scrollTop() - $(this).offset().top + $(elem).offset().top);
|
7
7
|
return this;
|
8
8
|
};
|
@@ -21,7 +21,7 @@
|
|
21
21
|
|
22
22
|
// Open dropdown.
|
23
23
|
if (options === "open") {
|
24
|
-
this.each(function() {
|
24
|
+
this.each(function () {
|
25
25
|
$(this).trigger('open');
|
26
26
|
});
|
27
27
|
return false;
|
@@ -29,37 +29,29 @@
|
|
29
29
|
|
30
30
|
// Close dropdown.
|
31
31
|
if (options === "close") {
|
32
|
-
this.each(function() {
|
32
|
+
this.each(function () {
|
33
33
|
$(this).trigger('close');
|
34
34
|
});
|
35
35
|
return false;
|
36
36
|
}
|
37
37
|
|
38
|
-
this.each(function(){
|
38
|
+
this.each(function () {
|
39
39
|
var origin = $(this);
|
40
40
|
var curr_options = $.extend({}, defaults, options);
|
41
41
|
var isFocused = false;
|
42
42
|
|
43
43
|
// Dropdown menu
|
44
|
-
var activates = $("#"+ origin.attr('data-activates'));
|
44
|
+
var activates = $("#" + origin.attr('data-activates'));
|
45
45
|
|
46
46
|
function updateOptions() {
|
47
|
-
if (origin.data('induration') !== undefined)
|
48
|
-
|
49
|
-
if (origin.data('
|
50
|
-
|
51
|
-
if (origin.data('
|
52
|
-
|
53
|
-
if (origin.data('
|
54
|
-
|
55
|
-
if (origin.data('gutter') !== undefined)
|
56
|
-
curr_options.gutter = origin.data('gutter');
|
57
|
-
if (origin.data('beloworigin') !== undefined)
|
58
|
-
curr_options.belowOrigin = origin.data('beloworigin');
|
59
|
-
if (origin.data('alignment') !== undefined)
|
60
|
-
curr_options.alignment = origin.data('alignment');
|
61
|
-
if (origin.data('stoppropagation') !== undefined)
|
62
|
-
curr_options.stopPropagation = origin.data('stoppropagation');
|
47
|
+
if (origin.data('induration') !== undefined) curr_options.inDuration = origin.data('induration');
|
48
|
+
if (origin.data('outduration') !== undefined) curr_options.outDuration = origin.data('outduration');
|
49
|
+
if (origin.data('constrainwidth') !== undefined) curr_options.constrainWidth = origin.data('constrainwidth');
|
50
|
+
if (origin.data('hover') !== undefined) curr_options.hover = origin.data('hover');
|
51
|
+
if (origin.data('gutter') !== undefined) curr_options.gutter = origin.data('gutter');
|
52
|
+
if (origin.data('beloworigin') !== undefined) curr_options.belowOrigin = origin.data('beloworigin');
|
53
|
+
if (origin.data('alignment') !== undefined) curr_options.alignment = origin.data('alignment');
|
54
|
+
if (origin.data('stoppropagation') !== undefined) curr_options.stopPropagation = origin.data('stoppropagation');
|
63
55
|
}
|
64
56
|
|
65
57
|
updateOptions();
|
@@ -84,10 +76,11 @@
|
|
84
76
|
activates.addClass('active');
|
85
77
|
origin.addClass('active');
|
86
78
|
|
79
|
+
var originWidth = origin[0].getBoundingClientRect().width;
|
80
|
+
|
87
81
|
// Constrain width
|
88
82
|
if (curr_options.constrainWidth === true) {
|
89
|
-
activates.css('width',
|
90
|
-
|
83
|
+
activates.css('width', originWidth);
|
91
84
|
} else {
|
92
85
|
activates.css('white-space', 'nowrap');
|
93
86
|
}
|
@@ -120,11 +113,9 @@
|
|
120
113
|
}
|
121
114
|
}
|
122
115
|
|
123
|
-
|
124
116
|
if (offsetLeft + activates.innerWidth() > $(window).width()) {
|
125
117
|
// Dropdown goes past screen on right, force right alignment
|
126
118
|
currAlignment = 'right';
|
127
|
-
|
128
119
|
} else if (offsetLeft - activates.innerWidth() + origin.innerWidth() < 0) {
|
129
120
|
// Dropdown goes past screen on left, force left alignment
|
130
121
|
currAlignment = 'left';
|
@@ -148,19 +139,16 @@
|
|
148
139
|
if (currAlignment === 'left') {
|
149
140
|
gutterSpacing = curr_options.gutter;
|
150
141
|
leftPosition = origin.position().left + gutterSpacing;
|
151
|
-
}
|
152
|
-
else if (currAlignment === 'right') {
|
142
|
+
} else if (currAlignment === 'right') {
|
153
143
|
// Material icons fix
|
154
|
-
activates
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
left: 0
|
159
|
-
})
|
144
|
+
activates.stop(true, true).css({
|
145
|
+
opacity: 0,
|
146
|
+
left: 0
|
147
|
+
});
|
160
148
|
|
161
|
-
var offsetRight = origin.position().left +
|
149
|
+
var offsetRight = origin.position().left + originWidth - activates.width();
|
162
150
|
gutterSpacing = -curr_options.gutter;
|
163
|
-
leftPosition =
|
151
|
+
leftPosition = offsetRight + gutterSpacing;
|
164
152
|
}
|
165
153
|
|
166
154
|
// Position dropdown
|
@@ -171,22 +159,20 @@
|
|
171
159
|
});
|
172
160
|
|
173
161
|
// Show dropdown
|
174
|
-
activates
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
})
|
183
|
-
.animate( {opacity: 1}, {queue: false, duration: curr_options.inDuration, easing: 'easeOutSine'});
|
162
|
+
activates.slideDown({
|
163
|
+
queue: false,
|
164
|
+
duration: curr_options.inDuration,
|
165
|
+
easing: 'easeOutCubic',
|
166
|
+
complete: function () {
|
167
|
+
$(this).css('height', '');
|
168
|
+
}
|
169
|
+
}).animate({ opacity: 1 }, { queue: false, duration: curr_options.inDuration, easing: 'easeOutSine' });
|
184
170
|
|
185
171
|
// Add click close handler to document
|
186
|
-
setTimeout(function() {
|
187
|
-
$(document).on('click.'+ activates.attr('id'), function (e) {
|
172
|
+
setTimeout(function () {
|
173
|
+
$(document).on('click.' + activates.attr('id'), function (e) {
|
188
174
|
hideDropdown();
|
189
|
-
$(document).off('click.'+ activates.attr('id'));
|
175
|
+
$(document).off('click.' + activates.attr('id'));
|
190
176
|
});
|
191
177
|
}, 0);
|
192
178
|
}
|
@@ -197,8 +183,10 @@
|
|
197
183
|
activates.fadeOut(curr_options.outDuration);
|
198
184
|
activates.removeClass('active');
|
199
185
|
origin.removeClass('active');
|
200
|
-
$(document).off('click.'+ activates.attr('id'));
|
201
|
-
setTimeout(function() {
|
186
|
+
$(document).off('click.' + activates.attr('id'));
|
187
|
+
setTimeout(function () {
|
188
|
+
activates.css('max-height', '');
|
189
|
+
}, curr_options.outDuration);
|
202
190
|
}
|
203
191
|
|
204
192
|
// Hover
|
@@ -206,25 +194,27 @@
|
|
206
194
|
var open = false;
|
207
195
|
origin.off('click.' + origin.attr('id'));
|
208
196
|
// Hover handler to show dropdown
|
209
|
-
origin.on('mouseenter', function(e){
|
197
|
+
origin.on('mouseenter', function (e) {
|
198
|
+
// Mouse over
|
210
199
|
if (open === false) {
|
211
200
|
placeDropdown();
|
212
201
|
open = true;
|
213
202
|
}
|
214
203
|
});
|
215
|
-
origin.on('mouseleave', function(e){
|
204
|
+
origin.on('mouseleave', function (e) {
|
216
205
|
// If hover on origin then to something other than dropdown content, then close
|
217
206
|
var toEl = e.toElement || e.relatedTarget; // added browser compatibility for target element
|
218
|
-
if(!$(toEl).closest('.dropdown-content').is(activates)) {
|
207
|
+
if (!$(toEl).closest('.dropdown-content').is(activates)) {
|
219
208
|
activates.stop(true, true);
|
220
209
|
hideDropdown();
|
221
210
|
open = false;
|
222
211
|
}
|
223
212
|
});
|
224
213
|
|
225
|
-
activates.on('mouseleave', function(e){
|
214
|
+
activates.on('mouseleave', function (e) {
|
215
|
+
// Mouse out
|
226
216
|
var toEl = e.toElement || e.relatedTarget;
|
227
|
-
if(!$(toEl).closest('.dropdown-button').is(origin)) {
|
217
|
+
if (!$(toEl).closest('.dropdown-button').is(origin)) {
|
228
218
|
activates.stop(true, true);
|
229
219
|
hideDropdown();
|
230
220
|
open = false;
|
@@ -235,11 +225,9 @@
|
|
235
225
|
} else {
|
236
226
|
// Click handler to show dropdown
|
237
227
|
origin.off('click.' + origin.attr('id'));
|
238
|
-
origin.on('click.'+origin.attr('id'), function(e){
|
228
|
+
origin.on('click.' + origin.attr('id'), function (e) {
|
239
229
|
if (!isFocused) {
|
240
|
-
if (
|
241
|
-
!origin.hasClass('active') &&
|
242
|
-
($(e.target).closest('.dropdown-content').length === 0)) {
|
230
|
+
if (origin[0] == e.currentTarget && !origin.hasClass('active') && $(e.target).closest('.dropdown-content').length === 0) {
|
243
231
|
e.preventDefault(); // Prevents button click from moving window
|
244
232
|
if (curr_options.stopPropagation) {
|
245
233
|
e.stopPropagation();
|
@@ -248,25 +236,22 @@
|
|
248
236
|
}
|
249
237
|
// If origin is clicked and menu is open, close menu
|
250
238
|
else if (origin.hasClass('active')) {
|
251
|
-
|
252
|
-
|
253
|
-
|
239
|
+
hideDropdown();
|
240
|
+
$(document).off('click.' + activates.attr('id'));
|
241
|
+
}
|
254
242
|
}
|
255
243
|
});
|
256
|
-
|
257
244
|
} // End else
|
258
245
|
|
259
246
|
// Listen to open and close event - useful for select component
|
260
|
-
origin.on('open', function(e, eventType) {
|
247
|
+
origin.on('open', function (e, eventType) {
|
261
248
|
placeDropdown(eventType);
|
262
249
|
});
|
263
250
|
origin.on('close', hideDropdown);
|
264
|
-
|
265
|
-
|
266
251
|
});
|
267
252
|
}; // End dropdown plugin
|
268
253
|
|
269
|
-
$(document).on('ready turbolinks:load', function(){
|
254
|
+
$(document).on('ready turbolinks:load', function () {
|
270
255
|
$('.dropdown-button').dropdown();
|
271
256
|
});
|
272
|
-
}(
|
257
|
+
})(jQuery);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Materialize v0.
|
2
|
+
* Materialize v0.100.0 (http://materializecss.com)
|
3
3
|
* Copyright 2014-2015 Materialize
|
4
4
|
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
5
5
|
*/
|
@@ -825,6 +825,7 @@ typeof b&&isFinite(b)?b:!1}function x(b){var f,c,d,e={};for(f=0;f<h.length;f+=1)
|
|
825
825
|
base: 'base',
|
826
826
|
origin: 'origin',
|
827
827
|
handle: 'handle',
|
828
|
+
handleTouchArea: 'handle-touch-area',
|
828
829
|
handleLower: 'handle-lower',
|
829
830
|
handleUpper: 'handle-upper',
|
830
831
|
horizontal: 'horizontal',
|
@@ -911,6 +912,7 @@ typeof b&&isFinite(b)?b:!1}function x(b){var f,c,d,e={};for(f=0;f<h.length;f+=1)
|
|
911
912
|
|
912
913
|
var origin = addNodeTo(base, options.cssClasses.origin);
|
913
914
|
var handle = addNodeTo(origin, options.cssClasses.handle);
|
915
|
+
addNodeTo(handle, options.cssClasses.handleTouchArea);
|
914
916
|
|
915
917
|
handle.setAttribute('data-handle', handleNumber);
|
916
918
|
|
@@ -1 +1 @@
|
|
1
|
-
!function(){function a(a){return a.split("").reverse().join("")}function b(a,b,c){if((a[b]||a[c])&&a[b]===a[c])throw Error(b)}function c(b,c,d,e,f,g,h,i,j,k,l,m){h=m;var n,o=l="";return g&&(m=g(m)),!("number"!=typeof m||!isFinite(m))&&(b&&0===parseFloat(m.toFixed(b))&&(m=0),0>m&&(n=!0,m=Math.abs(m)),b&&(g=Math.pow(10,b),m=(Math.round(m*g)/g).toFixed(b)),m=m.toString(),-1!==m.indexOf(".")&&(b=m.split("."),m=b[0],d&&(l=d+b[1])),c&&(m=a(m).match(/.{1,3}/g),m=a(m.join(a(c)))),n&&i&&(o+=i),e&&(o+=e),n&&j&&(o+=j),o=o+m+l,f&&(o+=f),k&&(o=k(o,h)),o)}function d(a,b,c,d,e,f,g,h,i,j,k,l){var m;return a="",k&&(l=k(l)),!(!l||"string"!=typeof l)&&(h&&l.substring(0,h.length)===h&&(l=l.replace(h,""),m=!0),d&&l.substring(0,d.length)===d&&(l=l.replace(d,"")),i&&l.substring(0,i.length)===i&&(l=l.replace(i,""),m=!0),e&&l.slice(-1*e.length)===e&&(l=l.slice(0,-1*e.length)),b&&(l=l.split(b).join("")),c&&(l=l.replace(c,".")),m&&(a+="-"),a=Number((a+l).replace(/[^0-9\.\-.]/g,"")),g&&(a=g(a)),!("number"!=typeof a||!isFinite(a))&&a)}function e(a){var c,d,e,f={};for(c=0;c<h.length;c+=1)d=h[c],e=a[d],void 0===e?f[d]="negative"!==d||f.negativeBefore?"mark"===d&&"."!==f.thousand&&".":"-":"decimals"===d?0<e&&8>e&&(f[d]=e):"encoder"===d||"decoder"===d||"edit"===d||"undo"===d?"function"==typeof e&&(f[d]=e):"string"==typeof e&&(f[d]=e);return b(f,"mark","thousand"),b(f,"prefix","negative"),b(f,"prefix","negativeBefore"),f}function f(a,b,c){var d,e=[];for(d=0;d<h.length;d+=1)e.push(a[h[d]]);return e.push(c),b.apply("",e)}function g(a){if(!(this instanceof g))return new g(a);"object"==typeof a&&(a=e(a),this.to=function(b){return f(a,c,b)},this.from=function(b){return f(a,d,b)})}var h="decimals thousand mark prefix postfix encoder decoder negativeBefore negative edit undo".split(" ");window.wNumb=g}(),function(a){"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?module.exports=a():window.noUiSlider=a()}(function(){"use strict";function a(a,b){var c=document.createElement("div");return j(c,b),a.appendChild(c),c}function b(a){return a.filter(function(a){return!this[a]&&(this[a]=!0)},{})}function c(a,b){return Math.round(a/b)*b}function d(a,b){var c=a.getBoundingClientRect(),d=a.ownerDocument,e=d.documentElement,f=m();return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(f.x=0),b?c.top+f.y-e.clientTop:c.left+f.x-e.clientLeft}function e(a){return"number"==typeof a&&!isNaN(a)&&isFinite(a)}function f(a,b,c){c>0&&(j(a,b),setTimeout(function(){k(a,b)},c))}function g(a){return Math.max(Math.min(a,100),0)}function h(a){return Array.isArray(a)?a:[a]}function i(a){a=String(a);var b=a.split(".");return b.length>1?b[1].length:0}function j(a,b){a.classList?a.classList.add(b):a.className+=" "+b}function k(a,b){a.classList?a.classList.remove(b):a.className=a.className.replace(new RegExp("(^|\\b)"+b.split(" ").join("|")+"(\\b|$)","gi")," ")}function l(a,b){return a.classList?a.classList.contains(b):new RegExp("\\b"+b+"\\b").test(a.className)}function m(){var a=void 0!==window.pageXOffset,b="CSS1Compat"===(document.compatMode||"");return{x:a?window.pageXOffset:b?document.documentElement.scrollLeft:document.body.scrollLeft,y:a?window.pageYOffset:b?document.documentElement.scrollTop:document.body.scrollTop}}function n(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function o(a,b){return 100/(b-a)}function p(a,b){return 100*b/(a[1]-a[0])}function q(a,b){return p(a,a[0]<0?b+Math.abs(a[0]):b-a[0])}function r(a,b){return b*(a[1]-a[0])/100+a[0]}function s(a,b){for(var c=1;a>=b[c];)c+=1;return c}function t(a,b,c){if(c>=a.slice(-1)[0])return 100;var d,e,f,g,h=s(c,a);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],f+q([d,e],c)/o(f,g)}function u(a,b,c){if(c>=100)return a.slice(-1)[0];var d,e,f,g,h=s(c,b);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],r([d,e],(c-f)*o(f,g))}function v(a,b,d,e){if(100===e)return e;var f,g,h=s(e,a);return d?(f=a[h-1],g=a[h],e-f>(g-f)/2?g:f):b[h-1]?a[h-1]+c(e-a[h-1],b[h-1]):e}function w(a,b,c){var d;if("number"==typeof b&&(b=[b]),"[object Array]"!==Object.prototype.toString.call(b))throw new Error("noUiSlider: 'range' contains invalid value.");if(d="min"===a?0:"max"===a?100:parseFloat(a),!e(d)||!e(b[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");c.xPct.push(d),c.xVal.push(b[0]),d?c.xSteps.push(!isNaN(b[1])&&b[1]):isNaN(b[1])||(c.xSteps[0]=b[1]),c.xHighestCompleteStep.push(0)}function x(a,b,c){if(!b)return!0;c.xSteps[a]=p([c.xVal[a],c.xVal[a+1]],b)/o(c.xPct[a],c.xPct[a+1]);var d=(c.xVal[a+1]-c.xVal[a])/c.xNumSteps[a],e=Math.ceil(Number(d.toFixed(3))-1),f=c.xVal[a]+c.xNumSteps[a]*e;c.xHighestCompleteStep[a]=f}function y(a,b,c,d){this.xPct=[],this.xVal=[],this.xSteps=[d||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=b,this.direction=c;var e,f=[];for(e in a)a.hasOwnProperty(e)&&f.push([a[e],e]);for(f.length&&"object"==typeof f[0][0]?f.sort(function(a,b){return a[0][0]-b[0][0]}):f.sort(function(a,b){return a[0]-b[0]}),e=0;e<f.length;e++)w(f[e][1],f[e][0],this);for(this.xNumSteps=this.xSteps.slice(0),e=0;e<this.xNumSteps.length;e++)x(e,this.xNumSteps[e],this)}function z(a,b){if(!e(b))throw new Error("noUiSlider: 'step' is not numeric.");a.singleStep=b}function A(a,b){if("object"!=typeof b||Array.isArray(b))throw new Error("noUiSlider: 'range' is not an object.");if(void 0===b.min||void 0===b.max)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");if(b.min===b.max)throw new Error("noUiSlider: 'range' 'min' and 'max' cannot be equal.");a.spectrum=new y(b,a.snap,a.dir,a.singleStep)}function B(a,b){if(b=h(b),!Array.isArray(b)||!b.length)throw new Error("noUiSlider: 'start' option is incorrect.");a.handles=b.length,a.start=b}function C(a,b){if(a.snap=b,"boolean"!=typeof b)throw new Error("noUiSlider: 'snap' option must be a boolean.")}function D(a,b){if(a.animate=b,"boolean"!=typeof b)throw new Error("noUiSlider: 'animate' option must be a boolean.")}function E(a,b){if(a.animationDuration=b,"number"!=typeof b)throw new Error("noUiSlider: 'animationDuration' option must be a number.")}function F(a,b){var c,d=[!1];if("lower"===b?b=[!0,!1]:"upper"===b&&(b=[!1,!0]),!0===b||!1===b){for(c=1;c<a.handles;c++)d.push(b);d.push(!1)}else{if(!Array.isArray(b)||!b.length||b.length!==a.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");d=b}a.connect=d}function G(a,b){switch(b){case"horizontal":a.ort=0;break;case"vertical":a.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function H(a,b){if(!e(b))throw new Error("noUiSlider: 'margin' option must be numeric.");if(0!==b&&(a.margin=a.spectrum.getMargin(b),!a.margin))throw new Error("noUiSlider: 'margin' option is only supported on linear sliders.")}function I(a,b){if(!e(b))throw new Error("noUiSlider: 'limit' option must be numeric.");if(a.limit=a.spectrum.getMargin(b),!a.limit||a.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function J(a,b){if(!e(b))throw new Error("noUiSlider: 'padding' option must be numeric.");if(0!==b){if(a.padding=a.spectrum.getMargin(b),!a.padding)throw new Error("noUiSlider: 'padding' option is only supported on linear sliders.");if(a.padding<0)throw new Error("noUiSlider: 'padding' option must be a positive number.");if(a.padding>=50)throw new Error("noUiSlider: 'padding' option must be less than half the range.")}}function K(a,b){switch(b){case"ltr":a.dir=0;break;case"rtl":a.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function L(a,b){if("string"!=typeof b)throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var c=b.indexOf("tap")>=0,d=b.indexOf("drag")>=0,e=b.indexOf("fixed")>=0,f=b.indexOf("snap")>=0,g=b.indexOf("hover")>=0;if(e){if(2!==a.handles)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");H(a,a.start[1]-a.start[0])}a.events={tap:c||f,drag:d,fixed:e,snap:f,hover:g}}function M(a,b){if(!1!==b)if(!0===b){a.tooltips=[];for(var c=0;c<a.handles;c++)a.tooltips.push(!0)}else{if(a.tooltips=h(b),a.tooltips.length!==a.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");a.tooltips.forEach(function(a){if("boolean"!=typeof a&&("object"!=typeof a||"function"!=typeof a.to))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")})}}function N(a,b){if(a.format=b,"function"==typeof b.to&&"function"==typeof b.from)return!0;throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.")}function O(a,b){if(void 0!==b&&"string"!=typeof b&&!1!==b)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");a.cssPrefix=b}function P(a,b){if(void 0!==b&&"object"!=typeof b)throw new Error("noUiSlider: 'cssClasses' must be an object.");if("string"==typeof a.cssPrefix){a.cssClasses={};for(var c in b)b.hasOwnProperty(c)&&(a.cssClasses[c]=a.cssPrefix+b[c])}else a.cssClasses=b}function Q(a,b){if(!0!==b&&!1!==b)throw new Error("noUiSlider: 'useRequestAnimationFrame' option should be true (default) or false.");a.useRequestAnimationFrame=b}function R(a){var b={margin:0,limit:0,padding:0,animate:!0,animationDuration:300,format:U},c={step:{r:!1,t:z},start:{r:!0,t:B},connect:{r:!0,t:F},direction:{r:!0,t:K},snap:{r:!1,t:C},animate:{r:!1,t:D},animationDuration:{r:!1,t:E},range:{r:!0,t:A},orientation:{r:!1,t:G},margin:{r:!1,t:H},limit:{r:!1,t:I},padding:{r:!1,t:J},behaviour:{r:!0,t:L},format:{r:!1,t:N},tooltips:{r:!1,t:M},cssPrefix:{r:!1,t:O},cssClasses:{r:!1,t:P},useRequestAnimationFrame:{r:!1,t:Q}},d={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",cssPrefix:"noUi-",cssClasses:{target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",ltr:"ltr",rtl:"rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},useRequestAnimationFrame:!0};Object.keys(c).forEach(function(e){if(void 0===a[e]&&void 0===d[e]){if(c[e].r)throw new Error("noUiSlider: '"+e+"' is required.");return!0}c[e].t(b,void 0===a[e]?d[e]:a[e])}),b.pips=a.pips;var e=[["left","top"],["right","bottom"]];return b.style=e[b.dir][b.ort],b.styleOposite=e[b.dir?0:1][b.ort],b}function S(c,e,i){function o(b,c){var d=a(b,e.cssClasses.origin),f=a(d,e.cssClasses.handle);return f.setAttribute("data-handle",c),0===c?j(f,e.cssClasses.handleLower):c===e.handles-1&&j(f,e.cssClasses.handleUpper),d}function p(b,c){return!!c&&a(b,e.cssClasses.connect)}function q(b,c){return!!e.tooltips[c]&&a(b.firstChild,e.cssClasses.tooltip)}function r(a,b,c){if("range"===a||"steps"===a)return fa.xVal;if("count"===a){var d,e=100/(b-1),f=0;for(b=[];(d=f++*e)<=100;)b.push(d);a="positions"}return"positions"===a?b.map(function(a){return fa.fromStepping(c?fa.getStep(a):a)}):"values"===a?c?b.map(function(a){return fa.fromStepping(fa.getStep(fa.toStepping(a)))}):b:void 0}function s(a,c,d){function e(a,b){return(a+b).toFixed(7)/1}var f={},g=fa.xVal[0],h=fa.xVal[fa.xVal.length-1],i=!1,j=!1,k=0;return d=b(d.slice().sort(function(a,b){return a-b})),d[0]!==g&&(d.unshift(g),i=!0),d[d.length-1]!==h&&(d.push(h),j=!0),d.forEach(function(b,g){var h,l,m,n,o,p,q,r,s,t,u=b,v=d[g+1];if("steps"===c&&(h=fa.xNumSteps[g]),h||(h=v-u),!1!==u&&void 0!==v)for(h=Math.max(h,1e-7),l=u;l<=v;l=e(l,h)){for(n=fa.toStepping(l),o=n-k,r=o/a,s=Math.round(r),t=o/s,m=1;m<=s;m+=1)p=k+m*t,f[p.toFixed(5)]=["x",0];q=d.indexOf(l)>-1?1:"steps"===c?2:0,!g&&i&&(q=0),l===v&&j||(f[n.toFixed(5)]=[l,q]),k=n}}),f}function t(a,b,c){function d(a,b){var c=b===e.cssClasses.value,d=c?m:n,f=c?k:l;return b+" "+d[e.ort]+" "+f[a]}function f(a,b,c){return'class="'+d(c[1],b)+'" style="'+e.style+": "+a+'%"'}function g(a,d){d[1]=d[1]&&b?b(d[0],d[1]):d[1],i+="<div "+f(a,e.cssClasses.marker,d)+"></div>",d[1]&&(i+="<div "+f(a,e.cssClasses.value,d)+">"+c.to(d[0])+"</div>")}var h=document.createElement("div"),i="",k=[e.cssClasses.valueNormal,e.cssClasses.valueLarge,e.cssClasses.valueSub],l=[e.cssClasses.markerNormal,e.cssClasses.markerLarge,e.cssClasses.markerSub],m=[e.cssClasses.valueHorizontal,e.cssClasses.valueVertical],n=[e.cssClasses.markerHorizontal,e.cssClasses.markerVertical];return j(h,e.cssClasses.pips),j(h,0===e.ort?e.cssClasses.pipsHorizontal:e.cssClasses.pipsVertical),Object.keys(a).forEach(function(b){g(b,a[b])}),h.innerHTML=i,h}function u(a){var b=a.mode,c=a.density||1,d=a.filter||!1,e=a.values||!1,f=a.stepped||!1,g=r(b,e,f),h=s(c,b,g),i=a.format||{to:Math.round};return ba.appendChild(t(h,d,i))}function v(){var a=Y.getBoundingClientRect(),b="offset"+["Width","Height"][e.ort];return 0===e.ort?a.width||Y[b]:a.height||Y[b]}function w(a,b,c,d){var f=function(b){return!ba.hasAttribute("disabled")&&(!l(ba,e.cssClasses.tap)&&(!!(b=x(b,d.pageOffset))&&(!(a===aa.start&&void 0!==b.buttons&&b.buttons>1)&&((!d.hover||!b.buttons)&&(b.calcPoint=b.points[e.ort],void c(b,d))))))},g=[];return a.split(" ").forEach(function(a){b.addEventListener(a,f,!1),g.push([a,f])}),g}function x(a,b){a.preventDefault();var c,d,e=0===a.type.indexOf("touch"),f=0===a.type.indexOf("mouse"),g=0===a.type.indexOf("pointer");if(0===a.type.indexOf("MSPointer")&&(g=!0),e){if(a.touches.length>1)return!1;c=a.changedTouches[0].pageX,d=a.changedTouches[0].pageY}return b=b||m(),(f||g)&&(c=a.clientX+b.x,d=a.clientY+b.y),a.pageOffset=b,a.points=[c,d],a.cursor=f||g,a}function y(a){var b=a-d(Y,e.ort),c=100*b/v();return e.dir?100-c:c}function z(a){var b=100,c=!1;return Z.forEach(function(d,e){if(!d.hasAttribute("disabled")){var f=Math.abs(ca[e]-a);f<b&&(c=e,b=f)}}),c}function A(a,b,c,d){var e=c.slice(),f=[!a,a],g=[a,!a];d=d.slice(),a&&d.reverse(),d.length>1?d.forEach(function(a,c){var d=I(e,a,e[a]+b,f[c],g[c]);!1===d?b=0:(b=d-e[a],e[a]=d)}):f=g=[!0];var h=!1;d.forEach(function(a,d){h=M(a,c[a]+b,f[d],g[d])||h}),h&&d.forEach(function(a){B("update",a),B("slide",a)})}function B(a,b,c){Object.keys(ha).forEach(function(d){var f=d.split(".")[0];a===f&&ha[d].forEach(function(a){a.call(_,ga.map(e.format.to),b,ga.slice(),c||!1,ca.slice())})})}function C(a,b){"mouseout"===a.type&&"HTML"===a.target.nodeName&&null===a.relatedTarget&&E(a,b)}function D(a,b){if(-1===navigator.appVersion.indexOf("MSIE 9")&&0===a.buttons&&0!==b.buttonsProperty)return E(a,b);var c=(e.dir?-1:1)*(a.calcPoint-b.startCalcPoint);A(c>0,100*c/b.baseSize,b.locations,b.handleNumbers)}function E(a,b){ea&&(k(ea,e.cssClasses.active),ea=!1),a.cursor&&(document.body.style.cursor="",document.body.removeEventListener("selectstart",document.body.noUiListener)),document.documentElement.noUiListeners.forEach(function(a){document.documentElement.removeEventListener(a[0],a[1])}),k(ba,e.cssClasses.drag),L(),b.handleNumbers.forEach(function(a){B("set",a),B("change",a),B("end",a)})}function F(a,b){if(1===b.handleNumbers.length){var c=Z[b.handleNumbers[0]];if(c.hasAttribute("disabled"))return!1;ea=c.children[0],j(ea,e.cssClasses.active)}a.preventDefault(),a.stopPropagation();var d=w(aa.move,document.documentElement,D,{startCalcPoint:a.calcPoint,baseSize:v(),pageOffset:a.pageOffset,handleNumbers:b.handleNumbers,buttonsProperty:a.buttons,locations:ca.slice()}),f=w(aa.end,document.documentElement,E,{handleNumbers:b.handleNumbers}),g=w("mouseout",document.documentElement,C,{handleNumbers:b.handleNumbers});if(document.documentElement.noUiListeners=d.concat(f,g),a.cursor){document.body.style.cursor=getComputedStyle(a.target).cursor,Z.length>1&&j(ba,e.cssClasses.drag);var h=function(){return!1};document.body.noUiListener=h,document.body.addEventListener("selectstart",h,!1)}b.handleNumbers.forEach(function(a){B("start",a)})}function G(a){a.stopPropagation();var b=y(a.calcPoint),c=z(b);if(!1===c)return!1;e.events.snap||f(ba,e.cssClasses.tap,e.animationDuration),M(c,b,!0,!0),L(),B("slide",c,!0),B("set",c,!0),B("change",c,!0),B("update",c,!0),e.events.snap&&F(a,{handleNumbers:[c]})}function H(a){var b=y(a.calcPoint),c=fa.getStep(b),d=fa.fromStepping(c);Object.keys(ha).forEach(function(a){"hover"===a.split(".")[0]&&ha[a].forEach(function(a){a.call(_,d)})})}function I(a,b,c,d,f){return Z.length>1&&(d&&b>0&&(c=Math.max(c,a[b-1]+e.margin)),f&&b<Z.length-1&&(c=Math.min(c,a[b+1]-e.margin))),Z.length>1&&e.limit&&(d&&b>0&&(c=Math.min(c,a[b-1]+e.limit)),f&&b<Z.length-1&&(c=Math.max(c,a[b+1]-e.limit))),e.padding&&(0===b&&(c=Math.max(c,e.padding)),b===Z.length-1&&(c=Math.min(c,100-e.padding))),c=fa.getStep(c),(c=g(c))!==a[b]&&c}function J(a){return a+"%"}function K(a,b){ca[a]=b,ga[a]=fa.fromStepping(b);var c=function(){Z[a].style[e.style]=J(b),N(a),N(a+1)};window.requestAnimationFrame&&e.useRequestAnimationFrame?window.requestAnimationFrame(c):c()}function L(){da.forEach(function(a){var b=ca[a]>50?-1:1,c=3+(Z.length+b*a);Z[a].childNodes[0].style.zIndex=c})}function M(a,b,c,d){return!1!==(b=I(ca,a,b,c,d))&&(K(a,b),!0)}function N(a){if($[a]){var b=0,c=100;0!==a&&(b=ca[a-1]),a!==$.length-1&&(c=ca[a]),$[a].style[e.style]=J(b),$[a].style[e.styleOposite]=J(100-c)}}function O(a,b){null!==a&&!1!==a&&("number"==typeof a&&(a=String(a)),!1===(a=e.format.from(a))||isNaN(a)||M(b,fa.toStepping(a),!1,!1))}function P(a,b){var c=h(a),d=void 0===ca[0];b=void 0===b||!!b,c.forEach(O),e.animate&&!d&&f(ba,e.cssClasses.tap,e.animationDuration),da.forEach(function(a){M(a,ca[a],!0,!1)}),L(),da.forEach(function(a){B("update",a),null!==c[a]&&b&&B("set",a)})}function Q(a){P(e.start,a)}function S(){var a=ga.map(e.format.to);return 1===a.length?a[0]:a}function T(){for(var a in e.cssClasses)e.cssClasses.hasOwnProperty(a)&&k(ba,e.cssClasses[a]);for(;ba.firstChild;)ba.removeChild(ba.firstChild);delete ba.noUiSlider}function U(){return ca.map(function(a,b){var c=fa.getNearbySteps(a),d=ga[b],e=c.thisStep.step,f=null;!1!==e&&d+e>c.stepAfter.startValue&&(e=c.stepAfter.startValue-d),f=d>c.thisStep.startValue?c.thisStep.step:!1!==c.stepBefore.step&&d-c.stepBefore.highestStep,100===a?e=null:0===a&&(f=null);var g=fa.countStepDecimals();return null!==e&&!1!==e&&(e=Number(e.toFixed(g))),null!==f&&!1!==f&&(f=Number(f.toFixed(g))),[f,e]})}function V(a,b){ha[a]=ha[a]||[],ha[a].push(b),"update"===a.split(".")[0]&&Z.forEach(function(a,b){B("update",b)})}function W(a){var b=a&&a.split(".")[0],c=b&&a.substring(b.length);Object.keys(ha).forEach(function(a){var d=a.split(".")[0],e=a.substring(d.length);b&&b!==d||c&&c!==e||delete ha[a]})}function X(a,b){var c=S(),d=["margin","limit","padding","range","animate","snap","step","format"];d.forEach(function(b){void 0!==a[b]&&(i[b]=a[b])});var f=R(i);d.forEach(function(b){void 0!==a[b]&&(e[b]=f[b])}),f.spectrum.direction=fa.direction,fa=f.spectrum,e.margin=f.margin,e.limit=f.limit,e.padding=f.padding,ca=[],P(a.start||c,b)}var Y,Z,$,_,aa=n(),ba=c,ca=[],da=[],ea=!1,fa=e.spectrum,ga=[],ha={};if(ba.noUiSlider)throw new Error("Slider was already initialized.");return function(b){j(b,e.cssClasses.target),0===e.dir?j(b,e.cssClasses.ltr):j(b,e.cssClasses.rtl),0===e.ort?j(b,e.cssClasses.horizontal):j(b,e.cssClasses.vertical),Y=a(b,e.cssClasses.base)}(ba),function(a,b){Z=[],$=[],$.push(p(b,a[0]));for(var c=0;c<e.handles;c++)Z.push(o(b,c)),da[c]=c,$.push(p(b,a[c+1]))}(e.connect,Y),_={destroy:T,steps:U,on:V,off:W,get:S,set:P,reset:Q,__moveHandles:function(a,b,c){A(a,b,ca,c)},options:i,updateOptions:X,target:ba,pips:u},function(a){a.fixed||Z.forEach(function(a,b){w(aa.start,a.children[0],F,{handleNumbers:[b]})}),a.tap&&w(aa.start,Y,G,{}),a.hover&&w(aa.move,Y,H,{hover:!0}),a.drag&&$.forEach(function(b,c){if(!1!==b&&0!==c&&c!==$.length-1){var d=Z[c-1],f=Z[c],g=[b];j(b,e.cssClasses.draggable),a.fixed&&(g.push(d.children[0]),g.push(f.children[0])),g.forEach(function(a){w(aa.start,a,F,{handles:[d,f],handleNumbers:[c-1,c]})})}})}(e.events),P(e.start),e.pips&&u(e.pips),e.tooltips&&function(){var a=Z.map(q);V("update",function(b,c,d){if(a[c]){var f=b[c];!0!==e.tooltips[c]&&(f=e.tooltips[c].to(d[c])),a[c].innerHTML="<span>"+f+"</span>"}})}(),_}function T(a,b){if(!a.nodeName)throw new Error("noUiSlider.create requires a single element.");void 0===b.tooltips&&(b.tooltips=!0);var c=R(b,a),d=S(a,c,b);return a.noUiSlider=d,d}y.prototype.getMargin=function(a){var b=this.xNumSteps[0];if(b&&a/b%1!=0)throw new Error("noUiSlider: 'limit', 'margin' and 'padding' must be divisible by step.");return 2===this.xPct.length&&p(this.xVal,a)},y.prototype.toStepping=function(a){return a=t(this.xVal,this.xPct,a)},y.prototype.fromStepping=function(a){return u(this.xVal,this.xPct,a)},y.prototype.getStep=function(a){return a=v(this.xPct,this.xSteps,this.snap,a)},y.prototype.getNearbySteps=function(a){var b=s(a,this.xPct);return{stepBefore:{startValue:this.xVal[b-2],step:this.xNumSteps[b-2],highestStep:this.xHighestCompleteStep[b-2]},thisStep:{startValue:this.xVal[b-1],step:this.xNumSteps[b-1],highestStep:this.xHighestCompleteStep[b-1]},stepAfter:{startValue:this.xVal[b-0],step:this.xNumSteps[b-0],highestStep:this.xHighestCompleteStep[b-0]}}},y.prototype.countStepDecimals=function(){var a=this.xNumSteps.map(i);return Math.max.apply(null,a)},y.prototype.convert=function(a){return this.getStep(this.toStepping(a))};var U={to:function(a){return void 0!==a&&a.toFixed(2)},from:Number};return{create:T}});
|
1
|
+
!function(){function t(t){return t.split("").reverse().join("")}function e(t,e,n){if((t[e]||t[n])&&t[e]===t[n])throw Error(e)}function n(e,n,r,i,o,s,a,u,l,c,f,p){a=p;var d,h=f="";return s&&(p=s(p)),!("number"!=typeof p||!isFinite(p))&&(e&&0===parseFloat(p.toFixed(e))&&(p=0),0>p&&(d=!0,p=Math.abs(p)),e&&(s=Math.pow(10,e),p=(Math.round(p*s)/s).toFixed(e)),-1!==(p=p.toString()).indexOf(".")&&(e=p.split("."),p=e[0],r&&(f=r+e[1])),n&&(p=t(p).match(/.{1,3}/g),p=t(p.join(t(n)))),d&&u&&(h+=u),i&&(h+=i),d&&l&&(h+=l),h=h+p+f,o&&(h+=o),c&&(h=c(h,a)),h)}function r(t,e,n,r,i,o,s,a,u,l,c,f){var p;return t="",c&&(f=c(f)),!(!f||"string"!=typeof f)&&(a&&f.substring(0,a.length)===a&&(f=f.replace(a,""),p=!0),r&&f.substring(0,r.length)===r&&(f=f.replace(r,"")),u&&f.substring(0,u.length)===u&&(f=f.replace(u,""),p=!0),i&&f.slice(-1*i.length)===i&&(f=f.slice(0,-1*i.length)),e&&(f=f.split(e).join("")),n&&(f=f.replace(n,".")),p&&(t+="-"),t=Number((t+f).replace(/[^0-9\.\-.]/g,"")),s&&(t=s(t)),!("number"!=typeof t||!isFinite(t))&&t)}function i(t){var n,r,i,o={};for(n=0;n<a.length;n+=1)r=a[n],i=t[r],void 0===i?o[r]="negative"!==r||o.negativeBefore?"mark"===r&&"."!==o.thousand&&".":"-":"decimals"===r?0<i&&8>i&&(o[r]=i):"encoder"===r||"decoder"===r||"edit"===r||"undo"===r?"function"==typeof i&&(o[r]=i):"string"==typeof i&&(o[r]=i);return e(o,"mark","thousand"),e(o,"prefix","negative"),e(o,"prefix","negativeBefore"),o}function o(t,e,n){var r,i=[];for(r=0;r<a.length;r+=1)i.push(t[a[r]]);return i.push(n),e.apply("",i)}function s(t){if(!(this instanceof s))return new s(t);"object"==typeof t&&(t=i(t),this.to=function(e){return o(t,n,e)},this.from=function(e){return o(t,r,e)})}var a="decimals thousand mark prefix postfix encoder decoder negativeBefore negative edit undo".split(" ");window.wNumb=s}(),function(t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():window.noUiSlider=t()}(function(){"use strict";function t(t,e){var n=document.createElement("div");return l(n,e),t.appendChild(n),n}function e(t){return t.filter(function(t){return!this[t]&&(this[t]=!0)},{})}function n(t,e){return Math.round(t/e)*e}function r(t,e){var n=t.getBoundingClientRect(),r=t.ownerDocument.documentElement,i=p();return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(i.x=0),e?n.top+i.y-r.clientTop:n.left+i.x-r.clientLeft}function i(t){return"number"==typeof t&&!isNaN(t)&&isFinite(t)}function o(t,e,n){n>0&&(l(t,e),setTimeout(function(){c(t,e)},n))}function s(t){return Math.max(Math.min(t,100),0)}function a(t){return Array.isArray(t)?t:[t]}function u(t){var e=(t=String(t)).split(".");return e.length>1?e[1].length:0}function l(t,e){t.classList?t.classList.add(e):t.className+=" "+e}function c(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\b)"+e.split(" ").join("|")+"(\\b|$)","gi")," ")}function f(t,e){return t.classList?t.classList.contains(e):new RegExp("\\b"+e+"\\b").test(t.className)}function p(){var t=void 0!==window.pageXOffset,e="CSS1Compat"===(document.compatMode||"");return{x:t?window.pageXOffset:e?document.documentElement.scrollLeft:document.body.scrollLeft,y:t?window.pageYOffset:e?document.documentElement.scrollTop:document.body.scrollTop}}function d(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function h(t,e){return 100/(e-t)}function m(t,e){return 100*e/(t[1]-t[0])}function g(t,e){return m(t,t[0]<0?e+Math.abs(t[0]):e-t[0])}function v(t,e){return e*(t[1]-t[0])/100+t[0]}function b(t,e){for(var n=1;t>=e[n];)n+=1;return n}function w(t,e,n){if(n>=t.slice(-1)[0])return 100;var r,i,o,s,a=b(n,t);return r=t[a-1],i=t[a],o=e[a-1],s=e[a],o+g([r,i],n)/h(o,s)}function S(t,e,n){if(n>=100)return t.slice(-1)[0];var r,i,o,s,a=b(n,e);return r=t[a-1],i=t[a],o=e[a-1],s=e[a],v([r,i],(n-o)*h(o,s))}function x(t,e,r,i){if(100===i)return i;var o,s,a=b(i,t);return r?(o=t[a-1],s=t[a],i-o>(s-o)/2?s:o):e[a-1]?t[a-1]+n(i-t[a-1],e[a-1]):i}function y(t,e,n){var r;if("number"==typeof e&&(e=[e]),"[object Array]"!==Object.prototype.toString.call(e))throw new Error("noUiSlider: 'range' contains invalid value.");if(r="min"===t?0:"max"===t?100:parseFloat(t),!i(r)||!i(e[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");n.xPct.push(r),n.xVal.push(e[0]),r?n.xSteps.push(!isNaN(e[1])&&e[1]):isNaN(e[1])||(n.xSteps[0]=e[1]),n.xHighestCompleteStep.push(0)}function E(t,e,n){if(!e)return!0;n.xSteps[t]=m([n.xVal[t],n.xVal[t+1]],e)/h(n.xPct[t],n.xPct[t+1]);var r=(n.xVal[t+1]-n.xVal[t])/n.xNumSteps[t],i=Math.ceil(Number(r.toFixed(3))-1),o=n.xVal[t]+n.xNumSteps[t]*i;n.xHighestCompleteStep[t]=o}function C(t,e,n,r){this.xPct=[],this.xVal=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=e,this.direction=n;var i,o=[];for(i in t)t.hasOwnProperty(i)&&o.push([t[i],i]);for(o.length&&"object"==typeof o[0][0]?o.sort(function(t,e){return t[0][0]-e[0][0]}):o.sort(function(t,e){return t[0]-e[0]}),i=0;i<o.length;i++)y(o[i][1],o[i][0],this);for(this.xNumSteps=this.xSteps.slice(0),i=0;i<this.xNumSteps.length;i++)E(i,this.xNumSteps[i],this)}function N(t,e){if(!i(e))throw new Error("noUiSlider: 'step' is not numeric.");t.singleStep=e}function U(t,e){if("object"!=typeof e||Array.isArray(e))throw new Error("noUiSlider: 'range' is not an object.");if(void 0===e.min||void 0===e.max)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");if(e.min===e.max)throw new Error("noUiSlider: 'range' 'min' and 'max' cannot be equal.");t.spectrum=new C(e,t.snap,t.dir,t.singleStep)}function M(t,e){if(e=a(e),!Array.isArray(e)||!e.length)throw new Error("noUiSlider: 'start' option is incorrect.");t.handles=e.length,t.start=e}function P(t,e){if(t.snap=e,"boolean"!=typeof e)throw new Error("noUiSlider: 'snap' option must be a boolean.")}function k(t,e){if(t.animate=e,"boolean"!=typeof e)throw new Error("noUiSlider: 'animate' option must be a boolean.")}function O(t,e){if(t.animationDuration=e,"number"!=typeof e)throw new Error("noUiSlider: 'animationDuration' option must be a number.")}function V(t,e){var n,r=[!1];if("lower"===e?e=[!0,!1]:"upper"===e&&(e=[!1,!0]),!0===e||!1===e){for(n=1;n<t.handles;n++)r.push(e);r.push(!1)}else{if(!Array.isArray(e)||!e.length||e.length!==t.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");r=e}t.connect=r}function A(t,e){switch(e){case"horizontal":t.ort=0;break;case"vertical":t.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function L(t,e){if(!i(e))throw new Error("noUiSlider: 'margin' option must be numeric.");if(0!==e&&(t.margin=t.spectrum.getMargin(e),!t.margin))throw new Error("noUiSlider: 'margin' option is only supported on linear sliders.")}function F(t,e){if(!i(e))throw new Error("noUiSlider: 'limit' option must be numeric.");if(t.limit=t.spectrum.getMargin(e),!t.limit||t.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function j(t,e){if(!i(e))throw new Error("noUiSlider: 'padding' option must be numeric.");if(0!==e){if(t.padding=t.spectrum.getMargin(e),!t.padding)throw new Error("noUiSlider: 'padding' option is only supported on linear sliders.");if(t.padding<0)throw new Error("noUiSlider: 'padding' option must be a positive number.");if(t.padding>=50)throw new Error("noUiSlider: 'padding' option must be less than half the range.")}}function z(t,e){switch(e){case"ltr":t.dir=0;break;case"rtl":t.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function H(t,e){if("string"!=typeof e)throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var n=e.indexOf("tap")>=0,r=e.indexOf("drag")>=0,i=e.indexOf("fixed")>=0,o=e.indexOf("snap")>=0,s=e.indexOf("hover")>=0;if(i){if(2!==t.handles)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");L(t,t.start[1]-t.start[0])}t.events={tap:n||o,drag:r,fixed:i,snap:o,hover:s}}function D(t,e){if(!1!==e)if(!0===e){t.tooltips=[];for(var n=0;n<t.handles;n++)t.tooltips.push(!0)}else{if(t.tooltips=a(e),t.tooltips.length!==t.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");t.tooltips.forEach(function(t){if("boolean"!=typeof t&&("object"!=typeof t||"function"!=typeof t.to))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")})}}function T(t,e){if(t.format=e,"function"==typeof e.to&&"function"==typeof e.from)return!0;throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.")}function q(t,e){if(void 0!==e&&"string"!=typeof e&&!1!==e)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");t.cssPrefix=e}function R(t,e){if(void 0!==e&&"object"!=typeof e)throw new Error("noUiSlider: 'cssClasses' must be an object.");if("string"==typeof t.cssPrefix){t.cssClasses={};for(var n in e)e.hasOwnProperty(n)&&(t.cssClasses[n]=t.cssPrefix+e[n])}else t.cssClasses=e}function B(t,e){if(!0!==e&&!1!==e)throw new Error("noUiSlider: 'useRequestAnimationFrame' option should be true (default) or false.");t.useRequestAnimationFrame=e}function X(t){var e={margin:0,limit:0,padding:0,animate:!0,animationDuration:300,format:I},n={step:{r:!1,t:N},start:{r:!0,t:M},connect:{r:!0,t:V},direction:{r:!0,t:z},snap:{r:!1,t:P},animate:{r:!1,t:k},animationDuration:{r:!1,t:O},range:{r:!0,t:U},orientation:{r:!1,t:A},margin:{r:!1,t:L},limit:{r:!1,t:F},padding:{r:!1,t:j},behaviour:{r:!0,t:H},format:{r:!1,t:T},tooltips:{r:!1,t:D},cssPrefix:{r:!1,t:q},cssClasses:{r:!1,t:R},useRequestAnimationFrame:{r:!1,t:B}},r={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",cssPrefix:"noUi-",cssClasses:{target:"target",base:"base",origin:"origin",handle:"handle",handleTouchArea:"handle-touch-area",handleLower:"handle-lower",handleUpper:"handle-upper",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",ltr:"ltr",rtl:"rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},useRequestAnimationFrame:!0};Object.keys(n).forEach(function(i){if(void 0===t[i]&&void 0===r[i]){if(n[i].r)throw new Error("noUiSlider: '"+i+"' is required.");return!0}n[i].t(e,void 0===t[i]?r[i]:t[i])}),e.pips=t.pips;var i=[["left","top"],["right","bottom"]];return e.style=i[e.dir][e.ort],e.styleOposite=i[e.dir?0:1][e.ort],e}function Y(n,i,u){function h(e,n){var r=t(e,i.cssClasses.origin),o=t(r,i.cssClasses.handle);return t(o,i.cssClasses.handleTouchArea),o.setAttribute("data-handle",n),0===n?l(o,i.cssClasses.handleLower):n===i.handles-1&&l(o,i.cssClasses.handleUpper),r}function m(e,n){return!!n&&t(e,i.cssClasses.connect)}function g(e,n){return!!i.tooltips[n]&&t(e.firstChild,i.cssClasses.tooltip)}function v(t,e,n){if("range"===t||"steps"===t)return tt.xVal;if("count"===t){var r,i=100/(e-1),o=0;for(e=[];(r=o++*i)<=100;)e.push(r);t="positions"}return"positions"===t?e.map(function(t){return tt.fromStepping(n?tt.getStep(t):t)}):"values"===t?n?e.map(function(t){return tt.fromStepping(tt.getStep(tt.toStepping(t)))}):e:void 0}function b(t,n,r){function i(t,e){return(t+e).toFixed(7)/1}var o={},s=tt.xVal[0],a=tt.xVal[tt.xVal.length-1],u=!1,l=!1,c=0;return(r=e(r.slice().sort(function(t,e){return t-e})))[0]!==s&&(r.unshift(s),u=!0),r[r.length-1]!==a&&(r.push(a),l=!0),r.forEach(function(e,s){var a,f,p,d,h,m,g,v,b,w=e,S=r[s+1];if("steps"===n&&(a=tt.xNumSteps[s]),a||(a=S-w),!1!==w&&void 0!==S)for(a=Math.max(a,1e-7),f=w;f<=S;f=i(f,a)){for(g=(h=(d=tt.toStepping(f))-c)/t,b=h/(v=Math.round(g)),p=1;p<=v;p+=1)o[(c+p*b).toFixed(5)]=["x",0];m=r.indexOf(f)>-1?1:"steps"===n?2:0,!s&&u&&(m=0),f===S&&l||(o[d.toFixed(5)]=[f,m]),c=d}}),o}function w(t,e,n){function r(t,e){var n=e===i.cssClasses.value,r=n?p:d,o=n?c:f;return e+" "+r[i.ort]+" "+o[t]}function o(t,e,n){return'class="'+r(n[1],e)+'" style="'+i.style+": "+t+'%"'}function s(t,r){r[1]=r[1]&&e?e(r[0],r[1]):r[1],u+="<div "+o(t,i.cssClasses.marker,r)+"></div>",r[1]&&(u+="<div "+o(t,i.cssClasses.value,r)+">"+n.to(r[0])+"</div>")}var a=document.createElement("div"),u="",c=[i.cssClasses.valueNormal,i.cssClasses.valueLarge,i.cssClasses.valueSub],f=[i.cssClasses.markerNormal,i.cssClasses.markerLarge,i.cssClasses.markerSub],p=[i.cssClasses.valueHorizontal,i.cssClasses.valueVertical],d=[i.cssClasses.markerHorizontal,i.cssClasses.markerVertical];return l(a,i.cssClasses.pips),l(a,0===i.ort?i.cssClasses.pipsHorizontal:i.cssClasses.pipsVertical),Object.keys(t).forEach(function(e){s(e,t[e])}),a.innerHTML=u,a}function S(t){var e=t.mode,n=t.density||1,r=t.filter||!1,i=b(n,e,v(e,t.values||!1,t.stepped||!1)),o=t.format||{to:Math.round};return J.appendChild(w(i,r,o))}function x(){var t=I.getBoundingClientRect(),e="offset"+["Width","Height"][i.ort];return 0===i.ort?t.width||I[e]:t.height||I[e]}function y(t,e,n,r){var o=function(e){return!J.hasAttribute("disabled")&&(!f(J,i.cssClasses.tap)&&(!!(e=E(e,r.pageOffset))&&(!(t===G.start&&void 0!==e.buttons&&e.buttons>1)&&((!r.hover||!e.buttons)&&(e.calcPoint=e.points[i.ort],void n(e,r))))))},s=[];return t.split(" ").forEach(function(t){e.addEventListener(t,o,!1),s.push([t,o])}),s}function E(t,e){t.preventDefault();var n,r,i=0===t.type.indexOf("touch"),o=0===t.type.indexOf("mouse"),s=0===t.type.indexOf("pointer");if(0===t.type.indexOf("MSPointer")&&(s=!0),i){if(t.touches.length>1)return!1;n=t.changedTouches[0].pageX,r=t.changedTouches[0].pageY}return e=e||p(),(o||s)&&(n=t.clientX+e.x,r=t.clientY+e.y),t.pageOffset=e,t.points=[n,r],t.cursor=o||s,t}function C(t){var e=100*(t-r(I,i.ort))/x();return i.dir?100-e:e}function N(t){var e=100,n=!1;return _.forEach(function(r,i){if(!r.hasAttribute("disabled")){var o=Math.abs(K[i]-t);o<e&&(n=i,e=o)}}),n}function U(t,e,n,r){var i=n.slice(),o=[!t,t],s=[t,!t];r=r.slice(),t&&r.reverse(),r.length>1?r.forEach(function(t,n){var r=F(i,t,i[t]+e,o[n],s[n]);!1===r?e=0:(e=r-i[t],i[t]=r)}):o=s=[!0];var a=!1;r.forEach(function(t,r){a=D(t,n[t]+e,o[r],s[r])||a}),a&&r.forEach(function(t){M("update",t),M("slide",t)})}function M(t,e,n){Object.keys(nt).forEach(function(r){var o=r.split(".")[0];t===o&&nt[r].forEach(function(t){t.call($,et.map(i.format.to),e,et.slice(),n||!1,K.slice())})})}function P(t,e){"mouseout"===t.type&&"HTML"===t.target.nodeName&&null===t.relatedTarget&&O(t,e)}function k(t,e){if(-1===navigator.appVersion.indexOf("MSIE 9")&&0===t.buttons&&0!==e.buttonsProperty)return O(t,e);var n=(i.dir?-1:1)*(t.calcPoint-e.startCalcPoint);U(n>0,100*n/e.baseSize,e.locations,e.handleNumbers)}function O(t,e){Z&&(c(Z,i.cssClasses.active),Z=!1),t.cursor&&(document.body.style.cursor="",document.body.removeEventListener("selectstart",document.body.noUiListener)),document.documentElement.noUiListeners.forEach(function(t){document.documentElement.removeEventListener(t[0],t[1])}),c(J,i.cssClasses.drag),H(),e.handleNumbers.forEach(function(t){M("set",t),M("change",t),M("end",t)})}function V(t,e){if(1===e.handleNumbers.length){var n=_[e.handleNumbers[0]];if(n.hasAttribute("disabled"))return!1;l(Z=n.children[0],i.cssClasses.active)}t.preventDefault(),t.stopPropagation();var r=y(G.move,document.documentElement,k,{startCalcPoint:t.calcPoint,baseSize:x(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:K.slice()}),o=y(G.end,document.documentElement,O,{handleNumbers:e.handleNumbers}),s=y("mouseout",document.documentElement,P,{handleNumbers:e.handleNumbers});if(document.documentElement.noUiListeners=r.concat(o,s),t.cursor){document.body.style.cursor=getComputedStyle(t.target).cursor,_.length>1&&l(J,i.cssClasses.drag);var a=function(){return!1};document.body.noUiListener=a,document.body.addEventListener("selectstart",a,!1)}e.handleNumbers.forEach(function(t){M("start",t)})}function A(t){t.stopPropagation();var e=C(t.calcPoint),n=N(e);if(!1===n)return!1;i.events.snap||o(J,i.cssClasses.tap,i.animationDuration),D(n,e,!0,!0),H(),M("slide",n,!0),M("set",n,!0),M("change",n,!0),M("update",n,!0),i.events.snap&&V(t,{handleNumbers:[n]})}function L(t){var e=C(t.calcPoint),n=tt.getStep(e),r=tt.fromStepping(n);Object.keys(nt).forEach(function(t){"hover"===t.split(".")[0]&&nt[t].forEach(function(t){t.call($,r)})})}function F(t,e,n,r,o){return _.length>1&&(r&&e>0&&(n=Math.max(n,t[e-1]+i.margin)),o&&e<_.length-1&&(n=Math.min(n,t[e+1]-i.margin))),_.length>1&&i.limit&&(r&&e>0&&(n=Math.min(n,t[e-1]+i.limit)),o&&e<_.length-1&&(n=Math.max(n,t[e+1]-i.limit))),i.padding&&(0===e&&(n=Math.max(n,i.padding)),e===_.length-1&&(n=Math.min(n,100-i.padding))),n=tt.getStep(n),(n=s(n))!==t[e]&&n}function j(t){return t+"%"}function z(t,e){K[t]=e,et[t]=tt.fromStepping(e);var n=function(){_[t].style[i.style]=j(e),T(t),T(t+1)};window.requestAnimationFrame&&i.useRequestAnimationFrame?window.requestAnimationFrame(n):n()}function H(){Q.forEach(function(t){var e=K[t]>50?-1:1,n=3+(_.length+e*t);_[t].childNodes[0].style.zIndex=n})}function D(t,e,n,r){return!1!==(e=F(K,t,e,n,r))&&(z(t,e),!0)}function T(t){if(W[t]){var e=0,n=100;0!==t&&(e=K[t-1]),t!==W.length-1&&(n=K[t]),W[t].style[i.style]=j(e),W[t].style[i.styleOposite]=j(100-n)}}function q(t,e){null!==t&&!1!==t&&("number"==typeof t&&(t=String(t)),!1===(t=i.format.from(t))||isNaN(t)||D(e,tt.toStepping(t),!1,!1))}function R(t,e){var n=a(t),r=void 0===K[0];e=void 0===e||!!e,n.forEach(q),i.animate&&!r&&o(J,i.cssClasses.tap,i.animationDuration),Q.forEach(function(t){D(t,K[t],!0,!1)}),H(),Q.forEach(function(t){M("update",t),null!==n[t]&&e&&M("set",t)})}function B(){var t=et.map(i.format.to);return 1===t.length?t[0]:t}function Y(t,e){nt[t]=nt[t]||[],nt[t].push(e),"update"===t.split(".")[0]&&_.forEach(function(t,e){M("update",e)})}var I,_,W,$,G=d(),J=n,K=[],Q=[],Z=!1,tt=i.spectrum,et=[],nt={};if(J.noUiSlider)throw new Error("Slider was already initialized.");return function(e){l(e,i.cssClasses.target),0===i.dir?l(e,i.cssClasses.ltr):l(e,i.cssClasses.rtl),0===i.ort?l(e,i.cssClasses.horizontal):l(e,i.cssClasses.vertical),I=t(e,i.cssClasses.base)}(J),function(t,e){_=[],(W=[]).push(m(e,t[0]));for(var n=0;n<i.handles;n++)_.push(h(e,n)),Q[n]=n,W.push(m(e,t[n+1]))}(i.connect,I),$={destroy:function(){for(var t in i.cssClasses)i.cssClasses.hasOwnProperty(t)&&c(J,i.cssClasses[t]);for(;J.firstChild;)J.removeChild(J.firstChild);delete J.noUiSlider},steps:function(){return K.map(function(t,e){var n=tt.getNearbySteps(t),r=et[e],i=n.thisStep.step,o=null;!1!==i&&r+i>n.stepAfter.startValue&&(i=n.stepAfter.startValue-r),o=r>n.thisStep.startValue?n.thisStep.step:!1!==n.stepBefore.step&&r-n.stepBefore.highestStep,100===t?i=null:0===t&&(o=null);var s=tt.countStepDecimals();return null!==i&&!1!==i&&(i=Number(i.toFixed(s))),null!==o&&!1!==o&&(o=Number(o.toFixed(s))),[o,i]})},on:Y,off:function(t){var e=t&&t.split(".")[0],n=e&&t.substring(e.length);Object.keys(nt).forEach(function(t){var r=t.split(".")[0],i=t.substring(r.length);e&&e!==r||n&&n!==i||delete nt[t]})},get:B,set:R,reset:function(t){R(i.start,t)},__moveHandles:function(t,e,n){U(t,e,K,n)},options:u,updateOptions:function(t,e){var n=B(),r=["margin","limit","padding","range","animate","snap","step","format"];r.forEach(function(e){void 0!==t[e]&&(u[e]=t[e])});var o=X(u);r.forEach(function(e){void 0!==t[e]&&(i[e]=o[e])}),o.spectrum.direction=tt.direction,tt=o.spectrum,i.margin=o.margin,i.limit=o.limit,i.padding=o.padding,K=[],R(t.start||n,e)},target:J,pips:S},function(t){t.fixed||_.forEach(function(t,e){y(G.start,t.children[0],V,{handleNumbers:[e]})}),t.tap&&y(G.start,I,A,{}),t.hover&&y(G.move,I,L,{hover:!0}),t.drag&&W.forEach(function(e,n){if(!1!==e&&0!==n&&n!==W.length-1){var r=_[n-1],o=_[n],s=[e];l(e,i.cssClasses.draggable),t.fixed&&(s.push(r.children[0]),s.push(o.children[0])),s.forEach(function(t){y(G.start,t,V,{handles:[r,o],handleNumbers:[n-1,n]})})}})}(i.events),R(i.start),i.pips&&S(i.pips),i.tooltips&&function(){var t=_.map(g);Y("update",function(e,n,r){if(t[n]){var o=e[n];!0!==i.tooltips[n]&&(o=i.tooltips[n].to(r[n])),t[n].innerHTML="<span>"+o+"</span>"}})}(),$}C.prototype.getMargin=function(t){var e=this.xNumSteps[0];if(e&&t/e%1!=0)throw new Error("noUiSlider: 'limit', 'margin' and 'padding' must be divisible by step.");return 2===this.xPct.length&&m(this.xVal,t)},C.prototype.toStepping=function(t){return t=w(this.xVal,this.xPct,t)},C.prototype.fromStepping=function(t){return S(this.xVal,this.xPct,t)},C.prototype.getStep=function(t){return t=x(this.xPct,this.xSteps,this.snap,t)},C.prototype.getNearbySteps=function(t){var e=b(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e-0],step:this.xNumSteps[e-0],highestStep:this.xHighestCompleteStep[e-0]}}},C.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(u);return Math.max.apply(null,t)},C.prototype.convert=function(t){return this.getStep(this.toStepping(t))};var I={to:function(t){return void 0!==t&&t.toFixed(2)},from:Number};return{create:function(t,e){if(!t.nodeName)throw new Error("noUiSlider.create requires a single element.");void 0===e.tooltips&&(e.tooltips=!0);var n=Y(t,X(e,t),e);return t.noUiSlider=n,n}}});
|
@@ -1,10 +1,10 @@
|
|
1
1
|
(function ($) {
|
2
|
-
$(document).on('ready turbolinks:load', function() {
|
2
|
+
$(document).on('ready turbolinks:load', function () {
|
3
3
|
|
4
4
|
// Function to update labels of text fields
|
5
|
-
Materialize.updateTextFields = function() {
|
5
|
+
Materialize.updateTextFields = function () {
|
6
6
|
var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea';
|
7
|
-
$(input_selector).each(function(index, element) {
|
7
|
+
$(input_selector).each(function (index, element) {
|
8
8
|
var $this = $(this);
|
9
9
|
if ($(element).val().length > 0 || $(element).is(':focus') || element.autofocus || $this.attr('placeholder') !== undefined) {
|
10
10
|
$this.siblings('label').addClass('active');
|
@@ -21,19 +21,19 @@
|
|
21
21
|
|
22
22
|
// Add active if form auto complete
|
23
23
|
$(document).on('change', input_selector, function () {
|
24
|
-
if($(this).val().length !== 0 || $(this).attr('placeholder') !== undefined) {
|
24
|
+
if ($(this).val().length !== 0 || $(this).attr('placeholder') !== undefined) {
|
25
25
|
$(this).siblings('label').addClass('active');
|
26
26
|
}
|
27
27
|
validate_field($(this));
|
28
28
|
});
|
29
29
|
|
30
30
|
// Add active if input element has been pre-populated on document ready
|
31
|
-
$(document).on('ready turbolinks:load', function() {
|
31
|
+
$(document).on('ready turbolinks:load', function () {
|
32
32
|
Materialize.updateTextFields();
|
33
33
|
});
|
34
34
|
|
35
35
|
// HTML DOM FORM RESET handling
|
36
|
-
$(document).on('reset', function(e) {
|
36
|
+
$(document).on('reset', function (e) {
|
37
37
|
var formReset = $(e.target);
|
38
38
|
if (formReset.is('form')) {
|
39
39
|
formReset.find(input_selector).removeClass('valid').removeClass('invalid');
|
@@ -69,25 +69,23 @@
|
|
69
69
|
validate_field($inputElement);
|
70
70
|
});
|
71
71
|
|
72
|
-
window.validate_field = function(object) {
|
72
|
+
window.validate_field = function (object) {
|
73
73
|
var hasLength = object.attr('data-length') !== undefined;
|
74
74
|
var lenAttr = parseInt(object.attr('data-length'));
|
75
75
|
var len = object.val().length;
|
76
76
|
|
77
|
-
if (object.val().length === 0 && object[0].validity.badInput === false) {
|
77
|
+
if (object.val().length === 0 && object[0].validity.badInput === false && !object.is(':required')) {
|
78
78
|
if (object.hasClass('validate')) {
|
79
79
|
object.removeClass('valid');
|
80
80
|
object.removeClass('invalid');
|
81
81
|
}
|
82
|
-
}
|
83
|
-
else {
|
82
|
+
} else {
|
84
83
|
if (object.hasClass('validate')) {
|
85
84
|
// Check for character counter attributes
|
86
|
-
if (
|
85
|
+
if (object.is(':valid') && hasLength && len <= lenAttr || object.is(':valid') && !hasLength) {
|
87
86
|
object.removeClass('invalid');
|
88
87
|
object.addClass('valid');
|
89
|
-
}
|
90
|
-
else {
|
88
|
+
} else {
|
91
89
|
object.removeClass('valid');
|
92
90
|
object.addClass('invalid');
|
93
91
|
}
|
@@ -97,12 +95,12 @@
|
|
97
95
|
|
98
96
|
// Radio and Checkbox focus class
|
99
97
|
var radio_checkbox = 'input[type=radio], input[type=checkbox]';
|
100
|
-
$(document).on('keyup.radio', radio_checkbox, function(e) {
|
98
|
+
$(document).on('keyup.radio', radio_checkbox, function (e) {
|
101
99
|
// TAB, check if tabbing to radio or checkbox.
|
102
100
|
if (e.which === 9) {
|
103
101
|
$(this).addClass('tabbed');
|
104
102
|
var $this = $(this);
|
105
|
-
$this.one('blur', function(e) {
|
103
|
+
$this.one('blur', function (e) {
|
106
104
|
|
107
105
|
$(this).removeClass('tabbed');
|
108
106
|
});
|
@@ -124,10 +122,20 @@
|
|
124
122
|
var fontFamily = $textarea.css('font-family');
|
125
123
|
var fontSize = $textarea.css('font-size');
|
126
124
|
var lineHeight = $textarea.css('line-height');
|
125
|
+
var padding = $textarea.css('padding');
|
127
126
|
|
128
|
-
if (fontSize) {
|
129
|
-
|
130
|
-
|
127
|
+
if (fontSize) {
|
128
|
+
hiddenDiv.css('font-size', fontSize);
|
129
|
+
}
|
130
|
+
if (fontFamily) {
|
131
|
+
hiddenDiv.css('font-family', fontFamily);
|
132
|
+
}
|
133
|
+
if (lineHeight) {
|
134
|
+
hiddenDiv.css('line-height', lineHeight);
|
135
|
+
}
|
136
|
+
if (padding) {
|
137
|
+
hiddenDiv.css('padding', padding);
|
138
|
+
}
|
131
139
|
|
132
140
|
// Set original-height, if none
|
133
141
|
if (!$textarea.data('original-height')) {
|
@@ -135,25 +143,21 @@
|
|
135
143
|
}
|
136
144
|
|
137
145
|
if ($textarea.attr('wrap') === 'off') {
|
138
|
-
hiddenDiv.css('overflow-wrap', 'normal')
|
139
|
-
.css('white-space', 'pre');
|
146
|
+
hiddenDiv.css('overflow-wrap', 'normal').css('white-space', 'pre');
|
140
147
|
}
|
141
148
|
|
142
149
|
hiddenDiv.text($textarea.val() + '\n');
|
143
150
|
var content = hiddenDiv.html().replace(/\n/g, '<br>');
|
144
151
|
hiddenDiv.html(content);
|
145
152
|
|
146
|
-
|
147
153
|
// When textarea is hidden, width goes crazy.
|
148
154
|
// Approximate with half of window size
|
149
155
|
|
150
156
|
if ($textarea.is(':visible')) {
|
151
157
|
hiddenDiv.css('width', $textarea.width());
|
158
|
+
} else {
|
159
|
+
hiddenDiv.css('width', $(window).width() / 2);
|
152
160
|
}
|
153
|
-
else {
|
154
|
-
hiddenDiv.css('width', $(window).width()/2);
|
155
|
-
}
|
156
|
-
|
157
161
|
|
158
162
|
/**
|
159
163
|
* Resize if the new height is greater than the
|
@@ -190,7 +194,7 @@
|
|
190
194
|
$(document).on('change', '.file-field input[type="file"]', function () {
|
191
195
|
var file_field = $(this).closest('.file-field');
|
192
196
|
var path_input = file_field.find('input.file-path');
|
193
|
-
var files
|
197
|
+
var files = $(this)[0].files;
|
194
198
|
var file_names = [];
|
195
199
|
for (var i = 0; i < files.length; i++) {
|
196
200
|
file_names.push(files[i].name);
|
@@ -212,22 +216,22 @@
|
|
212
216
|
$(this).after(thumb);
|
213
217
|
});
|
214
218
|
|
215
|
-
var showRangeBubble = function(thumb) {
|
219
|
+
var showRangeBubble = function (thumb) {
|
216
220
|
var paddingLeft = parseInt(thumb.parent().css('padding-left'));
|
217
|
-
var marginLeft =
|
218
|
-
thumb.velocity({ height: "30px", width: "30px", top: "-30px", marginLeft: marginLeft}, { duration: 300, easing: 'easeOutExpo' });
|
221
|
+
var marginLeft = -7 + paddingLeft + 'px';
|
222
|
+
thumb.velocity({ height: "30px", width: "30px", top: "-30px", marginLeft: marginLeft }, { duration: 300, easing: 'easeOutExpo' });
|
219
223
|
};
|
220
224
|
|
221
|
-
var calcRangeOffset = function(range) {
|
225
|
+
var calcRangeOffset = function (range) {
|
222
226
|
var width = range.width() - 15;
|
223
227
|
var max = parseFloat(range.attr('max'));
|
224
228
|
var min = parseFloat(range.attr('min'));
|
225
229
|
var percent = (parseFloat(range.val()) - min) / (max - min);
|
226
230
|
return percent * width;
|
227
|
-
}
|
231
|
+
};
|
228
232
|
|
229
233
|
var range_wrapper = '.range-field';
|
230
|
-
$(document).on('change', range_type, function(e) {
|
234
|
+
$(document).on('change', range_type, function (e) {
|
231
235
|
var thumb = $(this).siblings('.thumb');
|
232
236
|
thumb.find('.value').html($(this).val());
|
233
237
|
|
@@ -239,7 +243,7 @@
|
|
239
243
|
thumb.addClass('active').css('left', offsetLeft);
|
240
244
|
});
|
241
245
|
|
242
|
-
$(document).on('mousedown touchstart', range_type, function(e) {
|
246
|
+
$(document).on('mousedown touchstart', range_type, function (e) {
|
243
247
|
var thumb = $(this).siblings('.thumb');
|
244
248
|
|
245
249
|
// If thumb indicator does not exist yet, create it
|
@@ -264,12 +268,12 @@
|
|
264
268
|
}
|
265
269
|
});
|
266
270
|
|
267
|
-
$(document).on('mouseup touchend', range_wrapper, function() {
|
271
|
+
$(document).on('mouseup touchend', range_wrapper, function () {
|
268
272
|
range_mousedown = false;
|
269
273
|
$(this).removeClass('active');
|
270
274
|
});
|
271
275
|
|
272
|
-
$(document).on('input mousemove touchmove', range_wrapper, function(e) {
|
276
|
+
$(document).on('input mousemove touchmove', range_wrapper, function (e) {
|
273
277
|
var thumb = $(this).children('.thumb');
|
274
278
|
var left;
|
275
279
|
var input = $(this).find(range_type);
|
@@ -285,15 +289,15 @@
|
|
285
289
|
}
|
286
290
|
});
|
287
291
|
|
288
|
-
$(document).on('mouseout touchleave', range_wrapper, function() {
|
292
|
+
$(document).on('mouseout touchleave', range_wrapper, function () {
|
289
293
|
if (!range_mousedown) {
|
290
294
|
|
291
295
|
var thumb = $(this).children('.thumb');
|
292
296
|
var paddingLeft = parseInt($(this).css('padding-left'));
|
293
|
-
var marginLeft =
|
297
|
+
var marginLeft = 7 + paddingLeft + 'px';
|
294
298
|
|
295
299
|
if (thumb.hasClass('active')) {
|
296
|
-
thumb.velocity({ height: '0', width: '0', top: '10px', marginLeft: marginLeft}, { duration: 100 });
|
300
|
+
thumb.velocity({ height: '0', width: '0', top: '10px', marginLeft: marginLeft }, { duration: 100 });
|
297
301
|
}
|
298
302
|
thumb.removeClass('active');
|
299
303
|
}
|
@@ -313,7 +317,7 @@
|
|
313
317
|
|
314
318
|
options = $.extend(defaults, options);
|
315
319
|
|
316
|
-
return this.each(function() {
|
320
|
+
return this.each(function () {
|
317
321
|
var $input = $(this);
|
318
322
|
var data = options.data,
|
319
323
|
count = 0,
|
@@ -344,7 +348,7 @@
|
|
344
348
|
}
|
345
349
|
|
346
350
|
// Highlight partial match.
|
347
|
-
var highlight = function(string, $el) {
|
351
|
+
var highlight = function (string, $el) {
|
348
352
|
var img = $el.find('img');
|
349
353
|
var matchStart = $el.text().toLowerCase().indexOf("" + string.toLowerCase() + ""),
|
350
354
|
matchEnd = matchStart + string.length - 1,
|
@@ -358,19 +362,19 @@
|
|
358
362
|
};
|
359
363
|
|
360
364
|
// Reset current element position
|
361
|
-
var resetCurrentElement = function() {
|
365
|
+
var resetCurrentElement = function () {
|
362
366
|
activeIndex = -1;
|
363
367
|
$autocomplete.find('.active').removeClass('active');
|
364
|
-
}
|
368
|
+
};
|
365
369
|
|
366
370
|
// Remove autocomplete elements
|
367
|
-
var removeAutocomplete = function() {
|
371
|
+
var removeAutocomplete = function () {
|
368
372
|
$autocomplete.empty();
|
369
373
|
resetCurrentElement();
|
370
374
|
oldVal = undefined;
|
371
375
|
};
|
372
376
|
|
373
|
-
$input.off('blur.autocomplete').on('blur.autocomplete', function() {
|
377
|
+
$input.off('blur.autocomplete').on('blur.autocomplete', function () {
|
374
378
|
removeAutocomplete();
|
375
379
|
});
|
376
380
|
|
@@ -381,22 +385,17 @@
|
|
381
385
|
var val = $input.val().toLowerCase();
|
382
386
|
|
383
387
|
// Don't capture enter or arrow key usage.
|
384
|
-
if (e.which === 13 ||
|
385
|
-
e.which === 38 ||
|
386
|
-
e.which === 40) {
|
388
|
+
if (e.which === 13 || e.which === 38 || e.which === 40) {
|
387
389
|
return;
|
388
390
|
}
|
389
391
|
|
390
|
-
|
391
392
|
// Check if the input isn't empty
|
392
393
|
if (oldVal !== val) {
|
393
394
|
removeAutocomplete();
|
394
395
|
|
395
396
|
if (val.length >= options.minLength) {
|
396
|
-
for(var key in data) {
|
397
|
-
if (data.hasOwnProperty(key) &&
|
398
|
-
key.toLowerCase().indexOf(val) !== -1 &&
|
399
|
-
key.toLowerCase() !== val) {
|
397
|
+
for (var key in data) {
|
398
|
+
if (data.hasOwnProperty(key) && key.toLowerCase().indexOf(val) !== -1) {
|
400
399
|
// Break if past limit
|
401
400
|
if (count >= options.limit) {
|
402
401
|
break;
|
@@ -404,9 +403,9 @@
|
|
404
403
|
|
405
404
|
var autocompleteOption = $('<li></li>');
|
406
405
|
if (!!data[key]) {
|
407
|
-
autocompleteOption.append('<img src="'+ data[key] +'" class="right circle"><span>'+ key +'</span>');
|
406
|
+
autocompleteOption.append('<img src="' + data[key] + '" class="right circle"><span>' + key + '</span>');
|
408
407
|
} else {
|
409
|
-
autocompleteOption.append('<span>'+ key +'</span>');
|
408
|
+
autocompleteOption.append('<span>' + key + '</span>');
|
410
409
|
}
|
411
410
|
|
412
411
|
$autocomplete.append(autocompleteOption);
|
@@ -439,16 +438,14 @@
|
|
439
438
|
}
|
440
439
|
|
441
440
|
// Capture up and down key
|
442
|
-
if (
|
441
|
+
if (keyCode === 38 || keyCode === 40) {
|
443
442
|
e.preventDefault();
|
444
443
|
|
445
|
-
if (keyCode === 38 &&
|
446
|
-
activeIndex > 0) {
|
444
|
+
if (keyCode === 38 && activeIndex > 0) {
|
447
445
|
activeIndex--;
|
448
446
|
}
|
449
447
|
|
450
|
-
if (keyCode === 40 &&
|
451
|
-
activeIndex < (numItems - 1)) {
|
448
|
+
if (keyCode === 40 && activeIndex < numItems - 1) {
|
452
449
|
activeIndex++;
|
453
450
|
}
|
454
451
|
|
@@ -460,28 +457,31 @@
|
|
460
457
|
});
|
461
458
|
|
462
459
|
// Set input value
|
463
|
-
$autocomplete.on('mousedown.autocomplete touchstart.autocomplete', 'li', function () {
|
460
|
+
$autocomplete.off('mousedown.autocomplete touchstart.autocomplete').on('mousedown.autocomplete touchstart.autocomplete', 'li', function () {
|
464
461
|
var text = $(this).text().trim();
|
465
462
|
$input.val(text);
|
466
463
|
$input.trigger('change');
|
467
464
|
removeAutocomplete();
|
468
465
|
|
469
466
|
// Handle onAutocomplete callback.
|
470
|
-
if (typeof
|
467
|
+
if (typeof options.onAutocomplete === "function") {
|
471
468
|
options.onAutocomplete.call(this, text);
|
472
469
|
}
|
473
470
|
});
|
471
|
+
|
472
|
+
// Empty data
|
473
|
+
} else {
|
474
|
+
$input.off('keyup.autocomplete focus.autocomplete');
|
474
475
|
}
|
475
476
|
});
|
476
477
|
};
|
477
|
-
|
478
478
|
}); // End of $(document).ready
|
479
479
|
|
480
480
|
/*******************
|
481
481
|
* Select Plugin *
|
482
482
|
******************/
|
483
483
|
$.fn.material_select = function (callback) {
|
484
|
-
$(this).each(function(){
|
484
|
+
$(this).each(function () {
|
485
485
|
var $select = $(this);
|
486
486
|
|
487
487
|
if ($select.hasClass('browser-default')) {
|
@@ -489,27 +489,29 @@
|
|
489
489
|
}
|
490
490
|
|
491
491
|
var multiple = $select.attr('multiple') ? true : false,
|
492
|
-
lastID = $select.
|
492
|
+
lastID = $select.attr('data-select-id'); // Tear down structure if Select needs to be rebuilt
|
493
493
|
|
494
494
|
if (lastID) {
|
495
495
|
$select.parent().find('span.caret').remove();
|
496
496
|
$select.parent().find('input').remove();
|
497
497
|
|
498
498
|
$select.unwrap();
|
499
|
-
$('ul#select-options-'+lastID).remove();
|
499
|
+
$('ul#select-options-' + lastID).remove();
|
500
500
|
}
|
501
501
|
|
502
502
|
// If destroying the select, remove the selelct-id and reset it to it's uninitialized state.
|
503
|
-
if(callback === 'destroy') {
|
504
|
-
$select.
|
503
|
+
if (callback === 'destroy') {
|
504
|
+
$select.removeAttr('data-select-id').removeClass('initialized');
|
505
|
+
$(window).off('click.select');
|
505
506
|
return;
|
506
507
|
}
|
507
508
|
|
508
509
|
var uniqueID = Materialize.guid();
|
509
|
-
$select.
|
510
|
+
$select.attr('data-select-id', uniqueID);
|
510
511
|
var wrapper = $('<div class="select-wrapper"></div>');
|
511
512
|
wrapper.addClass($select.attr('class'));
|
512
|
-
|
513
|
+
if ($select.is(':disabled')) wrapper.addClass('disabled');
|
514
|
+
var options = $('<ul id="select-options-' + uniqueID + '" class="dropdown-content select-dropdown ' + (multiple ? 'multiple-select-dropdown' : '') + '"></ul>'),
|
513
515
|
selectChildren = $select.children('option, optgroup'),
|
514
516
|
valuesSelected = [],
|
515
517
|
optionsHover = false;
|
@@ -518,10 +520,10 @@
|
|
518
520
|
|
519
521
|
// Function that renders and appends the option taking into
|
520
522
|
// account type and possible image icon.
|
521
|
-
var appendOptionWithIcon = function(select, option, type) {
|
523
|
+
var appendOptionWithIcon = function (select, option, type) {
|
522
524
|
// Add disabled attr if disabled
|
523
|
-
var disabledClass =
|
524
|
-
var optgroupClass =
|
525
|
+
var disabledClass = option.is(':disabled') ? 'disabled ' : '';
|
526
|
+
var optgroupClass = type === 'optgroup-option' ? 'optgroup-option ' : '';
|
525
527
|
var multipleCheckbox = multiple ? '<input type="checkbox"' + disabledClass + '/><label></label>' : '';
|
526
528
|
|
527
529
|
// add icons
|
@@ -542,12 +544,11 @@
|
|
542
544
|
|
543
545
|
/* Create dropdown structure. */
|
544
546
|
if (selectChildren.length) {
|
545
|
-
selectChildren.each(function() {
|
547
|
+
selectChildren.each(function () {
|
546
548
|
if ($(this).is('option')) {
|
547
549
|
// Direct descendant option.
|
548
550
|
if (multiple) {
|
549
551
|
appendOptionWithIcon($select, $(this), 'multiple');
|
550
|
-
|
551
552
|
} else {
|
552
553
|
appendOptionWithIcon($select, $(this));
|
553
554
|
}
|
@@ -556,7 +557,7 @@
|
|
556
557
|
var selectOptions = $(this).children('option');
|
557
558
|
options.append($('<li class="optgroup"><span>' + $(this).attr('label') + '</span></li>'));
|
558
559
|
|
559
|
-
selectOptions.each(function() {
|
560
|
+
selectOptions.each(function () {
|
560
561
|
appendOptionWithIcon($select, $(this), 'optgroup-option');
|
561
562
|
});
|
562
563
|
}
|
@@ -570,7 +571,9 @@
|
|
570
571
|
var selected = true;
|
571
572
|
|
572
573
|
if (multiple) {
|
573
|
-
$('input[type="checkbox"]', this).prop('checked', function(i, v) {
|
574
|
+
$('input[type="checkbox"]', this).prop('checked', function (i, v) {
|
575
|
+
return !v;
|
576
|
+
});
|
574
577
|
selected = toggleEntryFromArray(valuesSelected, i, $select);
|
575
578
|
$newSelect.trigger('focus');
|
576
579
|
} else {
|
@@ -594,20 +597,18 @@
|
|
594
597
|
$select.wrap(wrapper);
|
595
598
|
// Add Select Display Element
|
596
599
|
var dropdownIcon = $('<span class="caret">▼</span>');
|
597
|
-
if ($select.is(':disabled'))
|
598
|
-
dropdownIcon.addClass('disabled');
|
599
600
|
|
600
601
|
// escape double quotes
|
601
602
|
var sanitizedLabelHtml = label.replace(/"/g, '"');
|
602
603
|
|
603
|
-
var $newSelect = $('<input type="text" class="select-dropdown" readonly="true" ' + (
|
604
|
+
var $newSelect = $('<input type="text" class="select-dropdown" readonly="true" ' + ($select.is(':disabled') ? 'disabled' : '') + ' data-activates="select-options-' + uniqueID + '" value="' + sanitizedLabelHtml + '"/>');
|
604
605
|
$select.before($newSelect);
|
605
606
|
$newSelect.before(dropdownIcon);
|
606
607
|
|
607
608
|
$newSelect.after(options);
|
608
609
|
// Check if section element is disabled
|
609
610
|
if (!$select.is(':disabled')) {
|
610
|
-
$newSelect.dropdown({'hover': false});
|
611
|
+
$newSelect.dropdown({ 'hover': false });
|
611
612
|
}
|
612
613
|
|
613
614
|
// Copy tabindex
|
@@ -618,9 +619,10 @@
|
|
618
619
|
$select.addClass('initialized');
|
619
620
|
|
620
621
|
$newSelect.on({
|
621
|
-
'focus': function (){
|
622
|
+
'focus': function () {
|
622
623
|
if ($('ul.select-dropdown').not(options[0]).is(':visible')) {
|
623
624
|
$('input.select-dropdown').trigger('close');
|
625
|
+
$(window).off('click.select');
|
624
626
|
}
|
625
627
|
if (!options.is(':visible')) {
|
626
628
|
$(this).trigger('open', ['focus']);
|
@@ -629,36 +631,36 @@
|
|
629
631
|
label = label.split(',')[0];
|
630
632
|
}
|
631
633
|
|
632
|
-
var selectedOption = options.find('li').filter(function() {
|
634
|
+
var selectedOption = options.find('li').filter(function () {
|
633
635
|
return $(this).text().toLowerCase() === label.toLowerCase();
|
634
636
|
})[0];
|
635
637
|
activateOption(options, selectedOption, true);
|
638
|
+
|
639
|
+
$(window).off('click.select').on('click.select', function () {
|
640
|
+
multiple && (optionsHover || $newSelect.trigger('close'));
|
641
|
+
$(window).off('click.select');
|
642
|
+
});
|
636
643
|
}
|
637
644
|
},
|
638
|
-
'click': function (e){
|
645
|
+
'click': function (e) {
|
639
646
|
e.stopPropagation();
|
640
647
|
}
|
641
648
|
});
|
642
649
|
|
643
|
-
$newSelect.on('blur', function() {
|
650
|
+
$newSelect.on('blur', function () {
|
644
651
|
if (!multiple) {
|
645
652
|
$(this).trigger('close');
|
653
|
+
$(window).off('click.select');
|
646
654
|
}
|
647
655
|
options.find('li.selected').removeClass('selected');
|
648
656
|
});
|
649
657
|
|
650
|
-
options.hover(function() {
|
658
|
+
options.hover(function () {
|
651
659
|
optionsHover = true;
|
652
660
|
}, function () {
|
653
661
|
optionsHover = false;
|
654
662
|
});
|
655
663
|
|
656
|
-
$(window).on({
|
657
|
-
'click': function () {
|
658
|
-
multiple && (optionsHover || $newSelect.trigger('close'));
|
659
|
-
}
|
660
|
-
});
|
661
|
-
|
662
664
|
// Add initial multiple selections.
|
663
665
|
if (multiple) {
|
664
666
|
$select.find("option:selected:not(:disabled)").each(function () {
|
@@ -675,7 +677,7 @@
|
|
675
677
|
* @param {Element} newOption element of the new option
|
676
678
|
* @param {Boolean} firstActivation If on first activation of select
|
677
679
|
*/
|
678
|
-
var activateOption = function(collection, newOption, firstActivation) {
|
680
|
+
var activateOption = function (collection, newOption, firstActivation) {
|
679
681
|
if (newOption) {
|
680
682
|
collection.find('li.selected').removeClass('selected');
|
681
683
|
var option = $(newOption);
|
@@ -689,78 +691,79 @@
|
|
689
691
|
// Allow user to search by typing
|
690
692
|
// this array is cleared after 1 second
|
691
693
|
var filterQuery = [],
|
692
|
-
onKeyDown = function(e){
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
694
|
+
onKeyDown = function (e) {
|
695
|
+
// TAB - switch to another input
|
696
|
+
if (e.which == 9) {
|
697
|
+
$newSelect.trigger('close');
|
698
|
+
return;
|
699
|
+
}
|
698
700
|
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
701
|
+
// ARROW DOWN WHEN SELECT IS CLOSED - open select options
|
702
|
+
if (e.which == 40 && !options.is(':visible')) {
|
703
|
+
$newSelect.trigger('open');
|
704
|
+
return;
|
705
|
+
}
|
704
706
|
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
707
|
+
// ENTER WHEN SELECT IS CLOSED - submit form
|
708
|
+
if (e.which == 13 && !options.is(':visible')) {
|
709
|
+
return;
|
710
|
+
}
|
709
711
|
|
710
|
-
|
712
|
+
e.preventDefault();
|
711
713
|
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
714
|
+
// CASE WHEN USER TYPE LETTERS
|
715
|
+
var letter = String.fromCharCode(e.which).toLowerCase(),
|
716
|
+
nonLetters = [9, 13, 27, 38, 40];
|
717
|
+
if (letter && nonLetters.indexOf(e.which) === -1) {
|
718
|
+
filterQuery.push(letter);
|
717
719
|
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
720
|
+
var string = filterQuery.join(''),
|
721
|
+
newOption = options.find('li').filter(function () {
|
722
|
+
return $(this).text().toLowerCase().indexOf(string) === 0;
|
723
|
+
})[0];
|
722
724
|
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
725
|
+
if (newOption) {
|
726
|
+
activateOption(options, newOption);
|
727
|
+
}
|
728
|
+
}
|
727
729
|
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
}
|
736
|
-
}
|
730
|
+
// ENTER - select option and close when select options are opened
|
731
|
+
if (e.which == 13) {
|
732
|
+
var activeOption = options.find('li.selected:not(.disabled)')[0];
|
733
|
+
if (activeOption) {
|
734
|
+
$(activeOption).trigger('click');
|
735
|
+
if (!multiple) {
|
736
|
+
$newSelect.trigger('close');
|
737
737
|
}
|
738
|
+
}
|
739
|
+
}
|
738
740
|
|
739
|
-
|
740
|
-
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
741
|
+
// ARROW DOWN - move to next not disabled option
|
742
|
+
if (e.which == 40) {
|
743
|
+
if (options.find('li.selected').length) {
|
744
|
+
newOption = options.find('li.selected').next('li:not(.disabled)')[0];
|
745
|
+
} else {
|
746
|
+
newOption = options.find('li:not(.disabled)')[0];
|
747
|
+
}
|
748
|
+
activateOption(options, newOption);
|
749
|
+
}
|
748
750
|
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
751
|
+
// ESC - close options
|
752
|
+
if (e.which == 27) {
|
753
|
+
$newSelect.trigger('close');
|
754
|
+
}
|
753
755
|
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
758
|
-
|
759
|
-
}
|
756
|
+
// ARROW UP - move to previous not disabled option
|
757
|
+
if (e.which == 38) {
|
758
|
+
newOption = options.find('li.selected').prev('li:not(.disabled)')[0];
|
759
|
+
if (newOption) activateOption(options, newOption);
|
760
|
+
}
|
760
761
|
|
761
|
-
|
762
|
-
|
763
|
-
|
762
|
+
// Automaticaly clean filter query so user can search again by starting letters
|
763
|
+
setTimeout(function () {
|
764
|
+
filterQuery = [];
|
765
|
+
}, 1000);
|
766
|
+
};
|
764
767
|
|
765
768
|
$newSelect.on('keydown', onKeyDown);
|
766
769
|
});
|
@@ -800,5 +803,4 @@
|
|
800
803
|
select.siblings('input.select-dropdown').val(value);
|
801
804
|
}
|
802
805
|
};
|
803
|
-
|
804
|
-
}( jQuery ));
|
806
|
+
})(jQuery);
|