materialize-sass 1.0.0.beta → 1.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/assets/javascripts/materialize.js +277 -195
- data/assets/javascripts/materialize/autocomplete.js +94 -37
- data/assets/javascripts/materialize/buttons.js +4 -6
- data/assets/javascripts/materialize/carousel.js +7 -7
- data/assets/javascripts/materialize/collapsible.js +0 -2
- data/assets/javascripts/materialize/datepicker.js +27 -44
- data/assets/javascripts/materialize/dropdown.js +29 -9
- data/assets/javascripts/materialize/extras/nouislider.js +1 -1
- data/assets/javascripts/materialize/extras/nouislider.min.js +1 -1
- data/assets/javascripts/materialize/forms.js +4 -4
- data/assets/javascripts/materialize/global.js +26 -11
- data/assets/javascripts/materialize/materialbox.js +6 -6
- data/assets/javascripts/materialize/modal.js +8 -4
- data/assets/javascripts/materialize/parallax.js +1 -1
- data/assets/javascripts/materialize/range.js +2 -19
- data/assets/javascripts/materialize/select.js +22 -23
- data/assets/javascripts/materialize/sidenav.js +3 -2
- data/assets/javascripts/materialize/slider.js +2 -1
- data/assets/javascripts/materialize/tabs.js +3 -3
- data/assets/javascripts/materialize/timepicker.js +22 -5
- data/assets/javascripts/materialize/toasts.js +4 -3
- data/assets/javascripts/materialize/tooltip.js +8 -3
- data/assets/stylesheets/materialize/components/_buttons.scss +2 -1
- data/assets/stylesheets/materialize/components/_collapsible.scss +7 -0
- data/assets/stylesheets/materialize/components/_datepicker.scss +4 -0
- data/assets/stylesheets/materialize/components/_dropdown.scss +10 -1
- data/assets/stylesheets/materialize/components/_sidenav.scss +1 -1
- data/assets/stylesheets/materialize/components/_toast.scss +0 -1
- data/assets/stylesheets/materialize/components/_variables.scss +1 -0
- data/assets/stylesheets/materialize/components/forms/_input-fields.scss +2 -0
- data/assets/stylesheets/materialize/components/forms/_range.scss +3 -3
- data/assets/stylesheets/materialize/components/forms/_select.scss +6 -4
- data/assets/stylesheets/materialize/extras/nouislider.css +1 -1
- data/lib/materialize-sass/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2f028d178b727d59bf1b30ffe7f4aaa9cf28c083b4d5a65e4271f2cd39bba78
|
4
|
+
data.tar.gz: 15a84af3a0bc12ca766d90141cc77e35c935a6caaf4b8f35b1076c3b0db7d2af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9bfad0988ccca8ca7701937f35fe38b391241662cd07b14cb6072762dd5f4b3ba37ee95d27228301dfe0f493017fc843a583c6313d3c4aaccabd81f93a1f8eee
|
7
|
+
data.tar.gz: 29b7c9502085cb82b4a1fe7d52348be6a3080de98374c1480fbdffa90161c21b1ee9f0145a4e5a63c899b4918cc1b8f3785b3fe646ce9cc75e9a9fd0471d80e4
|
data/README.md
CHANGED
@@ -7,7 +7,7 @@ example: http://materialize.labs.my/
|
|
7
7
|
source: https://github.com/mkhairi/materialize-rails
|
8
8
|
|
9
9
|
# Notices
|
10
|
-
This master branch now v1.0.0.
|
10
|
+
This master branch now v1.0.0.rc1
|
11
11
|
|
12
12
|
Documentation for previous releases (v0.100.*) are available [this branch.](https://github.com/mkhairi/materialize-sass/tree/v0.100)
|
13
13
|
|
@@ -16,7 +16,7 @@ Documentation for previous releases (v0.100.*) are available [this branch.](http
|
|
16
16
|
In your Gemfile you need to add the `materialize-sass` gem:
|
17
17
|
|
18
18
|
```ruby
|
19
|
-
gem 'materialize-sass', '~> 1.0.0.
|
19
|
+
gem 'materialize-sass', '~> 1.0.0.rc1'
|
20
20
|
```
|
21
21
|
|
22
22
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Materialize v1.0.0-
|
2
|
+
* Materialize v1.0.0-rc.1 (http://materializecss.com)
|
3
3
|
* Copyright 2014-2017 Materialize
|
4
4
|
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
5
5
|
*/
|
@@ -1071,8 +1071,8 @@ var Component = function () {
|
|
1071
1071
|
})(window);
|
1072
1072
|
|
1073
1073
|
// AMD
|
1074
|
-
if (typeof define ===
|
1075
|
-
define(
|
1074
|
+
if (typeof define === 'function' && define.amd) {
|
1075
|
+
define('M', [], function () {
|
1076
1076
|
return M;
|
1077
1077
|
});
|
1078
1078
|
|
@@ -1096,18 +1096,31 @@ M.keys = {
|
|
1096
1096
|
* TabPress Keydown handler
|
1097
1097
|
*/
|
1098
1098
|
M.tabPressed = false;
|
1099
|
+
M.keyDown = false;
|
1099
1100
|
var docHandleKeydown = function (e) {
|
1100
|
-
|
1101
|
+
M.keyDown = true;
|
1102
|
+
if (e.which === M.keys.TAB || e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) {
|
1101
1103
|
M.tabPressed = true;
|
1102
1104
|
}
|
1103
1105
|
};
|
1104
1106
|
var docHandleKeyup = function (e) {
|
1105
|
-
|
1107
|
+
M.keyDown = false;
|
1108
|
+
if (e.which === M.keys.TAB || e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) {
|
1106
1109
|
M.tabPressed = false;
|
1107
1110
|
}
|
1108
1111
|
};
|
1109
|
-
|
1110
|
-
|
1112
|
+
var docHandleFocus = function (e) {
|
1113
|
+
if (M.keyDown) {
|
1114
|
+
document.body.classList.add('keyboard-focused');
|
1115
|
+
}
|
1116
|
+
};
|
1117
|
+
var docHandleBlur = function (e) {
|
1118
|
+
document.body.classList.remove('keyboard-focused');
|
1119
|
+
};
|
1120
|
+
document.addEventListener('keydown', docHandleKeydown, true);
|
1121
|
+
document.addEventListener('keyup', docHandleKeyup, true);
|
1122
|
+
document.addEventListener('focus', docHandleFocus, true);
|
1123
|
+
document.addEventListener('blur', docHandleBlur, true);
|
1111
1124
|
|
1112
1125
|
/**
|
1113
1126
|
* Initialize jQuery wrapper for plugin
|
@@ -1207,7 +1220,7 @@ M.guid = function () {
|
|
1207
1220
|
* @returns {string}
|
1208
1221
|
*/
|
1209
1222
|
M.escapeHash = function (hash) {
|
1210
|
-
return hash.replace(/(:|\.|\[|\]|,|=|\/)/g,
|
1223
|
+
return hash.replace(/(:|\.|\[|\]|,|=|\/)/g, '\\$1');
|
1211
1224
|
};
|
1212
1225
|
|
1213
1226
|
M.elementOrParentIsFixed = function (element) {
|
@@ -1215,7 +1228,7 @@ M.elementOrParentIsFixed = function (element) {
|
|
1215
1228
|
var $checkElements = $element.add($element.parents());
|
1216
1229
|
var isFixed = false;
|
1217
1230
|
$checkElements.each(function () {
|
1218
|
-
if ($(this).css(
|
1231
|
+
if ($(this).css('position') === 'fixed') {
|
1219
1232
|
isFixed = true;
|
1220
1233
|
return false;
|
1221
1234
|
}
|
@@ -1255,6 +1268,8 @@ M.checkWithinContainer = function (container, bounding, offset) {
|
|
1255
1268
|
};
|
1256
1269
|
|
1257
1270
|
var containerRect = container.getBoundingClientRect();
|
1271
|
+
// If body element is smaller than viewport, use viewport height instead.
|
1272
|
+
var containerBottom = container === document.body ? Math.max(containerRect.bottom, window.innerHeight) : containerRect.bottom;
|
1258
1273
|
|
1259
1274
|
var scrollLeft = container.scrollLeft;
|
1260
1275
|
var scrollTop = container.scrollTop;
|
@@ -1275,7 +1290,7 @@ M.checkWithinContainer = function (container, bounding, offset) {
|
|
1275
1290
|
edges.top = true;
|
1276
1291
|
}
|
1277
1292
|
|
1278
|
-
if (scrolledY + bounding.height >
|
1293
|
+
if (scrolledY + bounding.height > containerBottom - offset || scrolledY + bounding.height > window.innerHeight - offset) {
|
1279
1294
|
edges.bottom = true;
|
1280
1295
|
}
|
1281
1296
|
|
@@ -1358,7 +1373,7 @@ M.getIdFromTrigger = function (trigger) {
|
|
1358
1373
|
if (id) {
|
1359
1374
|
id = id.slice(1);
|
1360
1375
|
} else {
|
1361
|
-
id =
|
1376
|
+
id = '';
|
1362
1377
|
}
|
1363
1378
|
}
|
1364
1379
|
return id;
|
@@ -2115,7 +2130,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2115
2130
|
|
2116
2131
|
var $collapsibleLi = this.$el.children('li').eq(index);
|
2117
2132
|
if ($collapsibleLi.length && !$collapsibleLi[0].classList.contains('active')) {
|
2118
|
-
|
2119
2133
|
// onOpenStart callback
|
2120
2134
|
if (typeof this.options.onOpenStart === 'function') {
|
2121
2135
|
this.options.onOpenStart.call(this, $collapsibleLi[0]);
|
@@ -2147,7 +2161,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2147
2161
|
value: function close(index) {
|
2148
2162
|
var $collapsibleLi = this.$el.children('li').eq(index);
|
2149
2163
|
if ($collapsibleLi.length && $collapsibleLi[0].classList.contains('active')) {
|
2150
|
-
|
2151
2164
|
// onCloseStart callback
|
2152
2165
|
if (typeof this.options.onCloseStart === 'function') {
|
2153
2166
|
this.options.onCloseStart.call(this, $collapsibleLi[0]);
|
@@ -2206,7 +2219,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2206
2219
|
onOpenStart: null,
|
2207
2220
|
onOpenEnd: null,
|
2208
2221
|
onCloseStart: null,
|
2209
|
-
onCloseEnd: null
|
2222
|
+
onCloseEnd: null,
|
2223
|
+
onItemClick: null
|
2210
2224
|
};
|
2211
2225
|
|
2212
2226
|
/**
|
@@ -2279,6 +2293,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2279
2293
|
_this8._resetFilterQueryBound = _this8._resetFilterQuery.bind(_this8);
|
2280
2294
|
_this8._handleDocumentClickBound = _this8._handleDocumentClick.bind(_this8);
|
2281
2295
|
_this8._handleDocumentTouchmoveBound = _this8._handleDocumentTouchmove.bind(_this8);
|
2296
|
+
_this8._handleDropdownClickBound = _this8._handleDropdownClick.bind(_this8);
|
2282
2297
|
_this8._handleDropdownKeydownBound = _this8._handleDropdownKeydown.bind(_this8);
|
2283
2298
|
_this8._handleTriggerKeydownBound = _this8._handleTriggerKeydown.bind(_this8);
|
2284
2299
|
_this8._setupEventHandlers();
|
@@ -2309,6 +2324,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2309
2324
|
// Trigger keydown handler
|
2310
2325
|
this.el.addEventListener('keydown', this._handleTriggerKeydownBound);
|
2311
2326
|
|
2327
|
+
// Item click handler
|
2328
|
+
this.dropdownEl.addEventListener('click', this._handleDropdownClickBound);
|
2329
|
+
|
2312
2330
|
// Hover event handlers
|
2313
2331
|
if (this.options.hover) {
|
2314
2332
|
this._handleMouseEnterBound = this._handleMouseEnter.bind(this);
|
@@ -2331,13 +2349,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2331
2349
|
}, {
|
2332
2350
|
key: "_removeEventHandlers",
|
2333
2351
|
value: function _removeEventHandlers() {
|
2334
|
-
// Trigger keydown handler
|
2335
2352
|
this.el.removeEventListener('keydown', this._handleTriggerKeydownBound);
|
2353
|
+
this.dropdownEl.removeEventListener('click', this._handleDropdownClickBound);
|
2336
2354
|
|
2337
2355
|
if (this.options.hover) {
|
2338
|
-
this.el.
|
2339
|
-
this.el.
|
2340
|
-
this.dropdownEl.
|
2356
|
+
this.el.removeEventListener('mouseenter', this._handleMouseEnterBound);
|
2357
|
+
this.el.removeEventListener('mouseleave', this._handleMouseLeaveBound);
|
2358
|
+
this.dropdownEl.removeEventListener('mouseleave', this._handleMouseLeaveBound);
|
2341
2359
|
} else {
|
2342
2360
|
this.el.removeEventListener('click', this._handleClickBound);
|
2343
2361
|
}
|
@@ -2430,6 +2448,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2430
2448
|
}
|
2431
2449
|
}
|
2432
2450
|
|
2451
|
+
/**
|
2452
|
+
* Handle Dropdown Click
|
2453
|
+
* @param {Event} e
|
2454
|
+
*/
|
2455
|
+
|
2456
|
+
}, {
|
2457
|
+
key: "_handleDropdownClick",
|
2458
|
+
value: function _handleDropdownClick(e) {
|
2459
|
+
// onItemClick callback
|
2460
|
+
if (typeof this.options.onItemClick === 'function') {
|
2461
|
+
var itemEl = $(e.target).closest('li')[0];
|
2462
|
+
this.options.onItemClick.call(this, itemEl);
|
2463
|
+
}
|
2464
|
+
}
|
2465
|
+
|
2433
2466
|
/**
|
2434
2467
|
* Handle Dropdown Keydown
|
2435
2468
|
* @param {Event} e
|
@@ -2637,8 +2670,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2637
2670
|
value: [0, 1],
|
2638
2671
|
easing: 'easeOutQuad'
|
2639
2672
|
},
|
2640
|
-
scaleX: [.3, 1],
|
2641
|
-
scaleY: [.3, 1],
|
2673
|
+
scaleX: [0.3, 1],
|
2674
|
+
scaleY: [0.3, 1],
|
2642
2675
|
duration: this.options.inDuration,
|
2643
2676
|
easing: 'easeOutQuint',
|
2644
2677
|
complete: function (anim) {
|
@@ -2671,8 +2704,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2671
2704
|
value: 0,
|
2672
2705
|
easing: 'easeOutQuint'
|
2673
2706
|
},
|
2674
|
-
scaleX: .3,
|
2675
|
-
scaleY: .3,
|
2707
|
+
scaleX: 0.3,
|
2708
|
+
scaleY: 0.3,
|
2676
2709
|
duration: this.options.outDuration,
|
2677
2710
|
easing: 'easeOutQuint',
|
2678
2711
|
complete: function (anim) {
|
@@ -2880,6 +2913,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2880
2913
|
_this12._openingTrigger = undefined;
|
2881
2914
|
_this12.$overlay = $('<div class="modal-overlay"></div>');
|
2882
2915
|
_this12.el.tabIndex = 0;
|
2916
|
+
_this12._nthModalOpened = 0;
|
2883
2917
|
|
2884
2918
|
Modal._count++;
|
2885
2919
|
_this12._setupEventHandlers();
|
@@ -2999,7 +3033,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2999
3033
|
}, {
|
3000
3034
|
key: "_handleFocus",
|
3001
3035
|
value: function _handleFocus(e) {
|
3002
|
-
if
|
3036
|
+
// Only trap focus if this modal is the last model opened (prevents loops in nested modals).
|
3037
|
+
if (!this.el.contains(e.target) && this._nthModalOpened === Modal._modalsOpen) {
|
3003
3038
|
this.el.focus();
|
3004
3039
|
}
|
3005
3040
|
}
|
@@ -3057,8 +3092,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3057
3092
|
$.extend(enterAnimOptions, {
|
3058
3093
|
top: [this.options.startingTop, this.options.endingTop],
|
3059
3094
|
opacity: 1,
|
3060
|
-
scaleX: [.8, 1],
|
3061
|
-
scaleY: [.8, 1]
|
3095
|
+
scaleX: [0.8, 1],
|
3096
|
+
scaleY: [0.8, 1]
|
3062
3097
|
});
|
3063
3098
|
anim(enterAnimOptions);
|
3064
3099
|
}
|
@@ -3132,6 +3167,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3132
3167
|
|
3133
3168
|
this.isOpen = true;
|
3134
3169
|
Modal._modalsOpen++;
|
3170
|
+
this._nthModalOpened = Modal._modalsOpen;
|
3135
3171
|
|
3136
3172
|
// Set Z-Index based on number of currently open modals
|
3137
3173
|
this.$overlay[0].style.zIndex = 1000 + Modal._modalsOpen * 2;
|
@@ -3182,6 +3218,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3182
3218
|
|
3183
3219
|
this.isOpen = false;
|
3184
3220
|
Modal._modalsOpen--;
|
3221
|
+
this._nthModalOpened = 0;
|
3185
3222
|
|
3186
3223
|
// Call onCloseStart callback
|
3187
3224
|
if (typeof this.options.onCloseStart === 'function') {
|
@@ -3197,7 +3234,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3197
3234
|
|
3198
3235
|
if (this.options.dismissible) {
|
3199
3236
|
document.removeEventListener('keydown', this._handleKeydownBound);
|
3200
|
-
document.removeEventListener('focus', this._handleFocusBound);
|
3237
|
+
document.removeEventListener('focus', this._handleFocusBound, true);
|
3201
3238
|
}
|
3202
3239
|
|
3203
3240
|
anim.remove(this.el);
|
@@ -3302,7 +3339,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3302
3339
|
_this15.originalWidth = 0;
|
3303
3340
|
_this15.originalHeight = 0;
|
3304
3341
|
_this15.originInlineStyles = _this15.$el.attr('style');
|
3305
|
-
_this15.caption = _this15.el.getAttribute('data-caption') ||
|
3342
|
+
_this15.caption = _this15.el.getAttribute('data-caption') || '';
|
3306
3343
|
|
3307
3344
|
// Wrap
|
3308
3345
|
_this15.$el.before(_this15.placeholder);
|
@@ -3527,7 +3564,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3527
3564
|
value: function _updateVars() {
|
3528
3565
|
this.windowWidth = window.innerWidth;
|
3529
3566
|
this.windowHeight = window.innerHeight;
|
3530
|
-
this.caption = this.el.getAttribute('data-caption') ||
|
3567
|
+
this.caption = this.el.getAttribute('data-caption') || '';
|
3531
3568
|
}
|
3532
3569
|
|
3533
3570
|
/**
|
@@ -3616,14 +3653,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3616
3653
|
});
|
3617
3654
|
|
3618
3655
|
// Add and animate caption if it exists
|
3619
|
-
if (this.caption !==
|
3656
|
+
if (this.caption !== '') {
|
3620
3657
|
if (this.$photocaption) {
|
3621
3658
|
anim.remove(this.$photoCaption[0]);
|
3622
3659
|
}
|
3623
3660
|
this.$photoCaption = $('<div class="materialbox-caption"></div>');
|
3624
3661
|
this.$photoCaption.text(this.caption);
|
3625
3662
|
$('body').append(this.$photoCaption);
|
3626
|
-
this.$photoCaption.css({
|
3663
|
+
this.$photoCaption.css({ display: 'inline' });
|
3627
3664
|
|
3628
3665
|
anim({
|
3629
3666
|
targets: this.$photoCaption[0],
|
@@ -3682,7 +3719,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3682
3719
|
anim.remove(this.el);
|
3683
3720
|
anim.remove(this.$overlay[0]);
|
3684
3721
|
|
3685
|
-
if (this.caption !==
|
3722
|
+
if (this.caption !== '') {
|
3686
3723
|
anim.remove(this.$photoCaption[0]);
|
3687
3724
|
}
|
3688
3725
|
|
@@ -3705,7 +3742,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3705
3742
|
this._animateImageOut();
|
3706
3743
|
|
3707
3744
|
// Remove Caption + reset css settings on image
|
3708
|
-
if (this.caption !==
|
3745
|
+
if (this.caption !== '') {
|
3709
3746
|
anim({
|
3710
3747
|
targets: this.$photoCaption[0],
|
3711
3748
|
opacity: 0,
|
@@ -3777,7 +3814,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3777
3814
|
_this20.$img = _this20.$el.find('img').first();
|
3778
3815
|
_this20.$img.each(function () {
|
3779
3816
|
var el = this;
|
3780
|
-
if (el.complete) $(el).trigger(
|
3817
|
+
if (el.complete) $(el).trigger('load');
|
3781
3818
|
});
|
3782
3819
|
|
3783
3820
|
_this20._updateParallax();
|
@@ -4054,7 +4091,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4054
4091
|
}
|
4055
4092
|
|
4056
4093
|
// Act as regular link if target attribute is specified.
|
4057
|
-
if (!!tabLink.attr(
|
4094
|
+
if (!!tabLink.attr('target')) {
|
4058
4095
|
return;
|
4059
4096
|
}
|
4060
4097
|
|
@@ -4078,7 +4115,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4078
4115
|
if (this.options.swipeable) {
|
4079
4116
|
if (this._tabsCarousel) {
|
4080
4117
|
this._tabsCarousel.set(this.index, function () {
|
4081
|
-
if (typeof _this22.options.onShow ===
|
4118
|
+
if (typeof _this22.options.onShow === 'function') {
|
4082
4119
|
_this22.options.onShow.call(_this22, _this22.$content[0]);
|
4083
4120
|
}
|
4084
4121
|
});
|
@@ -4194,7 +4231,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4194
4231
|
_this24.$activeTabLink = _this24.$tabLinks.eq(_this24.index);
|
4195
4232
|
_this24.$activeTabLink.addClass('active');
|
4196
4233
|
_this24._animateIndicator(prevIndex);
|
4197
|
-
if (typeof _this24.options.onShow ===
|
4234
|
+
if (typeof _this24.options.onShow === 'function') {
|
4198
4235
|
_this24.options.onShow.call(_this24, _this24.$content[0]);
|
4199
4236
|
}
|
4200
4237
|
}
|
@@ -4473,7 +4510,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4473
4510
|
if (this.isOpen) {
|
4474
4511
|
return;
|
4475
4512
|
}
|
4476
|
-
|
4477
4513
|
this.isOpen = true;
|
4478
4514
|
// Update tooltip content with HTML attribute options
|
4479
4515
|
this.options = $.extend({}, this.options, this._getAttributeOptions());
|
@@ -4487,6 +4523,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4487
4523
|
return;
|
4488
4524
|
}
|
4489
4525
|
|
4526
|
+
this.isHovered = false;
|
4527
|
+
this.isFocused = false;
|
4490
4528
|
this.isOpen = false;
|
4491
4529
|
this._setExitDelayTimeout();
|
4492
4530
|
}
|
@@ -4640,19 +4678,23 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4640
4678
|
key: "_handleMouseEnter",
|
4641
4679
|
value: function _handleMouseEnter() {
|
4642
4680
|
this.isHovered = true;
|
4681
|
+
this.isFocused = false; // Allows close of tooltip when opened by focus.
|
4643
4682
|
this.open();
|
4644
4683
|
}
|
4645
4684
|
}, {
|
4646
4685
|
key: "_handleMouseLeave",
|
4647
4686
|
value: function _handleMouseLeave() {
|
4648
4687
|
this.isHovered = false;
|
4688
|
+
this.isFocused = false; // Allows close of tooltip when opened by focus.
|
4649
4689
|
this.close();
|
4650
4690
|
}
|
4651
4691
|
}, {
|
4652
4692
|
key: "_handleFocus",
|
4653
4693
|
value: function _handleFocus() {
|
4654
|
-
|
4655
|
-
|
4694
|
+
if (M.tabPressed) {
|
4695
|
+
this.isFocused = true;
|
4696
|
+
this.open();
|
4697
|
+
}
|
4656
4698
|
}
|
4657
4699
|
}, {
|
4658
4700
|
key: "_handleBlur",
|
@@ -5085,6 +5127,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5085
5127
|
var toastElement = this._createToast();
|
5086
5128
|
toastElement.M_Toast = this;
|
5087
5129
|
this.el = toastElement;
|
5130
|
+
this.$el = $(toastElement);
|
5088
5131
|
this._animateIn();
|
5089
5132
|
this._setTimer();
|
5090
5133
|
}
|
@@ -5135,7 +5178,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5135
5178
|
targets: this.el,
|
5136
5179
|
top: 0,
|
5137
5180
|
opacity: 1,
|
5138
|
-
duration:
|
5181
|
+
duration: this.options.inDuration,
|
5139
5182
|
easing: 'easeOutCubic'
|
5140
5183
|
});
|
5141
5184
|
}
|
@@ -5195,7 +5238,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5195
5238
|
_this29.options.completeCallback();
|
5196
5239
|
}
|
5197
5240
|
// Remove toast from DOM
|
5198
|
-
_this29
|
5241
|
+
_this29.$el.remove();
|
5199
5242
|
Toast._toasts.splice(Toast._toasts.indexOf(_this29), 1);
|
5200
5243
|
if (Toast._toasts.length === 0) {
|
5201
5244
|
Toast._removeContainer();
|
@@ -5249,7 +5292,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5249
5292
|
document.removeEventListener('mousemove', Toast._onDragMove);
|
5250
5293
|
document.removeEventListener('mouseup', Toast._onDragEnd);
|
5251
5294
|
|
5252
|
-
Toast._container.
|
5295
|
+
$(Toast._container).remove();
|
5253
5296
|
Toast._container = null;
|
5254
5297
|
}
|
5255
5298
|
|
@@ -5485,6 +5528,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5485
5528
|
this._overlay.parentNode.removeChild(this._overlay);
|
5486
5529
|
this.dragTarget.parentNode.removeChild(this.dragTarget);
|
5487
5530
|
this.el.M_Sidenav = undefined;
|
5531
|
+
this.el.style.transform = '';
|
5488
5532
|
|
5489
5533
|
var index = Sidenav._sidenavs.indexOf(this);
|
5490
5534
|
if (index >= 0) {
|
@@ -5673,7 +5717,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5673
5717
|
key: "_handleDragTargetRelease",
|
5674
5718
|
value: function _handleDragTargetRelease() {
|
5675
5719
|
if (this.isDragged) {
|
5676
|
-
if (this.percentOpen > .
|
5720
|
+
if (this.percentOpen > 0.2) {
|
5677
5721
|
this.open();
|
5678
5722
|
} else {
|
5679
5723
|
this._animateOut();
|
@@ -5740,7 +5784,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5740
5784
|
key: "_handleCloseRelease",
|
5741
5785
|
value: function _handleCloseRelease() {
|
5742
5786
|
if (this.isOpen && this.isDragged) {
|
5743
|
-
if (this.percentOpen > .
|
5787
|
+
if (this.percentOpen > 0.8) {
|
5744
5788
|
this._animateIn();
|
5745
5789
|
} else {
|
5746
5790
|
this.close();
|
@@ -6408,6 +6452,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6408
6452
|
_this36.oldVal;
|
6409
6453
|
_this36.$inputField = _this36.$el.closest('.input-field');
|
6410
6454
|
_this36.$active = $();
|
6455
|
+
_this36._mousedown = false;
|
6411
6456
|
_this36._setupDropdown();
|
6412
6457
|
|
6413
6458
|
_this36._setupEventHandlers();
|
@@ -6437,16 +6482,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6437
6482
|
this._handleInputBlurBound = this._handleInputBlur.bind(this);
|
6438
6483
|
this._handleInputKeyupAndFocusBound = this._handleInputKeyupAndFocus.bind(this);
|
6439
6484
|
this._handleInputKeydownBound = this._handleInputKeydown.bind(this);
|
6485
|
+
this._handleInputClickBound = this._handleInputClick.bind(this);
|
6440
6486
|
this._handleContainerMousedownAndTouchstartBound = this._handleContainerMousedownAndTouchstart.bind(this);
|
6487
|
+
this._handleContainerMouseupAndTouchendBound = this._handleContainerMouseupAndTouchend.bind(this);
|
6441
6488
|
|
6442
6489
|
this.el.addEventListener('blur', this._handleInputBlurBound);
|
6443
6490
|
this.el.addEventListener('keyup', this._handleInputKeyupAndFocusBound);
|
6444
6491
|
this.el.addEventListener('focus', this._handleInputKeyupAndFocusBound);
|
6445
6492
|
this.el.addEventListener('keydown', this._handleInputKeydownBound);
|
6493
|
+
this.el.addEventListener('click', this._handleInputClickBound);
|
6446
6494
|
this.container.addEventListener('mousedown', this._handleContainerMousedownAndTouchstartBound);
|
6495
|
+
this.container.addEventListener('mouseup', this._handleContainerMouseupAndTouchendBound);
|
6447
6496
|
|
6448
6497
|
if (typeof window.ontouchstart !== 'undefined') {
|
6449
6498
|
this.container.addEventListener('touchstart', this._handleContainerMousedownAndTouchstartBound);
|
6499
|
+
this.container.addEventListener('touchend', this._handleContainerMouseupAndTouchendBound);
|
6450
6500
|
}
|
6451
6501
|
}
|
6452
6502
|
|
@@ -6461,10 +6511,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6461
6511
|
this.el.removeEventListener('keyup', this._handleInputKeyupAndFocusBound);
|
6462
6512
|
this.el.removeEventListener('focus', this._handleInputKeyupAndFocusBound);
|
6463
6513
|
this.el.removeEventListener('keydown', this._handleInputKeydownBound);
|
6514
|
+
this.el.removeEventListener('click', this._handleInputClickBound);
|
6464
6515
|
this.container.removeEventListener('mousedown', this._handleContainerMousedownAndTouchstartBound);
|
6516
|
+
this.container.removeEventListener('mouseup', this._handleContainerMouseupAndTouchendBound);
|
6465
6517
|
|
6466
6518
|
if (typeof window.ontouchstart !== 'undefined') {
|
6467
6519
|
this.container.removeEventListener('touchstart', this._handleContainerMousedownAndTouchstartBound);
|
6520
|
+
this.container.removeEventListener('touchend', this._handleContainerMouseupAndTouchendBound);
|
6468
6521
|
}
|
6469
6522
|
}
|
6470
6523
|
|
@@ -6475,6 +6528,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6475
6528
|
}, {
|
6476
6529
|
key: "_setupDropdown",
|
6477
6530
|
value: function _setupDropdown() {
|
6531
|
+
var _this37 = this;
|
6532
|
+
|
6478
6533
|
this.container = document.createElement('ul');
|
6479
6534
|
this.container.id = "autocomplete-options-" + M.guid();
|
6480
6535
|
$(this.container).addClass('autocomplete-content dropdown-content');
|
@@ -6484,7 +6539,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6484
6539
|
this.dropdown = M.Dropdown.init(this.el, {
|
6485
6540
|
autoFocus: false,
|
6486
6541
|
closeOnClick: false,
|
6487
|
-
coverTrigger: false
|
6542
|
+
coverTrigger: false,
|
6543
|
+
onItemClick: function (itemEl) {
|
6544
|
+
_this37.selectOption($(itemEl));
|
6545
|
+
}
|
6488
6546
|
});
|
6489
6547
|
|
6490
6548
|
// Sketchy removal of dropdown click handler
|
@@ -6508,8 +6566,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6508
6566
|
}, {
|
6509
6567
|
key: "_handleInputBlur",
|
6510
6568
|
value: function _handleInputBlur() {
|
6511
|
-
this.
|
6512
|
-
|
6569
|
+
if (!this._mousedown) {
|
6570
|
+
this.close();
|
6571
|
+
this._resetAutocomplete();
|
6572
|
+
}
|
6513
6573
|
}
|
6514
6574
|
|
6515
6575
|
/**
|
@@ -6520,8 +6580,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6520
6580
|
}, {
|
6521
6581
|
key: "_handleInputKeyupAndFocus",
|
6522
6582
|
value: function _handleInputKeyupAndFocus(e) {
|
6523
|
-
var _this37 = this;
|
6524
|
-
|
6525
6583
|
if (e.type === 'keyup') {
|
6526
6584
|
Autocomplete._keydown = false;
|
6527
6585
|
}
|
@@ -6535,25 +6593,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6535
6593
|
}
|
6536
6594
|
|
6537
6595
|
// Check if the input isn't empty
|
6538
|
-
if
|
6539
|
-
|
6540
|
-
|
6541
|
-
if (val.length >= this.options.minLength) {
|
6542
|
-
this.isOpen = true;
|
6543
|
-
this._renderDropdown(this.options.data, val);
|
6544
|
-
}
|
6545
|
-
|
6546
|
-
// Open dropdown
|
6547
|
-
if (!this.dropdown.isOpen) {
|
6548
|
-
// Timeout to prevent dropdown temp doc click handler from firing
|
6549
|
-
setTimeout(function () {
|
6550
|
-
_this37.dropdown.open();
|
6551
|
-
}, 100);
|
6552
|
-
|
6553
|
-
// Recalculate dropdown when its already open
|
6554
|
-
} else {
|
6555
|
-
this.dropdown.recalculateDimensions();
|
6556
|
-
}
|
6596
|
+
// Check if focus triggered by tab
|
6597
|
+
if (this.oldVal !== val && M.tabPressed) {
|
6598
|
+
this.open();
|
6557
6599
|
}
|
6558
6600
|
|
6559
6601
|
// Update oldVal
|
@@ -6576,7 +6618,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6576
6618
|
numItems = $(this.container).children('li').length;
|
6577
6619
|
|
6578
6620
|
// select element on Enter
|
6579
|
-
if (keyCode ===
|
6621
|
+
if (keyCode === M.keys.ENTER && this.activeIndex >= 0) {
|
6580
6622
|
liElement = $(this.container).children('li').eq(this.activeIndex);
|
6581
6623
|
if (liElement.length) {
|
6582
6624
|
this.selectOption(liElement);
|
@@ -6586,14 +6628,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6586
6628
|
}
|
6587
6629
|
|
6588
6630
|
// Capture up and down key
|
6589
|
-
if (keyCode ===
|
6631
|
+
if (keyCode === M.keys.ARROW_UP || keyCode === M.keys.ARROW_DOWN) {
|
6590
6632
|
e.preventDefault();
|
6591
6633
|
|
6592
|
-
if (keyCode ===
|
6634
|
+
if (keyCode === M.keys.ARROW_UP && this.activeIndex > 0) {
|
6593
6635
|
this.activeIndex--;
|
6594
6636
|
}
|
6595
6637
|
|
6596
|
-
if (keyCode ===
|
6638
|
+
if (keyCode === M.keys.ARROW_DOWN && this.activeIndex < numItems - 1) {
|
6597
6639
|
this.activeIndex++;
|
6598
6640
|
}
|
6599
6641
|
|
@@ -6605,6 +6647,17 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6605
6647
|
}
|
6606
6648
|
}
|
6607
6649
|
|
6650
|
+
/**
|
6651
|
+
* Handle Input Click
|
6652
|
+
* @param {Event} e
|
6653
|
+
*/
|
6654
|
+
|
6655
|
+
}, {
|
6656
|
+
key: "_handleInputClick",
|
6657
|
+
value: function _handleInputClick(e) {
|
6658
|
+
this.open();
|
6659
|
+
}
|
6660
|
+
|
6608
6661
|
/**
|
6609
6662
|
* Handle Container Mousedown and Touchstart
|
6610
6663
|
* @param {Event} e
|
@@ -6613,8 +6666,18 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6613
6666
|
}, {
|
6614
6667
|
key: "_handleContainerMousedownAndTouchstart",
|
6615
6668
|
value: function _handleContainerMousedownAndTouchstart(e) {
|
6616
|
-
|
6617
|
-
|
6669
|
+
this._mousedown = true;
|
6670
|
+
}
|
6671
|
+
|
6672
|
+
/**
|
6673
|
+
* Handle Container Mouseup and Touchend
|
6674
|
+
* @param {Event} e
|
6675
|
+
*/
|
6676
|
+
|
6677
|
+
}, {
|
6678
|
+
key: "_handleContainerMouseupAndTouchend",
|
6679
|
+
value: function _handleContainerMouseupAndTouchend(e) {
|
6680
|
+
this._mousedown = false;
|
6618
6681
|
}
|
6619
6682
|
|
6620
6683
|
/**
|
@@ -6625,7 +6688,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6625
6688
|
key: "_highlight",
|
6626
6689
|
value: function _highlight(string, $el) {
|
6627
6690
|
var img = $el.find('img');
|
6628
|
-
var matchStart = $el.text().toLowerCase().indexOf(
|
6691
|
+
var matchStart = $el.text().toLowerCase().indexOf('' + string.toLowerCase() + ''),
|
6629
6692
|
matchEnd = matchStart + string.length - 1,
|
6630
6693
|
beforeMatch = $el.text().slice(0, matchStart),
|
6631
6694
|
matchText = $el.text().slice(matchStart, matchEnd + 1),
|
@@ -6658,6 +6721,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6658
6721
|
this._resetCurrentElement();
|
6659
6722
|
this.oldVal = null;
|
6660
6723
|
this.isOpen = false;
|
6724
|
+
this._mousedown = false;
|
6661
6725
|
}
|
6662
6726
|
|
6663
6727
|
/**
|
@@ -6672,7 +6736,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6672
6736
|
this.el.value = text;
|
6673
6737
|
this.$el.trigger('change');
|
6674
6738
|
this._resetAutocomplete();
|
6675
|
-
this.
|
6739
|
+
this.close();
|
6676
6740
|
|
6677
6741
|
// Handle onAutocomplete callback.
|
6678
6742
|
if (typeof this.options.onAutocomplete === 'function') {
|
@@ -6714,17 +6778,19 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6714
6778
|
}
|
6715
6779
|
|
6716
6780
|
// Sort
|
6717
|
-
|
6718
|
-
|
6719
|
-
|
6720
|
-
|
6781
|
+
if (this.options.sortFunction) {
|
6782
|
+
var sortFunctionBound = function (a, b) {
|
6783
|
+
return _this38.options.sortFunction(a.key.toLowerCase(), b.key.toLowerCase(), val.toLowerCase());
|
6784
|
+
};
|
6785
|
+
matchingData.sort(sortFunctionBound);
|
6786
|
+
}
|
6721
6787
|
|
6722
6788
|
// Render
|
6723
6789
|
for (var i = 0; i < matchingData.length; i++) {
|
6724
6790
|
var _entry = matchingData[i];
|
6725
6791
|
var $autocompleteOption = $('<li></li>');
|
6726
6792
|
if (!!_entry.data) {
|
6727
|
-
$autocompleteOption.append(
|
6793
|
+
$autocompleteOption.append("<img src=\"" + _entry.data + "\" class=\"right circle\"><span>" + _entry.key + "</span>");
|
6728
6794
|
} else {
|
6729
6795
|
$autocompleteOption.append('<span>' + _entry.key + '</span>');
|
6730
6796
|
}
|
@@ -6734,6 +6800,41 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6734
6800
|
}
|
6735
6801
|
}
|
6736
6802
|
|
6803
|
+
/**
|
6804
|
+
* Open Autocomplete Dropdown
|
6805
|
+
*/
|
6806
|
+
|
6807
|
+
}, {
|
6808
|
+
key: "open",
|
6809
|
+
value: function open() {
|
6810
|
+
var val = this.el.value.toLowerCase();
|
6811
|
+
|
6812
|
+
this._resetAutocomplete();
|
6813
|
+
|
6814
|
+
if (val.length >= this.options.minLength) {
|
6815
|
+
this.isOpen = true;
|
6816
|
+
this._renderDropdown(this.options.data, val);
|
6817
|
+
}
|
6818
|
+
|
6819
|
+
// Open dropdown
|
6820
|
+
if (!this.dropdown.isOpen) {
|
6821
|
+
this.dropdown.open();
|
6822
|
+
} else {
|
6823
|
+
// Recalculate dropdown when its already open
|
6824
|
+
this.dropdown.recalculateDimensions();
|
6825
|
+
}
|
6826
|
+
}
|
6827
|
+
|
6828
|
+
/**
|
6829
|
+
* Close Autocomplete Dropdown
|
6830
|
+
*/
|
6831
|
+
|
6832
|
+
}, {
|
6833
|
+
key: "close",
|
6834
|
+
value: function close() {
|
6835
|
+
this.dropdown.close();
|
6836
|
+
}
|
6837
|
+
|
6737
6838
|
/**
|
6738
6839
|
* Update Data
|
6739
6840
|
* @param {Object} data
|
@@ -6836,7 +6937,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6836
6937
|
}
|
6837
6938
|
|
6838
6939
|
if (!$textarea.length) {
|
6839
|
-
console.error(
|
6940
|
+
console.error('No textarea element found');
|
6840
6941
|
return;
|
6841
6942
|
}
|
6842
6943
|
|
@@ -6977,10 +7078,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6977
7078
|
document.addEventListener('blur', function (e) {
|
6978
7079
|
var $inputElement = $(e.target);
|
6979
7080
|
if ($inputElement.is(input_selector)) {
|
6980
|
-
var selector =
|
7081
|
+
var selector = '.prefix';
|
6981
7082
|
|
6982
7083
|
if ($inputElement[0].value.length === 0 && $inputElement[0].validity.badInput !== true && $inputElement.attr('placeholder') === null) {
|
6983
|
-
selector +=
|
7084
|
+
selector += ', label';
|
6984
7085
|
}
|
6985
7086
|
$inputElement.siblings(selector).removeClass('active');
|
6986
7087
|
M.validate_field($inputElement);
|
@@ -7029,7 +7130,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7029
7130
|
for (var i = 0; i < files.length; i++) {
|
7030
7131
|
file_names.push(files[i].name);
|
7031
7132
|
}
|
7032
|
-
path_input[0].value = file_names.join(
|
7133
|
+
path_input[0].value = file_names.join(', ');
|
7033
7134
|
path_input.trigger('change');
|
7034
7135
|
});
|
7035
7136
|
}); // End of $(document).ready
|
@@ -7212,7 +7313,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7212
7313
|
key: "_handleInterval",
|
7213
7314
|
value: function _handleInterval() {
|
7214
7315
|
var newActiveIndex = this.$slider.find('.active').index();
|
7215
|
-
if (this.$slides.length === newActiveIndex + 1) newActiveIndex = 0;
|
7316
|
+
if (this.$slides.length === newActiveIndex + 1) newActiveIndex = 0;
|
7317
|
+
// loop to start
|
7216
7318
|
else newActiveIndex += 1;
|
7217
7319
|
|
7218
7320
|
this.set(newActiveIndex);
|
@@ -8247,17 +8349,15 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8247
8349
|
_this47.$floatingBtnsReverse = _this47.$el.find('ul .btn-floating').reverse();
|
8248
8350
|
_this47.offsetY = 0;
|
8249
8351
|
_this47.offsetX = 0;
|
8352
|
+
|
8353
|
+
_this47.$el.addClass("direction-" + _this47.options.direction);
|
8250
8354
|
if (_this47.options.direction === 'top') {
|
8251
|
-
_this47.$el.addClass('direction-top');
|
8252
8355
|
_this47.offsetY = 40;
|
8253
8356
|
} else if (_this47.options.direction === 'right') {
|
8254
|
-
_this47.$el.addClass('direction-right');
|
8255
8357
|
_this47.offsetX = -40;
|
8256
8358
|
} else if (_this47.options.direction === 'bottom') {
|
8257
|
-
_this47.$el.addClass('direction-bottom');
|
8258
8359
|
_this47.offsetY = -40;
|
8259
8360
|
} else {
|
8260
|
-
_this47.$el.addClass('direction-left');
|
8261
8361
|
_this47.offsetX = 40;
|
8262
8362
|
}
|
8263
8363
|
_this47._setupEventHandlers();
|
@@ -8393,7 +8493,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8393
8493
|
anim({
|
8394
8494
|
targets: el,
|
8395
8495
|
opacity: 1,
|
8396
|
-
scale: [.4, 1],
|
8496
|
+
scale: [0.4, 1],
|
8397
8497
|
translateY: [_this48.offsetY, 0],
|
8398
8498
|
translateX: [_this48.offsetX, 0],
|
8399
8499
|
duration: 275,
|
@@ -8418,7 +8518,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8418
8518
|
anim({
|
8419
8519
|
targets: el,
|
8420
8520
|
opacity: 0,
|
8421
|
-
scale: .4,
|
8521
|
+
scale: 0.4,
|
8422
8522
|
translateY: _this49.offsetY,
|
8423
8523
|
translateX: _this49.offsetX,
|
8424
8524
|
duration: 175,
|
@@ -8604,6 +8704,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8604
8704
|
'use strict';
|
8605
8705
|
|
8606
8706
|
var _defaults = {
|
8707
|
+
// Close when date is selected
|
8708
|
+
autoClose: false,
|
8607
8709
|
|
8608
8710
|
// the default output format for the input field value
|
8609
8711
|
format: 'mmm dd, yyyy',
|
@@ -8721,14 +8823,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8721
8823
|
|
8722
8824
|
if (!_this52.options.defaultDate) {
|
8723
8825
|
_this52.options.defaultDate = new Date(Date.parse(_this52.el.value));
|
8724
|
-
_this52.options.setDefaultDate = true;
|
8725
8826
|
}
|
8726
8827
|
|
8727
8828
|
var defDate = _this52.options.defaultDate;
|
8728
|
-
|
8729
8829
|
if (Datepicker._isDate(defDate)) {
|
8730
8830
|
if (_this52.options.setDefaultDate) {
|
8731
8831
|
_this52.setDate(defDate, true);
|
8832
|
+
_this52.setInputValue();
|
8732
8833
|
} else {
|
8733
8834
|
_this52.gotoDate(defDate);
|
8734
8835
|
}
|
@@ -8741,7 +8842,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8741
8842
|
* @type {Boolean}
|
8742
8843
|
*/
|
8743
8844
|
_this52.isOpen = false;
|
8744
|
-
|
8745
8845
|
return _this52;
|
8746
8846
|
}
|
8747
8847
|
|
@@ -8762,11 +8862,11 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8762
8862
|
}, {
|
8763
8863
|
key: "destroySelects",
|
8764
8864
|
value: function destroySelects() {
|
8765
|
-
var oldYearSelect = this.calendarEl.querySelector('.
|
8865
|
+
var oldYearSelect = this.calendarEl.querySelector('.orig-select-year');
|
8766
8866
|
if (oldYearSelect) {
|
8767
8867
|
M.FormSelect.getInstance(oldYearSelect).destroy();
|
8768
8868
|
}
|
8769
|
-
var oldMonthSelect = this.calendarEl.querySelector('.
|
8869
|
+
var oldMonthSelect = this.calendarEl.querySelector('.orig-select-month');
|
8770
8870
|
if (oldMonthSelect) {
|
8771
8871
|
M.FormSelect.getInstance(oldMonthSelect).destroy();
|
8772
8872
|
}
|
@@ -8901,9 +9001,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8901
9001
|
month: date.getMonth(),
|
8902
9002
|
year: date.getFullYear()
|
8903
9003
|
}];
|
8904
|
-
// if (this.options.mainCalendar === 'right') {
|
8905
|
-
// this.calendars[0].month += 1 - this.options.numberOfMonths;
|
8906
|
-
// }
|
8907
9004
|
}
|
8908
9005
|
|
8909
9006
|
this.adjustCalendars();
|
@@ -8912,12 +9009,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8912
9009
|
key: "adjustCalendars",
|
8913
9010
|
value: function adjustCalendars() {
|
8914
9011
|
this.calendars[0] = this.adjustCalendar(this.calendars[0]);
|
8915
|
-
// for (let c = 1; c < this.options.numberOfMonths; c++) {
|
8916
|
-
// this.calendars[c] = this.adjustCalendar({
|
8917
|
-
// month: this.calendars[0].month + c,
|
8918
|
-
// year: this.calendars[0].year
|
8919
|
-
// });
|
8920
|
-
// }
|
8921
9012
|
this.draw();
|
8922
9013
|
}
|
8923
9014
|
}, {
|
@@ -9061,12 +9152,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9061
9152
|
if (opts.isEndRange) {
|
9062
9153
|
arr.push('is-endrange');
|
9063
9154
|
}
|
9064
|
-
return
|
9155
|
+
return "<td data-day=\"" + opts.day + "\" class=\"" + arr.join(' ') + "\" aria-selected=\"" + ariaSelected + "\">" + ("<button class=\"datepicker-day-button\" type=\"button\" data-year=\"" + opts.year + "\" data-month=\"" + opts.month + "\" data-day=\"" + opts.day + "\">" + opts.day + "</button>") + '</td>';
|
9065
9156
|
}
|
9066
9157
|
}, {
|
9067
9158
|
key: "renderRow",
|
9068
9159
|
value: function renderRow(days, isRTL, isRowSelected) {
|
9069
|
-
return '<tr class="
|
9160
|
+
return '<tr class="datepicker-row' + (isRowSelected ? ' is-selected' : '') + '">' + (isRTL ? days.reverse() : days).join('') + '</tr>';
|
9070
9161
|
}
|
9071
9162
|
}, {
|
9072
9163
|
key: "renderTable",
|
@@ -9079,7 +9170,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9079
9170
|
var i = void 0,
|
9080
9171
|
arr = [];
|
9081
9172
|
for (i = 0; i < 7; i++) {
|
9082
|
-
arr.push(
|
9173
|
+
arr.push("<th scope=\"col\"><abbr title=\"" + this.renderDayName(opts, i) + "\">" + this.renderDayName(opts, i, true) + "</abbr></th>");
|
9083
9174
|
}
|
9084
9175
|
return '<thead><tr>' + (opts.isRTL ? arr.reverse() : arr).join('') + '</tr></thead>';
|
9085
9176
|
}
|
@@ -9107,7 +9198,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9107
9198
|
arr.push('<option value="' + (year === refYear ? i - c : 12 + i - c) + '"' + (i === month ? ' selected="selected"' : '') + (isMinYear && i < opts.minMonth || isMaxYear && i > opts.maxMonth ? 'disabled="disabled"' : '') + '>' + opts.i18n.months[i] + '</option>');
|
9108
9199
|
}
|
9109
9200
|
|
9110
|
-
monthHtml = '<select class="
|
9201
|
+
monthHtml = '<select class="datepicker-select orig-select-month" tabindex="-1">' + arr.join('') + '</select>';
|
9111
9202
|
|
9112
9203
|
if ($.isArray(opts.yearRange)) {
|
9113
9204
|
i = opts.yearRange[0];
|
@@ -9119,14 +9210,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9119
9210
|
|
9120
9211
|
for (arr = []; i < j && i <= opts.maxYear; i++) {
|
9121
9212
|
if (i >= opts.minYear) {
|
9122
|
-
arr.push(
|
9213
|
+
arr.push("<option value=\"" + i + "\" " + (i === year ? 'selected="selected"' : '') + ">" + i + "</option>");
|
9123
9214
|
}
|
9124
9215
|
}
|
9125
9216
|
|
9126
|
-
yearHtml =
|
9217
|
+
yearHtml = "<select class=\"datepicker-select orig-select-year\" tabindex=\"-1\">" + arr.join('') + "</select>";
|
9127
9218
|
|
9128
9219
|
var leftArrow = '<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"/><path d="M0-.5h24v24H0z" fill="none"/></svg>';
|
9129
|
-
html +=
|
9220
|
+
html += "<button class=\"month-prev" + (prev ? '' : ' is-disabled') + "\" type=\"button\">" + leftArrow + "</button>";
|
9130
9221
|
|
9131
9222
|
html += '<div class="selects-container">';
|
9132
9223
|
if (opts.showMonthAfterYear) {
|
@@ -9144,10 +9235,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9144
9235
|
next = false;
|
9145
9236
|
}
|
9146
9237
|
|
9147
|
-
// if (c === (this.options.numberOfMonths - 1) ) {
|
9148
9238
|
var rightArrow = '<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"/><path d="M0-.25h24v24H0z" fill="none"/></svg>';
|
9149
|
-
html +=
|
9150
|
-
// }
|
9239
|
+
html += "<button class=\"month-next" + (next ? '' : ' is-disabled') + "\" type=\"button\">" + rightArrow + "</button>";
|
9151
9240
|
|
9152
9241
|
return html += '</div>';
|
9153
9242
|
}
|
@@ -9183,7 +9272,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9183
9272
|
}
|
9184
9273
|
}
|
9185
9274
|
|
9186
|
-
randId = '
|
9275
|
+
randId = 'datepicker-title-' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 2);
|
9187
9276
|
|
9188
9277
|
for (var c = 0; c < 1; c++) {
|
9189
9278
|
this._renderDateDisplay();
|
@@ -9195,10 +9284,16 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9195
9284
|
this.calendarEl.innerHTML = html;
|
9196
9285
|
|
9197
9286
|
// Init Materialize Select
|
9198
|
-
var yearSelect = this.calendarEl.querySelector('.
|
9199
|
-
var monthSelect = this.calendarEl.querySelector('.
|
9200
|
-
M.FormSelect.init(yearSelect, {
|
9201
|
-
|
9287
|
+
var yearSelect = this.calendarEl.querySelector('.orig-select-year');
|
9288
|
+
var monthSelect = this.calendarEl.querySelector('.orig-select-month');
|
9289
|
+
M.FormSelect.init(yearSelect, {
|
9290
|
+
classes: 'select-year',
|
9291
|
+
dropdownOptions: { container: document.body, constrainWidth: false }
|
9292
|
+
});
|
9293
|
+
M.FormSelect.init(monthSelect, {
|
9294
|
+
classes: 'select-month',
|
9295
|
+
dropdownOptions: { container: document.body, constrainWidth: false }
|
9296
|
+
});
|
9202
9297
|
|
9203
9298
|
// Add change handlers for select
|
9204
9299
|
yearSelect.addEventListener('change', this._handleYearChange.bind(this));
|
@@ -9244,7 +9339,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9244
9339
|
this.$modalEl = $(Datepicker._template);
|
9245
9340
|
this.modalEl = this.$modalEl[0];
|
9246
9341
|
|
9247
|
-
this.calendarEl = this.modalEl.querySelector('.
|
9342
|
+
this.calendarEl = this.modalEl.querySelector('.datepicker-calendar');
|
9248
9343
|
|
9249
9344
|
this.yearTextEl = this.modalEl.querySelector('.year-text');
|
9250
9345
|
this.dateTextEl = this.modalEl.querySelector('.date-text');
|
@@ -9255,7 +9350,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9255
9350
|
this.cancelBtn = this.modalEl.querySelector('.datepicker-cancel');
|
9256
9351
|
|
9257
9352
|
this.formats = {
|
9258
|
-
|
9259
9353
|
d: function () {
|
9260
9354
|
return _this55.date.getDate();
|
9261
9355
|
},
|
@@ -9326,24 +9420,16 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9326
9420
|
var $target = $(e.target);
|
9327
9421
|
if (!$target.hasClass('is-disabled')) {
|
9328
9422
|
if ($target.hasClass('datepicker-day-button') && !$target.hasClass('is-empty') && !$target.parent().hasClass('is-disabled')) {
|
9329
|
-
this.setDate(new Date(e.target.getAttribute('data-
|
9423
|
+
this.setDate(new Date(e.target.getAttribute('data-year'), e.target.getAttribute('data-month'), e.target.getAttribute('data-day')));
|
9424
|
+
if (this.options.autoClose) {
|
9425
|
+
this._finishSelection();
|
9426
|
+
}
|
9330
9427
|
} else if ($target.closest('.month-prev').length) {
|
9331
9428
|
this.prevMonth();
|
9332
9429
|
} else if ($target.closest('.month-next').length) {
|
9333
9430
|
this.nextMonth();
|
9334
9431
|
}
|
9335
9432
|
}
|
9336
|
-
// if (!$target.hasClass('pika-select')) {
|
9337
|
-
// // if this is touch event prevent mouse events emulation
|
9338
|
-
// // if (e.preventDefault) {
|
9339
|
-
// // e.preventDefault();
|
9340
|
-
// // } else {
|
9341
|
-
// // e.returnValue = false;
|
9342
|
-
// // return false;
|
9343
|
-
// // }
|
9344
|
-
// } else {
|
9345
|
-
// this._c = true;
|
9346
|
-
// }
|
9347
9433
|
}
|
9348
9434
|
}, {
|
9349
9435
|
key: "_handleClearClick",
|
@@ -9406,9 +9492,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9406
9492
|
if (Datepicker._isDate(date)) {
|
9407
9493
|
this.setDate(date);
|
9408
9494
|
}
|
9409
|
-
// if (!self._v) {
|
9410
|
-
// self.show();
|
9411
|
-
// }
|
9412
9495
|
}
|
9413
9496
|
}, {
|
9414
9497
|
key: "renderDayName",
|
@@ -9534,7 +9617,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9534
9617
|
return Datepicker;
|
9535
9618
|
}(Component);
|
9536
9619
|
|
9537
|
-
Datepicker._template = ['<div class= "modal datepicker-modal">', '<div class="modal-content datepicker-container">', '<div class="datepicker-date-display">', '<span class="year-text"></span>', '<span class="date-text"></span>', '</div>', '<div class="datepicker-calendar-container">', '<div class="
|
9620
|
+
Datepicker._template = ['<div class= "modal datepicker-modal">', '<div class="modal-content datepicker-container">', '<div class="datepicker-date-display">', '<span class="year-text"></span>', '<span class="date-text"></span>', '</div>', '<div class="datepicker-calendar-container">', '<div class="datepicker-calendar"></div>', '<div class="datepicker-footer">', '<button class="btn-flat datepicker-clear waves-effect" style="visibility: hidden;" type="button"></button>', '<div class="confirmation-btns">', '<button class="btn-flat datepicker-cancel waves-effect" type="button"></button>', '<button class="btn-flat datepicker-done waves-effect" type="button"></button>', '</div>', '</div>', '</div>', '</div>', '</div>'].join('');
|
9538
9621
|
|
9539
9622
|
M.Datepicker = Datepicker;
|
9540
9623
|
|
@@ -9565,7 +9648,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9565
9648
|
|
9566
9649
|
autoClose: false, // auto close when minute is selected
|
9567
9650
|
twelveHour: true, // change to 12 hour AM/PM clock from 24 hour
|
9568
|
-
vibrate: true // vibrate the device when dragging clock hand
|
9651
|
+
vibrate: true, // vibrate the device when dragging clock hand
|
9652
|
+
|
9653
|
+
// Callbacks
|
9654
|
+
onOpenStart: null,
|
9655
|
+
onOpenEnd: null,
|
9656
|
+
onCloseStart: null,
|
9657
|
+
onCloseEnd: null,
|
9658
|
+
onSelect: null
|
9569
9659
|
};
|
9570
9660
|
|
9571
9661
|
/**
|
@@ -9709,6 +9799,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9709
9799
|
}, this.options.duration / 2);
|
9710
9800
|
}
|
9711
9801
|
|
9802
|
+
if (typeof this.options.onSelect === 'function') {
|
9803
|
+
this.options.onSelect.call(this, this.hours, this.minutes);
|
9804
|
+
}
|
9805
|
+
|
9712
9806
|
// Unbind mousemove event
|
9713
9807
|
document.removeEventListener('mousemove', this._handleDocumentClickMoveBound);
|
9714
9808
|
document.removeEventListener('touchmove', this._handleDocumentClickMoveBound);
|
@@ -9734,7 +9828,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9734
9828
|
var _this58 = this;
|
9735
9829
|
|
9736
9830
|
this.modal = M.Modal.init(this.modalEl, {
|
9831
|
+
onOpenStart: this.options.onOpenStart,
|
9832
|
+
onOpenEnd: this.options.onOpenEnd,
|
9833
|
+
onCloseStart: this.options.onCloseStart,
|
9737
9834
|
onCloseEnd: function () {
|
9835
|
+
if (typeof _this58.options.onCloseEnd === 'function') {
|
9836
|
+
_this58.options.onCloseEnd.call(_this58);
|
9837
|
+
}
|
9738
9838
|
_this58.isOpen = false;
|
9739
9839
|
}
|
9740
9840
|
});
|
@@ -9759,8 +9859,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9759
9859
|
}, {
|
9760
9860
|
key: "_pickerSetup",
|
9761
9861
|
value: function _pickerSetup() {
|
9762
|
-
|
9763
|
-
var $clearBtn = $('<button class="btn-flat timepicker-clear waves-effect" style="visibility: hidden;" type="button" tabindex="' + (this.options.twelveHour ? '3' : '1') + '">' + this.options.i18n.clear + '</button>').appendTo(this.footer).on('click', this.clear.bind(this));
|
9862
|
+
var $clearBtn = $("<button class=\"btn-flat timepicker-clear waves-effect\" style=\"visibility: hidden;\" type=\"button\" tabindex=\"" + (this.options.twelveHour ? '3' : '1') + "\">" + this.options.i18n.clear + "</button>").appendTo(this.footer).on('click', this.clear.bind(this));
|
9764
9863
|
if (this.options.showClearBtn) {
|
9765
9864
|
$clearBtn.css({ visibility: '' });
|
9766
9865
|
}
|
@@ -9891,12 +9990,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9891
9990
|
// Get the time
|
9892
9991
|
var value = ((this.el.value || this.options.defaultTime || '') + '').split(':');
|
9893
9992
|
if (this.options.twelveHour && !(typeof value[1] === 'undefined')) {
|
9894
|
-
if (value[1].toUpperCase().indexOf(
|
9993
|
+
if (value[1].toUpperCase().indexOf('AM') > 0) {
|
9895
9994
|
this.amOrPm = 'AM';
|
9896
9995
|
} else {
|
9897
9996
|
this.amOrPm = 'PM';
|
9898
9997
|
}
|
9899
|
-
value[1] = value[1].replace(
|
9998
|
+
value[1] = value[1].replace('AM', '').replace('PM', '');
|
9900
9999
|
}
|
9901
10000
|
if (value[0] === 'now') {
|
9902
10001
|
var now = new Date(+new Date() + this.options.fromNow);
|
@@ -9915,7 +10014,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9915
10014
|
}, {
|
9916
10015
|
key: "showView",
|
9917
10016
|
value: function showView(view, delay) {
|
9918
|
-
if (view === 'minutes' && $(this.hoursView).css(
|
10017
|
+
if (view === 'minutes' && $(this.hoursView).css('visibility') === 'visible') {
|
9919
10018
|
// raiseCallback(this.options.beforeHourSelect);
|
9920
10019
|
}
|
9921
10020
|
var isHours = view === 'hours',
|
@@ -10053,6 +10152,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10053
10152
|
this.isOpen = true;
|
10054
10153
|
this._updateTimeFromInput();
|
10055
10154
|
this.showView('hours');
|
10155
|
+
|
10056
10156
|
this.modal.open();
|
10057
10157
|
}
|
10058
10158
|
}, {
|
@@ -10896,7 +10996,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10896
10996
|
this.$el.find('.carousel-item').removeClass('active');
|
10897
10997
|
el.classList.add('active');
|
10898
10998
|
}
|
10899
|
-
var transformString = alignment +
|
10999
|
+
var transformString = alignment + " translateX(" + -delta / 2 + "px) translateX(" + dir * this.options.shift * tween * i + "px) translateZ(" + this.options.dist * tween + "px)";
|
10900
11000
|
this._updateItemStyle(el, centerTweenedOpacity, 0, transformString);
|
10901
11001
|
}
|
10902
11002
|
|
@@ -10912,7 +11012,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10912
11012
|
// Don't show wrapped items.
|
10913
11013
|
if (!this.noWrap || this.center + i < this.count) {
|
10914
11014
|
el = this.images[this._wrap(this.center + i)];
|
10915
|
-
var _transformString = alignment +
|
11015
|
+
var _transformString = alignment + " translateX(" + (this.options.shift + (this.dim * i - delta) / 2) + "px) translateZ(" + zTranslation + "px)";
|
10916
11016
|
this._updateItemStyle(el, tweenedOpacity, -i, _transformString);
|
10917
11017
|
}
|
10918
11018
|
|
@@ -10927,7 +11027,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10927
11027
|
// Don't show wrapped items.
|
10928
11028
|
if (!this.noWrap || this.center - i >= 0) {
|
10929
11029
|
el = this.images[this._wrap(this.center - i)];
|
10930
|
-
var _transformString2 = alignment +
|
11030
|
+
var _transformString2 = alignment + " translateX(" + (-this.options.shift + (-this.dim * i - delta) / 2) + "px) translateZ(" + zTranslation + "px)";
|
10931
11031
|
this._updateItemStyle(el, tweenedOpacity, -i, _transformString2);
|
10932
11032
|
}
|
10933
11033
|
}
|
@@ -10936,18 +11036,18 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10936
11036
|
// Don't show wrapped items.
|
10937
11037
|
if (!this.noWrap || this.center >= 0 && this.center < this.count) {
|
10938
11038
|
el = this.images[this._wrap(this.center)];
|
10939
|
-
var _transformString3 = alignment +
|
11039
|
+
var _transformString3 = alignment + " translateX(" + -delta / 2 + "px) translateX(" + dir * this.options.shift * tween + "px) translateZ(" + this.options.dist * tween + "px)";
|
10940
11040
|
this._updateItemStyle(el, centerTweenedOpacity, 0, _transformString3);
|
10941
11041
|
}
|
10942
11042
|
|
10943
11043
|
// onCycleTo callback
|
10944
11044
|
var $currItem = this.$el.find('.carousel-item').eq(this._wrap(this.center));
|
10945
|
-
if (lastCenter !== this.center && typeof this.options.onCycleTo ===
|
11045
|
+
if (lastCenter !== this.center && typeof this.options.onCycleTo === 'function') {
|
10946
11046
|
this.options.onCycleTo.call(this, $currItem[0], this.dragged);
|
10947
11047
|
}
|
10948
11048
|
|
10949
11049
|
// One time callback
|
10950
|
-
if (typeof this.oneTimeCallback ===
|
11050
|
+
if (typeof this.oneTimeCallback === 'function') {
|
10951
11051
|
this.oneTimeCallback.call(this, $currItem[0], this.dragged);
|
10952
11052
|
this.oneTimeCallback = null;
|
10953
11053
|
}
|
@@ -11005,7 +11105,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11005
11105
|
}
|
11006
11106
|
|
11007
11107
|
// Set one time callback
|
11008
|
-
if (typeof callback ===
|
11108
|
+
if (typeof callback === 'function') {
|
11009
11109
|
this.oneTimeCallback = callback;
|
11010
11110
|
}
|
11011
11111
|
|
@@ -11607,17 +11707,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11607
11707
|
placeholderOption.find('input[type="checkbox"]').prop('checked', false);
|
11608
11708
|
this._toggleEntryFromArray(placeholderOption[0].id);
|
11609
11709
|
}
|
11610
|
-
|
11611
|
-
var checkbox = $(option).find('input[type="checkbox"]');
|
11612
|
-
checkbox.prop('checked', !checkbox.prop('checked'));
|
11613
11710
|
selected = this._toggleEntryFromArray(key);
|
11614
11711
|
} else {
|
11615
|
-
$(this.dropdownOptions).find('li').removeClass('
|
11616
|
-
$(option).toggleClass('
|
11617
|
-
this.input.value = option.textContent;
|
11712
|
+
$(this.dropdownOptions).find('li').removeClass('selected');
|
11713
|
+
$(option).toggleClass('selected', selected);
|
11618
11714
|
}
|
11619
11715
|
|
11620
|
-
|
11716
|
+
// Set selected on original select option
|
11621
11717
|
$(this._valueDict[key].el).prop('selected', selected);
|
11622
11718
|
this.$el.trigger('change');
|
11623
11719
|
}
|
@@ -11648,7 +11744,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11648
11744
|
var _this70 = this;
|
11649
11745
|
|
11650
11746
|
this.wrapper = document.createElement('div');
|
11651
|
-
$(this.wrapper).addClass('select-wrapper
|
11747
|
+
$(this.wrapper).addClass('select-wrapper ' + this.options.classes);
|
11652
11748
|
this.$el.before($(this.wrapper));
|
11653
11749
|
this.wrapper.appendChild(this.el);
|
11654
11750
|
|
@@ -11787,9 +11883,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11787
11883
|
|
11788
11884
|
// add icons
|
11789
11885
|
var iconUrl = option.getAttribute('data-icon');
|
11790
|
-
var classes = option.getAttribute('class');
|
11791
11886
|
if (!!iconUrl) {
|
11792
|
-
var imgEl = $(
|
11887
|
+
var imgEl = $("<img alt=\"\" src=\"" + iconUrl + "\">");
|
11793
11888
|
liEl.prepend(imgEl);
|
11794
11889
|
}
|
11795
11890
|
|
@@ -11808,49 +11903,54 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11808
11903
|
key: "_toggleEntryFromArray",
|
11809
11904
|
value: function _toggleEntryFromArray(key) {
|
11810
11905
|
var notAdded = !this._keysSelected.hasOwnProperty(key);
|
11906
|
+
var $optionLi = $(this._valueDict[key].optionEl);
|
11907
|
+
|
11811
11908
|
if (notAdded) {
|
11812
11909
|
this._keysSelected[key] = true;
|
11813
11910
|
} else {
|
11814
11911
|
delete this._keysSelected[key];
|
11815
11912
|
}
|
11816
11913
|
|
11817
|
-
$
|
11914
|
+
$optionLi.toggleClass('selected', notAdded);
|
11915
|
+
|
11916
|
+
// Set checkbox checked value
|
11917
|
+
$optionLi.find('input[type="checkbox"]').prop('checked', notAdded);
|
11818
11918
|
|
11819
11919
|
// use notAdded instead of true (to detect if the option is selected or not)
|
11820
|
-
$
|
11920
|
+
$optionLi.prop('selected', notAdded);
|
11821
11921
|
|
11822
11922
|
return notAdded;
|
11823
11923
|
}
|
11824
11924
|
|
11825
11925
|
/**
|
11826
|
-
* Set value to input
|
11926
|
+
* Set text value to input
|
11827
11927
|
*/
|
11828
11928
|
|
11829
11929
|
}, {
|
11830
11930
|
key: "_setValueToInput",
|
11831
11931
|
value: function _setValueToInput() {
|
11832
|
-
var
|
11932
|
+
var values = [];
|
11833
11933
|
var options = this.$el.find('option');
|
11834
11934
|
|
11835
11935
|
options.each(function (el) {
|
11836
11936
|
if ($(el).prop('selected')) {
|
11837
11937
|
var text = $(el).text();
|
11838
|
-
|
11938
|
+
values.push(text);
|
11839
11939
|
}
|
11840
11940
|
});
|
11841
11941
|
|
11842
|
-
if (
|
11942
|
+
if (!values.length) {
|
11843
11943
|
var firstDisabled = this.$el.find('option:disabled').eq(0);
|
11844
|
-
if (firstDisabled.length) {
|
11845
|
-
|
11944
|
+
if (firstDisabled.length && firstDisabled[0].value === '') {
|
11945
|
+
values.push(firstDisabled.text());
|
11846
11946
|
}
|
11847
11947
|
}
|
11848
11948
|
|
11849
|
-
this.input.value =
|
11949
|
+
this.input.value = values.join(', ');
|
11850
11950
|
}
|
11851
11951
|
|
11852
11952
|
/**
|
11853
|
-
* Set selected state of dropdown
|
11953
|
+
* Set selected state of dropdown to match actual select element
|
11854
11954
|
*/
|
11855
11955
|
|
11856
11956
|
}, {
|
@@ -11860,12 +11960,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11860
11960
|
|
11861
11961
|
for (var key in this._valueDict) {
|
11862
11962
|
var option = this._valueDict[key];
|
11863
|
-
|
11864
|
-
|
11963
|
+
var optionIsSelected = $(option.el).prop('selected');
|
11964
|
+
$(option.optionEl).find('input[type="checkbox"]').prop('checked', optionIsSelected);
|
11965
|
+
if (optionIsSelected) {
|
11865
11966
|
this._activateOption($(this.dropdownOptions), $(option.optionEl));
|
11866
11967
|
this._keysSelected[key] = true;
|
11867
11968
|
} else {
|
11868
|
-
$(option.optionEl).find('input[type="checkbox"]').prop("checked", false);
|
11869
11969
|
$(option.optionEl).removeClass('selected');
|
11870
11970
|
}
|
11871
11971
|
}
|
@@ -11884,7 +11984,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11884
11984
|
if (!this.isMultiple) {
|
11885
11985
|
collection.find('li.selected').removeClass('selected');
|
11886
11986
|
}
|
11887
|
-
|
11888
11987
|
var option = $(newOption);
|
11889
11988
|
option.addClass('selected');
|
11890
11989
|
}
|
@@ -11998,14 +12097,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11998
12097
|
key: "_setupEventHandlers",
|
11999
12098
|
value: function _setupEventHandlers() {
|
12000
12099
|
this._handleRangeChangeBound = this._handleRangeChange.bind(this);
|
12001
|
-
this._handleRangeFocusBound = this._handleRangeFocus.bind(this);
|
12002
12100
|
this._handleRangeMousedownTouchstartBound = this._handleRangeMousedownTouchstart.bind(this);
|
12003
12101
|
this._handleRangeInputMousemoveTouchmoveBound = this._handleRangeInputMousemoveTouchmove.bind(this);
|
12004
12102
|
this._handleRangeMouseupTouchendBound = this._handleRangeMouseupTouchend.bind(this);
|
12005
12103
|
this._handleRangeBlurMouseoutTouchleaveBound = this._handleRangeBlurMouseoutTouchleave.bind(this);
|
12006
12104
|
|
12007
12105
|
this.el.addEventListener('change', this._handleRangeChangeBound);
|
12008
|
-
this.el.addEventListener('focus', this._handleRangeFocusBound);
|
12009
12106
|
|
12010
12107
|
this.el.addEventListener('mousedown', this._handleRangeMousedownTouchstartBound);
|
12011
12108
|
this.el.addEventListener('touchstart', this._handleRangeMousedownTouchstartBound);
|
@@ -12030,7 +12127,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
12030
12127
|
key: "_removeEventHandlers",
|
12031
12128
|
value: function _removeEventHandlers() {
|
12032
12129
|
this.el.removeEventListener('change', this._handleRangeChangeBound);
|
12033
|
-
this.el.removeEventListener('focus', this._handleRangeFocusBound);
|
12034
12130
|
|
12035
12131
|
this.el.removeEventListener('mousedown', this._handleRangeMousedownTouchstartBound);
|
12036
12132
|
this.el.removeEventListener('touchstart', this._handleRangeMousedownTouchstartBound);
|
@@ -12065,19 +12161,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
12065
12161
|
$(this.thumb).addClass('active').css('left', offsetLeft + 'px');
|
12066
12162
|
}
|
12067
12163
|
|
12068
|
-
/**
|
12069
|
-
* Handle Range Focus
|
12070
|
-
* @param {Event} e
|
12071
|
-
*/
|
12072
|
-
|
12073
|
-
}, {
|
12074
|
-
key: "_handleRangeFocus",
|
12075
|
-
value: function _handleRangeFocus() {
|
12076
|
-
if (M.tabPressed) {
|
12077
|
-
this.$el.addClass('focused');
|
12078
|
-
}
|
12079
|
-
}
|
12080
|
-
|
12081
12164
|
/**
|
12082
12165
|
* Handle Range Mousedown and Touchstart
|
12083
12166
|
* @param {Event} e
|
@@ -12139,7 +12222,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
12139
12222
|
key: "_handleRangeBlurMouseoutTouchleave",
|
12140
12223
|
value: function _handleRangeBlurMouseoutTouchleave() {
|
12141
12224
|
if (!this._mousedown) {
|
12142
|
-
this.$el.removeClass('focused');
|
12143
12225
|
var paddingLeft = parseInt(this.$el.css('padding-left'));
|
12144
12226
|
var marginLeft = 7 + paddingLeft + 'px';
|
12145
12227
|
|
@@ -12214,8 +12296,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
12214
12296
|
key: "_calcRangeOffset",
|
12215
12297
|
value: function _calcRangeOffset() {
|
12216
12298
|
var width = this.$el.width() - 15;
|
12217
|
-
var max = parseFloat(this.$el.attr('max'));
|
12218
|
-
var min = parseFloat(this.$el.attr('min'));
|
12299
|
+
var max = parseFloat(this.$el.attr('max')) || 100; // Range default max
|
12300
|
+
var min = parseFloat(this.$el.attr('min')) || 0; // Range default min
|
12219
12301
|
var percent = (parseFloat(this.$el.val()) - min) / (max - min);
|
12220
12302
|
return percent * width;
|
12221
12303
|
}
|