materialize-sass 1.0.0.beta → 1.0.0.rc1
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/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
|
}
|