materialize-sass 1.0.0.beta → 1.0.0.1
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/.gitattributes +1 -0
- data/README.md +2 -2
- data/Rakefile +1 -1
- data/assets/javascripts/materialize/autocomplete.js +94 -37
- data/assets/javascripts/materialize/buttons.js +4 -6
- data/assets/javascripts/materialize/carousel.js +9 -9
- data/assets/javascripts/materialize/chips.js +2 -2
- data/assets/javascripts/materialize/collapsible.js +13 -10
- data/assets/javascripts/materialize/datepicker.js +27 -44
- data/assets/javascripts/materialize/dropdown.js +38 -15
- 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 +7 -8
- data/assets/javascripts/materialize/global.js +28 -11
- data/assets/javascripts/materialize/materialbox.js +12 -7
- data/assets/javascripts/materialize/modal.js +8 -4
- data/assets/javascripts/materialize/parallax.js +1 -1
- data/assets/javascripts/materialize/pushpin.js +8 -3
- data/assets/javascripts/materialize/range.js +2 -19
- data/assets/javascripts/materialize/select.js +57 -33
- data/assets/javascripts/materialize/sidenav.js +5 -3
- data/assets/javascripts/materialize/slider.js +2 -1
- data/assets/javascripts/materialize/tabs.js +13 -8
- data/assets/javascripts/materialize/timepicker.js +22 -5
- data/assets/javascripts/materialize/toasts.js +4 -3
- data/assets/javascripts/materialize/tooltip.js +14 -8
- data/assets/javascripts/materialize.js +804 -685
- data/assets/stylesheets/materialize/components/_buttons.scss +2 -1
- data/assets/stylesheets/materialize/components/_collapsible.scss +8 -1
- data/assets/stylesheets/materialize/components/_datepicker.scss +5 -1
- data/assets/stylesheets/materialize/components/_dropdown.scss +10 -1
- data/assets/stylesheets/materialize/components/_global.scss +2 -0
- data/assets/stylesheets/materialize/components/_modal.scss +4 -0
- data/assets/stylesheets/materialize/components/_sidenav.scss +9 -17
- 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 +19 -7
- data/assets/stylesheets/materialize/extras/nouislider.css +1 -1
- data/lib/materialize-sass/engine.rb +4 -1
- data/lib/materialize-sass/version.rb +1 -1
- data/lib/materialize-sass.rb +3 -8
- data/materialize-sass.gemspec +4 -5
- metadata +18 -32
@@ -186,7 +186,8 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
186
186
|
key: '_handleInterval',
|
187
187
|
value: function _handleInterval() {
|
188
188
|
var newActiveIndex = this.$slider.find('.active').index();
|
189
|
-
if (this.$slides.length === newActiveIndex + 1) newActiveIndex = 0;
|
189
|
+
if (this.$slides.length === newActiveIndex + 1) newActiveIndex = 0;
|
190
|
+
// loop to start
|
190
191
|
else newActiveIndex += 1;
|
191
192
|
|
192
193
|
this.set(newActiveIndex);
|
@@ -52,16 +52,19 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
52
52
|
// Setup
|
53
53
|
_this.$tabLinks = _this.$el.children('li.tab').children('a');
|
54
54
|
_this.index = 0;
|
55
|
-
_this._setTabsAndTabWidth();
|
56
55
|
_this._setupActiveTabLink();
|
57
|
-
_this._createIndicator();
|
58
56
|
|
57
|
+
// Setup tabs content
|
59
58
|
if (_this.options.swipeable) {
|
60
59
|
_this._setupSwipeableTabs();
|
61
60
|
} else {
|
62
61
|
_this._setupNormalTabs();
|
63
62
|
}
|
64
63
|
|
64
|
+
// Setup tabs indicator after content to ensure accurate widths
|
65
|
+
_this._setTabsAndTabWidth();
|
66
|
+
_this._createIndicator();
|
67
|
+
|
65
68
|
_this._setupEventHandlers();
|
66
69
|
return _this;
|
67
70
|
}
|
@@ -150,12 +153,10 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
150
153
|
}
|
151
154
|
|
152
155
|
// Act as regular link if target attribute is specified.
|
153
|
-
if (!!tabLink.attr(
|
156
|
+
if (!!tabLink.attr('target')) {
|
154
157
|
return;
|
155
158
|
}
|
156
159
|
|
157
|
-
this._setTabsAndTabWidth();
|
158
|
-
|
159
160
|
// Make the old tab inactive.
|
160
161
|
this.$activeTabLink.removeClass('active');
|
161
162
|
var $oldContent = this.$content;
|
@@ -174,7 +175,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
174
175
|
if (this.options.swipeable) {
|
175
176
|
if (this._tabsCarousel) {
|
176
177
|
this._tabsCarousel.set(this.index, function () {
|
177
|
-
if (typeof _this2.options.onShow ===
|
178
|
+
if (typeof _this2.options.onShow === 'function') {
|
178
179
|
_this2.options.onShow.call(_this2, _this2.$content[0]);
|
179
180
|
}
|
180
181
|
});
|
@@ -194,6 +195,9 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
194
195
|
}
|
195
196
|
}
|
196
197
|
|
198
|
+
// Update widths after content is swapped (scrollbar bugfix)
|
199
|
+
this._setTabsAndTabWidth();
|
200
|
+
|
197
201
|
// Update indicator
|
198
202
|
this._animateIndicator(prevIndex);
|
199
203
|
|
@@ -290,7 +294,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
290
294
|
_this4.$activeTabLink = _this4.$tabLinks.eq(_this4.index);
|
291
295
|
_this4.$activeTabLink.addClass('active');
|
292
296
|
_this4._animateIndicator(prevIndex);
|
293
|
-
if (typeof _this4.options.onShow ===
|
297
|
+
if (typeof _this4.options.onShow === 'function') {
|
294
298
|
_this4.options.onShow.call(_this4, _this4.$content[0]);
|
295
299
|
}
|
296
300
|
}
|
@@ -386,6 +390,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
386
390
|
}, {
|
387
391
|
key: 'updateTabIndicator',
|
388
392
|
value: function updateTabIndicator() {
|
393
|
+
this._setTabsAndTabWidth();
|
389
394
|
this._animateIndicator(this.index);
|
390
395
|
}
|
391
396
|
|
@@ -463,7 +468,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
463
468
|
return Tabs;
|
464
469
|
}(Component);
|
465
470
|
|
466
|
-
|
471
|
+
M.Tabs = Tabs;
|
467
472
|
|
468
473
|
if (M.jQueryLoaded) {
|
469
474
|
M.initializeJqueryWrapper(Tabs, 'tabs', 'M_Tabs');
|
@@ -31,7 +31,14 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
31
31
|
|
32
32
|
autoClose: false, // auto close when minute is selected
|
33
33
|
twelveHour: true, // change to 12 hour AM/PM clock from 24 hour
|
34
|
-
vibrate: true // vibrate the device when dragging clock hand
|
34
|
+
vibrate: true, // vibrate the device when dragging clock hand
|
35
|
+
|
36
|
+
// Callbacks
|
37
|
+
onOpenStart: null,
|
38
|
+
onOpenEnd: null,
|
39
|
+
onCloseStart: null,
|
40
|
+
onCloseEnd: null,
|
41
|
+
onSelect: null
|
35
42
|
};
|
36
43
|
|
37
44
|
/**
|
@@ -175,6 +182,10 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
175
182
|
}, this.options.duration / 2);
|
176
183
|
}
|
177
184
|
|
185
|
+
if (typeof this.options.onSelect === 'function') {
|
186
|
+
this.options.onSelect.call(this, this.hours, this.minutes);
|
187
|
+
}
|
188
|
+
|
178
189
|
// Unbind mousemove event
|
179
190
|
document.removeEventListener('mousemove', this._handleDocumentClickMoveBound);
|
180
191
|
document.removeEventListener('touchmove', this._handleDocumentClickMoveBound);
|
@@ -200,7 +211,13 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
200
211
|
var _this3 = this;
|
201
212
|
|
202
213
|
this.modal = M.Modal.init(this.modalEl, {
|
214
|
+
onOpenStart: this.options.onOpenStart,
|
215
|
+
onOpenEnd: this.options.onOpenEnd,
|
216
|
+
onCloseStart: this.options.onCloseStart,
|
203
217
|
onCloseEnd: function () {
|
218
|
+
if (typeof _this3.options.onCloseEnd === 'function') {
|
219
|
+
_this3.options.onCloseEnd.call(_this3);
|
220
|
+
}
|
204
221
|
_this3.isOpen = false;
|
205
222
|
}
|
206
223
|
});
|
@@ -225,7 +242,6 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
225
242
|
}, {
|
226
243
|
key: '_pickerSetup',
|
227
244
|
value: function _pickerSetup() {
|
228
|
-
|
229
245
|
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));
|
230
246
|
if (this.options.showClearBtn) {
|
231
247
|
$clearBtn.css({ visibility: '' });
|
@@ -357,12 +373,12 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
357
373
|
// Get the time
|
358
374
|
var value = ((this.el.value || this.options.defaultTime || '') + '').split(':');
|
359
375
|
if (this.options.twelveHour && !(typeof value[1] === 'undefined')) {
|
360
|
-
if (value[1].toUpperCase().indexOf(
|
376
|
+
if (value[1].toUpperCase().indexOf('AM') > 0) {
|
361
377
|
this.amOrPm = 'AM';
|
362
378
|
} else {
|
363
379
|
this.amOrPm = 'PM';
|
364
380
|
}
|
365
|
-
value[1] = value[1].replace(
|
381
|
+
value[1] = value[1].replace('AM', '').replace('PM', '');
|
366
382
|
}
|
367
383
|
if (value[0] === 'now') {
|
368
384
|
var now = new Date(+new Date() + this.options.fromNow);
|
@@ -381,7 +397,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
381
397
|
}, {
|
382
398
|
key: 'showView',
|
383
399
|
value: function showView(view, delay) {
|
384
|
-
if (view === 'minutes' && $(this.hoursView).css(
|
400
|
+
if (view === 'minutes' && $(this.hoursView).css('visibility') === 'visible') {
|
385
401
|
// raiseCallback(this.options.beforeHourSelect);
|
386
402
|
}
|
387
403
|
var isHours = view === 'hours',
|
@@ -519,6 +535,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
519
535
|
this.isOpen = true;
|
520
536
|
this._updateTimeFromInput();
|
521
537
|
this.showView('hours');
|
538
|
+
|
522
539
|
this.modal.open();
|
523
540
|
}
|
524
541
|
}, {
|
@@ -46,6 +46,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
46
46
|
var toastElement = this._createToast();
|
47
47
|
toastElement.M_Toast = this;
|
48
48
|
this.el = toastElement;
|
49
|
+
this.$el = $(toastElement);
|
49
50
|
this._animateIn();
|
50
51
|
this._setTimer();
|
51
52
|
}
|
@@ -96,7 +97,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
96
97
|
targets: this.el,
|
97
98
|
top: 0,
|
98
99
|
opacity: 1,
|
99
|
-
duration:
|
100
|
+
duration: this.options.inDuration,
|
100
101
|
easing: 'easeOutCubic'
|
101
102
|
});
|
102
103
|
}
|
@@ -156,7 +157,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
156
157
|
_this2.options.completeCallback();
|
157
158
|
}
|
158
159
|
// Remove toast from DOM
|
159
|
-
_this2
|
160
|
+
_this2.$el.remove();
|
160
161
|
Toast._toasts.splice(Toast._toasts.indexOf(_this2), 1);
|
161
162
|
if (Toast._toasts.length === 0) {
|
162
163
|
Toast._removeContainer();
|
@@ -210,7 +211,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
210
211
|
document.removeEventListener('mousemove', Toast._onDragMove);
|
211
212
|
document.removeEventListener('mouseup', Toast._onDragEnd);
|
212
213
|
|
213
|
-
Toast._container.
|
214
|
+
$(Toast._container).remove();
|
214
215
|
Toast._container = null;
|
215
216
|
}
|
216
217
|
|
@@ -104,16 +104,16 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
104
104
|
}
|
105
105
|
}, {
|
106
106
|
key: 'open',
|
107
|
-
value: function open() {
|
107
|
+
value: function open(isManual) {
|
108
108
|
if (this.isOpen) {
|
109
109
|
return;
|
110
110
|
}
|
111
|
-
|
111
|
+
isManual = isManual === undefined ? true : undefined; // Default value true
|
112
112
|
this.isOpen = true;
|
113
113
|
// Update tooltip content with HTML attribute options
|
114
114
|
this.options = $.extend({}, this.options, this._getAttributeOptions());
|
115
115
|
this._updateTooltipContent();
|
116
|
-
this._setEnterDelayTimeout();
|
116
|
+
this._setEnterDelayTimeout(isManual);
|
117
117
|
}
|
118
118
|
}, {
|
119
119
|
key: 'close',
|
@@ -122,6 +122,8 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
122
122
|
return;
|
123
123
|
}
|
124
124
|
|
125
|
+
this.isHovered = false;
|
126
|
+
this.isFocused = false;
|
125
127
|
this.isOpen = false;
|
126
128
|
this._setExitDelayTimeout();
|
127
129
|
}
|
@@ -152,13 +154,13 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
152
154
|
|
153
155
|
}, {
|
154
156
|
key: '_setEnterDelayTimeout',
|
155
|
-
value: function _setEnterDelayTimeout() {
|
157
|
+
value: function _setEnterDelayTimeout(isManual) {
|
156
158
|
var _this3 = this;
|
157
159
|
|
158
160
|
clearTimeout(this._enterDelayTimeout);
|
159
161
|
|
160
162
|
this._enterDelayTimeout = setTimeout(function () {
|
161
|
-
if (!_this3.isHovered && !_this3.isFocused) {
|
163
|
+
if (!_this3.isHovered && !_this3.isFocused && !isManual) {
|
162
164
|
return;
|
163
165
|
}
|
164
166
|
|
@@ -275,19 +277,23 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|
275
277
|
key: '_handleMouseEnter',
|
276
278
|
value: function _handleMouseEnter() {
|
277
279
|
this.isHovered = true;
|
278
|
-
this.
|
280
|
+
this.isFocused = false; // Allows close of tooltip when opened by focus.
|
281
|
+
this.open(false);
|
279
282
|
}
|
280
283
|
}, {
|
281
284
|
key: '_handleMouseLeave',
|
282
285
|
value: function _handleMouseLeave() {
|
283
286
|
this.isHovered = false;
|
287
|
+
this.isFocused = false; // Allows close of tooltip when opened by focus.
|
284
288
|
this.close();
|
285
289
|
}
|
286
290
|
}, {
|
287
291
|
key: '_handleFocus',
|
288
292
|
value: function _handleFocus() {
|
289
|
-
|
290
|
-
|
293
|
+
if (M.tabPressed) {
|
294
|
+
this.isFocused = true;
|
295
|
+
this.open(false);
|
296
|
+
}
|
291
297
|
}
|
292
298
|
}, {
|
293
299
|
key: '_handleBlur',
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Materialize v1.0.0
|
2
|
+
* Materialize v1.0.0 (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
|
|
@@ -1084,6 +1084,8 @@ if (typeof define === "function" && define.amd) {
|
|
1084
1084
|
exports.default = M;
|
1085
1085
|
}
|
1086
1086
|
|
1087
|
+
M.version = '1.0.0';
|
1088
|
+
|
1087
1089
|
M.keys = {
|
1088
1090
|
TAB: 9,
|
1089
1091
|
ENTER: 13,
|
@@ -1096,18 +1098,31 @@ M.keys = {
|
|
1096
1098
|
* TabPress Keydown handler
|
1097
1099
|
*/
|
1098
1100
|
M.tabPressed = false;
|
1101
|
+
M.keyDown = false;
|
1099
1102
|
var docHandleKeydown = function (e) {
|
1100
|
-
|
1103
|
+
M.keyDown = true;
|
1104
|
+
if (e.which === M.keys.TAB || e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) {
|
1101
1105
|
M.tabPressed = true;
|
1102
1106
|
}
|
1103
1107
|
};
|
1104
1108
|
var docHandleKeyup = function (e) {
|
1105
|
-
|
1109
|
+
M.keyDown = false;
|
1110
|
+
if (e.which === M.keys.TAB || e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) {
|
1106
1111
|
M.tabPressed = false;
|
1107
1112
|
}
|
1108
1113
|
};
|
1109
|
-
|
1110
|
-
|
1114
|
+
var docHandleFocus = function (e) {
|
1115
|
+
if (M.keyDown) {
|
1116
|
+
document.body.classList.add('keyboard-focused');
|
1117
|
+
}
|
1118
|
+
};
|
1119
|
+
var docHandleBlur = function (e) {
|
1120
|
+
document.body.classList.remove('keyboard-focused');
|
1121
|
+
};
|
1122
|
+
document.addEventListener('keydown', docHandleKeydown, true);
|
1123
|
+
document.addEventListener('keyup', docHandleKeyup, true);
|
1124
|
+
document.addEventListener('focus', docHandleFocus, true);
|
1125
|
+
document.addEventListener('blur', docHandleBlur, true);
|
1111
1126
|
|
1112
1127
|
/**
|
1113
1128
|
* Initialize jQuery wrapper for plugin
|
@@ -1207,7 +1222,7 @@ M.guid = function () {
|
|
1207
1222
|
* @returns {string}
|
1208
1223
|
*/
|
1209
1224
|
M.escapeHash = function (hash) {
|
1210
|
-
return hash.replace(/(:|\.|\[|\]|,|=|\/)/g,
|
1225
|
+
return hash.replace(/(:|\.|\[|\]|,|=|\/)/g, '\\$1');
|
1211
1226
|
};
|
1212
1227
|
|
1213
1228
|
M.elementOrParentIsFixed = function (element) {
|
@@ -1215,7 +1230,7 @@ M.elementOrParentIsFixed = function (element) {
|
|
1215
1230
|
var $checkElements = $element.add($element.parents());
|
1216
1231
|
var isFixed = false;
|
1217
1232
|
$checkElements.each(function () {
|
1218
|
-
if ($(this).css(
|
1233
|
+
if ($(this).css('position') === 'fixed') {
|
1219
1234
|
isFixed = true;
|
1220
1235
|
return false;
|
1221
1236
|
}
|
@@ -1255,6 +1270,8 @@ M.checkWithinContainer = function (container, bounding, offset) {
|
|
1255
1270
|
};
|
1256
1271
|
|
1257
1272
|
var containerRect = container.getBoundingClientRect();
|
1273
|
+
// If body element is smaller than viewport, use viewport height instead.
|
1274
|
+
var containerBottom = container === document.body ? Math.max(containerRect.bottom, window.innerHeight) : containerRect.bottom;
|
1258
1275
|
|
1259
1276
|
var scrollLeft = container.scrollLeft;
|
1260
1277
|
var scrollTop = container.scrollTop;
|
@@ -1275,7 +1292,7 @@ M.checkWithinContainer = function (container, bounding, offset) {
|
|
1275
1292
|
edges.top = true;
|
1276
1293
|
}
|
1277
1294
|
|
1278
|
-
if (scrolledY + bounding.height >
|
1295
|
+
if (scrolledY + bounding.height > containerBottom - offset || scrolledY + bounding.height > window.innerHeight - offset) {
|
1279
1296
|
edges.bottom = true;
|
1280
1297
|
}
|
1281
1298
|
|
@@ -1358,7 +1375,7 @@ M.getIdFromTrigger = function (trigger) {
|
|
1358
1375
|
if (id) {
|
1359
1376
|
id = id.slice(1);
|
1360
1377
|
} else {
|
1361
|
-
id =
|
1378
|
+
id = '';
|
1362
1379
|
}
|
1363
1380
|
}
|
1364
1381
|
return id;
|
@@ -1967,7 +1984,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
1967
1984
|
}, {
|
1968
1985
|
key: "_removeEventHandlers",
|
1969
1986
|
value: function _removeEventHandlers() {
|
1987
|
+
var _this5 = this;
|
1988
|
+
|
1970
1989
|
this.el.removeEventListener('click', this._handleCollapsibleClickBound);
|
1990
|
+
this.$headers.each(function (header) {
|
1991
|
+
header.removeEventListener('keydown', _this5._handleCollapsibleKeydownBound);
|
1992
|
+
});
|
1971
1993
|
}
|
1972
1994
|
|
1973
1995
|
/**
|
@@ -2017,7 +2039,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2017
2039
|
}, {
|
2018
2040
|
key: "_animateIn",
|
2019
2041
|
value: function _animateIn(index) {
|
2020
|
-
var
|
2042
|
+
var _this6 = this;
|
2021
2043
|
|
2022
2044
|
var $collapsibleLi = this.$el.children('li').eq(index);
|
2023
2045
|
if ($collapsibleLi.length) {
|
@@ -2056,8 +2078,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2056
2078
|
});
|
2057
2079
|
|
2058
2080
|
// onOpenEnd callback
|
2059
|
-
if (typeof
|
2060
|
-
|
2081
|
+
if (typeof _this6.options.onOpenEnd === 'function') {
|
2082
|
+
_this6.options.onOpenEnd.call(_this6, $collapsibleLi[0]);
|
2061
2083
|
}
|
2062
2084
|
}
|
2063
2085
|
});
|
@@ -2072,7 +2094,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2072
2094
|
}, {
|
2073
2095
|
key: "_animateOut",
|
2074
2096
|
value: function _animateOut(index) {
|
2075
|
-
var
|
2097
|
+
var _this7 = this;
|
2076
2098
|
|
2077
2099
|
var $collapsibleLi = this.$el.children('li').eq(index);
|
2078
2100
|
if ($collapsibleLi.length) {
|
@@ -2095,8 +2117,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2095
2117
|
});
|
2096
2118
|
|
2097
2119
|
// onCloseEnd callback
|
2098
|
-
if (typeof
|
2099
|
-
|
2120
|
+
if (typeof _this7.options.onCloseEnd === 'function') {
|
2121
|
+
_this7.options.onCloseEnd.call(_this7, $collapsibleLi[0]);
|
2100
2122
|
}
|
2101
2123
|
}
|
2102
2124
|
});
|
@@ -2111,11 +2133,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2111
2133
|
}, {
|
2112
2134
|
key: "open",
|
2113
2135
|
value: function open(index) {
|
2114
|
-
var
|
2136
|
+
var _this8 = this;
|
2115
2137
|
|
2116
2138
|
var $collapsibleLi = this.$el.children('li').eq(index);
|
2117
2139
|
if ($collapsibleLi.length && !$collapsibleLi[0].classList.contains('active')) {
|
2118
|
-
|
2119
2140
|
// onOpenStart callback
|
2120
2141
|
if (typeof this.options.onOpenStart === 'function') {
|
2121
2142
|
this.options.onOpenStart.call(this, $collapsibleLi[0]);
|
@@ -2127,7 +2148,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2127
2148
|
var $activeLis = this.$el.children('li.active');
|
2128
2149
|
$activeLis.each(function (el) {
|
2129
2150
|
var index = $collapsibleLis.index($(el));
|
2130
|
-
|
2151
|
+
_this8.close(index);
|
2131
2152
|
});
|
2132
2153
|
}
|
2133
2154
|
|
@@ -2147,7 +2168,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2147
2168
|
value: function close(index) {
|
2148
2169
|
var $collapsibleLi = this.$el.children('li').eq(index);
|
2149
2170
|
if ($collapsibleLi.length && $collapsibleLi[0].classList.contains('active')) {
|
2150
|
-
|
2151
2171
|
// onCloseStart callback
|
2152
2172
|
if (typeof this.options.onCloseStart === 'function') {
|
2153
2173
|
this.options.onCloseStart.call(this, $collapsibleLi[0]);
|
@@ -2206,7 +2226,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2206
2226
|
onOpenStart: null,
|
2207
2227
|
onOpenEnd: null,
|
2208
2228
|
onCloseStart: null,
|
2209
|
-
onCloseEnd: null
|
2229
|
+
onCloseEnd: null,
|
2230
|
+
onItemClick: null
|
2210
2231
|
};
|
2211
2232
|
|
2212
2233
|
/**
|
@@ -2219,14 +2240,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2219
2240
|
function Dropdown(el, options) {
|
2220
2241
|
_classCallCheck(this, Dropdown);
|
2221
2242
|
|
2222
|
-
var
|
2243
|
+
var _this9 = _possibleConstructorReturn(this, (Dropdown.__proto__ || Object.getPrototypeOf(Dropdown)).call(this, Dropdown, el, options));
|
2223
2244
|
|
2224
|
-
|
2225
|
-
Dropdown._dropdowns.push(
|
2245
|
+
_this9.el.M_Dropdown = _this9;
|
2246
|
+
Dropdown._dropdowns.push(_this9);
|
2226
2247
|
|
2227
|
-
|
2228
|
-
|
2229
|
-
|
2248
|
+
_this9.id = M.getIdFromTrigger(el);
|
2249
|
+
_this9.dropdownEl = document.getElementById(_this9.id);
|
2250
|
+
_this9.$dropdownEl = $(_this9.dropdownEl);
|
2230
2251
|
|
2231
2252
|
/**
|
2232
2253
|
* Options for the dropdown
|
@@ -2245,44 +2266,45 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2245
2266
|
* @prop {Function} onCloseStart - Function called when dropdown starts closing
|
2246
2267
|
* @prop {Function} onCloseEnd - Function called when dropdown finishes closing
|
2247
2268
|
*/
|
2248
|
-
|
2269
|
+
_this9.options = $.extend({}, Dropdown.defaults, options);
|
2249
2270
|
|
2250
2271
|
/**
|
2251
2272
|
* Describes open/close state of dropdown
|
2252
2273
|
* @type {Boolean}
|
2253
2274
|
*/
|
2254
|
-
|
2275
|
+
_this9.isOpen = false;
|
2255
2276
|
|
2256
2277
|
/**
|
2257
2278
|
* Describes if dropdown content is scrollable
|
2258
2279
|
* @type {Boolean}
|
2259
2280
|
*/
|
2260
|
-
|
2281
|
+
_this9.isScrollable = false;
|
2261
2282
|
|
2262
2283
|
/**
|
2263
2284
|
* Describes if touch moving on dropdown content
|
2264
2285
|
* @type {Boolean}
|
2265
2286
|
*/
|
2266
|
-
|
2287
|
+
_this9.isTouchMoving = false;
|
2267
2288
|
|
2268
|
-
|
2269
|
-
|
2289
|
+
_this9.focusedIndex = -1;
|
2290
|
+
_this9.filterQuery = [];
|
2270
2291
|
|
2271
2292
|
// Move dropdown-content after dropdown-trigger
|
2272
|
-
if (!!
|
2273
|
-
$(
|
2293
|
+
if (!!_this9.options.container) {
|
2294
|
+
$(_this9.options.container).append(_this9.dropdownEl);
|
2274
2295
|
} else {
|
2275
|
-
|
2276
|
-
}
|
2277
|
-
|
2278
|
-
|
2279
|
-
|
2280
|
-
|
2281
|
-
|
2282
|
-
|
2283
|
-
|
2284
|
-
|
2285
|
-
|
2296
|
+
_this9.$el.after(_this9.dropdownEl);
|
2297
|
+
}
|
2298
|
+
|
2299
|
+
_this9._makeDropdownFocusable();
|
2300
|
+
_this9._resetFilterQueryBound = _this9._resetFilterQuery.bind(_this9);
|
2301
|
+
_this9._handleDocumentClickBound = _this9._handleDocumentClick.bind(_this9);
|
2302
|
+
_this9._handleDocumentTouchmoveBound = _this9._handleDocumentTouchmove.bind(_this9);
|
2303
|
+
_this9._handleDropdownClickBound = _this9._handleDropdownClick.bind(_this9);
|
2304
|
+
_this9._handleDropdownKeydownBound = _this9._handleDropdownKeydown.bind(_this9);
|
2305
|
+
_this9._handleTriggerKeydownBound = _this9._handleTriggerKeydown.bind(_this9);
|
2306
|
+
_this9._setupEventHandlers();
|
2307
|
+
return _this9;
|
2286
2308
|
}
|
2287
2309
|
|
2288
2310
|
_createClass(Dropdown, [{
|
@@ -2309,6 +2331,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2309
2331
|
// Trigger keydown handler
|
2310
2332
|
this.el.addEventListener('keydown', this._handleTriggerKeydownBound);
|
2311
2333
|
|
2334
|
+
// Item click handler
|
2335
|
+
this.dropdownEl.addEventListener('click', this._handleDropdownClickBound);
|
2336
|
+
|
2312
2337
|
// Hover event handlers
|
2313
2338
|
if (this.options.hover) {
|
2314
2339
|
this._handleMouseEnterBound = this._handleMouseEnter.bind(this);
|
@@ -2331,13 +2356,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2331
2356
|
}, {
|
2332
2357
|
key: "_removeEventHandlers",
|
2333
2358
|
value: function _removeEventHandlers() {
|
2334
|
-
// Trigger keydown handler
|
2335
2359
|
this.el.removeEventListener('keydown', this._handleTriggerKeydownBound);
|
2360
|
+
this.dropdownEl.removeEventListener('click', this._handleDropdownClickBound);
|
2336
2361
|
|
2337
2362
|
if (this.options.hover) {
|
2338
|
-
this.el.
|
2339
|
-
this.el.
|
2340
|
-
this.dropdownEl.
|
2363
|
+
this.el.removeEventListener('mouseenter', this._handleMouseEnterBound);
|
2364
|
+
this.el.removeEventListener('mouseleave', this._handleMouseLeaveBound);
|
2365
|
+
this.dropdownEl.removeEventListener('mouseleave', this._handleMouseLeaveBound);
|
2341
2366
|
} else {
|
2342
2367
|
this.el.removeEventListener('click', this._handleClickBound);
|
2343
2368
|
}
|
@@ -2391,17 +2416,17 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2391
2416
|
}, {
|
2392
2417
|
key: "_handleDocumentClick",
|
2393
2418
|
value: function _handleDocumentClick(e) {
|
2394
|
-
var
|
2419
|
+
var _this10 = this;
|
2395
2420
|
|
2396
2421
|
var $target = $(e.target);
|
2397
2422
|
if (this.options.closeOnClick && $target.closest('.dropdown-content').length && !this.isTouchMoving) {
|
2398
2423
|
// isTouchMoving to check if scrolling on mobile.
|
2399
2424
|
setTimeout(function () {
|
2400
|
-
|
2425
|
+
_this10.close();
|
2401
2426
|
}, 0);
|
2402
2427
|
} else if ($target.closest('.dropdown-trigger').length || !$target.closest('.dropdown-content').length) {
|
2403
2428
|
setTimeout(function () {
|
2404
|
-
|
2429
|
+
_this10.close();
|
2405
2430
|
}, 0);
|
2406
2431
|
}
|
2407
2432
|
this.isTouchMoving = false;
|
@@ -2430,6 +2455,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2430
2455
|
}
|
2431
2456
|
}
|
2432
2457
|
|
2458
|
+
/**
|
2459
|
+
* Handle Dropdown Click
|
2460
|
+
* @param {Event} e
|
2461
|
+
*/
|
2462
|
+
|
2463
|
+
}, {
|
2464
|
+
key: "_handleDropdownClick",
|
2465
|
+
value: function _handleDropdownClick(e) {
|
2466
|
+
// onItemClick callback
|
2467
|
+
if (typeof this.options.onItemClick === 'function') {
|
2468
|
+
var itemEl = $(e.target).closest('li')[0];
|
2469
|
+
this.options.onItemClick.call(this, itemEl);
|
2470
|
+
}
|
2471
|
+
}
|
2472
|
+
|
2433
2473
|
/**
|
2434
2474
|
* Handle Dropdown Keydown
|
2435
2475
|
* @param {Event} e
|
@@ -2469,7 +2509,11 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2469
2509
|
var $activatableElement = $(focusedElement).find('a, button').first();
|
2470
2510
|
|
2471
2511
|
// Click a or button tag if exists, otherwise click li tag
|
2472
|
-
!!$activatableElement.length
|
2512
|
+
if (!!$activatableElement.length) {
|
2513
|
+
$activatableElement[0].click();
|
2514
|
+
} else if (!!focusedElement) {
|
2515
|
+
focusedElement.click();
|
2516
|
+
}
|
2473
2517
|
|
2474
2518
|
// Close dropdown on ESC
|
2475
2519
|
} else if (e.which === M.keys.ESC && this.isOpen) {
|
@@ -2560,7 +2604,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2560
2604
|
};
|
2561
2605
|
|
2562
2606
|
// Countainer here will be closest ancestor with overflow: hidden
|
2563
|
-
var closestOverflowParent = this.dropdownEl.offsetParent;
|
2607
|
+
var closestOverflowParent = !!this.dropdownEl.offsetParent ? this.dropdownEl.offsetParent : this.dropdownEl.parentNode;
|
2608
|
+
|
2564
2609
|
var alignments = M.checkPossibleAlignments(this.el, closestOverflowParent, dropdownBounds, this.options.coverTrigger ? 0 : triggerBRect.height);
|
2565
2610
|
|
2566
2611
|
var verticalAlignment = 'top';
|
@@ -2628,7 +2673,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2628
2673
|
}, {
|
2629
2674
|
key: "_animateIn",
|
2630
2675
|
value: function _animateIn() {
|
2631
|
-
var
|
2676
|
+
var _this11 = this;
|
2632
2677
|
|
2633
2678
|
anim.remove(this.dropdownEl);
|
2634
2679
|
anim({
|
@@ -2637,19 +2682,18 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2637
2682
|
value: [0, 1],
|
2638
2683
|
easing: 'easeOutQuad'
|
2639
2684
|
},
|
2640
|
-
scaleX: [.3, 1],
|
2641
|
-
scaleY: [.3, 1],
|
2685
|
+
scaleX: [0.3, 1],
|
2686
|
+
scaleY: [0.3, 1],
|
2642
2687
|
duration: this.options.inDuration,
|
2643
2688
|
easing: 'easeOutQuint',
|
2644
2689
|
complete: function (anim) {
|
2645
|
-
if (
|
2646
|
-
|
2690
|
+
if (_this11.options.autoFocus) {
|
2691
|
+
_this11.dropdownEl.focus();
|
2647
2692
|
}
|
2648
2693
|
|
2649
2694
|
// onOpenEnd callback
|
2650
|
-
if (typeof
|
2651
|
-
|
2652
|
-
_this10.options.onOpenEnd.call(elem, _this10.el);
|
2695
|
+
if (typeof _this11.options.onOpenEnd === 'function') {
|
2696
|
+
_this11.options.onOpenEnd.call(_this11, _this11.el);
|
2653
2697
|
}
|
2654
2698
|
}
|
2655
2699
|
});
|
@@ -2662,7 +2706,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2662
2706
|
}, {
|
2663
2707
|
key: "_animateOut",
|
2664
2708
|
value: function _animateOut() {
|
2665
|
-
var
|
2709
|
+
var _this12 = this;
|
2666
2710
|
|
2667
2711
|
anim.remove(this.dropdownEl);
|
2668
2712
|
anim({
|
@@ -2671,17 +2715,16 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2671
2715
|
value: 0,
|
2672
2716
|
easing: 'easeOutQuint'
|
2673
2717
|
},
|
2674
|
-
scaleX: .3,
|
2675
|
-
scaleY: .3,
|
2718
|
+
scaleX: 0.3,
|
2719
|
+
scaleY: 0.3,
|
2676
2720
|
duration: this.options.outDuration,
|
2677
2721
|
easing: 'easeOutQuint',
|
2678
2722
|
complete: function (anim) {
|
2679
|
-
|
2723
|
+
_this12._resetDropdownStyles();
|
2680
2724
|
|
2681
2725
|
// onCloseEnd callback
|
2682
|
-
if (typeof
|
2683
|
-
|
2684
|
-
_this11.options.onCloseEnd.call(_this11, _this11.el);
|
2726
|
+
if (typeof _this12.options.onCloseEnd === 'function') {
|
2727
|
+
_this12.options.onCloseEnd.call(_this12, _this12.el);
|
2685
2728
|
}
|
2686
2729
|
}
|
2687
2730
|
});
|
@@ -2810,7 +2853,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2810
2853
|
|
2811
2854
|
Dropdown._dropdowns = [];
|
2812
2855
|
|
2813
|
-
|
2856
|
+
M.Dropdown = Dropdown;
|
2814
2857
|
|
2815
2858
|
if (M.jQueryLoaded) {
|
2816
2859
|
M.initializeJqueryWrapper(Dropdown, 'dropdown', 'M_Dropdown');
|
@@ -2850,9 +2893,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2850
2893
|
function Modal(el, options) {
|
2851
2894
|
_classCallCheck(this, Modal);
|
2852
2895
|
|
2853
|
-
var
|
2896
|
+
var _this13 = _possibleConstructorReturn(this, (Modal.__proto__ || Object.getPrototypeOf(Modal)).call(this, Modal, el, options));
|
2854
2897
|
|
2855
|
-
|
2898
|
+
_this13.el.M_Modal = _this13;
|
2856
2899
|
|
2857
2900
|
/**
|
2858
2901
|
* Options for the modal
|
@@ -2868,22 +2911,23 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2868
2911
|
* @prop {String} [startingTop='4%'] - startingTop
|
2869
2912
|
* @prop {String} [endingTop='10%'] - endingTop
|
2870
2913
|
*/
|
2871
|
-
|
2914
|
+
_this13.options = $.extend({}, Modal.defaults, options);
|
2872
2915
|
|
2873
2916
|
/**
|
2874
2917
|
* Describes open/close state of modal
|
2875
2918
|
* @type {Boolean}
|
2876
2919
|
*/
|
2877
|
-
|
2920
|
+
_this13.isOpen = false;
|
2878
2921
|
|
2879
|
-
|
2880
|
-
|
2881
|
-
|
2882
|
-
|
2922
|
+
_this13.id = _this13.$el.attr('id');
|
2923
|
+
_this13._openingTrigger = undefined;
|
2924
|
+
_this13.$overlay = $('<div class="modal-overlay"></div>');
|
2925
|
+
_this13.el.tabIndex = 0;
|
2926
|
+
_this13._nthModalOpened = 0;
|
2883
2927
|
|
2884
2928
|
Modal._count++;
|
2885
|
-
|
2886
|
-
return
|
2929
|
+
_this13._setupEventHandlers();
|
2930
|
+
return _this13;
|
2887
2931
|
}
|
2888
2932
|
|
2889
2933
|
_createClass(Modal, [{
|
@@ -2999,7 +3043,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
2999
3043
|
}, {
|
3000
3044
|
key: "_handleFocus",
|
3001
3045
|
value: function _handleFocus(e) {
|
3002
|
-
if
|
3046
|
+
// Only trap focus if this modal is the last model opened (prevents loops in nested modals).
|
3047
|
+
if (!this.el.contains(e.target) && this._nthModalOpened === Modal._modalsOpen) {
|
3003
3048
|
this.el.focus();
|
3004
3049
|
}
|
3005
3050
|
}
|
@@ -3011,7 +3056,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3011
3056
|
}, {
|
3012
3057
|
key: "_animateIn",
|
3013
3058
|
value: function _animateIn() {
|
3014
|
-
var
|
3059
|
+
var _this14 = this;
|
3015
3060
|
|
3016
3061
|
// Set initial styles
|
3017
3062
|
$.extend(this.el.style, {
|
@@ -3038,8 +3083,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3038
3083
|
easing: 'easeOutCubic',
|
3039
3084
|
// Handle modal onOpenEnd callback
|
3040
3085
|
complete: function () {
|
3041
|
-
if (typeof
|
3042
|
-
|
3086
|
+
if (typeof _this14.options.onOpenEnd === 'function') {
|
3087
|
+
_this14.options.onOpenEnd.call(_this14, _this14.el, _this14._openingTrigger);
|
3043
3088
|
}
|
3044
3089
|
}
|
3045
3090
|
};
|
@@ -3057,8 +3102,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3057
3102
|
$.extend(enterAnimOptions, {
|
3058
3103
|
top: [this.options.startingTop, this.options.endingTop],
|
3059
3104
|
opacity: 1,
|
3060
|
-
scaleX: [.8, 1],
|
3061
|
-
scaleY: [.8, 1]
|
3105
|
+
scaleX: [0.8, 1],
|
3106
|
+
scaleY: [0.8, 1]
|
3062
3107
|
});
|
3063
3108
|
anim(enterAnimOptions);
|
3064
3109
|
}
|
@@ -3071,7 +3116,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3071
3116
|
}, {
|
3072
3117
|
key: "_animateOut",
|
3073
3118
|
value: function _animateOut() {
|
3074
|
-
var
|
3119
|
+
var _this15 = this;
|
3075
3120
|
|
3076
3121
|
// Animate overlay
|
3077
3122
|
anim({
|
@@ -3088,12 +3133,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3088
3133
|
easing: 'easeOutCubic',
|
3089
3134
|
// Handle modal ready callback
|
3090
3135
|
complete: function () {
|
3091
|
-
|
3092
|
-
|
3136
|
+
_this15.el.style.display = 'none';
|
3137
|
+
_this15.$overlay.remove();
|
3093
3138
|
|
3094
3139
|
// Call onCloseEnd callback
|
3095
|
-
if (typeof
|
3096
|
-
|
3140
|
+
if (typeof _this15.options.onCloseEnd === 'function') {
|
3141
|
+
_this15.options.onCloseEnd.call(_this15, _this15.el);
|
3097
3142
|
}
|
3098
3143
|
}
|
3099
3144
|
};
|
@@ -3132,6 +3177,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3132
3177
|
|
3133
3178
|
this.isOpen = true;
|
3134
3179
|
Modal._modalsOpen++;
|
3180
|
+
this._nthModalOpened = Modal._modalsOpen;
|
3135
3181
|
|
3136
3182
|
// Set Z-Index based on number of currently open modals
|
3137
3183
|
this.$overlay[0].style.zIndex = 1000 + Modal._modalsOpen * 2;
|
@@ -3182,6 +3228,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3182
3228
|
|
3183
3229
|
this.isOpen = false;
|
3184
3230
|
Modal._modalsOpen--;
|
3231
|
+
this._nthModalOpened = 0;
|
3185
3232
|
|
3186
3233
|
// Call onCloseStart callback
|
3187
3234
|
if (typeof this.options.onCloseStart === 'function') {
|
@@ -3197,7 +3244,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3197
3244
|
|
3198
3245
|
if (this.options.dismissible) {
|
3199
3246
|
document.removeEventListener('keydown', this._handleKeydownBound);
|
3200
|
-
document.removeEventListener('focus', this._handleFocusBound);
|
3247
|
+
document.removeEventListener('focus', this._handleFocusBound, true);
|
3201
3248
|
}
|
3202
3249
|
|
3203
3250
|
anim.remove(this.el);
|
@@ -3280,9 +3327,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3280
3327
|
function Materialbox(el, options) {
|
3281
3328
|
_classCallCheck(this, Materialbox);
|
3282
3329
|
|
3283
|
-
var
|
3330
|
+
var _this16 = _possibleConstructorReturn(this, (Materialbox.__proto__ || Object.getPrototypeOf(Materialbox)).call(this, Materialbox, el, options));
|
3284
3331
|
|
3285
|
-
|
3332
|
+
_this16.el.M_Materialbox = _this16;
|
3286
3333
|
|
3287
3334
|
/**
|
3288
3335
|
* Options for the modal
|
@@ -3294,22 +3341,22 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3294
3341
|
* @prop {Function} onCloseStart - Callback function called before materialbox is closed
|
3295
3342
|
* @prop {Function} onCloseEnd - Callback function called after materialbox is closed
|
3296
3343
|
*/
|
3297
|
-
|
3344
|
+
_this16.options = $.extend({}, Materialbox.defaults, options);
|
3298
3345
|
|
3299
|
-
|
3300
|
-
|
3301
|
-
|
3302
|
-
|
3303
|
-
|
3304
|
-
|
3305
|
-
|
3346
|
+
_this16.overlayActive = false;
|
3347
|
+
_this16.doneAnimating = true;
|
3348
|
+
_this16.placeholder = $('<div></div>').addClass('material-placeholder');
|
3349
|
+
_this16.originalWidth = 0;
|
3350
|
+
_this16.originalHeight = 0;
|
3351
|
+
_this16.originInlineStyles = _this16.$el.attr('style');
|
3352
|
+
_this16.caption = _this16.el.getAttribute('data-caption') || '';
|
3306
3353
|
|
3307
3354
|
// Wrap
|
3308
|
-
|
3309
|
-
|
3355
|
+
_this16.$el.before(_this16.placeholder);
|
3356
|
+
_this16.placeholder.append(_this16.$el);
|
3310
3357
|
|
3311
|
-
|
3312
|
-
return
|
3358
|
+
_this16._setupEventHandlers();
|
3359
|
+
return _this16;
|
3313
3360
|
}
|
3314
3361
|
|
3315
3362
|
_createClass(Materialbox, [{
|
@@ -3322,6 +3369,11 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3322
3369
|
value: function destroy() {
|
3323
3370
|
this._removeEventHandlers();
|
3324
3371
|
this.el.M_Materialbox = undefined;
|
3372
|
+
|
3373
|
+
// Unwrap image
|
3374
|
+
$(this.placeholder).after(this.el).remove();
|
3375
|
+
|
3376
|
+
this.$el.removeAttr('style');
|
3325
3377
|
}
|
3326
3378
|
|
3327
3379
|
/**
|
@@ -3429,7 +3481,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3429
3481
|
}, {
|
3430
3482
|
key: "_animateImageIn",
|
3431
3483
|
value: function _animateImageIn() {
|
3432
|
-
var
|
3484
|
+
var _this17 = this;
|
3433
3485
|
|
3434
3486
|
var animOptions = {
|
3435
3487
|
targets: this.el,
|
@@ -3440,11 +3492,11 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3440
3492
|
duration: this.options.inDuration,
|
3441
3493
|
easing: 'easeOutQuad',
|
3442
3494
|
complete: function () {
|
3443
|
-
|
3495
|
+
_this17.doneAnimating = true;
|
3444
3496
|
|
3445
3497
|
// onOpenEnd callback
|
3446
|
-
if (typeof
|
3447
|
-
|
3498
|
+
if (typeof _this17.options.onOpenEnd === 'function') {
|
3499
|
+
_this17.options.onOpenEnd.call(_this17, _this17.el);
|
3448
3500
|
}
|
3449
3501
|
}
|
3450
3502
|
};
|
@@ -3469,7 +3521,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3469
3521
|
}, {
|
3470
3522
|
key: "_animateImageOut",
|
3471
3523
|
value: function _animateImageOut() {
|
3472
|
-
var
|
3524
|
+
var _this18 = this;
|
3473
3525
|
|
3474
3526
|
var animOptions = {
|
3475
3527
|
targets: this.el,
|
@@ -3480,7 +3532,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3480
3532
|
duration: this.options.outDuration,
|
3481
3533
|
easing: 'easeOutQuad',
|
3482
3534
|
complete: function () {
|
3483
|
-
|
3535
|
+
_this18.placeholder.css({
|
3484
3536
|
height: '',
|
3485
3537
|
width: '',
|
3486
3538
|
position: '',
|
@@ -3489,28 +3541,28 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3489
3541
|
});
|
3490
3542
|
|
3491
3543
|
// Revert to width or height attribute
|
3492
|
-
if (
|
3493
|
-
|
3544
|
+
if (_this18.attrWidth) {
|
3545
|
+
_this18.$el.attr('width', _this18.attrWidth);
|
3494
3546
|
}
|
3495
|
-
if (
|
3496
|
-
|
3547
|
+
if (_this18.attrHeight) {
|
3548
|
+
_this18.$el.attr('height', _this18.attrHeight);
|
3497
3549
|
}
|
3498
3550
|
|
3499
|
-
|
3500
|
-
|
3551
|
+
_this18.$el.removeAttr('style');
|
3552
|
+
_this18.originInlineStyles && _this18.$el.attr('style', _this18.originInlineStyles);
|
3501
3553
|
|
3502
3554
|
// Remove class
|
3503
|
-
|
3504
|
-
|
3555
|
+
_this18.$el.removeClass('active');
|
3556
|
+
_this18.doneAnimating = true;
|
3505
3557
|
|
3506
3558
|
// Remove overflow overrides on ancestors
|
3507
|
-
if (
|
3508
|
-
|
3559
|
+
if (_this18.ancestorsChanged.length) {
|
3560
|
+
_this18.ancestorsChanged.css('overflow', '');
|
3509
3561
|
}
|
3510
3562
|
|
3511
3563
|
// onCloseEnd callback
|
3512
|
-
if (typeof
|
3513
|
-
|
3564
|
+
if (typeof _this18.options.onCloseEnd === 'function') {
|
3565
|
+
_this18.options.onCloseEnd.call(_this18, _this18.el);
|
3514
3566
|
}
|
3515
3567
|
}
|
3516
3568
|
};
|
@@ -3527,7 +3579,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3527
3579
|
value: function _updateVars() {
|
3528
3580
|
this.windowWidth = window.innerWidth;
|
3529
3581
|
this.windowHeight = window.innerHeight;
|
3530
|
-
this.caption = this.el.getAttribute('data-caption') ||
|
3582
|
+
this.caption = this.el.getAttribute('data-caption') || '';
|
3531
3583
|
}
|
3532
3584
|
|
3533
3585
|
/**
|
@@ -3537,7 +3589,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3537
3589
|
}, {
|
3538
3590
|
key: "open",
|
3539
3591
|
value: function open() {
|
3540
|
-
var
|
3592
|
+
var _this19 = this;
|
3541
3593
|
|
3542
3594
|
this._updateVars();
|
3543
3595
|
this.originalWidth = this.el.getBoundingClientRect().width;
|
@@ -3587,8 +3639,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3587
3639
|
this.$overlay = $('<div id="materialbox-overlay"></div>').css({
|
3588
3640
|
opacity: 0
|
3589
3641
|
}).one('click', function () {
|
3590
|
-
if (
|
3591
|
-
|
3642
|
+
if (_this19.doneAnimating) {
|
3643
|
+
_this19.close();
|
3592
3644
|
}
|
3593
3645
|
});
|
3594
3646
|
|
@@ -3616,14 +3668,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3616
3668
|
});
|
3617
3669
|
|
3618
3670
|
// Add and animate caption if it exists
|
3619
|
-
if (this.caption !==
|
3671
|
+
if (this.caption !== '') {
|
3620
3672
|
if (this.$photocaption) {
|
3621
3673
|
anim.remove(this.$photoCaption[0]);
|
3622
3674
|
}
|
3623
3675
|
this.$photoCaption = $('<div class="materialbox-caption"></div>');
|
3624
3676
|
this.$photoCaption.text(this.caption);
|
3625
3677
|
$('body').append(this.$photoCaption);
|
3626
|
-
this.$photoCaption.css({
|
3678
|
+
this.$photoCaption.css({ display: 'inline' });
|
3627
3679
|
|
3628
3680
|
anim({
|
3629
3681
|
targets: this.$photoCaption[0],
|
@@ -3669,7 +3721,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3669
3721
|
}, {
|
3670
3722
|
key: "close",
|
3671
3723
|
value: function close() {
|
3672
|
-
var
|
3724
|
+
var _this20 = this;
|
3673
3725
|
|
3674
3726
|
this._updateVars();
|
3675
3727
|
this.doneAnimating = false;
|
@@ -3682,7 +3734,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3682
3734
|
anim.remove(this.el);
|
3683
3735
|
anim.remove(this.$overlay[0]);
|
3684
3736
|
|
3685
|
-
if (this.caption !==
|
3737
|
+
if (this.caption !== '') {
|
3686
3738
|
anim.remove(this.$photoCaption[0]);
|
3687
3739
|
}
|
3688
3740
|
|
@@ -3697,22 +3749,22 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3697
3749
|
duration: this.options.outDuration,
|
3698
3750
|
easing: 'easeOutQuad',
|
3699
3751
|
complete: function () {
|
3700
|
-
|
3701
|
-
|
3752
|
+
_this20.overlayActive = false;
|
3753
|
+
_this20.$overlay.remove();
|
3702
3754
|
}
|
3703
3755
|
});
|
3704
3756
|
|
3705
3757
|
this._animateImageOut();
|
3706
3758
|
|
3707
3759
|
// Remove Caption + reset css settings on image
|
3708
|
-
if (this.caption !==
|
3760
|
+
if (this.caption !== '') {
|
3709
3761
|
anim({
|
3710
3762
|
targets: this.$photoCaption[0],
|
3711
3763
|
opacity: 0,
|
3712
3764
|
duration: this.options.outDuration,
|
3713
3765
|
easing: 'easeOutQuad',
|
3714
3766
|
complete: function () {
|
3715
|
-
|
3767
|
+
_this20.$photoCaption.remove();
|
3716
3768
|
}
|
3717
3769
|
});
|
3718
3770
|
}
|
@@ -3762,30 +3814,30 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3762
3814
|
function Parallax(el, options) {
|
3763
3815
|
_classCallCheck(this, Parallax);
|
3764
3816
|
|
3765
|
-
var
|
3817
|
+
var _this21 = _possibleConstructorReturn(this, (Parallax.__proto__ || Object.getPrototypeOf(Parallax)).call(this, Parallax, el, options));
|
3766
3818
|
|
3767
|
-
|
3819
|
+
_this21.el.M_Parallax = _this21;
|
3768
3820
|
|
3769
3821
|
/**
|
3770
3822
|
* Options for the Parallax
|
3771
3823
|
* @member Parallax#options
|
3772
3824
|
* @prop {Number} responsiveThreshold
|
3773
3825
|
*/
|
3774
|
-
|
3775
|
-
|
3826
|
+
_this21.options = $.extend({}, Parallax.defaults, options);
|
3827
|
+
_this21._enabled = window.innerWidth > _this21.options.responsiveThreshold;
|
3776
3828
|
|
3777
|
-
|
3778
|
-
|
3829
|
+
_this21.$img = _this21.$el.find('img').first();
|
3830
|
+
_this21.$img.each(function () {
|
3779
3831
|
var el = this;
|
3780
|
-
if (el.complete) $(el).trigger(
|
3832
|
+
if (el.complete) $(el).trigger('load');
|
3781
3833
|
});
|
3782
3834
|
|
3783
|
-
|
3784
|
-
|
3785
|
-
|
3835
|
+
_this21._updateParallax();
|
3836
|
+
_this21._setupEventHandlers();
|
3837
|
+
_this21._setupStyles();
|
3786
3838
|
|
3787
|
-
Parallax._parallaxes.push(
|
3788
|
-
return
|
3839
|
+
Parallax._parallaxes.push(_this21);
|
3840
|
+
return _this21;
|
3789
3841
|
}
|
3790
3842
|
|
3791
3843
|
_createClass(Parallax, [{
|
@@ -3939,9 +3991,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3939
3991
|
function Tabs(el, options) {
|
3940
3992
|
_classCallCheck(this, Tabs);
|
3941
3993
|
|
3942
|
-
var
|
3994
|
+
var _this22 = _possibleConstructorReturn(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).call(this, Tabs, el, options));
|
3943
3995
|
|
3944
|
-
|
3996
|
+
_this22.el.M_Tabs = _this22;
|
3945
3997
|
|
3946
3998
|
/**
|
3947
3999
|
* Options for the Tabs
|
@@ -3951,23 +4003,26 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
3951
4003
|
* @prop {Boolean} swipeable
|
3952
4004
|
* @prop {Number} responsiveThreshold
|
3953
4005
|
*/
|
3954
|
-
|
4006
|
+
_this22.options = $.extend({}, Tabs.defaults, options);
|
3955
4007
|
|
3956
4008
|
// Setup
|
3957
|
-
|
3958
|
-
|
3959
|
-
|
3960
|
-
|
3961
|
-
|
3962
|
-
|
3963
|
-
|
3964
|
-
_this21._setupSwipeableTabs();
|
4009
|
+
_this22.$tabLinks = _this22.$el.children('li.tab').children('a');
|
4010
|
+
_this22.index = 0;
|
4011
|
+
_this22._setupActiveTabLink();
|
4012
|
+
|
4013
|
+
// Setup tabs content
|
4014
|
+
if (_this22.options.swipeable) {
|
4015
|
+
_this22._setupSwipeableTabs();
|
3965
4016
|
} else {
|
3966
|
-
|
4017
|
+
_this22._setupNormalTabs();
|
3967
4018
|
}
|
3968
4019
|
|
3969
|
-
|
3970
|
-
|
4020
|
+
// Setup tabs indicator after content to ensure accurate widths
|
4021
|
+
_this22._setTabsAndTabWidth();
|
4022
|
+
_this22._createIndicator();
|
4023
|
+
|
4024
|
+
_this22._setupEventHandlers();
|
4025
|
+
return _this22;
|
3971
4026
|
}
|
3972
4027
|
|
3973
4028
|
_createClass(Tabs, [{
|
@@ -4038,7 +4093,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4038
4093
|
}, {
|
4039
4094
|
key: "_handleTabClick",
|
4040
4095
|
value: function _handleTabClick(e) {
|
4041
|
-
var
|
4096
|
+
var _this23 = this;
|
4042
4097
|
|
4043
4098
|
var tab = $(e.target).closest('li.tab');
|
4044
4099
|
var tabLink = $(e.target).closest('a');
|
@@ -4054,12 +4109,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4054
4109
|
}
|
4055
4110
|
|
4056
4111
|
// Act as regular link if target attribute is specified.
|
4057
|
-
if (!!tabLink.attr(
|
4112
|
+
if (!!tabLink.attr('target')) {
|
4058
4113
|
return;
|
4059
4114
|
}
|
4060
4115
|
|
4061
|
-
this._setTabsAndTabWidth();
|
4062
|
-
|
4063
4116
|
// Make the old tab inactive.
|
4064
4117
|
this.$activeTabLink.removeClass('active');
|
4065
4118
|
var $oldContent = this.$content;
|
@@ -4078,8 +4131,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4078
4131
|
if (this.options.swipeable) {
|
4079
4132
|
if (this._tabsCarousel) {
|
4080
4133
|
this._tabsCarousel.set(this.index, function () {
|
4081
|
-
if (typeof
|
4082
|
-
|
4134
|
+
if (typeof _this23.options.onShow === 'function') {
|
4135
|
+
_this23.options.onShow.call(_this23, _this23.$content[0]);
|
4083
4136
|
}
|
4084
4137
|
});
|
4085
4138
|
}
|
@@ -4098,6 +4151,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4098
4151
|
}
|
4099
4152
|
}
|
4100
4153
|
|
4154
|
+
// Update widths after content is swapped (scrollbar bugfix)
|
4155
|
+
this._setTabsAndTabWidth();
|
4156
|
+
|
4101
4157
|
// Update indicator
|
4102
4158
|
this._animateIndicator(prevIndex);
|
4103
4159
|
|
@@ -4112,7 +4168,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4112
4168
|
}, {
|
4113
4169
|
key: "_createIndicator",
|
4114
4170
|
value: function _createIndicator() {
|
4115
|
-
var
|
4171
|
+
var _this24 = this;
|
4116
4172
|
|
4117
4173
|
var indicator = document.createElement('li');
|
4118
4174
|
indicator.classList.add('indicator');
|
@@ -4121,8 +4177,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4121
4177
|
this._indicator = indicator;
|
4122
4178
|
|
4123
4179
|
setTimeout(function () {
|
4124
|
-
|
4125
|
-
|
4180
|
+
_this24._indicator.style.left = _this24._calcLeftPos(_this24.$activeTabLink) + 'px';
|
4181
|
+
_this24._indicator.style.right = _this24._calcRightPos(_this24.$activeTabLink) + 'px';
|
4126
4182
|
}, 0);
|
4127
4183
|
}
|
4128
4184
|
|
@@ -4162,7 +4218,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4162
4218
|
}, {
|
4163
4219
|
key: "_setupSwipeableTabs",
|
4164
4220
|
value: function _setupSwipeableTabs() {
|
4165
|
-
var
|
4221
|
+
var _this25 = this;
|
4166
4222
|
|
4167
4223
|
// Change swipeable according to responsive threshold
|
4168
4224
|
if (window.innerWidth > this.options.responsiveThreshold) {
|
@@ -4188,14 +4244,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4188
4244
|
fullWidth: true,
|
4189
4245
|
noWrap: true,
|
4190
4246
|
onCycleTo: function (item) {
|
4191
|
-
var prevIndex =
|
4192
|
-
|
4193
|
-
|
4194
|
-
|
4195
|
-
|
4196
|
-
|
4197
|
-
if (typeof
|
4198
|
-
|
4247
|
+
var prevIndex = _this25.index;
|
4248
|
+
_this25.index = $(item).index();
|
4249
|
+
_this25.$activeTabLink.removeClass('active');
|
4250
|
+
_this25.$activeTabLink = _this25.$tabLinks.eq(_this25.index);
|
4251
|
+
_this25.$activeTabLink.addClass('active');
|
4252
|
+
_this25._animateIndicator(prevIndex);
|
4253
|
+
if (typeof _this25.options.onShow === 'function') {
|
4254
|
+
_this25.options.onShow.call(_this25, _this25.$content[0]);
|
4199
4255
|
}
|
4200
4256
|
}
|
4201
4257
|
});
|
@@ -4290,6 +4346,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4290
4346
|
}, {
|
4291
4347
|
key: "updateTabIndicator",
|
4292
4348
|
value: function updateTabIndicator() {
|
4349
|
+
this._setTabsAndTabWidth();
|
4293
4350
|
this._animateIndicator(this.index);
|
4294
4351
|
}
|
4295
4352
|
|
@@ -4367,7 +4424,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4367
4424
|
return Tabs;
|
4368
4425
|
}(Component);
|
4369
4426
|
|
4370
|
-
|
4427
|
+
M.Tabs = Tabs;
|
4371
4428
|
|
4372
4429
|
if (M.jQueryLoaded) {
|
4373
4430
|
M.initializeJqueryWrapper(Tabs, 'tabs', 'M_Tabs');
|
@@ -4404,17 +4461,17 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4404
4461
|
function Tooltip(el, options) {
|
4405
4462
|
_classCallCheck(this, Tooltip);
|
4406
4463
|
|
4407
|
-
var
|
4464
|
+
var _this26 = _possibleConstructorReturn(this, (Tooltip.__proto__ || Object.getPrototypeOf(Tooltip)).call(this, Tooltip, el, options));
|
4408
4465
|
|
4409
|
-
|
4410
|
-
|
4466
|
+
_this26.el.M_Tooltip = _this26;
|
4467
|
+
_this26.options = $.extend({}, Tooltip.defaults, options);
|
4411
4468
|
|
4412
|
-
|
4413
|
-
|
4414
|
-
|
4415
|
-
|
4416
|
-
|
4417
|
-
return
|
4469
|
+
_this26.isOpen = false;
|
4470
|
+
_this26.isHovered = false;
|
4471
|
+
_this26.isFocused = false;
|
4472
|
+
_this26._appendTooltipEl();
|
4473
|
+
_this26._setupEventHandlers();
|
4474
|
+
return _this26;
|
4418
4475
|
}
|
4419
4476
|
|
4420
4477
|
_createClass(Tooltip, [{
|
@@ -4469,16 +4526,16 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4469
4526
|
}
|
4470
4527
|
}, {
|
4471
4528
|
key: "open",
|
4472
|
-
value: function open() {
|
4529
|
+
value: function open(isManual) {
|
4473
4530
|
if (this.isOpen) {
|
4474
4531
|
return;
|
4475
4532
|
}
|
4476
|
-
|
4533
|
+
isManual = isManual === undefined ? true : undefined; // Default value true
|
4477
4534
|
this.isOpen = true;
|
4478
4535
|
// Update tooltip content with HTML attribute options
|
4479
4536
|
this.options = $.extend({}, this.options, this._getAttributeOptions());
|
4480
4537
|
this._updateTooltipContent();
|
4481
|
-
this._setEnterDelayTimeout();
|
4538
|
+
this._setEnterDelayTimeout(isManual);
|
4482
4539
|
}
|
4483
4540
|
}, {
|
4484
4541
|
key: "close",
|
@@ -4487,6 +4544,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4487
4544
|
return;
|
4488
4545
|
}
|
4489
4546
|
|
4547
|
+
this.isHovered = false;
|
4548
|
+
this.isFocused = false;
|
4490
4549
|
this.isOpen = false;
|
4491
4550
|
this._setExitDelayTimeout();
|
4492
4551
|
}
|
@@ -4498,16 +4557,16 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4498
4557
|
}, {
|
4499
4558
|
key: "_setExitDelayTimeout",
|
4500
4559
|
value: function _setExitDelayTimeout() {
|
4501
|
-
var
|
4560
|
+
var _this27 = this;
|
4502
4561
|
|
4503
4562
|
clearTimeout(this._exitDelayTimeout);
|
4504
4563
|
|
4505
4564
|
this._exitDelayTimeout = setTimeout(function () {
|
4506
|
-
if (
|
4565
|
+
if (_this27.isHovered || _this27.isFocused) {
|
4507
4566
|
return;
|
4508
4567
|
}
|
4509
4568
|
|
4510
|
-
|
4569
|
+
_this27._animateOut();
|
4511
4570
|
}, this.options.exitDelay);
|
4512
4571
|
}
|
4513
4572
|
|
@@ -4517,17 +4576,17 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4517
4576
|
|
4518
4577
|
}, {
|
4519
4578
|
key: "_setEnterDelayTimeout",
|
4520
|
-
value: function _setEnterDelayTimeout() {
|
4521
|
-
var
|
4579
|
+
value: function _setEnterDelayTimeout(isManual) {
|
4580
|
+
var _this28 = this;
|
4522
4581
|
|
4523
4582
|
clearTimeout(this._enterDelayTimeout);
|
4524
4583
|
|
4525
4584
|
this._enterDelayTimeout = setTimeout(function () {
|
4526
|
-
if (!
|
4585
|
+
if (!_this28.isHovered && !_this28.isFocused && !isManual) {
|
4527
4586
|
return;
|
4528
4587
|
}
|
4529
4588
|
|
4530
|
-
|
4589
|
+
_this28._animateIn();
|
4531
4590
|
}, this.options.enterDelay);
|
4532
4591
|
}
|
4533
4592
|
}, {
|
@@ -4640,19 +4699,23 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
4640
4699
|
key: "_handleMouseEnter",
|
4641
4700
|
value: function _handleMouseEnter() {
|
4642
4701
|
this.isHovered = true;
|
4643
|
-
this.
|
4702
|
+
this.isFocused = false; // Allows close of tooltip when opened by focus.
|
4703
|
+
this.open(false);
|
4644
4704
|
}
|
4645
4705
|
}, {
|
4646
4706
|
key: "_handleMouseLeave",
|
4647
4707
|
value: function _handleMouseLeave() {
|
4648
4708
|
this.isHovered = false;
|
4709
|
+
this.isFocused = false; // Allows close of tooltip when opened by focus.
|
4649
4710
|
this.close();
|
4650
4711
|
}
|
4651
4712
|
}, {
|
4652
4713
|
key: "_handleFocus",
|
4653
4714
|
value: function _handleFocus() {
|
4654
|
-
|
4655
|
-
|
4715
|
+
if (M.tabPressed) {
|
4716
|
+
this.isFocused = true;
|
4717
|
+
this.open(false);
|
4718
|
+
}
|
4656
4719
|
}
|
4657
4720
|
}, {
|
4658
4721
|
key: "_handleBlur",
|
@@ -5085,6 +5148,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5085
5148
|
var toastElement = this._createToast();
|
5086
5149
|
toastElement.M_Toast = this;
|
5087
5150
|
this.el = toastElement;
|
5151
|
+
this.$el = $(toastElement);
|
5088
5152
|
this._animateIn();
|
5089
5153
|
this._setTimer();
|
5090
5154
|
}
|
@@ -5135,7 +5199,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5135
5199
|
targets: this.el,
|
5136
5200
|
top: 0,
|
5137
5201
|
opacity: 1,
|
5138
|
-
duration:
|
5202
|
+
duration: this.options.inDuration,
|
5139
5203
|
easing: 'easeOutCubic'
|
5140
5204
|
});
|
5141
5205
|
}
|
@@ -5148,18 +5212,18 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5148
5212
|
}, {
|
5149
5213
|
key: "_setTimer",
|
5150
5214
|
value: function _setTimer() {
|
5151
|
-
var
|
5215
|
+
var _this29 = this;
|
5152
5216
|
|
5153
5217
|
if (this.timeRemaining !== Infinity) {
|
5154
5218
|
this.counterInterval = setInterval(function () {
|
5155
5219
|
// If toast is not being dragged, decrease its time remaining
|
5156
|
-
if (!
|
5157
|
-
|
5220
|
+
if (!_this29.panning) {
|
5221
|
+
_this29.timeRemaining -= 20;
|
5158
5222
|
}
|
5159
5223
|
|
5160
5224
|
// Animate toast out
|
5161
|
-
if (
|
5162
|
-
|
5225
|
+
if (_this29.timeRemaining <= 0) {
|
5226
|
+
_this29.dismiss();
|
5163
5227
|
}
|
5164
5228
|
}, 20);
|
5165
5229
|
}
|
@@ -5172,7 +5236,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5172
5236
|
}, {
|
5173
5237
|
key: "dismiss",
|
5174
5238
|
value: function dismiss() {
|
5175
|
-
var
|
5239
|
+
var _this30 = this;
|
5176
5240
|
|
5177
5241
|
window.clearInterval(this.counterInterval);
|
5178
5242
|
var activationDistance = this.el.offsetWidth * this.options.activationPercent;
|
@@ -5191,12 +5255,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5191
5255
|
easing: 'easeOutExpo',
|
5192
5256
|
complete: function () {
|
5193
5257
|
// Call the optional callback
|
5194
|
-
if (typeof
|
5195
|
-
|
5258
|
+
if (typeof _this30.options.completeCallback === 'function') {
|
5259
|
+
_this30.options.completeCallback();
|
5196
5260
|
}
|
5197
5261
|
// Remove toast from DOM
|
5198
|
-
|
5199
|
-
Toast._toasts.splice(Toast._toasts.indexOf(
|
5262
|
+
_this30.$el.remove();
|
5263
|
+
Toast._toasts.splice(Toast._toasts.indexOf(_this30), 1);
|
5200
5264
|
if (Toast._toasts.length === 0) {
|
5201
5265
|
Toast._removeContainer();
|
5202
5266
|
}
|
@@ -5249,7 +5313,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5249
5313
|
document.removeEventListener('mousemove', Toast._onDragMove);
|
5250
5314
|
document.removeEventListener('mouseup', Toast._onDragEnd);
|
5251
5315
|
|
5252
|
-
Toast._container.
|
5316
|
+
$(Toast._container).remove();
|
5253
5317
|
Toast._container = null;
|
5254
5318
|
}
|
5255
5319
|
|
@@ -5422,10 +5486,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5422
5486
|
function Sidenav(el, options) {
|
5423
5487
|
_classCallCheck(this, Sidenav);
|
5424
5488
|
|
5425
|
-
var
|
5489
|
+
var _this31 = _possibleConstructorReturn(this, (Sidenav.__proto__ || Object.getPrototypeOf(Sidenav)).call(this, Sidenav, el, options));
|
5426
5490
|
|
5427
|
-
|
5428
|
-
|
5491
|
+
_this31.el.M_Sidenav = _this31;
|
5492
|
+
_this31.id = _this31.$el.attr('id');
|
5429
5493
|
|
5430
5494
|
/**
|
5431
5495
|
* Options for the Sidenav
|
@@ -5439,38 +5503,38 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5439
5503
|
* @prop {Function} onCloseStart - Function called when sidenav starts exiting
|
5440
5504
|
* @prop {Function} onCloseEnd - Function called when sidenav finishes exiting
|
5441
5505
|
*/
|
5442
|
-
|
5506
|
+
_this31.options = $.extend({}, Sidenav.defaults, options);
|
5443
5507
|
|
5444
5508
|
/**
|
5445
5509
|
* Describes open/close state of Sidenav
|
5446
5510
|
* @type {Boolean}
|
5447
5511
|
*/
|
5448
|
-
|
5512
|
+
_this31.isOpen = false;
|
5449
5513
|
|
5450
5514
|
/**
|
5451
5515
|
* Describes if Sidenav is fixed
|
5452
5516
|
* @type {Boolean}
|
5453
5517
|
*/
|
5454
|
-
|
5518
|
+
_this31.isFixed = _this31.el.classList.contains('sidenav-fixed');
|
5455
5519
|
|
5456
5520
|
/**
|
5457
5521
|
* Describes if Sidenav is being draggeed
|
5458
5522
|
* @type {Boolean}
|
5459
5523
|
*/
|
5460
|
-
|
5524
|
+
_this31.isDragged = false;
|
5461
5525
|
|
5462
5526
|
// Window size variables for window resize checks
|
5463
|
-
|
5464
|
-
|
5527
|
+
_this31.lastWindowWidth = window.innerWidth;
|
5528
|
+
_this31.lastWindowHeight = window.innerHeight;
|
5465
5529
|
|
5466
|
-
|
5467
|
-
|
5468
|
-
|
5469
|
-
|
5470
|
-
|
5530
|
+
_this31._createOverlay();
|
5531
|
+
_this31._createDragTarget();
|
5532
|
+
_this31._setupEventHandlers();
|
5533
|
+
_this31._setupClasses();
|
5534
|
+
_this31._setupFixed();
|
5471
5535
|
|
5472
|
-
Sidenav._sidenavs.push(
|
5473
|
-
return
|
5536
|
+
Sidenav._sidenavs.push(_this31);
|
5537
|
+
return _this31;
|
5474
5538
|
}
|
5475
5539
|
|
5476
5540
|
_createClass(Sidenav, [{
|
@@ -5482,9 +5546,11 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5482
5546
|
*/
|
5483
5547
|
value: function destroy() {
|
5484
5548
|
this._removeEventHandlers();
|
5549
|
+
this._enableBodyScrolling();
|
5485
5550
|
this._overlay.parentNode.removeChild(this._overlay);
|
5486
5551
|
this.dragTarget.parentNode.removeChild(this.dragTarget);
|
5487
5552
|
this.el.M_Sidenav = undefined;
|
5553
|
+
this.el.style.transform = '';
|
5488
5554
|
|
5489
5555
|
var index = Sidenav._sidenavs.indexOf(this);
|
5490
5556
|
if (index >= 0) {
|
@@ -5673,7 +5739,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5673
5739
|
key: "_handleDragTargetRelease",
|
5674
5740
|
value: function _handleDragTargetRelease() {
|
5675
5741
|
if (this.isDragged) {
|
5676
|
-
if (this.percentOpen > .
|
5742
|
+
if (this.percentOpen > 0.2) {
|
5677
5743
|
this.open();
|
5678
5744
|
} else {
|
5679
5745
|
this._animateOut();
|
@@ -5740,7 +5806,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5740
5806
|
key: "_handleCloseRelease",
|
5741
5807
|
value: function _handleCloseRelease() {
|
5742
5808
|
if (this.isOpen && this.isDragged) {
|
5743
|
-
if (this.percentOpen > .
|
5809
|
+
if (this.percentOpen > 0.8) {
|
5744
5810
|
this._animateIn();
|
5745
5811
|
} else {
|
5746
5812
|
this.close();
|
@@ -5905,7 +5971,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5905
5971
|
}, {
|
5906
5972
|
key: "_animateSidenavIn",
|
5907
5973
|
value: function _animateSidenavIn() {
|
5908
|
-
var
|
5974
|
+
var _this32 = this;
|
5909
5975
|
|
5910
5976
|
var slideOutPercent = this.options.edge === 'left' ? -1 : 1;
|
5911
5977
|
if (this.isDragged) {
|
@@ -5920,8 +5986,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5920
5986
|
easing: 'easeOutQuad',
|
5921
5987
|
complete: function () {
|
5922
5988
|
// Run onOpenEnd callback
|
5923
|
-
if (typeof
|
5924
|
-
|
5989
|
+
if (typeof _this32.options.onOpenEnd === 'function') {
|
5990
|
+
_this32.options.onOpenEnd.call(_this32, _this32.el);
|
5925
5991
|
}
|
5926
5992
|
}
|
5927
5993
|
});
|
@@ -5955,7 +6021,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5955
6021
|
}, {
|
5956
6022
|
key: "_animateSidenavOut",
|
5957
6023
|
value: function _animateSidenavOut() {
|
5958
|
-
var
|
6024
|
+
var _this33 = this;
|
5959
6025
|
|
5960
6026
|
var endPercent = this.options.edge === 'left' ? -1 : 1;
|
5961
6027
|
var slideOutPercent = 0;
|
@@ -5971,8 +6037,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5971
6037
|
easing: 'easeOutQuad',
|
5972
6038
|
complete: function () {
|
5973
6039
|
// Run onOpenEnd callback
|
5974
|
-
if (typeof
|
5975
|
-
|
6040
|
+
if (typeof _this33.options.onCloseEnd === 'function') {
|
6041
|
+
_this33.options.onCloseEnd.call(_this33, _this33.el);
|
5976
6042
|
}
|
5977
6043
|
}
|
5978
6044
|
});
|
@@ -5980,7 +6046,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5980
6046
|
}, {
|
5981
6047
|
key: "_animateOverlayOut",
|
5982
6048
|
value: function _animateOverlayOut() {
|
5983
|
-
var
|
6049
|
+
var _this34 = this;
|
5984
6050
|
|
5985
6051
|
anim.remove(this._overlay);
|
5986
6052
|
anim({
|
@@ -5989,7 +6055,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
5989
6055
|
duration: this.options.outDuration,
|
5990
6056
|
easing: 'easeOutQuad',
|
5991
6057
|
complete: function () {
|
5992
|
-
$(
|
6058
|
+
$(_this34._overlay).css('display', 'none');
|
5993
6059
|
}
|
5994
6060
|
});
|
5995
6061
|
}
|
@@ -6028,7 +6094,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6028
6094
|
|
6029
6095
|
Sidenav._sidenavs = [];
|
6030
6096
|
|
6031
|
-
|
6097
|
+
M.Sidenav = Sidenav;
|
6032
6098
|
|
6033
6099
|
if (M.jQueryLoaded) {
|
6034
6100
|
M.initializeJqueryWrapper(Sidenav, 'sidenav', 'M_Sidenav');
|
@@ -6063,9 +6129,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6063
6129
|
function ScrollSpy(el, options) {
|
6064
6130
|
_classCallCheck(this, ScrollSpy);
|
6065
6131
|
|
6066
|
-
var
|
6132
|
+
var _this35 = _possibleConstructorReturn(this, (ScrollSpy.__proto__ || Object.getPrototypeOf(ScrollSpy)).call(this, ScrollSpy, el, options));
|
6067
6133
|
|
6068
|
-
|
6134
|
+
_this35.el.M_ScrollSpy = _this35;
|
6069
6135
|
|
6070
6136
|
/**
|
6071
6137
|
* Options for the modal
|
@@ -6075,17 +6141,17 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6075
6141
|
* @prop {String} [activeClass='active'] - Class applied to active elements
|
6076
6142
|
* @prop {Function} [getActiveElement] - Used to find active element
|
6077
6143
|
*/
|
6078
|
-
|
6144
|
+
_this35.options = $.extend({}, ScrollSpy.defaults, options);
|
6079
6145
|
|
6080
6146
|
// setup
|
6081
|
-
ScrollSpy._elements.push(
|
6147
|
+
ScrollSpy._elements.push(_this35);
|
6082
6148
|
ScrollSpy._count++;
|
6083
6149
|
ScrollSpy._increment++;
|
6084
|
-
|
6085
|
-
|
6086
|
-
|
6087
|
-
|
6088
|
-
return
|
6150
|
+
_this35.tickId = -1;
|
6151
|
+
_this35.id = ScrollSpy._increment;
|
6152
|
+
_this35._setupEventHandlers();
|
6153
|
+
_this35._handleWindowScroll();
|
6154
|
+
return _this35;
|
6089
6155
|
}
|
6090
6156
|
|
6091
6157
|
_createClass(ScrollSpy, [{
|
@@ -6238,7 +6304,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6238
6304
|
}, {
|
6239
6305
|
key: "_exit",
|
6240
6306
|
value: function _exit() {
|
6241
|
-
var
|
6307
|
+
var _this36 = this;
|
6242
6308
|
|
6243
6309
|
ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (value) {
|
6244
6310
|
return value.height() != 0;
|
@@ -6248,7 +6314,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6248
6314
|
$(this.options.getActiveElement(ScrollSpy._visibleElements[0].attr('id'))).removeClass(this.options.activeClass);
|
6249
6315
|
|
6250
6316
|
ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (el) {
|
6251
|
-
return el.attr('id') !=
|
6317
|
+
return el.attr('id') != _this36.$el.attr('id');
|
6252
6318
|
});
|
6253
6319
|
if (ScrollSpy._visibleElements[0]) {
|
6254
6320
|
// Check if empty
|
@@ -6383,9 +6449,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6383
6449
|
function Autocomplete(el, options) {
|
6384
6450
|
_classCallCheck(this, Autocomplete);
|
6385
6451
|
|
6386
|
-
var
|
6452
|
+
var _this37 = _possibleConstructorReturn(this, (Autocomplete.__proto__ || Object.getPrototypeOf(Autocomplete)).call(this, Autocomplete, el, options));
|
6387
6453
|
|
6388
|
-
|
6454
|
+
_this37.el.M_Autocomplete = _this37;
|
6389
6455
|
|
6390
6456
|
/**
|
6391
6457
|
* Options for the autocomplete
|
@@ -6399,19 +6465,20 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6399
6465
|
* @prop {Boolean} noWrap
|
6400
6466
|
* @prop {Function} onCycleTo
|
6401
6467
|
*/
|
6402
|
-
|
6468
|
+
_this37.options = $.extend({}, Autocomplete.defaults, options);
|
6403
6469
|
|
6404
6470
|
// Setup
|
6405
|
-
|
6406
|
-
|
6407
|
-
|
6408
|
-
|
6409
|
-
|
6410
|
-
|
6411
|
-
|
6412
|
-
|
6413
|
-
|
6414
|
-
|
6471
|
+
_this37.isOpen = false;
|
6472
|
+
_this37.count = 0;
|
6473
|
+
_this37.activeIndex = -1;
|
6474
|
+
_this37.oldVal;
|
6475
|
+
_this37.$inputField = _this37.$el.closest('.input-field');
|
6476
|
+
_this37.$active = $();
|
6477
|
+
_this37._mousedown = false;
|
6478
|
+
_this37._setupDropdown();
|
6479
|
+
|
6480
|
+
_this37._setupEventHandlers();
|
6481
|
+
return _this37;
|
6415
6482
|
}
|
6416
6483
|
|
6417
6484
|
_createClass(Autocomplete, [{
|
@@ -6437,16 +6504,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6437
6504
|
this._handleInputBlurBound = this._handleInputBlur.bind(this);
|
6438
6505
|
this._handleInputKeyupAndFocusBound = this._handleInputKeyupAndFocus.bind(this);
|
6439
6506
|
this._handleInputKeydownBound = this._handleInputKeydown.bind(this);
|
6507
|
+
this._handleInputClickBound = this._handleInputClick.bind(this);
|
6440
6508
|
this._handleContainerMousedownAndTouchstartBound = this._handleContainerMousedownAndTouchstart.bind(this);
|
6509
|
+
this._handleContainerMouseupAndTouchendBound = this._handleContainerMouseupAndTouchend.bind(this);
|
6441
6510
|
|
6442
6511
|
this.el.addEventListener('blur', this._handleInputBlurBound);
|
6443
6512
|
this.el.addEventListener('keyup', this._handleInputKeyupAndFocusBound);
|
6444
6513
|
this.el.addEventListener('focus', this._handleInputKeyupAndFocusBound);
|
6445
6514
|
this.el.addEventListener('keydown', this._handleInputKeydownBound);
|
6515
|
+
this.el.addEventListener('click', this._handleInputClickBound);
|
6446
6516
|
this.container.addEventListener('mousedown', this._handleContainerMousedownAndTouchstartBound);
|
6517
|
+
this.container.addEventListener('mouseup', this._handleContainerMouseupAndTouchendBound);
|
6447
6518
|
|
6448
6519
|
if (typeof window.ontouchstart !== 'undefined') {
|
6449
6520
|
this.container.addEventListener('touchstart', this._handleContainerMousedownAndTouchstartBound);
|
6521
|
+
this.container.addEventListener('touchend', this._handleContainerMouseupAndTouchendBound);
|
6450
6522
|
}
|
6451
6523
|
}
|
6452
6524
|
|
@@ -6461,10 +6533,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6461
6533
|
this.el.removeEventListener('keyup', this._handleInputKeyupAndFocusBound);
|
6462
6534
|
this.el.removeEventListener('focus', this._handleInputKeyupAndFocusBound);
|
6463
6535
|
this.el.removeEventListener('keydown', this._handleInputKeydownBound);
|
6536
|
+
this.el.removeEventListener('click', this._handleInputClickBound);
|
6464
6537
|
this.container.removeEventListener('mousedown', this._handleContainerMousedownAndTouchstartBound);
|
6538
|
+
this.container.removeEventListener('mouseup', this._handleContainerMouseupAndTouchendBound);
|
6465
6539
|
|
6466
6540
|
if (typeof window.ontouchstart !== 'undefined') {
|
6467
6541
|
this.container.removeEventListener('touchstart', this._handleContainerMousedownAndTouchstartBound);
|
6542
|
+
this.container.removeEventListener('touchend', this._handleContainerMouseupAndTouchendBound);
|
6468
6543
|
}
|
6469
6544
|
}
|
6470
6545
|
|
@@ -6475,6 +6550,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6475
6550
|
}, {
|
6476
6551
|
key: "_setupDropdown",
|
6477
6552
|
value: function _setupDropdown() {
|
6553
|
+
var _this38 = this;
|
6554
|
+
|
6478
6555
|
this.container = document.createElement('ul');
|
6479
6556
|
this.container.id = "autocomplete-options-" + M.guid();
|
6480
6557
|
$(this.container).addClass('autocomplete-content dropdown-content');
|
@@ -6484,7 +6561,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6484
6561
|
this.dropdown = M.Dropdown.init(this.el, {
|
6485
6562
|
autoFocus: false,
|
6486
6563
|
closeOnClick: false,
|
6487
|
-
coverTrigger: false
|
6564
|
+
coverTrigger: false,
|
6565
|
+
onItemClick: function (itemEl) {
|
6566
|
+
_this38.selectOption($(itemEl));
|
6567
|
+
}
|
6488
6568
|
});
|
6489
6569
|
|
6490
6570
|
// Sketchy removal of dropdown click handler
|
@@ -6508,8 +6588,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6508
6588
|
}, {
|
6509
6589
|
key: "_handleInputBlur",
|
6510
6590
|
value: function _handleInputBlur() {
|
6511
|
-
this.
|
6512
|
-
|
6591
|
+
if (!this._mousedown) {
|
6592
|
+
this.close();
|
6593
|
+
this._resetAutocomplete();
|
6594
|
+
}
|
6513
6595
|
}
|
6514
6596
|
|
6515
6597
|
/**
|
@@ -6520,8 +6602,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6520
6602
|
}, {
|
6521
6603
|
key: "_handleInputKeyupAndFocus",
|
6522
6604
|
value: function _handleInputKeyupAndFocus(e) {
|
6523
|
-
var _this37 = this;
|
6524
|
-
|
6525
6605
|
if (e.type === 'keyup') {
|
6526
6606
|
Autocomplete._keydown = false;
|
6527
6607
|
}
|
@@ -6535,25 +6615,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6535
6615
|
}
|
6536
6616
|
|
6537
6617
|
// 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
|
-
}
|
6618
|
+
// Check if focus triggered by tab
|
6619
|
+
if (this.oldVal !== val && (M.tabPressed || e.type !== 'focus')) {
|
6620
|
+
this.open();
|
6557
6621
|
}
|
6558
6622
|
|
6559
6623
|
// Update oldVal
|
@@ -6576,7 +6640,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6576
6640
|
numItems = $(this.container).children('li').length;
|
6577
6641
|
|
6578
6642
|
// select element on Enter
|
6579
|
-
if (keyCode ===
|
6643
|
+
if (keyCode === M.keys.ENTER && this.activeIndex >= 0) {
|
6580
6644
|
liElement = $(this.container).children('li').eq(this.activeIndex);
|
6581
6645
|
if (liElement.length) {
|
6582
6646
|
this.selectOption(liElement);
|
@@ -6586,14 +6650,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6586
6650
|
}
|
6587
6651
|
|
6588
6652
|
// Capture up and down key
|
6589
|
-
if (keyCode ===
|
6653
|
+
if (keyCode === M.keys.ARROW_UP || keyCode === M.keys.ARROW_DOWN) {
|
6590
6654
|
e.preventDefault();
|
6591
6655
|
|
6592
|
-
if (keyCode ===
|
6656
|
+
if (keyCode === M.keys.ARROW_UP && this.activeIndex > 0) {
|
6593
6657
|
this.activeIndex--;
|
6594
6658
|
}
|
6595
6659
|
|
6596
|
-
if (keyCode ===
|
6660
|
+
if (keyCode === M.keys.ARROW_DOWN && this.activeIndex < numItems - 1) {
|
6597
6661
|
this.activeIndex++;
|
6598
6662
|
}
|
6599
6663
|
|
@@ -6605,6 +6669,17 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6605
6669
|
}
|
6606
6670
|
}
|
6607
6671
|
|
6672
|
+
/**
|
6673
|
+
* Handle Input Click
|
6674
|
+
* @param {Event} e
|
6675
|
+
*/
|
6676
|
+
|
6677
|
+
}, {
|
6678
|
+
key: "_handleInputClick",
|
6679
|
+
value: function _handleInputClick(e) {
|
6680
|
+
this.open();
|
6681
|
+
}
|
6682
|
+
|
6608
6683
|
/**
|
6609
6684
|
* Handle Container Mousedown and Touchstart
|
6610
6685
|
* @param {Event} e
|
@@ -6613,8 +6688,18 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6613
6688
|
}, {
|
6614
6689
|
key: "_handleContainerMousedownAndTouchstart",
|
6615
6690
|
value: function _handleContainerMousedownAndTouchstart(e) {
|
6616
|
-
|
6617
|
-
|
6691
|
+
this._mousedown = true;
|
6692
|
+
}
|
6693
|
+
|
6694
|
+
/**
|
6695
|
+
* Handle Container Mouseup and Touchend
|
6696
|
+
* @param {Event} e
|
6697
|
+
*/
|
6698
|
+
|
6699
|
+
}, {
|
6700
|
+
key: "_handleContainerMouseupAndTouchend",
|
6701
|
+
value: function _handleContainerMouseupAndTouchend(e) {
|
6702
|
+
this._mousedown = false;
|
6618
6703
|
}
|
6619
6704
|
|
6620
6705
|
/**
|
@@ -6625,7 +6710,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6625
6710
|
key: "_highlight",
|
6626
6711
|
value: function _highlight(string, $el) {
|
6627
6712
|
var img = $el.find('img');
|
6628
|
-
var matchStart = $el.text().toLowerCase().indexOf(
|
6713
|
+
var matchStart = $el.text().toLowerCase().indexOf('' + string.toLowerCase() + ''),
|
6629
6714
|
matchEnd = matchStart + string.length - 1,
|
6630
6715
|
beforeMatch = $el.text().slice(0, matchStart),
|
6631
6716
|
matchText = $el.text().slice(matchStart, matchEnd + 1),
|
@@ -6658,6 +6743,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6658
6743
|
this._resetCurrentElement();
|
6659
6744
|
this.oldVal = null;
|
6660
6745
|
this.isOpen = false;
|
6746
|
+
this._mousedown = false;
|
6661
6747
|
}
|
6662
6748
|
|
6663
6749
|
/**
|
@@ -6672,7 +6758,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6672
6758
|
this.el.value = text;
|
6673
6759
|
this.$el.trigger('change');
|
6674
6760
|
this._resetAutocomplete();
|
6675
|
-
this.
|
6761
|
+
this.close();
|
6676
6762
|
|
6677
6763
|
// Handle onAutocomplete callback.
|
6678
6764
|
if (typeof this.options.onAutocomplete === 'function') {
|
@@ -6689,7 +6775,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6689
6775
|
}, {
|
6690
6776
|
key: "_renderDropdown",
|
6691
6777
|
value: function _renderDropdown(data, val) {
|
6692
|
-
var
|
6778
|
+
var _this39 = this;
|
6693
6779
|
|
6694
6780
|
this._resetAutocomplete();
|
6695
6781
|
|
@@ -6714,17 +6800,19 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6714
6800
|
}
|
6715
6801
|
|
6716
6802
|
// Sort
|
6717
|
-
|
6718
|
-
|
6719
|
-
|
6720
|
-
|
6803
|
+
if (this.options.sortFunction) {
|
6804
|
+
var sortFunctionBound = function (a, b) {
|
6805
|
+
return _this39.options.sortFunction(a.key.toLowerCase(), b.key.toLowerCase(), val.toLowerCase());
|
6806
|
+
};
|
6807
|
+
matchingData.sort(sortFunctionBound);
|
6808
|
+
}
|
6721
6809
|
|
6722
6810
|
// Render
|
6723
6811
|
for (var i = 0; i < matchingData.length; i++) {
|
6724
6812
|
var _entry = matchingData[i];
|
6725
6813
|
var $autocompleteOption = $('<li></li>');
|
6726
6814
|
if (!!_entry.data) {
|
6727
|
-
$autocompleteOption.append(
|
6815
|
+
$autocompleteOption.append("<img src=\"" + _entry.data + "\" class=\"right circle\"><span>" + _entry.key + "</span>");
|
6728
6816
|
} else {
|
6729
6817
|
$autocompleteOption.append('<span>' + _entry.key + '</span>');
|
6730
6818
|
}
|
@@ -6734,6 +6822,41 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6734
6822
|
}
|
6735
6823
|
}
|
6736
6824
|
|
6825
|
+
/**
|
6826
|
+
* Open Autocomplete Dropdown
|
6827
|
+
*/
|
6828
|
+
|
6829
|
+
}, {
|
6830
|
+
key: "open",
|
6831
|
+
value: function open() {
|
6832
|
+
var val = this.el.value.toLowerCase();
|
6833
|
+
|
6834
|
+
this._resetAutocomplete();
|
6835
|
+
|
6836
|
+
if (val.length >= this.options.minLength) {
|
6837
|
+
this.isOpen = true;
|
6838
|
+
this._renderDropdown(this.options.data, val);
|
6839
|
+
}
|
6840
|
+
|
6841
|
+
// Open dropdown
|
6842
|
+
if (!this.dropdown.isOpen) {
|
6843
|
+
this.dropdown.open();
|
6844
|
+
} else {
|
6845
|
+
// Recalculate dropdown when its already open
|
6846
|
+
this.dropdown.recalculateDimensions();
|
6847
|
+
}
|
6848
|
+
}
|
6849
|
+
|
6850
|
+
/**
|
6851
|
+
* Close Autocomplete Dropdown
|
6852
|
+
*/
|
6853
|
+
|
6854
|
+
}, {
|
6855
|
+
key: "close",
|
6856
|
+
value: function close() {
|
6857
|
+
this.dropdown.close();
|
6858
|
+
}
|
6859
|
+
|
6737
6860
|
/**
|
6738
6861
|
* Update Data
|
6739
6862
|
* @param {Object} data
|
@@ -6836,7 +6959,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6836
6959
|
}
|
6837
6960
|
|
6838
6961
|
if (!$textarea.length) {
|
6839
|
-
console.error(
|
6962
|
+
console.error('No textarea element found');
|
6840
6963
|
return;
|
6841
6964
|
}
|
6842
6965
|
|
@@ -6952,8 +7075,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6952
7075
|
formReset.find('select').each(function () {
|
6953
7076
|
// check if initialized
|
6954
7077
|
if (this.M_FormSelect) {
|
6955
|
-
|
6956
|
-
$(this).siblings('input.select-dropdown')[0].value = reset_text;
|
7078
|
+
$(this).trigger('change');
|
6957
7079
|
}
|
6958
7080
|
});
|
6959
7081
|
}, 0);
|
@@ -6977,10 +7099,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
6977
7099
|
document.addEventListener('blur', function (e) {
|
6978
7100
|
var $inputElement = $(e.target);
|
6979
7101
|
if ($inputElement.is(input_selector)) {
|
6980
|
-
var selector =
|
7102
|
+
var selector = '.prefix';
|
6981
7103
|
|
6982
7104
|
if ($inputElement[0].value.length === 0 && $inputElement[0].validity.badInput !== true && $inputElement.attr('placeholder') === null) {
|
6983
|
-
selector +=
|
7105
|
+
selector += ', label';
|
6984
7106
|
}
|
6985
7107
|
$inputElement.siblings(selector).removeClass('active');
|
6986
7108
|
M.validate_field($inputElement);
|
@@ -7029,7 +7151,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7029
7151
|
for (var i = 0; i < files.length; i++) {
|
7030
7152
|
file_names.push(files[i].name);
|
7031
7153
|
}
|
7032
|
-
path_input[0].value = file_names.join(
|
7154
|
+
path_input[0].value = file_names.join(', ');
|
7033
7155
|
path_input.trigger('change');
|
7034
7156
|
});
|
7035
7157
|
}); // End of $(document).ready
|
@@ -7061,9 +7183,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7061
7183
|
function Slider(el, options) {
|
7062
7184
|
_classCallCheck(this, Slider);
|
7063
7185
|
|
7064
|
-
var
|
7186
|
+
var _this40 = _possibleConstructorReturn(this, (Slider.__proto__ || Object.getPrototypeOf(Slider)).call(this, Slider, el, options));
|
7065
7187
|
|
7066
|
-
|
7188
|
+
_this40.el.M_Slider = _this40;
|
7067
7189
|
|
7068
7190
|
/**
|
7069
7191
|
* Options for the modal
|
@@ -7073,27 +7195,27 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7073
7195
|
* @prop {Number} [duration=500] - Length in ms of slide transition
|
7074
7196
|
* @prop {Number} [interval=6000] - Length in ms of slide interval
|
7075
7197
|
*/
|
7076
|
-
|
7198
|
+
_this40.options = $.extend({}, Slider.defaults, options);
|
7077
7199
|
|
7078
7200
|
// setup
|
7079
|
-
|
7080
|
-
|
7081
|
-
|
7201
|
+
_this40.$slider = _this40.$el.find('.slides');
|
7202
|
+
_this40.$slides = _this40.$slider.children('li');
|
7203
|
+
_this40.activeIndex = _this40.$slides.filter(function (item) {
|
7082
7204
|
return $(item).hasClass('active');
|
7083
7205
|
}).first().index();
|
7084
|
-
if (
|
7085
|
-
|
7206
|
+
if (_this40.activeIndex != -1) {
|
7207
|
+
_this40.$active = _this40.$slides.eq(_this40.activeIndex);
|
7086
7208
|
}
|
7087
7209
|
|
7088
|
-
|
7210
|
+
_this40._setSliderHeight();
|
7089
7211
|
|
7090
7212
|
// Set initial positions of captions
|
7091
|
-
|
7092
|
-
|
7213
|
+
_this40.$slides.find('.caption').each(function (el) {
|
7214
|
+
_this40._animateCaptionIn(el, 0);
|
7093
7215
|
});
|
7094
7216
|
|
7095
7217
|
// Move img src into background-image
|
7096
|
-
|
7218
|
+
_this40.$slides.find('img').each(function (el) {
|
7097
7219
|
var placeholderBase64 = 'data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
|
7098
7220
|
if ($(el).attr('src') !== placeholderBase64) {
|
7099
7221
|
$(el).css('background-image', 'url("' + $(el).attr('src') + '")');
|
@@ -7101,46 +7223,46 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7101
7223
|
}
|
7102
7224
|
});
|
7103
7225
|
|
7104
|
-
|
7226
|
+
_this40._setupIndicators();
|
7105
7227
|
|
7106
7228
|
// Show active slide
|
7107
|
-
if (
|
7108
|
-
|
7229
|
+
if (_this40.$active) {
|
7230
|
+
_this40.$active.css('display', 'block');
|
7109
7231
|
} else {
|
7110
|
-
|
7232
|
+
_this40.$slides.first().addClass('active');
|
7111
7233
|
anim({
|
7112
|
-
targets:
|
7234
|
+
targets: _this40.$slides.first()[0],
|
7113
7235
|
opacity: 1,
|
7114
|
-
duration:
|
7236
|
+
duration: _this40.options.duration,
|
7115
7237
|
easing: 'easeOutQuad'
|
7116
7238
|
});
|
7117
7239
|
|
7118
|
-
|
7119
|
-
|
7240
|
+
_this40.activeIndex = 0;
|
7241
|
+
_this40.$active = _this40.$slides.eq(_this40.activeIndex);
|
7120
7242
|
|
7121
7243
|
// Update indicators
|
7122
|
-
if (
|
7123
|
-
|
7244
|
+
if (_this40.options.indicators) {
|
7245
|
+
_this40.$indicators.eq(_this40.activeIndex).addClass('active');
|
7124
7246
|
}
|
7125
7247
|
}
|
7126
7248
|
|
7127
7249
|
// Adjust height to current slide
|
7128
|
-
|
7250
|
+
_this40.$active.find('img').each(function (el) {
|
7129
7251
|
anim({
|
7130
|
-
targets:
|
7252
|
+
targets: _this40.$active.find('.caption')[0],
|
7131
7253
|
opacity: 1,
|
7132
7254
|
translateX: 0,
|
7133
7255
|
translateY: 0,
|
7134
|
-
duration:
|
7256
|
+
duration: _this40.options.duration,
|
7135
7257
|
easing: 'easeOutQuad'
|
7136
7258
|
});
|
7137
7259
|
});
|
7138
7260
|
|
7139
|
-
|
7261
|
+
_this40._setupEventHandlers();
|
7140
7262
|
|
7141
7263
|
// auto scroll
|
7142
|
-
|
7143
|
-
return
|
7264
|
+
_this40.start();
|
7265
|
+
return _this40;
|
7144
7266
|
}
|
7145
7267
|
|
7146
7268
|
_createClass(Slider, [{
|
@@ -7164,14 +7286,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7164
7286
|
}, {
|
7165
7287
|
key: "_setupEventHandlers",
|
7166
7288
|
value: function _setupEventHandlers() {
|
7167
|
-
var
|
7289
|
+
var _this41 = this;
|
7168
7290
|
|
7169
7291
|
this._handleIntervalBound = this._handleInterval.bind(this);
|
7170
7292
|
this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this);
|
7171
7293
|
|
7172
7294
|
if (this.options.indicators) {
|
7173
7295
|
this.$indicators.each(function (el) {
|
7174
|
-
el.addEventListener('click',
|
7296
|
+
el.addEventListener('click', _this41._handleIndicatorClickBound);
|
7175
7297
|
});
|
7176
7298
|
}
|
7177
7299
|
}
|
@@ -7183,11 +7305,11 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7183
7305
|
}, {
|
7184
7306
|
key: "_removeEventHandlers",
|
7185
7307
|
value: function _removeEventHandlers() {
|
7186
|
-
var
|
7308
|
+
var _this42 = this;
|
7187
7309
|
|
7188
7310
|
if (this.options.indicators) {
|
7189
7311
|
this.$indicators.each(function (el) {
|
7190
|
-
el.removeEventListener('click',
|
7312
|
+
el.removeEventListener('click', _this42._handleIndicatorClickBound);
|
7191
7313
|
});
|
7192
7314
|
}
|
7193
7315
|
}
|
@@ -7212,7 +7334,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7212
7334
|
key: "_handleInterval",
|
7213
7335
|
value: function _handleInterval() {
|
7214
7336
|
var newActiveIndex = this.$slider.find('.active').index();
|
7215
|
-
if (this.$slides.length === newActiveIndex + 1) newActiveIndex = 0;
|
7337
|
+
if (this.$slides.length === newActiveIndex + 1) newActiveIndex = 0;
|
7338
|
+
// loop to start
|
7216
7339
|
else newActiveIndex += 1;
|
7217
7340
|
|
7218
7341
|
this.set(newActiveIndex);
|
@@ -7271,13 +7394,13 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7271
7394
|
}, {
|
7272
7395
|
key: "_setupIndicators",
|
7273
7396
|
value: function _setupIndicators() {
|
7274
|
-
var
|
7397
|
+
var _this43 = this;
|
7275
7398
|
|
7276
7399
|
if (this.options.indicators) {
|
7277
7400
|
this.$indicators = $('<ul class="indicators"></ul>');
|
7278
7401
|
this.$slides.each(function (el, index) {
|
7279
7402
|
var $indicator = $('<li class="indicator-item"></li>');
|
7280
|
-
|
7403
|
+
_this43.$indicators.append($indicator[0]);
|
7281
7404
|
});
|
7282
7405
|
this.$el.append(this.$indicators[0]);
|
7283
7406
|
this.$indicators = this.$indicators.children('li.indicator-item');
|
@@ -7302,7 +7425,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7302
7425
|
}, {
|
7303
7426
|
key: "set",
|
7304
7427
|
value: function set(index) {
|
7305
|
-
var
|
7428
|
+
var _this44 = this;
|
7306
7429
|
|
7307
7430
|
// Wrap around indices.
|
7308
7431
|
if (index >= this.$slides.length) index = 0;else if (index < 0) index = this.$slides.length - 1;
|
@@ -7319,7 +7442,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7319
7442
|
duration: this.options.duration,
|
7320
7443
|
easing: 'easeOutQuad',
|
7321
7444
|
complete: function () {
|
7322
|
-
|
7445
|
+
_this44.$slides.not('.active').each(function (el) {
|
7323
7446
|
anim({
|
7324
7447
|
targets: el,
|
7325
7448
|
opacity: 0,
|
@@ -7518,9 +7641,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7518
7641
|
function Chips(el, options) {
|
7519
7642
|
_classCallCheck(this, Chips);
|
7520
7643
|
|
7521
|
-
var
|
7644
|
+
var _this45 = _possibleConstructorReturn(this, (Chips.__proto__ || Object.getPrototypeOf(Chips)).call(this, Chips, el, options));
|
7522
7645
|
|
7523
|
-
|
7646
|
+
_this45.el.M_Chips = _this45;
|
7524
7647
|
|
7525
7648
|
/**
|
7526
7649
|
* Options for the modal
|
@@ -7530,34 +7653,34 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7530
7653
|
* @prop {String} secondaryPlaceholder
|
7531
7654
|
* @prop {Object} autocompleteOptions
|
7532
7655
|
*/
|
7533
|
-
|
7656
|
+
_this45.options = $.extend({}, Chips.defaults, options);
|
7534
7657
|
|
7535
|
-
|
7536
|
-
|
7537
|
-
|
7538
|
-
|
7539
|
-
|
7658
|
+
_this45.$el.addClass('chips input-field');
|
7659
|
+
_this45.chipsData = [];
|
7660
|
+
_this45.$chips = $();
|
7661
|
+
_this45._setupInput();
|
7662
|
+
_this45.hasAutocomplete = Object.keys(_this45.options.autocompleteOptions).length > 0;
|
7540
7663
|
|
7541
7664
|
// Set input id
|
7542
|
-
if (!
|
7543
|
-
|
7665
|
+
if (!_this45.$input.attr('id')) {
|
7666
|
+
_this45.$input.attr('id', M.guid());
|
7544
7667
|
}
|
7545
7668
|
|
7546
7669
|
// Render initial chips
|
7547
|
-
if (
|
7548
|
-
|
7549
|
-
|
7670
|
+
if (_this45.options.data.length) {
|
7671
|
+
_this45.chipsData = _this45.options.data;
|
7672
|
+
_this45._renderChips(_this45.chipsData);
|
7550
7673
|
}
|
7551
7674
|
|
7552
7675
|
// Setup autocomplete if needed
|
7553
|
-
if (
|
7554
|
-
|
7676
|
+
if (_this45.hasAutocomplete) {
|
7677
|
+
_this45._setupAutocomplete();
|
7555
7678
|
}
|
7556
7679
|
|
7557
|
-
|
7558
|
-
|
7559
|
-
|
7560
|
-
return
|
7680
|
+
_this45._setPlaceholder();
|
7681
|
+
_this45._setupLabel();
|
7682
|
+
_this45._setupEventHandlers();
|
7683
|
+
return _this45;
|
7561
7684
|
}
|
7562
7685
|
|
7563
7686
|
_createClass(Chips, [{
|
@@ -7760,14 +7883,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
7760
7883
|
}, {
|
7761
7884
|
key: "_setupAutocomplete",
|
7762
7885
|
value: function _setupAutocomplete() {
|
7763
|
-
var
|
7886
|
+
var _this46 = this;
|
7764
7887
|
|
7765
7888
|
this.options.autocompleteOptions.onAutocomplete = function (val) {
|
7766
|
-
|
7889
|
+
_this46.addChip({
|
7767
7890
|
tag: val
|
7768
7891
|
});
|
7769
|
-
|
7770
|
-
|
7892
|
+
_this46.$input[0].value = '';
|
7893
|
+
_this46.$input[0].focus();
|
7771
7894
|
};
|
7772
7895
|
|
7773
7896
|
this.autocomplete = M.Autocomplete.init(this.$input[0], this.options.autocompleteOptions);
|
@@ -8062,21 +8185,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8062
8185
|
function Pushpin(el, options) {
|
8063
8186
|
_classCallCheck(this, Pushpin);
|
8064
8187
|
|
8065
|
-
var
|
8188
|
+
var _this47 = _possibleConstructorReturn(this, (Pushpin.__proto__ || Object.getPrototypeOf(Pushpin)).call(this, Pushpin, el, options));
|
8066
8189
|
|
8067
|
-
|
8190
|
+
_this47.el.M_Pushpin = _this47;
|
8068
8191
|
|
8069
8192
|
/**
|
8070
8193
|
* Options for the modal
|
8071
8194
|
* @member Pushpin#options
|
8072
8195
|
*/
|
8073
|
-
|
8196
|
+
_this47.options = $.extend({}, Pushpin.defaults, options);
|
8074
8197
|
|
8075
|
-
|
8076
|
-
Pushpin._pushpins.push(
|
8077
|
-
|
8078
|
-
|
8079
|
-
return
|
8198
|
+
_this47.originalOffset = _this47.el.offsetTop;
|
8199
|
+
Pushpin._pushpins.push(_this47);
|
8200
|
+
_this47._setupEventHandlers();
|
8201
|
+
_this47._updatePosition();
|
8202
|
+
return _this47;
|
8080
8203
|
}
|
8081
8204
|
|
8082
8205
|
_createClass(Pushpin, [{
|
@@ -8112,7 +8235,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8112
8235
|
|
8113
8236
|
if (this.options.top <= scrolled && this.options.bottom >= scrolled && !this.el.classList.contains('pinned')) {
|
8114
8237
|
this._removePinClasses();
|
8115
|
-
|
8116
8238
|
this.el.style.top = this.options.offset + "px";
|
8117
8239
|
this.el.classList.add('pinned');
|
8118
8240
|
|
@@ -8149,7 +8271,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8149
8271
|
}, {
|
8150
8272
|
key: "_removePinClasses",
|
8151
8273
|
value: function _removePinClasses() {
|
8152
|
-
|
8274
|
+
// IE 11 bug (can't remove multiple classes in one line)
|
8275
|
+
this.el.classList.remove('pin-top');
|
8276
|
+
this.el.classList.remove('pinned');
|
8277
|
+
this.el.classList.remove('pin-bottom');
|
8153
8278
|
}
|
8154
8279
|
}], [{
|
8155
8280
|
key: "init",
|
@@ -8227,9 +8352,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8227
8352
|
function FloatingActionButton(el, options) {
|
8228
8353
|
_classCallCheck(this, FloatingActionButton);
|
8229
8354
|
|
8230
|
-
var
|
8355
|
+
var _this48 = _possibleConstructorReturn(this, (FloatingActionButton.__proto__ || Object.getPrototypeOf(FloatingActionButton)).call(this, FloatingActionButton, el, options));
|
8231
8356
|
|
8232
|
-
|
8357
|
+
_this48.el.M_FloatingActionButton = _this48;
|
8233
8358
|
|
8234
8359
|
/**
|
8235
8360
|
* Options for the fab
|
@@ -8238,30 +8363,28 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8238
8363
|
* @prop {Boolean} [hoverEnabled=true] - Enable hover vs click
|
8239
8364
|
* @prop {Boolean} [toolbarEnabled=false] - Enable toolbar transition
|
8240
8365
|
*/
|
8241
|
-
|
8242
|
-
|
8243
|
-
|
8244
|
-
|
8245
|
-
|
8246
|
-
|
8247
|
-
|
8248
|
-
|
8249
|
-
|
8250
|
-
|
8251
|
-
|
8252
|
-
|
8253
|
-
|
8254
|
-
|
8255
|
-
|
8256
|
-
} else if (
|
8257
|
-
|
8258
|
-
_this47.offsetY = -40;
|
8366
|
+
_this48.options = $.extend({}, FloatingActionButton.defaults, options);
|
8367
|
+
|
8368
|
+
_this48.isOpen = false;
|
8369
|
+
_this48.$anchor = _this48.$el.children('a').first();
|
8370
|
+
_this48.$menu = _this48.$el.children('ul').first();
|
8371
|
+
_this48.$floatingBtns = _this48.$el.find('ul .btn-floating');
|
8372
|
+
_this48.$floatingBtnsReverse = _this48.$el.find('ul .btn-floating').reverse();
|
8373
|
+
_this48.offsetY = 0;
|
8374
|
+
_this48.offsetX = 0;
|
8375
|
+
|
8376
|
+
_this48.$el.addClass("direction-" + _this48.options.direction);
|
8377
|
+
if (_this48.options.direction === 'top') {
|
8378
|
+
_this48.offsetY = 40;
|
8379
|
+
} else if (_this48.options.direction === 'right') {
|
8380
|
+
_this48.offsetX = -40;
|
8381
|
+
} else if (_this48.options.direction === 'bottom') {
|
8382
|
+
_this48.offsetY = -40;
|
8259
8383
|
} else {
|
8260
|
-
|
8261
|
-
_this47.offsetX = 40;
|
8384
|
+
_this48.offsetX = 40;
|
8262
8385
|
}
|
8263
|
-
|
8264
|
-
return
|
8386
|
+
_this48._setupEventHandlers();
|
8387
|
+
return _this48;
|
8265
8388
|
}
|
8266
8389
|
|
8267
8390
|
_createClass(FloatingActionButton, [{
|
@@ -8384,7 +8507,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8384
8507
|
}, {
|
8385
8508
|
key: "_animateInFAB",
|
8386
8509
|
value: function _animateInFAB() {
|
8387
|
-
var
|
8510
|
+
var _this49 = this;
|
8388
8511
|
|
8389
8512
|
this.$el.addClass('active');
|
8390
8513
|
|
@@ -8393,9 +8516,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8393
8516
|
anim({
|
8394
8517
|
targets: el,
|
8395
8518
|
opacity: 1,
|
8396
|
-
scale: [.4, 1],
|
8397
|
-
translateY: [
|
8398
|
-
translateX: [
|
8519
|
+
scale: [0.4, 1],
|
8520
|
+
translateY: [_this49.offsetY, 0],
|
8521
|
+
translateX: [_this49.offsetX, 0],
|
8399
8522
|
duration: 275,
|
8400
8523
|
delay: time,
|
8401
8524
|
easing: 'easeInOutQuad'
|
@@ -8411,20 +8534,20 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8411
8534
|
}, {
|
8412
8535
|
key: "_animateOutFAB",
|
8413
8536
|
value: function _animateOutFAB() {
|
8414
|
-
var
|
8537
|
+
var _this50 = this;
|
8415
8538
|
|
8416
8539
|
this.$floatingBtnsReverse.each(function (el) {
|
8417
8540
|
anim.remove(el);
|
8418
8541
|
anim({
|
8419
8542
|
targets: el,
|
8420
8543
|
opacity: 0,
|
8421
|
-
scale: .4,
|
8422
|
-
translateY:
|
8423
|
-
translateX:
|
8544
|
+
scale: 0.4,
|
8545
|
+
translateY: _this50.offsetY,
|
8546
|
+
translateX: _this50.offsetX,
|
8424
8547
|
duration: 175,
|
8425
8548
|
easing: 'easeOutQuad',
|
8426
8549
|
complete: function () {
|
8427
|
-
|
8550
|
+
_this50.$el.removeClass('active');
|
8428
8551
|
}
|
8429
8552
|
});
|
8430
8553
|
});
|
@@ -8437,7 +8560,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8437
8560
|
}, {
|
8438
8561
|
key: "_animateInToolbar",
|
8439
8562
|
value: function _animateInToolbar() {
|
8440
|
-
var
|
8563
|
+
var _this51 = this;
|
8441
8564
|
|
8442
8565
|
var scaleFactor = void 0;
|
8443
8566
|
var windowWidth = window.innerWidth;
|
@@ -8473,18 +8596,18 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8473
8596
|
});
|
8474
8597
|
|
8475
8598
|
setTimeout(function () {
|
8476
|
-
|
8599
|
+
_this51.$el.css({
|
8477
8600
|
transform: '',
|
8478
8601
|
transition: 'transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s'
|
8479
8602
|
});
|
8480
|
-
|
8603
|
+
_this51.$anchor.css({
|
8481
8604
|
overflow: 'visible',
|
8482
8605
|
transform: '',
|
8483
8606
|
transition: 'transform .2s'
|
8484
8607
|
});
|
8485
8608
|
|
8486
8609
|
setTimeout(function () {
|
8487
|
-
|
8610
|
+
_this51.$el.css({
|
8488
8611
|
overflow: 'hidden',
|
8489
8612
|
'background-color': fabColor
|
8490
8613
|
});
|
@@ -8492,14 +8615,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8492
8615
|
transform: 'scale(' + scaleFactor + ')',
|
8493
8616
|
transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
|
8494
8617
|
});
|
8495
|
-
|
8618
|
+
_this51.$menu.children('li').children('a').css({
|
8496
8619
|
opacity: 1
|
8497
8620
|
});
|
8498
8621
|
|
8499
8622
|
// Scroll to close.
|
8500
|
-
|
8501
|
-
window.addEventListener('scroll',
|
8502
|
-
document.body.addEventListener('click',
|
8623
|
+
_this51._handleDocumentClickBound = _this51._handleDocumentClick.bind(_this51);
|
8624
|
+
window.addEventListener('scroll', _this51._handleCloseBound, true);
|
8625
|
+
document.body.addEventListener('click', _this51._handleDocumentClickBound, true);
|
8503
8626
|
}, 100);
|
8504
8627
|
}, 0);
|
8505
8628
|
}
|
@@ -8511,7 +8634,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8511
8634
|
}, {
|
8512
8635
|
key: "_animateOutToolbar",
|
8513
8636
|
value: function _animateOutToolbar() {
|
8514
|
-
var
|
8637
|
+
var _this52 = this;
|
8515
8638
|
|
8516
8639
|
var windowWidth = window.innerWidth;
|
8517
8640
|
var windowHeight = window.innerHeight;
|
@@ -8542,26 +8665,26 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8542
8665
|
backdrop.remove();
|
8543
8666
|
|
8544
8667
|
// Set initial state.
|
8545
|
-
|
8668
|
+
_this52.$el.css({
|
8546
8669
|
'text-align': '',
|
8547
8670
|
width: '',
|
8548
8671
|
bottom: '',
|
8549
8672
|
left: '',
|
8550
8673
|
overflow: '',
|
8551
8674
|
'background-color': '',
|
8552
|
-
transform: 'translate3d(' + -
|
8675
|
+
transform: 'translate3d(' + -_this52.offsetX + 'px,0,0)'
|
8553
8676
|
});
|
8554
|
-
|
8677
|
+
_this52.$anchor.css({
|
8555
8678
|
overflow: '',
|
8556
|
-
transform: 'translate3d(0,' +
|
8679
|
+
transform: 'translate3d(0,' + _this52.offsetY + 'px,0)'
|
8557
8680
|
});
|
8558
8681
|
|
8559
8682
|
setTimeout(function () {
|
8560
|
-
|
8683
|
+
_this52.$el.css({
|
8561
8684
|
transform: 'translate3d(0,0,0)',
|
8562
8685
|
transition: 'transform .2s'
|
8563
8686
|
});
|
8564
|
-
|
8687
|
+
_this52.$anchor.css({
|
8565
8688
|
transform: 'translate3d(0,0,0)',
|
8566
8689
|
transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
|
8567
8690
|
});
|
@@ -8604,6 +8727,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8604
8727
|
'use strict';
|
8605
8728
|
|
8606
8729
|
var _defaults = {
|
8730
|
+
// Close when date is selected
|
8731
|
+
autoClose: false,
|
8607
8732
|
|
8608
8733
|
// the default output format for the input field value
|
8609
8734
|
format: 'mmm dd, yyyy',
|
@@ -8696,53 +8821,51 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8696
8821
|
function Datepicker(el, options) {
|
8697
8822
|
_classCallCheck(this, Datepicker);
|
8698
8823
|
|
8699
|
-
var
|
8824
|
+
var _this53 = _possibleConstructorReturn(this, (Datepicker.__proto__ || Object.getPrototypeOf(Datepicker)).call(this, Datepicker, el, options));
|
8700
8825
|
|
8701
|
-
|
8826
|
+
_this53.el.M_Datepicker = _this53;
|
8702
8827
|
|
8703
|
-
|
8828
|
+
_this53.options = $.extend({}, Datepicker.defaults, options);
|
8704
8829
|
|
8705
8830
|
// make sure i18n defaults are not lost when only few i18n option properties are passed
|
8706
8831
|
if (!!options && options.hasOwnProperty('i18n') && typeof options.i18n === 'object') {
|
8707
|
-
|
8832
|
+
_this53.options.i18n = $.extend({}, Datepicker.defaults.i18n, options.i18n);
|
8708
8833
|
}
|
8709
8834
|
|
8710
8835
|
// Remove time component from minDate and maxDate options
|
8711
|
-
if (
|
8712
|
-
if (
|
8836
|
+
if (_this53.options.minDate) _this53.options.minDate.setHours(0, 0, 0, 0);
|
8837
|
+
if (_this53.options.maxDate) _this53.options.maxDate.setHours(0, 0, 0, 0);
|
8713
8838
|
|
8714
|
-
|
8839
|
+
_this53.id = M.guid();
|
8715
8840
|
|
8716
|
-
|
8717
|
-
|
8718
|
-
|
8841
|
+
_this53._setupVariables();
|
8842
|
+
_this53._insertHTMLIntoDOM();
|
8843
|
+
_this53._setupModal();
|
8719
8844
|
|
8720
|
-
|
8845
|
+
_this53._setupEventHandlers();
|
8721
8846
|
|
8722
|
-
if (!
|
8723
|
-
|
8724
|
-
_this52.options.setDefaultDate = true;
|
8847
|
+
if (!_this53.options.defaultDate) {
|
8848
|
+
_this53.options.defaultDate = new Date(Date.parse(_this53.el.value));
|
8725
8849
|
}
|
8726
8850
|
|
8727
|
-
var defDate =
|
8728
|
-
|
8851
|
+
var defDate = _this53.options.defaultDate;
|
8729
8852
|
if (Datepicker._isDate(defDate)) {
|
8730
|
-
if (
|
8731
|
-
|
8853
|
+
if (_this53.options.setDefaultDate) {
|
8854
|
+
_this53.setDate(defDate, true);
|
8855
|
+
_this53.setInputValue();
|
8732
8856
|
} else {
|
8733
|
-
|
8857
|
+
_this53.gotoDate(defDate);
|
8734
8858
|
}
|
8735
8859
|
} else {
|
8736
|
-
|
8860
|
+
_this53.gotoDate(new Date());
|
8737
8861
|
}
|
8738
8862
|
|
8739
8863
|
/**
|
8740
8864
|
* Describes open/close state of datepicker
|
8741
8865
|
* @type {Boolean}
|
8742
8866
|
*/
|
8743
|
-
|
8744
|
-
|
8745
|
-
return _this52;
|
8867
|
+
_this53.isOpen = false;
|
8868
|
+
return _this53;
|
8746
8869
|
}
|
8747
8870
|
|
8748
8871
|
_createClass(Datepicker, [{
|
@@ -8762,11 +8885,11 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8762
8885
|
}, {
|
8763
8886
|
key: "destroySelects",
|
8764
8887
|
value: function destroySelects() {
|
8765
|
-
var oldYearSelect = this.calendarEl.querySelector('.
|
8888
|
+
var oldYearSelect = this.calendarEl.querySelector('.orig-select-year');
|
8766
8889
|
if (oldYearSelect) {
|
8767
8890
|
M.FormSelect.getInstance(oldYearSelect).destroy();
|
8768
8891
|
}
|
8769
|
-
var oldMonthSelect = this.calendarEl.querySelector('.
|
8892
|
+
var oldMonthSelect = this.calendarEl.querySelector('.orig-select-month');
|
8770
8893
|
if (oldMonthSelect) {
|
8771
8894
|
M.FormSelect.getInstance(oldMonthSelect).destroy();
|
8772
8895
|
}
|
@@ -8791,19 +8914,19 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8791
8914
|
}, {
|
8792
8915
|
key: "_setupModal",
|
8793
8916
|
value: function _setupModal() {
|
8794
|
-
var
|
8917
|
+
var _this54 = this;
|
8795
8918
|
|
8796
8919
|
this.modalEl.id = 'modal-' + this.id;
|
8797
8920
|
this.modal = M.Modal.init(this.modalEl, {
|
8798
8921
|
onCloseEnd: function () {
|
8799
|
-
|
8922
|
+
_this54.isOpen = false;
|
8800
8923
|
}
|
8801
8924
|
});
|
8802
8925
|
}
|
8803
8926
|
}, {
|
8804
8927
|
key: "toString",
|
8805
8928
|
value: function toString(format) {
|
8806
|
-
var
|
8929
|
+
var _this55 = this;
|
8807
8930
|
|
8808
8931
|
format = format || this.options.format;
|
8809
8932
|
if (!Datepicker._isDate(this.date)) {
|
@@ -8812,8 +8935,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8812
8935
|
|
8813
8936
|
var formatArray = format.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g);
|
8814
8937
|
var formattedDate = formatArray.map(function (label) {
|
8815
|
-
if (
|
8816
|
-
return
|
8938
|
+
if (_this55.formats[label]) {
|
8939
|
+
return _this55.formats[label]();
|
8817
8940
|
}
|
8818
8941
|
|
8819
8942
|
return label;
|
@@ -8901,9 +9024,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8901
9024
|
month: date.getMonth(),
|
8902
9025
|
year: date.getFullYear()
|
8903
9026
|
}];
|
8904
|
-
// if (this.options.mainCalendar === 'right') {
|
8905
|
-
// this.calendars[0].month += 1 - this.options.numberOfMonths;
|
8906
|
-
// }
|
8907
9027
|
}
|
8908
9028
|
|
8909
9029
|
this.adjustCalendars();
|
@@ -8912,12 +9032,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
8912
9032
|
key: "adjustCalendars",
|
8913
9033
|
value: function adjustCalendars() {
|
8914
9034
|
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
9035
|
this.draw();
|
8922
9036
|
}
|
8923
9037
|
}, {
|
@@ -9061,12 +9175,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9061
9175
|
if (opts.isEndRange) {
|
9062
9176
|
arr.push('is-endrange');
|
9063
9177
|
}
|
9064
|
-
return
|
9178
|
+
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
9179
|
}
|
9066
9180
|
}, {
|
9067
9181
|
key: "renderRow",
|
9068
9182
|
value: function renderRow(days, isRTL, isRowSelected) {
|
9069
|
-
return '<tr class="
|
9183
|
+
return '<tr class="datepicker-row' + (isRowSelected ? ' is-selected' : '') + '">' + (isRTL ? days.reverse() : days).join('') + '</tr>';
|
9070
9184
|
}
|
9071
9185
|
}, {
|
9072
9186
|
key: "renderTable",
|
@@ -9079,7 +9193,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9079
9193
|
var i = void 0,
|
9080
9194
|
arr = [];
|
9081
9195
|
for (i = 0; i < 7; i++) {
|
9082
|
-
arr.push(
|
9196
|
+
arr.push("<th scope=\"col\"><abbr title=\"" + this.renderDayName(opts, i) + "\">" + this.renderDayName(opts, i, true) + "</abbr></th>");
|
9083
9197
|
}
|
9084
9198
|
return '<thead><tr>' + (opts.isRTL ? arr.reverse() : arr).join('') + '</tr></thead>';
|
9085
9199
|
}
|
@@ -9107,7 +9221,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9107
9221
|
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
9222
|
}
|
9109
9223
|
|
9110
|
-
monthHtml = '<select class="
|
9224
|
+
monthHtml = '<select class="datepicker-select orig-select-month" tabindex="-1">' + arr.join('') + '</select>';
|
9111
9225
|
|
9112
9226
|
if ($.isArray(opts.yearRange)) {
|
9113
9227
|
i = opts.yearRange[0];
|
@@ -9119,14 +9233,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9119
9233
|
|
9120
9234
|
for (arr = []; i < j && i <= opts.maxYear; i++) {
|
9121
9235
|
if (i >= opts.minYear) {
|
9122
|
-
arr.push(
|
9236
|
+
arr.push("<option value=\"" + i + "\" " + (i === year ? 'selected="selected"' : '') + ">" + i + "</option>");
|
9123
9237
|
}
|
9124
9238
|
}
|
9125
9239
|
|
9126
|
-
yearHtml =
|
9240
|
+
yearHtml = "<select class=\"datepicker-select orig-select-year\" tabindex=\"-1\">" + arr.join('') + "</select>";
|
9127
9241
|
|
9128
9242
|
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 +=
|
9243
|
+
html += "<button class=\"month-prev" + (prev ? '' : ' is-disabled') + "\" type=\"button\">" + leftArrow + "</button>";
|
9130
9244
|
|
9131
9245
|
html += '<div class="selects-container">';
|
9132
9246
|
if (opts.showMonthAfterYear) {
|
@@ -9144,10 +9258,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9144
9258
|
next = false;
|
9145
9259
|
}
|
9146
9260
|
|
9147
|
-
// if (c === (this.options.numberOfMonths - 1) ) {
|
9148
9261
|
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
|
-
// }
|
9262
|
+
html += "<button class=\"month-next" + (next ? '' : ' is-disabled') + "\" type=\"button\">" + rightArrow + "</button>";
|
9151
9263
|
|
9152
9264
|
return html += '</div>';
|
9153
9265
|
}
|
@@ -9183,7 +9295,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9183
9295
|
}
|
9184
9296
|
}
|
9185
9297
|
|
9186
|
-
randId = '
|
9298
|
+
randId = 'datepicker-title-' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 2);
|
9187
9299
|
|
9188
9300
|
for (var c = 0; c < 1; c++) {
|
9189
9301
|
this._renderDateDisplay();
|
@@ -9195,10 +9307,16 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9195
9307
|
this.calendarEl.innerHTML = html;
|
9196
9308
|
|
9197
9309
|
// Init Materialize Select
|
9198
|
-
var yearSelect = this.calendarEl.querySelector('.
|
9199
|
-
var monthSelect = this.calendarEl.querySelector('.
|
9200
|
-
M.FormSelect.init(yearSelect, {
|
9201
|
-
|
9310
|
+
var yearSelect = this.calendarEl.querySelector('.orig-select-year');
|
9311
|
+
var monthSelect = this.calendarEl.querySelector('.orig-select-month');
|
9312
|
+
M.FormSelect.init(yearSelect, {
|
9313
|
+
classes: 'select-year',
|
9314
|
+
dropdownOptions: { container: document.body, constrainWidth: false }
|
9315
|
+
});
|
9316
|
+
M.FormSelect.init(monthSelect, {
|
9317
|
+
classes: 'select-month',
|
9318
|
+
dropdownOptions: { container: document.body, constrainWidth: false }
|
9319
|
+
});
|
9202
9320
|
|
9203
9321
|
// Add change handlers for select
|
9204
9322
|
yearSelect.addEventListener('change', this._handleYearChange.bind(this));
|
@@ -9239,12 +9357,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9239
9357
|
}, {
|
9240
9358
|
key: "_setupVariables",
|
9241
9359
|
value: function _setupVariables() {
|
9242
|
-
var
|
9360
|
+
var _this56 = this;
|
9243
9361
|
|
9244
9362
|
this.$modalEl = $(Datepicker._template);
|
9245
9363
|
this.modalEl = this.$modalEl[0];
|
9246
9364
|
|
9247
|
-
this.calendarEl = this.modalEl.querySelector('.
|
9365
|
+
this.calendarEl = this.modalEl.querySelector('.datepicker-calendar');
|
9248
9366
|
|
9249
9367
|
this.yearTextEl = this.modalEl.querySelector('.year-text');
|
9250
9368
|
this.dateTextEl = this.modalEl.querySelector('.date-text');
|
@@ -9255,38 +9373,37 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9255
9373
|
this.cancelBtn = this.modalEl.querySelector('.datepicker-cancel');
|
9256
9374
|
|
9257
9375
|
this.formats = {
|
9258
|
-
|
9259
9376
|
d: function () {
|
9260
|
-
return
|
9377
|
+
return _this56.date.getDate();
|
9261
9378
|
},
|
9262
9379
|
dd: function () {
|
9263
|
-
var d =
|
9380
|
+
var d = _this56.date.getDate();
|
9264
9381
|
return (d < 10 ? '0' : '') + d;
|
9265
9382
|
},
|
9266
9383
|
ddd: function () {
|
9267
|
-
return
|
9384
|
+
return _this56.options.i18n.weekdaysShort[_this56.date.getDay()];
|
9268
9385
|
},
|
9269
9386
|
dddd: function () {
|
9270
|
-
return
|
9387
|
+
return _this56.options.i18n.weekdays[_this56.date.getDay()];
|
9271
9388
|
},
|
9272
9389
|
m: function () {
|
9273
|
-
return
|
9390
|
+
return _this56.date.getMonth() + 1;
|
9274
9391
|
},
|
9275
9392
|
mm: function () {
|
9276
|
-
var m =
|
9393
|
+
var m = _this56.date.getMonth() + 1;
|
9277
9394
|
return (m < 10 ? '0' : '') + m;
|
9278
9395
|
},
|
9279
9396
|
mmm: function () {
|
9280
|
-
return
|
9397
|
+
return _this56.options.i18n.monthsShort[_this56.date.getMonth()];
|
9281
9398
|
},
|
9282
9399
|
mmmm: function () {
|
9283
|
-
return
|
9400
|
+
return _this56.options.i18n.months[_this56.date.getMonth()];
|
9284
9401
|
},
|
9285
9402
|
yy: function () {
|
9286
|
-
return ('' +
|
9403
|
+
return ('' + _this56.date.getFullYear()).slice(2);
|
9287
9404
|
},
|
9288
9405
|
yyyy: function () {
|
9289
|
-
return
|
9406
|
+
return _this56.date.getFullYear();
|
9290
9407
|
}
|
9291
9408
|
};
|
9292
9409
|
}
|
@@ -9326,24 +9443,16 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9326
9443
|
var $target = $(e.target);
|
9327
9444
|
if (!$target.hasClass('is-disabled')) {
|
9328
9445
|
if ($target.hasClass('datepicker-day-button') && !$target.hasClass('is-empty') && !$target.parent().hasClass('is-disabled')) {
|
9329
|
-
this.setDate(new Date(e.target.getAttribute('data-
|
9446
|
+
this.setDate(new Date(e.target.getAttribute('data-year'), e.target.getAttribute('data-month'), e.target.getAttribute('data-day')));
|
9447
|
+
if (this.options.autoClose) {
|
9448
|
+
this._finishSelection();
|
9449
|
+
}
|
9330
9450
|
} else if ($target.closest('.month-prev').length) {
|
9331
9451
|
this.prevMonth();
|
9332
9452
|
} else if ($target.closest('.month-next').length) {
|
9333
9453
|
this.nextMonth();
|
9334
9454
|
}
|
9335
9455
|
}
|
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
9456
|
}
|
9348
9457
|
}, {
|
9349
9458
|
key: "_handleClearClick",
|
@@ -9406,9 +9515,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9406
9515
|
if (Datepicker._isDate(date)) {
|
9407
9516
|
this.setDate(date);
|
9408
9517
|
}
|
9409
|
-
// if (!self._v) {
|
9410
|
-
// self.show();
|
9411
|
-
// }
|
9412
9518
|
}
|
9413
9519
|
}, {
|
9414
9520
|
key: "renderDayName",
|
@@ -9534,7 +9640,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9534
9640
|
return Datepicker;
|
9535
9641
|
}(Component);
|
9536
9642
|
|
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="
|
9643
|
+
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
9644
|
|
9539
9645
|
M.Datepicker = Datepicker;
|
9540
9646
|
|
@@ -9565,7 +9671,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9565
9671
|
|
9566
9672
|
autoClose: false, // auto close when minute is selected
|
9567
9673
|
twelveHour: true, // change to 12 hour AM/PM clock from 24 hour
|
9568
|
-
vibrate: true // vibrate the device when dragging clock hand
|
9674
|
+
vibrate: true, // vibrate the device when dragging clock hand
|
9675
|
+
|
9676
|
+
// Callbacks
|
9677
|
+
onOpenStart: null,
|
9678
|
+
onOpenEnd: null,
|
9679
|
+
onCloseStart: null,
|
9680
|
+
onCloseEnd: null,
|
9681
|
+
onSelect: null
|
9569
9682
|
};
|
9570
9683
|
|
9571
9684
|
/**
|
@@ -9579,21 +9692,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9579
9692
|
function Timepicker(el, options) {
|
9580
9693
|
_classCallCheck(this, Timepicker);
|
9581
9694
|
|
9582
|
-
var
|
9695
|
+
var _this57 = _possibleConstructorReturn(this, (Timepicker.__proto__ || Object.getPrototypeOf(Timepicker)).call(this, Timepicker, el, options));
|
9583
9696
|
|
9584
|
-
|
9697
|
+
_this57.el.M_Timepicker = _this57;
|
9585
9698
|
|
9586
|
-
|
9699
|
+
_this57.options = $.extend({}, Timepicker.defaults, options);
|
9587
9700
|
|
9588
|
-
|
9589
|
-
|
9590
|
-
|
9591
|
-
|
9592
|
-
|
9701
|
+
_this57.id = M.guid();
|
9702
|
+
_this57._insertHTMLIntoDOM();
|
9703
|
+
_this57._setupModal();
|
9704
|
+
_this57._setupVariables();
|
9705
|
+
_this57._setupEventHandlers();
|
9593
9706
|
|
9594
|
-
|
9595
|
-
|
9596
|
-
return
|
9707
|
+
_this57._clockSetup();
|
9708
|
+
_this57._pickerSetup();
|
9709
|
+
return _this57;
|
9597
9710
|
}
|
9598
9711
|
|
9599
9712
|
_createClass(Timepicker, [{
|
@@ -9688,7 +9801,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9688
9801
|
}, {
|
9689
9802
|
key: "_handleDocumentClickEnd",
|
9690
9803
|
value: function _handleDocumentClickEnd(e) {
|
9691
|
-
var
|
9804
|
+
var _this58 = this;
|
9692
9805
|
|
9693
9806
|
e.preventDefault();
|
9694
9807
|
document.removeEventListener('mouseup', this._handleDocumentClickEndBound);
|
@@ -9705,10 +9818,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9705
9818
|
} else if (this.options.autoClose) {
|
9706
9819
|
$(this.minutesView).addClass('timepicker-dial-out');
|
9707
9820
|
setTimeout(function () {
|
9708
|
-
|
9821
|
+
_this58.done();
|
9709
9822
|
}, this.options.duration / 2);
|
9710
9823
|
}
|
9711
9824
|
|
9825
|
+
if (typeof this.options.onSelect === 'function') {
|
9826
|
+
this.options.onSelect.call(this, this.hours, this.minutes);
|
9827
|
+
}
|
9828
|
+
|
9712
9829
|
// Unbind mousemove event
|
9713
9830
|
document.removeEventListener('mousemove', this._handleDocumentClickMoveBound);
|
9714
9831
|
document.removeEventListener('touchmove', this._handleDocumentClickMoveBound);
|
@@ -9731,11 +9848,17 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9731
9848
|
}, {
|
9732
9849
|
key: "_setupModal",
|
9733
9850
|
value: function _setupModal() {
|
9734
|
-
var
|
9851
|
+
var _this59 = this;
|
9735
9852
|
|
9736
9853
|
this.modal = M.Modal.init(this.modalEl, {
|
9854
|
+
onOpenStart: this.options.onOpenStart,
|
9855
|
+
onOpenEnd: this.options.onOpenEnd,
|
9856
|
+
onCloseStart: this.options.onCloseStart,
|
9737
9857
|
onCloseEnd: function () {
|
9738
|
-
|
9858
|
+
if (typeof _this59.options.onCloseEnd === 'function') {
|
9859
|
+
_this59.options.onCloseEnd.call(_this59);
|
9860
|
+
}
|
9861
|
+
_this59.isOpen = false;
|
9739
9862
|
}
|
9740
9863
|
});
|
9741
9864
|
}
|
@@ -9759,8 +9882,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9759
9882
|
}, {
|
9760
9883
|
key: "_pickerSetup",
|
9761
9884
|
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));
|
9885
|
+
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
9886
|
if (this.options.showClearBtn) {
|
9765
9887
|
$clearBtn.css({ visibility: '' });
|
9766
9888
|
}
|
@@ -9891,12 +10013,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9891
10013
|
// Get the time
|
9892
10014
|
var value = ((this.el.value || this.options.defaultTime || '') + '').split(':');
|
9893
10015
|
if (this.options.twelveHour && !(typeof value[1] === 'undefined')) {
|
9894
|
-
if (value[1].toUpperCase().indexOf(
|
10016
|
+
if (value[1].toUpperCase().indexOf('AM') > 0) {
|
9895
10017
|
this.amOrPm = 'AM';
|
9896
10018
|
} else {
|
9897
10019
|
this.amOrPm = 'PM';
|
9898
10020
|
}
|
9899
|
-
value[1] = value[1].replace(
|
10021
|
+
value[1] = value[1].replace('AM', '').replace('PM', '');
|
9900
10022
|
}
|
9901
10023
|
if (value[0] === 'now') {
|
9902
10024
|
var now = new Date(+new Date() + this.options.fromNow);
|
@@ -9915,7 +10037,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9915
10037
|
}, {
|
9916
10038
|
key: "showView",
|
9917
10039
|
value: function showView(view, delay) {
|
9918
|
-
if (view === 'minutes' && $(this.hoursView).css(
|
10040
|
+
if (view === 'minutes' && $(this.hoursView).css('visibility') === 'visible') {
|
9919
10041
|
// raiseCallback(this.options.beforeHourSelect);
|
9920
10042
|
}
|
9921
10043
|
var isHours = view === 'hours',
|
@@ -9965,7 +10087,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
9965
10087
|
}, {
|
9966
10088
|
key: "setHand",
|
9967
10089
|
value: function setHand(x, y, roundBy5) {
|
9968
|
-
var
|
10090
|
+
var _this60 = this;
|
9969
10091
|
|
9970
10092
|
var radian = Math.atan2(x, -y),
|
9971
10093
|
isHours = this.currentView === 'hours',
|
@@ -10020,7 +10142,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10020
10142
|
if (!this.vibrateTimer) {
|
10021
10143
|
navigator[this.vibrate](10);
|
10022
10144
|
this.vibrateTimer = setTimeout(function () {
|
10023
|
-
|
10145
|
+
_this60.vibrateTimer = null;
|
10024
10146
|
}, 100);
|
10025
10147
|
}
|
10026
10148
|
}
|
@@ -10053,6 +10175,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10053
10175
|
this.isOpen = true;
|
10054
10176
|
this._updateTimeFromInput();
|
10055
10177
|
this.showView('hours');
|
10178
|
+
|
10056
10179
|
this.modal.open();
|
10057
10180
|
}
|
10058
10181
|
}, {
|
@@ -10184,20 +10307,20 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10184
10307
|
function CharacterCounter(el, options) {
|
10185
10308
|
_classCallCheck(this, CharacterCounter);
|
10186
10309
|
|
10187
|
-
var
|
10310
|
+
var _this61 = _possibleConstructorReturn(this, (CharacterCounter.__proto__ || Object.getPrototypeOf(CharacterCounter)).call(this, CharacterCounter, el, options));
|
10188
10311
|
|
10189
|
-
|
10312
|
+
_this61.el.M_CharacterCounter = _this61;
|
10190
10313
|
|
10191
10314
|
/**
|
10192
10315
|
* Options for the character counter
|
10193
10316
|
*/
|
10194
|
-
|
10317
|
+
_this61.options = $.extend({}, CharacterCounter.defaults, options);
|
10195
10318
|
|
10196
|
-
|
10197
|
-
|
10198
|
-
|
10199
|
-
|
10200
|
-
return
|
10319
|
+
_this61.isInvalid = false;
|
10320
|
+
_this61.isValidLength = false;
|
10321
|
+
_this61._setupCounter();
|
10322
|
+
_this61._setupEventHandlers();
|
10323
|
+
return _this61;
|
10201
10324
|
}
|
10202
10325
|
|
10203
10326
|
_createClass(CharacterCounter, [{
|
@@ -10364,9 +10487,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10364
10487
|
function Carousel(el, options) {
|
10365
10488
|
_classCallCheck(this, Carousel);
|
10366
10489
|
|
10367
|
-
var
|
10490
|
+
var _this62 = _possibleConstructorReturn(this, (Carousel.__proto__ || Object.getPrototypeOf(Carousel)).call(this, Carousel, el, options));
|
10368
10491
|
|
10369
|
-
|
10492
|
+
_this62.el.M_Carousel = _this62;
|
10370
10493
|
|
10371
10494
|
/**
|
10372
10495
|
* Options for the carousel
|
@@ -10381,38 +10504,38 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10381
10504
|
* @prop {Boolean} noWrap
|
10382
10505
|
* @prop {Function} onCycleTo
|
10383
10506
|
*/
|
10384
|
-
|
10507
|
+
_this62.options = $.extend({}, Carousel.defaults, options);
|
10385
10508
|
|
10386
10509
|
// Setup
|
10387
|
-
|
10388
|
-
|
10389
|
-
|
10390
|
-
|
10391
|
-
|
10392
|
-
|
10393
|
-
|
10394
|
-
|
10395
|
-
|
10396
|
-
|
10397
|
-
|
10398
|
-
|
10510
|
+
_this62.hasMultipleSlides = _this62.$el.find('.carousel-item').length > 1;
|
10511
|
+
_this62.showIndicators = _this62.options.indicators && _this62.hasMultipleSlides;
|
10512
|
+
_this62.noWrap = _this62.options.noWrap || !_this62.hasMultipleSlides;
|
10513
|
+
_this62.pressed = false;
|
10514
|
+
_this62.dragged = false;
|
10515
|
+
_this62.offset = _this62.target = 0;
|
10516
|
+
_this62.images = [];
|
10517
|
+
_this62.itemWidth = _this62.$el.find('.carousel-item').first().innerWidth();
|
10518
|
+
_this62.itemHeight = _this62.$el.find('.carousel-item').first().innerHeight();
|
10519
|
+
_this62.dim = _this62.itemWidth * 2 + _this62.options.padding || 1; // Make sure dim is non zero for divisions.
|
10520
|
+
_this62._autoScrollBound = _this62._autoScroll.bind(_this62);
|
10521
|
+
_this62._trackBound = _this62._track.bind(_this62);
|
10399
10522
|
|
10400
10523
|
// Full Width carousel setup
|
10401
|
-
if (
|
10402
|
-
|
10403
|
-
|
10524
|
+
if (_this62.options.fullWidth) {
|
10525
|
+
_this62.options.dist = 0;
|
10526
|
+
_this62._setCarouselHeight();
|
10404
10527
|
|
10405
10528
|
// Offset fixed items when indicators.
|
10406
|
-
if (
|
10407
|
-
|
10529
|
+
if (_this62.showIndicators) {
|
10530
|
+
_this62.$el.find('.carousel-fixed-item').addClass('with-indicators');
|
10408
10531
|
}
|
10409
10532
|
}
|
10410
10533
|
|
10411
10534
|
// Iterate through slides
|
10412
|
-
|
10413
|
-
|
10414
|
-
|
10415
|
-
if (
|
10535
|
+
_this62.$indicators = $('<ul class="indicators"></ul>');
|
10536
|
+
_this62.$el.find('.carousel-item').each(function (el, i) {
|
10537
|
+
_this62.images.push(el);
|
10538
|
+
if (_this62.showIndicators) {
|
10416
10539
|
var $indicator = $('<li class="indicator-item"></li>');
|
10417
10540
|
|
10418
10541
|
// Add active to first by default.
|
@@ -10420,31 +10543,31 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10420
10543
|
$indicator[0].classList.add('active');
|
10421
10544
|
}
|
10422
10545
|
|
10423
|
-
|
10546
|
+
_this62.$indicators.append($indicator);
|
10424
10547
|
}
|
10425
10548
|
});
|
10426
|
-
if (
|
10427
|
-
|
10549
|
+
if (_this62.showIndicators) {
|
10550
|
+
_this62.$el.append(_this62.$indicators);
|
10428
10551
|
}
|
10429
|
-
|
10552
|
+
_this62.count = _this62.images.length;
|
10430
10553
|
|
10431
10554
|
// Cap numVisible at count
|
10432
|
-
|
10555
|
+
_this62.options.numVisible = Math.min(_this62.count, _this62.options.numVisible);
|
10433
10556
|
|
10434
10557
|
// Setup cross browser string
|
10435
|
-
|
10558
|
+
_this62.xform = 'transform';
|
10436
10559
|
['webkit', 'Moz', 'O', 'ms'].every(function (prefix) {
|
10437
10560
|
var e = prefix + 'Transform';
|
10438
10561
|
if (typeof document.body.style[e] !== 'undefined') {
|
10439
|
-
|
10562
|
+
_this62.xform = e;
|
10440
10563
|
return false;
|
10441
10564
|
}
|
10442
10565
|
return true;
|
10443
10566
|
});
|
10444
10567
|
|
10445
|
-
|
10446
|
-
|
10447
|
-
return
|
10568
|
+
_this62._setupEventHandlers();
|
10569
|
+
_this62._scroll(_this62.offset);
|
10570
|
+
return _this62;
|
10448
10571
|
}
|
10449
10572
|
|
10450
10573
|
_createClass(Carousel, [{
|
@@ -10466,7 +10589,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10466
10589
|
}, {
|
10467
10590
|
key: "_setupEventHandlers",
|
10468
10591
|
value: function _setupEventHandlers() {
|
10469
|
-
var
|
10592
|
+
var _this63 = this;
|
10470
10593
|
|
10471
10594
|
this._handleCarouselTapBound = this._handleCarouselTap.bind(this);
|
10472
10595
|
this._handleCarouselDragBound = this._handleCarouselDrag.bind(this);
|
@@ -10488,7 +10611,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10488
10611
|
if (this.showIndicators && this.$indicators) {
|
10489
10612
|
this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this);
|
10490
10613
|
this.$indicators.find('.indicator-item').each(function (el, i) {
|
10491
|
-
el.addEventListener('click',
|
10614
|
+
el.addEventListener('click', _this63._handleIndicatorClickBound);
|
10492
10615
|
});
|
10493
10616
|
}
|
10494
10617
|
|
@@ -10506,7 +10629,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10506
10629
|
}, {
|
10507
10630
|
key: "_removeEventHandlers",
|
10508
10631
|
value: function _removeEventHandlers() {
|
10509
|
-
var
|
10632
|
+
var _this64 = this;
|
10510
10633
|
|
10511
10634
|
if (typeof window.ontouchstart !== 'undefined') {
|
10512
10635
|
this.el.removeEventListener('touchstart', this._handleCarouselTapBound);
|
@@ -10521,7 +10644,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10521
10644
|
|
10522
10645
|
if (this.showIndicators && this.$indicators) {
|
10523
10646
|
this.$indicators.find('.indicator-item').each(function (el, i) {
|
10524
|
-
el.removeEventListener('click',
|
10647
|
+
el.removeEventListener('click', _this64._handleIndicatorClickBound);
|
10525
10648
|
});
|
10526
10649
|
}
|
10527
10650
|
|
@@ -10707,7 +10830,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10707
10830
|
}, {
|
10708
10831
|
key: "_setCarouselHeight",
|
10709
10832
|
value: function _setCarouselHeight(imageOnly) {
|
10710
|
-
var
|
10833
|
+
var _this65 = this;
|
10711
10834
|
|
10712
10835
|
var firstSlide = this.$el.find('.carousel-item.active').length ? this.$el.find('.carousel-item.active').first() : this.$el.find('.carousel-item').first();
|
10713
10836
|
var firstImage = firstSlide.find('img').first();
|
@@ -10727,7 +10850,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10727
10850
|
} else {
|
10728
10851
|
// Get height when image is loaded normally
|
10729
10852
|
firstImage.one('load', function (el, i) {
|
10730
|
-
|
10853
|
+
_this65.$el.css('height', el.offsetHeight + 'px');
|
10731
10854
|
});
|
10732
10855
|
}
|
10733
10856
|
} else if (!imageOnly) {
|
@@ -10833,7 +10956,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10833
10956
|
}, {
|
10834
10957
|
key: "_scroll",
|
10835
10958
|
value: function _scroll(x) {
|
10836
|
-
var
|
10959
|
+
var _this66 = this;
|
10837
10960
|
|
10838
10961
|
// Track scrolling state
|
10839
10962
|
if (!this.$el.hasClass('scrolling')) {
|
@@ -10843,7 +10966,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10843
10966
|
window.clearTimeout(this.scrollingTimeout);
|
10844
10967
|
}
|
10845
10968
|
this.scrollingTimeout = window.setTimeout(function () {
|
10846
|
-
|
10969
|
+
_this66.$el.removeClass('scrolling');
|
10847
10970
|
}, this.options.duration);
|
10848
10971
|
|
10849
10972
|
// Start actual scroll
|
@@ -10896,7 +11019,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10896
11019
|
this.$el.find('.carousel-item').removeClass('active');
|
10897
11020
|
el.classList.add('active');
|
10898
11021
|
}
|
10899
|
-
var transformString = alignment +
|
11022
|
+
var transformString = alignment + " translateX(" + -delta / 2 + "px) translateX(" + dir * this.options.shift * tween * i + "px) translateZ(" + this.options.dist * tween + "px)";
|
10900
11023
|
this._updateItemStyle(el, centerTweenedOpacity, 0, transformString);
|
10901
11024
|
}
|
10902
11025
|
|
@@ -10912,7 +11035,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10912
11035
|
// Don't show wrapped items.
|
10913
11036
|
if (!this.noWrap || this.center + i < this.count) {
|
10914
11037
|
el = this.images[this._wrap(this.center + i)];
|
10915
|
-
var _transformString = alignment +
|
11038
|
+
var _transformString = alignment + " translateX(" + (this.options.shift + (this.dim * i - delta) / 2) + "px) translateZ(" + zTranslation + "px)";
|
10916
11039
|
this._updateItemStyle(el, tweenedOpacity, -i, _transformString);
|
10917
11040
|
}
|
10918
11041
|
|
@@ -10927,7 +11050,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10927
11050
|
// Don't show wrapped items.
|
10928
11051
|
if (!this.noWrap || this.center - i >= 0) {
|
10929
11052
|
el = this.images[this._wrap(this.center - i)];
|
10930
|
-
var _transformString2 = alignment +
|
11053
|
+
var _transformString2 = alignment + " translateX(" + (-this.options.shift + (-this.dim * i - delta) / 2) + "px) translateZ(" + zTranslation + "px)";
|
10931
11054
|
this._updateItemStyle(el, tweenedOpacity, -i, _transformString2);
|
10932
11055
|
}
|
10933
11056
|
}
|
@@ -10936,18 +11059,18 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
10936
11059
|
// Don't show wrapped items.
|
10937
11060
|
if (!this.noWrap || this.center >= 0 && this.center < this.count) {
|
10938
11061
|
el = this.images[this._wrap(this.center)];
|
10939
|
-
var _transformString3 = alignment +
|
11062
|
+
var _transformString3 = alignment + " translateX(" + -delta / 2 + "px) translateX(" + dir * this.options.shift * tween + "px) translateZ(" + this.options.dist * tween + "px)";
|
10940
11063
|
this._updateItemStyle(el, centerTweenedOpacity, 0, _transformString3);
|
10941
11064
|
}
|
10942
11065
|
|
10943
11066
|
// onCycleTo callback
|
10944
11067
|
var $currItem = this.$el.find('.carousel-item').eq(this._wrap(this.center));
|
10945
|
-
if (lastCenter !== this.center && typeof this.options.onCycleTo ===
|
11068
|
+
if (lastCenter !== this.center && typeof this.options.onCycleTo === 'function') {
|
10946
11069
|
this.options.onCycleTo.call(this, $currItem[0], this.dragged);
|
10947
11070
|
}
|
10948
11071
|
|
10949
11072
|
// One time callback
|
10950
|
-
if (typeof this.oneTimeCallback ===
|
11073
|
+
if (typeof this.oneTimeCallback === 'function') {
|
10951
11074
|
this.oneTimeCallback.call(this, $currItem[0], this.dragged);
|
10952
11075
|
this.oneTimeCallback = null;
|
10953
11076
|
}
|
@@ -11005,7 +11128,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11005
11128
|
}
|
11006
11129
|
|
11007
11130
|
// Set one time callback
|
11008
|
-
if (typeof callback ===
|
11131
|
+
if (typeof callback === 'function') {
|
11009
11132
|
this.oneTimeCallback = callback;
|
11010
11133
|
}
|
11011
11134
|
|
@@ -11030,7 +11153,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11030
11153
|
}
|
11031
11154
|
|
11032
11155
|
var index = this.center + n;
|
11033
|
-
if (index
|
11156
|
+
if (index >= this.count || index < 0) {
|
11034
11157
|
if (this.noWrap) {
|
11035
11158
|
return;
|
11036
11159
|
}
|
@@ -11053,7 +11176,7 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11053
11176
|
}
|
11054
11177
|
|
11055
11178
|
var index = this.center - n;
|
11056
|
-
if (index
|
11179
|
+
if (index >= this.count || index < 0) {
|
11057
11180
|
if (this.noWrap) {
|
11058
11181
|
return;
|
11059
11182
|
}
|
@@ -11144,9 +11267,9 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11144
11267
|
function TapTarget(el, options) {
|
11145
11268
|
_classCallCheck(this, TapTarget);
|
11146
11269
|
|
11147
|
-
var
|
11270
|
+
var _this67 = _possibleConstructorReturn(this, (TapTarget.__proto__ || Object.getPrototypeOf(TapTarget)).call(this, TapTarget, el, options));
|
11148
11271
|
|
11149
|
-
|
11272
|
+
_this67.el.M_TapTarget = _this67;
|
11150
11273
|
|
11151
11274
|
/**
|
11152
11275
|
* Options for the select
|
@@ -11154,17 +11277,17 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11154
11277
|
* @prop {Function} onOpen - Callback function called when feature discovery is opened
|
11155
11278
|
* @prop {Function} onClose - Callback function called when feature discovery is closed
|
11156
11279
|
*/
|
11157
|
-
|
11280
|
+
_this67.options = $.extend({}, TapTarget.defaults, options);
|
11158
11281
|
|
11159
|
-
|
11282
|
+
_this67.isOpen = false;
|
11160
11283
|
|
11161
11284
|
// setup
|
11162
|
-
|
11163
|
-
|
11285
|
+
_this67.$origin = $('#' + _this67.$el.attr('data-target'));
|
11286
|
+
_this67._setup();
|
11164
11287
|
|
11165
|
-
|
11166
|
-
|
11167
|
-
return
|
11288
|
+
_this67._calculatePositioning();
|
11289
|
+
_this67._setupEventHandlers();
|
11290
|
+
return _this67;
|
11168
11291
|
}
|
11169
11292
|
|
11170
11293
|
_createClass(TapTarget, [{
|
@@ -11499,30 +11622,30 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11499
11622
|
_classCallCheck(this, FormSelect);
|
11500
11623
|
|
11501
11624
|
// Don't init if browser default version
|
11502
|
-
var
|
11625
|
+
var _this68 = _possibleConstructorReturn(this, (FormSelect.__proto__ || Object.getPrototypeOf(FormSelect)).call(this, FormSelect, el, options));
|
11503
11626
|
|
11504
|
-
if (
|
11505
|
-
return _possibleConstructorReturn(
|
11627
|
+
if (_this68.$el.hasClass('browser-default')) {
|
11628
|
+
return _possibleConstructorReturn(_this68);
|
11506
11629
|
}
|
11507
11630
|
|
11508
|
-
|
11631
|
+
_this68.el.M_FormSelect = _this68;
|
11509
11632
|
|
11510
11633
|
/**
|
11511
11634
|
* Options for the select
|
11512
11635
|
* @member FormSelect#options
|
11513
11636
|
*/
|
11514
|
-
|
11637
|
+
_this68.options = $.extend({}, FormSelect.defaults, options);
|
11515
11638
|
|
11516
|
-
|
11639
|
+
_this68.isMultiple = _this68.$el.prop('multiple');
|
11517
11640
|
|
11518
11641
|
// Setup
|
11519
|
-
|
11520
|
-
|
11521
|
-
|
11522
|
-
|
11642
|
+
_this68.el.tabIndex = -1;
|
11643
|
+
_this68._keysSelected = {};
|
11644
|
+
_this68._valueDict = {}; // Maps key to original and generated option element.
|
11645
|
+
_this68._setupDropdown();
|
11523
11646
|
|
11524
|
-
|
11525
|
-
return
|
11647
|
+
_this68._setupEventHandlers();
|
11648
|
+
return _this68;
|
11526
11649
|
}
|
11527
11650
|
|
11528
11651
|
_createClass(FormSelect, [{
|
@@ -11545,14 +11668,14 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11545
11668
|
}, {
|
11546
11669
|
key: "_setupEventHandlers",
|
11547
11670
|
value: function _setupEventHandlers() {
|
11548
|
-
var
|
11671
|
+
var _this69 = this;
|
11549
11672
|
|
11550
11673
|
this._handleSelectChangeBound = this._handleSelectChange.bind(this);
|
11551
11674
|
this._handleOptionClickBound = this._handleOptionClick.bind(this);
|
11552
11675
|
this._handleInputClickBound = this._handleInputClick.bind(this);
|
11553
11676
|
|
11554
11677
|
$(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) {
|
11555
|
-
el.addEventListener('click',
|
11678
|
+
el.addEventListener('click', _this69._handleOptionClickBound);
|
11556
11679
|
});
|
11557
11680
|
this.el.addEventListener('change', this._handleSelectChangeBound);
|
11558
11681
|
this.input.addEventListener('click', this._handleInputClickBound);
|
@@ -11565,10 +11688,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11565
11688
|
}, {
|
11566
11689
|
key: "_removeEventHandlers",
|
11567
11690
|
value: function _removeEventHandlers() {
|
11568
|
-
var
|
11691
|
+
var _this70 = this;
|
11569
11692
|
|
11570
11693
|
$(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) {
|
11571
|
-
el.removeEventListener('click',
|
11694
|
+
el.removeEventListener('click', _this70._handleOptionClickBound);
|
11572
11695
|
});
|
11573
11696
|
this.el.removeEventListener('change', this._handleSelectChangeBound);
|
11574
11697
|
this.input.removeEventListener('click', this._handleInputClickBound);
|
@@ -11607,19 +11730,19 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11607
11730
|
placeholderOption.find('input[type="checkbox"]').prop('checked', false);
|
11608
11731
|
this._toggleEntryFromArray(placeholderOption[0].id);
|
11609
11732
|
}
|
11610
|
-
|
11611
|
-
var checkbox = $(option).find('input[type="checkbox"]');
|
11612
|
-
checkbox.prop('checked', !checkbox.prop('checked'));
|
11613
11733
|
selected = this._toggleEntryFromArray(key);
|
11614
11734
|
} else {
|
11615
|
-
$(this.dropdownOptions).find('li').removeClass('
|
11616
|
-
$(option).toggleClass('
|
11617
|
-
this.input.value = option.textContent;
|
11735
|
+
$(this.dropdownOptions).find('li').removeClass('selected');
|
11736
|
+
$(option).toggleClass('selected', selected);
|
11618
11737
|
}
|
11619
11738
|
|
11620
|
-
|
11621
|
-
|
11622
|
-
this
|
11739
|
+
// Set selected on original select option
|
11740
|
+
// Only trigger if selected state changed
|
11741
|
+
var prevSelected = $(this._valueDict[key].el).prop('selected');
|
11742
|
+
if (prevSelected !== selected) {
|
11743
|
+
$(this._valueDict[key].el).prop('selected', selected);
|
11744
|
+
this.$el.trigger('change');
|
11745
|
+
}
|
11623
11746
|
}
|
11624
11747
|
|
11625
11748
|
e.stopPropagation();
|
@@ -11645,10 +11768,10 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11645
11768
|
}, {
|
11646
11769
|
key: "_setupDropdown",
|
11647
11770
|
value: function _setupDropdown() {
|
11648
|
-
var
|
11771
|
+
var _this71 = this;
|
11649
11772
|
|
11650
11773
|
this.wrapper = document.createElement('div');
|
11651
|
-
$(this.wrapper).addClass('select-wrapper
|
11774
|
+
$(this.wrapper).addClass('select-wrapper ' + this.options.classes);
|
11652
11775
|
this.$el.before($(this.wrapper));
|
11653
11776
|
this.wrapper.appendChild(this.el);
|
11654
11777
|
|
@@ -11668,21 +11791,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11668
11791
|
if ($(el).is('option')) {
|
11669
11792
|
// Direct descendant option.
|
11670
11793
|
var optionEl = void 0;
|
11671
|
-
if (
|
11672
|
-
optionEl =
|
11794
|
+
if (_this71.isMultiple) {
|
11795
|
+
optionEl = _this71._appendOptionWithIcon(_this71.$el, el, 'multiple');
|
11673
11796
|
} else {
|
11674
|
-
optionEl =
|
11797
|
+
optionEl = _this71._appendOptionWithIcon(_this71.$el, el);
|
11675
11798
|
}
|
11676
11799
|
|
11677
|
-
|
11800
|
+
_this71._addOptionToValueDict(el, optionEl);
|
11678
11801
|
} else if ($(el).is('optgroup')) {
|
11679
11802
|
// Optgroup.
|
11680
11803
|
var selectOptions = $(el).children('option');
|
11681
|
-
$(
|
11804
|
+
$(_this71.dropdownOptions).append($('<li class="optgroup"><span>' + el.getAttribute('label') + '</span></li>')[0]);
|
11682
11805
|
|
11683
11806
|
selectOptions.each(function (el) {
|
11684
|
-
var optionEl =
|
11685
|
-
|
11807
|
+
var optionEl = _this71._appendOptionWithIcon(_this71.$el, el, 'optgroup-option');
|
11808
|
+
_this71._addOptionToValueDict(el, optionEl);
|
11686
11809
|
});
|
11687
11810
|
}
|
11688
11811
|
});
|
@@ -11713,11 +11836,21 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11713
11836
|
|
11714
11837
|
// Add callback for centering selected option when dropdown content is scrollable
|
11715
11838
|
dropdownOptions.onOpenEnd = function (el) {
|
11716
|
-
var selectedOption = $(
|
11717
|
-
|
11718
|
-
|
11719
|
-
|
11720
|
-
|
11839
|
+
var selectedOption = $(_this71.dropdownOptions).find('.selected').first();
|
11840
|
+
|
11841
|
+
if (selectedOption.length) {
|
11842
|
+
// Focus selected option in dropdown
|
11843
|
+
M.keyDown = true;
|
11844
|
+
_this71.dropdown.focusedIndex = selectedOption.index();
|
11845
|
+
_this71.dropdown._focusFocusedItem();
|
11846
|
+
M.keyDown = false;
|
11847
|
+
|
11848
|
+
// Handle scrolling to selected option
|
11849
|
+
if (_this71.dropdown.isScrollable) {
|
11850
|
+
var scrollOffset = selectedOption[0].getBoundingClientRect().top - _this71.dropdownOptions.getBoundingClientRect().top; // scroll to selected option
|
11851
|
+
scrollOffset -= _this71.dropdownOptions.clientHeight / 2; // center in dropdown
|
11852
|
+
_this71.dropdownOptions.scrollTop = scrollOffset;
|
11853
|
+
}
|
11721
11854
|
}
|
11722
11855
|
};
|
11723
11856
|
|
@@ -11787,9 +11920,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11787
11920
|
|
11788
11921
|
// add icons
|
11789
11922
|
var iconUrl = option.getAttribute('data-icon');
|
11790
|
-
var classes = option.getAttribute('class');
|
11791
11923
|
if (!!iconUrl) {
|
11792
|
-
var imgEl = $(
|
11924
|
+
var imgEl = $("<img alt=\"\" src=\"" + iconUrl + "\">");
|
11793
11925
|
liEl.prepend(imgEl);
|
11794
11926
|
}
|
11795
11927
|
|
@@ -11808,49 +11940,54 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11808
11940
|
key: "_toggleEntryFromArray",
|
11809
11941
|
value: function _toggleEntryFromArray(key) {
|
11810
11942
|
var notAdded = !this._keysSelected.hasOwnProperty(key);
|
11943
|
+
var $optionLi = $(this._valueDict[key].optionEl);
|
11944
|
+
|
11811
11945
|
if (notAdded) {
|
11812
11946
|
this._keysSelected[key] = true;
|
11813
11947
|
} else {
|
11814
11948
|
delete this._keysSelected[key];
|
11815
11949
|
}
|
11816
11950
|
|
11817
|
-
$
|
11951
|
+
$optionLi.toggleClass('selected', notAdded);
|
11952
|
+
|
11953
|
+
// Set checkbox checked value
|
11954
|
+
$optionLi.find('input[type="checkbox"]').prop('checked', notAdded);
|
11818
11955
|
|
11819
11956
|
// use notAdded instead of true (to detect if the option is selected or not)
|
11820
|
-
$
|
11957
|
+
$optionLi.prop('selected', notAdded);
|
11821
11958
|
|
11822
11959
|
return notAdded;
|
11823
11960
|
}
|
11824
11961
|
|
11825
11962
|
/**
|
11826
|
-
* Set value to input
|
11963
|
+
* Set text value to input
|
11827
11964
|
*/
|
11828
11965
|
|
11829
11966
|
}, {
|
11830
11967
|
key: "_setValueToInput",
|
11831
11968
|
value: function _setValueToInput() {
|
11832
|
-
var
|
11969
|
+
var values = [];
|
11833
11970
|
var options = this.$el.find('option');
|
11834
11971
|
|
11835
11972
|
options.each(function (el) {
|
11836
11973
|
if ($(el).prop('selected')) {
|
11837
11974
|
var text = $(el).text();
|
11838
|
-
|
11975
|
+
values.push(text);
|
11839
11976
|
}
|
11840
11977
|
});
|
11841
11978
|
|
11842
|
-
if (
|
11979
|
+
if (!values.length) {
|
11843
11980
|
var firstDisabled = this.$el.find('option:disabled').eq(0);
|
11844
|
-
if (firstDisabled.length) {
|
11845
|
-
|
11981
|
+
if (firstDisabled.length && firstDisabled[0].value === '') {
|
11982
|
+
values.push(firstDisabled.text());
|
11846
11983
|
}
|
11847
11984
|
}
|
11848
11985
|
|
11849
|
-
this.input.value =
|
11986
|
+
this.input.value = values.join(', ');
|
11850
11987
|
}
|
11851
11988
|
|
11852
11989
|
/**
|
11853
|
-
* Set selected state of dropdown
|
11990
|
+
* Set selected state of dropdown to match actual select element
|
11854
11991
|
*/
|
11855
11992
|
|
11856
11993
|
}, {
|
@@ -11860,12 +11997,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11860
11997
|
|
11861
11998
|
for (var key in this._valueDict) {
|
11862
11999
|
var option = this._valueDict[key];
|
11863
|
-
|
11864
|
-
|
12000
|
+
var optionIsSelected = $(option.el).prop('selected');
|
12001
|
+
$(option.optionEl).find('input[type="checkbox"]').prop('checked', optionIsSelected);
|
12002
|
+
if (optionIsSelected) {
|
11865
12003
|
this._activateOption($(this.dropdownOptions), $(option.optionEl));
|
11866
12004
|
this._keysSelected[key] = true;
|
11867
12005
|
} else {
|
11868
|
-
$(option.optionEl).find('input[type="checkbox"]').prop("checked", false);
|
11869
12006
|
$(option.optionEl).removeClass('selected');
|
11870
12007
|
}
|
11871
12008
|
}
|
@@ -11884,7 +12021,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11884
12021
|
if (!this.isMultiple) {
|
11885
12022
|
collection.find('li.selected').removeClass('selected');
|
11886
12023
|
}
|
11887
|
-
|
11888
12024
|
var option = $(newOption);
|
11889
12025
|
option.addClass('selected');
|
11890
12026
|
}
|
@@ -11958,23 +12094,23 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11958
12094
|
function Range(el, options) {
|
11959
12095
|
_classCallCheck(this, Range);
|
11960
12096
|
|
11961
|
-
var
|
12097
|
+
var _this72 = _possibleConstructorReturn(this, (Range.__proto__ || Object.getPrototypeOf(Range)).call(this, Range, el, options));
|
11962
12098
|
|
11963
|
-
|
12099
|
+
_this72.el.M_Range = _this72;
|
11964
12100
|
|
11965
12101
|
/**
|
11966
12102
|
* Options for the range
|
11967
12103
|
* @member Range#options
|
11968
12104
|
*/
|
11969
|
-
|
12105
|
+
_this72.options = $.extend({}, Range.defaults, options);
|
11970
12106
|
|
11971
|
-
|
12107
|
+
_this72._mousedown = false;
|
11972
12108
|
|
11973
12109
|
// Setup
|
11974
|
-
|
12110
|
+
_this72._setupThumb();
|
11975
12111
|
|
11976
|
-
|
11977
|
-
return
|
12112
|
+
_this72._setupEventHandlers();
|
12113
|
+
return _this72;
|
11978
12114
|
}
|
11979
12115
|
|
11980
12116
|
_createClass(Range, [{
|
@@ -11998,14 +12134,12 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
11998
12134
|
key: "_setupEventHandlers",
|
11999
12135
|
value: function _setupEventHandlers() {
|
12000
12136
|
this._handleRangeChangeBound = this._handleRangeChange.bind(this);
|
12001
|
-
this._handleRangeFocusBound = this._handleRangeFocus.bind(this);
|
12002
12137
|
this._handleRangeMousedownTouchstartBound = this._handleRangeMousedownTouchstart.bind(this);
|
12003
12138
|
this._handleRangeInputMousemoveTouchmoveBound = this._handleRangeInputMousemoveTouchmove.bind(this);
|
12004
12139
|
this._handleRangeMouseupTouchendBound = this._handleRangeMouseupTouchend.bind(this);
|
12005
12140
|
this._handleRangeBlurMouseoutTouchleaveBound = this._handleRangeBlurMouseoutTouchleave.bind(this);
|
12006
12141
|
|
12007
12142
|
this.el.addEventListener('change', this._handleRangeChangeBound);
|
12008
|
-
this.el.addEventListener('focus', this._handleRangeFocusBound);
|
12009
12143
|
|
12010
12144
|
this.el.addEventListener('mousedown', this._handleRangeMousedownTouchstartBound);
|
12011
12145
|
this.el.addEventListener('touchstart', this._handleRangeMousedownTouchstartBound);
|
@@ -12030,7 +12164,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
12030
12164
|
key: "_removeEventHandlers",
|
12031
12165
|
value: function _removeEventHandlers() {
|
12032
12166
|
this.el.removeEventListener('change', this._handleRangeChangeBound);
|
12033
|
-
this.el.removeEventListener('focus', this._handleRangeFocusBound);
|
12034
12167
|
|
12035
12168
|
this.el.removeEventListener('mousedown', this._handleRangeMousedownTouchstartBound);
|
12036
12169
|
this.el.removeEventListener('touchstart', this._handleRangeMousedownTouchstartBound);
|
@@ -12065,19 +12198,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
12065
12198
|
$(this.thumb).addClass('active').css('left', offsetLeft + 'px');
|
12066
12199
|
}
|
12067
12200
|
|
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
12201
|
/**
|
12082
12202
|
* Handle Range Mousedown and Touchstart
|
12083
12203
|
* @param {Event} e
|
@@ -12139,7 +12259,6 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
12139
12259
|
key: "_handleRangeBlurMouseoutTouchleave",
|
12140
12260
|
value: function _handleRangeBlurMouseoutTouchleave() {
|
12141
12261
|
if (!this._mousedown) {
|
12142
|
-
this.$el.removeClass('focused');
|
12143
12262
|
var paddingLeft = parseInt(this.$el.css('padding-left'));
|
12144
12263
|
var marginLeft = 7 + paddingLeft + 'px';
|
12145
12264
|
|
@@ -12214,8 +12333,8 @@ $jscomp.polyfill = function (e, r, p, m) {
|
|
12214
12333
|
key: "_calcRangeOffset",
|
12215
12334
|
value: function _calcRangeOffset() {
|
12216
12335
|
var width = this.$el.width() - 15;
|
12217
|
-
var max = parseFloat(this.$el.attr('max'));
|
12218
|
-
var min = parseFloat(this.$el.attr('min'));
|
12336
|
+
var max = parseFloat(this.$el.attr('max')) || 100; // Range default max
|
12337
|
+
var min = parseFloat(this.$el.attr('min')) || 0; // Range default min
|
12219
12338
|
var percent = (parseFloat(this.$el.val()) - min) / (max - min);
|
12220
12339
|
return percent * width;
|
12221
12340
|
}
|