fomantic-ui 2.9.1-beta.22 → 2.9.1-beta.24
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.
- package/.eslint/index.js +23 -0
- package/.eslint/no-extra-parens-rule.js +17 -0
- package/.eslint/package.json +11 -0
- package/.eslintrc.js +13 -70
- package/.stylelintrc.js +5 -7
- package/dist/components/accordion.css +1 -1
- package/dist/components/accordion.js +26 -26
- package/dist/components/accordion.min.css +1 -1
- package/dist/components/accordion.min.js +2 -2
- package/dist/components/ad.css +1 -1
- package/dist/components/ad.min.css +1 -1
- package/dist/components/api.js +95 -94
- package/dist/components/api.min.js +2 -2
- package/dist/components/breadcrumb.css +1 -1
- package/dist/components/breadcrumb.min.css +1 -1
- package/dist/components/button.css +1 -1
- package/dist/components/button.min.css +1 -1
- package/dist/components/calendar.css +3 -3
- package/dist/components/calendar.js +181 -151
- package/dist/components/calendar.min.css +2 -2
- package/dist/components/calendar.min.js +2 -2
- package/dist/components/card.css +1 -1
- package/dist/components/card.min.css +1 -1
- package/dist/components/checkbox.css +1 -1
- package/dist/components/checkbox.js +14 -14
- package/dist/components/checkbox.min.css +1 -1
- package/dist/components/checkbox.min.js +2 -2
- package/dist/components/comment.css +1 -1
- package/dist/components/comment.min.css +1 -1
- package/dist/components/container.css +1 -1
- package/dist/components/container.min.css +1 -1
- package/dist/components/dimmer.css +1 -1
- package/dist/components/dimmer.js +23 -25
- package/dist/components/dimmer.min.css +1 -1
- package/dist/components/dimmer.min.js +2 -2
- package/dist/components/divider.css +1 -1
- package/dist/components/divider.min.css +1 -1
- package/dist/components/dropdown.css +1 -1
- package/dist/components/dropdown.js +252 -254
- package/dist/components/dropdown.min.css +1 -1
- package/dist/components/dropdown.min.js +2 -2
- package/dist/components/embed.css +1 -1
- package/dist/components/embed.js +27 -33
- package/dist/components/embed.min.css +1 -1
- package/dist/components/embed.min.js +2 -2
- package/dist/components/feed.css +1 -1
- package/dist/components/feed.min.css +1 -1
- package/dist/components/flag.css +1 -1
- package/dist/components/flag.min.css +1 -1
- package/dist/components/flyout.css +2 -2
- package/dist/components/flyout.js +50 -44
- package/dist/components/flyout.min.css +1 -1
- package/dist/components/flyout.min.js +2 -2
- package/dist/components/form.css +2 -2
- package/dist/components/form.js +187 -163
- package/dist/components/form.min.css +2 -2
- package/dist/components/form.min.js +2 -2
- package/dist/components/grid.css +1 -1
- package/dist/components/grid.min.css +1 -1
- package/dist/components/header.css +1 -1
- package/dist/components/header.min.css +1 -1
- package/dist/components/icon.css +1 -1
- package/dist/components/icon.min.css +1 -1
- package/dist/components/image.css +1 -1
- package/dist/components/image.min.css +1 -1
- package/dist/components/input.css +1 -1
- package/dist/components/input.min.css +1 -1
- package/dist/components/item.css +1 -1
- package/dist/components/item.min.css +1 -1
- package/dist/components/label.css +1 -1
- package/dist/components/label.min.css +1 -1
- package/dist/components/list.css +1 -1
- package/dist/components/list.min.css +1 -1
- package/dist/components/loader.css +1 -1
- package/dist/components/loader.min.css +1 -1
- package/dist/components/message.css +1 -1
- package/dist/components/message.min.css +1 -1
- package/dist/components/modal.css +1 -1
- package/dist/components/modal.js +49 -45
- package/dist/components/modal.min.css +1 -1
- package/dist/components/modal.min.js +2 -2
- package/dist/components/nag.css +1 -1
- package/dist/components/nag.js +22 -20
- package/dist/components/nag.min.css +1 -1
- package/dist/components/nag.min.js +2 -2
- package/dist/components/placeholder.css +1 -1
- package/dist/components/placeholder.min.css +1 -1
- package/dist/components/popup.css +1 -1
- package/dist/components/popup.js +71 -71
- package/dist/components/popup.min.css +1 -1
- package/dist/components/popup.min.js +2 -2
- package/dist/components/progress.css +1 -1
- package/dist/components/progress.js +46 -46
- package/dist/components/progress.min.css +1 -1
- package/dist/components/progress.min.js +2 -2
- package/dist/components/rail.css +1 -1
- package/dist/components/rail.min.css +1 -1
- package/dist/components/rating.css +1 -1
- package/dist/components/rating.js +15 -15
- package/dist/components/rating.min.css +1 -1
- package/dist/components/rating.min.js +2 -2
- package/dist/components/reset.css +1 -1
- package/dist/components/reset.min.css +1 -1
- package/dist/components/reveal.css +1 -1
- package/dist/components/reveal.min.css +1 -1
- package/dist/components/search.css +1 -1
- package/dist/components/search.js +69 -74
- package/dist/components/search.min.css +1 -1
- package/dist/components/search.min.js +2 -2
- package/dist/components/segment.css +1 -1
- package/dist/components/segment.min.css +1 -1
- package/dist/components/shape.css +1 -1
- package/dist/components/shape.js +39 -39
- package/dist/components/shape.min.css +1 -1
- package/dist/components/shape.min.js +2 -2
- package/dist/components/sidebar.css +1 -1
- package/dist/components/sidebar.js +39 -37
- package/dist/components/sidebar.min.css +1 -1
- package/dist/components/sidebar.min.js +2 -2
- package/dist/components/site.css +1 -1
- package/dist/components/site.js +22 -21
- package/dist/components/site.min.css +1 -1
- package/dist/components/site.min.js +2 -2
- package/dist/components/slider.js +69 -64
- package/dist/components/slider.min.js +2 -2
- package/dist/components/state.js +15 -15
- package/dist/components/state.min.js +2 -2
- package/dist/components/statistic.css +1 -1
- package/dist/components/statistic.min.css +1 -1
- package/dist/components/step.css +1 -1
- package/dist/components/step.min.css +1 -1
- package/dist/components/sticky.css +1 -1
- package/dist/components/sticky.js +25 -25
- package/dist/components/sticky.min.css +1 -1
- package/dist/components/sticky.min.js +2 -2
- package/dist/components/tab.css +1 -1
- package/dist/components/tab.js +55 -57
- package/dist/components/tab.min.css +1 -1
- package/dist/components/tab.min.js +2 -2
- package/dist/components/table.css +1 -1
- package/dist/components/table.min.css +1 -1
- package/dist/components/text.css +1 -1
- package/dist/components/text.min.css +1 -1
- package/dist/components/toast.css +1 -1
- package/dist/components/toast.js +57 -30
- package/dist/components/toast.min.css +1 -1
- package/dist/components/toast.min.js +2 -2
- package/dist/components/transition.css +7 -7
- package/dist/components/transition.js +45 -39
- package/dist/components/transition.min.css +1 -1
- package/dist/components/transition.min.js +2 -2
- package/dist/components/visibility.js +25 -25
- package/dist/components/visibility.min.js +2 -2
- package/dist/semantic.css +60 -60
- package/dist/semantic.js +1518 -1427
- package/dist/semantic.min.css +2 -2
- package/dist/semantic.min.js +2 -2
- package/examples/responsive.html +1 -1
- package/gulpfile.js +1 -1
- package/package.json +2 -1
- package/scripts/nightly-version.js +6 -4
- package/src/definitions/behaviors/api.js +94 -93
- package/src/definitions/behaviors/form.js +186 -162
- package/src/definitions/behaviors/state.js +14 -14
- package/src/definitions/behaviors/visibility.js +24 -24
- package/src/definitions/collections/menu.less +2 -2
- package/src/definitions/elements/button.less +2 -2
- package/src/definitions/elements/loader.less +4 -4
- package/src/definitions/elements/step.less +1 -1
- package/src/definitions/globals/site.js +21 -20
- package/src/definitions/modules/accordion.js +25 -25
- package/src/definitions/modules/calendar.js +180 -150
- package/src/definitions/modules/calendar.less +2 -2
- package/src/definitions/modules/checkbox.js +13 -13
- package/src/definitions/modules/dimmer.js +22 -24
- package/src/definitions/modules/dimmer.less +10 -10
- package/src/definitions/modules/dropdown.js +251 -253
- package/src/definitions/modules/embed.js +26 -32
- package/src/definitions/modules/flyout.js +49 -43
- package/src/definitions/modules/flyout.less +1 -1
- package/src/definitions/modules/modal.js +48 -44
- package/src/definitions/modules/nag.js +21 -19
- package/src/definitions/modules/popup.js +70 -70
- package/src/definitions/modules/progress.js +45 -45
- package/src/definitions/modules/rating.js +14 -14
- package/src/definitions/modules/search.js +68 -73
- package/src/definitions/modules/shape.js +38 -38
- package/src/definitions/modules/sidebar.js +38 -36
- package/src/definitions/modules/slider.js +68 -63
- package/src/definitions/modules/sticky.js +24 -24
- package/src/definitions/modules/tab.js +54 -56
- package/src/definitions/modules/toast.js +56 -29
- package/src/definitions/modules/transition.js +44 -38
- package/src/themes/amazon/elements/button.overrides +7 -7
- package/src/themes/default/collections/form.variables +1 -1
- package/src/themes/default/elements/reveal.variables +1 -1
- package/src/themes/default/globals/site.variables +1 -1
- package/src/themes/default/modules/dimmer.variables +6 -6
- package/src/themes/default/modules/modal.variables +1 -1
- package/src/themes/default/modules/slider.variables +4 -4
- package/src/themes/default/modules/toast.variables +2 -2
- package/src/themes/default/modules/transition.overrides +12 -12
- package/src/themes/flat/collections/form.overrides +2 -2
- package/src/themes/flat/globals/site.variables +1 -1
- package/src/themes/github/collections/form.overrides +2 -2
- package/src/themes/github/collections/menu.variables +1 -1
- package/src/themes/github/collections/message.overrides +3 -3
- package/src/themes/github/elements/input.overrides +2 -2
- package/src/themes/timeline/views/feed.overrides +3 -3
- package/src/themes/twitter/elements/button.overrides +2 -2
- package/tasks/README.md +1 -3
- package/tasks/admin/components/create.js +9 -16
- package/tasks/admin/components/init.js +7 -7
- package/tasks/admin/components/update.js +10 -10
- package/tasks/admin/distributions/create.js +16 -18
- package/tasks/admin/distributions/init.js +7 -7
- package/tasks/admin/distributions/update.js +10 -10
- package/tasks/admin/publish.js +1 -3
- package/tasks/admin/register.js +6 -6
- package/tasks/admin/release.js +1 -3
- package/tasks/build/assets.js +2 -2
- package/tasks/build/css.js +8 -3
- package/tasks/build/javascript.js +3 -1
- package/tasks/build.js +1 -1
- package/tasks/check-install.js +1 -1
- package/tasks/clean.js +1 -1
- package/tasks/collections/README.md +3 -5
- package/tasks/collections/admin.js +1 -1
- package/tasks/collections/docs.js +1 -1
- package/tasks/collections/install.js +1 -1
- package/tasks/collections/rtl.js +1 -1
- package/tasks/collections/various.js +1 -1
- package/tasks/config/admin/github.js +6 -8
- package/tasks/config/admin/templates/css-package.js +1 -1
- package/tasks/config/admin/templates/less-package.js +1 -1
- package/tasks/config/npm/gulpfile.js +7 -7
- package/tasks/config/project/config.js +14 -19
- package/tasks/config/project/install.js +35 -34
- package/tasks/config/project/release.js +15 -16
- package/tasks/config/tasks.js +18 -20
- package/tasks/config/user.js +5 -3
- package/tasks/docs/build.js +5 -3
- package/tasks/docs/metadata.js +7 -8
- package/tasks/docs/serve.js +6 -3
- package/tasks/install.js +39 -39
- package/tasks/rtl/build.js +1 -3
- package/tasks/rtl/watch.js +1 -3
- package/tasks/version.js +1 -3
- package/tasks/watch.js +1 -1
- package/test/.eslintrc.js +0 -4
- package/test/meteor/assets.js +1 -1
- package/test/modules/module.spec.js +15 -15
- package/test/modules/popup.spec.js +1 -1
- package/test/modules/search.spec.js +1 -1
- package/test/modules/tab.spec.js +1 -1
- package/test/modules/transition.spec.js +1 -1
@@ -15,7 +15,7 @@
|
|
15
15
|
return typeof obj === 'function' && typeof obj.nodeType !== 'number';
|
16
16
|
}
|
17
17
|
|
18
|
-
window =
|
18
|
+
window = window !== undefined && window.Math === Math
|
19
19
|
? window
|
20
20
|
: globalThis;
|
21
21
|
|
@@ -26,11 +26,11 @@
|
|
26
26
|
|
27
27
|
moduleSelector = $allModules.selector || '',
|
28
28
|
|
29
|
-
time =
|
29
|
+
time = Date.now(),
|
30
30
|
performance = [],
|
31
31
|
|
32
32
|
query = arguments[0],
|
33
|
-
methodInvoked =
|
33
|
+
methodInvoked = typeof query === 'string',
|
34
34
|
queryArguments = [].slice.call(arguments, 1),
|
35
35
|
returnedValue,
|
36
36
|
timeGapTable = {
|
@@ -45,7 +45,7 @@
|
|
45
45
|
|
46
46
|
$allModules.each(function () {
|
47
47
|
var
|
48
|
-
settings =
|
48
|
+
settings = $.isPlainObject(parameters)
|
49
49
|
? $.extend(true, {}, $.fn.calendar.settings, parameters)
|
50
50
|
: $.extend({}, $.fn.calendar.settings),
|
51
51
|
|
@@ -124,9 +124,9 @@
|
|
124
124
|
if (settings.inline) {
|
125
125
|
return;
|
126
126
|
}
|
127
|
-
if (
|
127
|
+
if ($activator.length === 0) {
|
128
128
|
$activator = $module.children().first();
|
129
|
-
if (
|
129
|
+
if ($activator.length === 0) {
|
130
130
|
return;
|
131
131
|
}
|
132
132
|
}
|
@@ -135,7 +135,7 @@
|
|
135
135
|
|
136
136
|
return;
|
137
137
|
}
|
138
|
-
if (
|
138
|
+
if ($container.length === 0) {
|
139
139
|
if (settings.context) {
|
140
140
|
module.popupId = namespace + '_popup_' + (Math.random().toString(16) + '000000000').slice(2, 10);
|
141
141
|
$container = $('<div/>', { id: module.popupId }).addClass(className.popup).appendTo($document.find(settings.context));
|
@@ -144,7 +144,7 @@
|
|
144
144
|
// the styling (eg input action button needs to be the last child to have correct border radius)
|
145
145
|
var
|
146
146
|
$activatorParent = $activator.parent(),
|
147
|
-
domPositionFunction = $activatorParent.closest(selector.append).length
|
147
|
+
domPositionFunction = $activatorParent.closest(selector.append).length > 0 ? 'appendTo' : 'prependTo'
|
148
148
|
;
|
149
149
|
$container = $('<div/>').addClass(className.popup)[domPositionFunction]($activatorParent);
|
150
150
|
}
|
@@ -163,7 +163,7 @@
|
|
163
163
|
|
164
164
|
return settings.onHidden.apply($container, arguments);
|
165
165
|
};
|
166
|
-
if (
|
166
|
+
if ($input.length === 0) {
|
167
167
|
// no input, $container has to handle focus/blur
|
168
168
|
$container.attr('tabindex', '0');
|
169
169
|
onVisible = function () {
|
@@ -195,17 +195,17 @@
|
|
195
195
|
module.popup(options);
|
196
196
|
},
|
197
197
|
inline: function () {
|
198
|
-
if ($activator.length && !settings.inline) {
|
198
|
+
if ($activator.length > 0 && !settings.inline) {
|
199
199
|
return;
|
200
200
|
}
|
201
201
|
settings.inline = true;
|
202
202
|
$container = $('<div/>').addClass(className.calendar).appendTo($module);
|
203
|
-
if (
|
203
|
+
if ($input.length === 0) {
|
204
204
|
$container.attr('tabindex', '0');
|
205
205
|
}
|
206
206
|
},
|
207
207
|
input: function () {
|
208
|
-
if (settings.touchReadonly && $input.length && isTouch) {
|
208
|
+
if (settings.touchReadonly && $input.length > 0 && isTouch) {
|
209
209
|
$input.prop('readonly', true);
|
210
210
|
}
|
211
211
|
module.check.disabled();
|
@@ -216,7 +216,7 @@
|
|
216
216
|
date = parser.date(settings.initialDate, settings);
|
217
217
|
} else if ($module.data(metadata.date) !== undefined) {
|
218
218
|
date = parser.date($module.data(metadata.date), settings);
|
219
|
-
} else if ($input.length) {
|
219
|
+
} else if ($input.length > 0) {
|
220
220
|
date = parser.date($input.val(), settings);
|
221
221
|
}
|
222
222
|
module.set.date(date, settings.formatInput, false);
|
@@ -283,7 +283,9 @@
|
|
283
283
|
year = display.getFullYear()
|
284
284
|
;
|
285
285
|
|
286
|
-
var columns = isDay
|
286
|
+
var columns = isDay
|
287
|
+
? (settings.showWeekNumbers ? 8 : 7)
|
288
|
+
: (isHour ? 4 : timeGap.column);
|
287
289
|
var rows = isDay || isHour ? 6 : timeGap.row;
|
288
290
|
var pages = isDay ? multiMonth : 1;
|
289
291
|
|
@@ -301,14 +303,14 @@
|
|
301
303
|
}
|
302
304
|
|
303
305
|
var month = startMonth + p;
|
304
|
-
var firstMonthDayColumn = (new Date(year, month, 1).getDay() - settings.firstDayOfWeek % 7 + 7) % 7;
|
306
|
+
var firstMonthDayColumn = (new Date(year, month, 1).getDay() - (settings.firstDayOfWeek % 7) + 7) % 7;
|
305
307
|
if (!settings.constantHeight && isDay) {
|
306
308
|
var requiredCells = new Date(year, month + 1, 0).getDate() + firstMonthDayColumn;
|
307
309
|
rows = Math.ceil(requiredCells / 7);
|
308
310
|
}
|
309
311
|
|
310
312
|
var
|
311
|
-
yearChange = isYear ? 10 : isMonth ? 1 : 0,
|
313
|
+
yearChange = isYear ? 10 : (isMonth ? 1 : 0),
|
312
314
|
monthChange = isDay ? 1 : 0,
|
313
315
|
dayChange = isHour || isMinute ? 1 : 0,
|
314
316
|
prevNextDay = isHour || isMinute ? day : 1,
|
@@ -316,25 +318,26 @@
|
|
316
318
|
nextDate = new Date(year + yearChange, month + monthChange, prevNextDay + dayChange, hour),
|
317
319
|
prevLast = isYear
|
318
320
|
? new Date(Math.ceil(year / 10) * 10 - 9, 0, 0)
|
319
|
-
: isMonth
|
321
|
+
: (isMonth
|
320
322
|
? new Date(year, 0, 0)
|
321
|
-
: isDay
|
323
|
+
: (isDay // eslint-disable-line unicorn/no-nested-ternary
|
322
324
|
? new Date(year, month, 0)
|
323
|
-
: new Date(year, month, day, -1),
|
325
|
+
: new Date(year, month, day, -1))),
|
324
326
|
nextFirst = isYear
|
325
327
|
? new Date(Math.ceil(year / 10) * 10 + 1, 0, 1)
|
326
|
-
: isMonth
|
328
|
+
: (isMonth
|
327
329
|
? new Date(year + 1, 0, 1)
|
328
|
-
: isDay
|
330
|
+
: (isDay // eslint-disable-line unicorn/no-nested-ternary
|
329
331
|
? new Date(year, month + 1, 1)
|
330
|
-
: new Date(year, month, day + 1)
|
332
|
+
: new Date(year, month, day + 1)))
|
331
333
|
;
|
332
334
|
|
333
335
|
var tempMode = mode;
|
334
336
|
if (isDay && settings.showWeekNumbers) {
|
335
337
|
tempMode += ' andweek';
|
336
338
|
}
|
337
|
-
var table = $('<table/>').addClass(className.table).addClass(tempMode).addClass(numberText[columns] + ' column')
|
339
|
+
var table = $('<table/>').addClass(className.table).addClass(tempMode).addClass(numberText[columns] + ' column')
|
340
|
+
.appendTo(container);
|
338
341
|
if (isInverted) {
|
339
342
|
table.addClass(className.inverted);
|
340
343
|
}
|
@@ -348,16 +351,16 @@
|
|
348
351
|
|
349
352
|
var headerDate = isYear || isMonth
|
350
353
|
? new Date(year, 0, 1)
|
351
|
-
: isDay
|
354
|
+
: (isDay
|
352
355
|
? new Date(year, month, 1)
|
353
|
-
: new Date(year, month, day, hour, minute);
|
356
|
+
: new Date(year, month, day, hour, minute));
|
354
357
|
var headerText = $('<span/>').addClass(className.link).appendTo(cell);
|
355
358
|
headerText.text(module.helper.dateFormat(formatter[mode + 'Header'], headerDate));
|
356
359
|
var newMode = isMonth
|
357
360
|
? (settings.disableYear ? 'day' : 'year')
|
358
|
-
: isDay
|
359
|
-
? (settings.disableMonth ? 'year' : 'month')
|
360
|
-
: 'day';
|
361
|
+
: (isDay
|
362
|
+
? (settings.disableMonth ? 'year' : 'month') // eslint-disable-line unicorn/no-nested-ternary
|
363
|
+
: 'day');
|
361
364
|
headerText.data(metadata.mode, newMode);
|
362
365
|
|
363
366
|
if (p === 0) {
|
@@ -389,7 +392,9 @@
|
|
389
392
|
}
|
390
393
|
|
391
394
|
var tbody = $('<tbody/>').appendTo(table);
|
392
|
-
i = isYear
|
395
|
+
i = isYear
|
396
|
+
? Math.ceil(year / 10) * 10 - 9
|
397
|
+
: (isDay ? 1 - firstMonthDayColumn : 0);
|
393
398
|
for (r = 0; r < rows; r++) {
|
394
399
|
row = $('<tr/>').appendTo(tbody);
|
395
400
|
if (isDay && settings.showWeekNumbers) {
|
@@ -400,20 +405,20 @@
|
|
400
405
|
for (c = 0; c < textColumns; c++, i++) {
|
401
406
|
var cellDate = isYear
|
402
407
|
? new Date(i, month, 1, hour, minute)
|
403
|
-
: isMonth
|
408
|
+
: (isMonth
|
404
409
|
? new Date(year, i, 1, hour, minute)
|
405
|
-
: isDay
|
410
|
+
: (isDay // eslint-disable-line unicorn/no-nested-ternary
|
406
411
|
? new Date(year, month, i, hour, minute)
|
407
|
-
: isHour
|
412
|
+
: (isHour
|
408
413
|
? new Date(year, month, day, i)
|
409
|
-
: new Date(year, month, day, hour, i * settings.minTimeGap);
|
414
|
+
: new Date(year, month, day, hour, i * settings.minTimeGap))));
|
410
415
|
var cellText = isYear
|
411
416
|
? i
|
412
|
-
: isMonth
|
417
|
+
: (isMonth
|
413
418
|
? settings.text.monthsShort[i]
|
414
|
-
: isDay
|
419
|
+
: (isDay // eslint-disable-line unicorn/no-nested-ternary
|
415
420
|
? cellDate.getDate()
|
416
|
-
: module.helper.dateFormat(formatter.cellTime, cellDate);
|
421
|
+
: module.helper.dateFormat(formatter.cellTime, cellDate)));
|
417
422
|
cell = $('<td/>').addClass(className.cell).appendTo(row);
|
418
423
|
cell.text(cellText);
|
419
424
|
cell.data(metadata.date, cellDate);
|
@@ -526,8 +531,8 @@
|
|
526
531
|
var focused = module.helper.dateEqual(cellDate, focusDate, mode);
|
527
532
|
var inRange = !rangeDate
|
528
533
|
? false
|
529
|
-
: (
|
530
|
-
|| (!!endDate && module.helper.isDateInRange(cellDate, mode, rangeDate, endDate))
|
534
|
+
: (!!startDate && module.helper.isDateInRange(cellDate, mode, startDate, rangeDate))
|
535
|
+
|| (!!endDate && module.helper.isDateInRange(cellDate, mode, rangeDate, endDate));
|
531
536
|
$cell.toggleClass(className.focusCell, focused && (!isTouch || isTouchDown) && (!adjacent || (settings.selectAdjacentDays && adjacent)) && !disabled);
|
532
537
|
|
533
538
|
if (module.helper.isTodayButton($cell)) {
|
@@ -546,7 +551,7 @@
|
|
546
551
|
var winWidth = $(window).width();
|
547
552
|
$container.find('td[data-position]').each(function () {
|
548
553
|
var $cell = $(this);
|
549
|
-
var tooltipWidth = window.getComputedStyle($cell[0], '::after').width.replace(/[
|
554
|
+
var tooltipWidth = window.getComputedStyle($cell[0], '::after').width.replace(/[^\d.]/g, '');
|
550
555
|
var tooltipPosition = $cell.attr('data-position');
|
551
556
|
// use a fallback width of 250 (calendar width) for IE/Edge (which return "auto")
|
552
557
|
var calcPosition = (winWidth - $cell.width() - (parseInt(tooltipWidth, 10) || 250)) > $cell.offset().left ? 'right' : 'left';
|
@@ -564,7 +569,7 @@
|
|
564
569
|
$container.on('mouseup' + eventNamespace, module.event.mouseup);
|
565
570
|
$container.on('touchend' + eventNamespace, module.event.mouseup);
|
566
571
|
$container.on('mouseover' + eventNamespace, module.event.mouseover);
|
567
|
-
if ($input.length) {
|
572
|
+
if ($input.length > 0) {
|
568
573
|
$input.on('input' + eventNamespace, module.event.inputChange);
|
569
574
|
$input.on('focus' + eventNamespace, module.event.inputFocus);
|
570
575
|
$input.on('blur' + eventNamespace, module.event.inputBlur);
|
@@ -579,7 +584,7 @@
|
|
579
584
|
events: function () {
|
580
585
|
module.debug('Unbinding events');
|
581
586
|
$container.off(eventNamespace);
|
582
|
-
if ($input.length) {
|
587
|
+
if ($input.length > 0) {
|
583
588
|
$input.off(eventNamespace);
|
584
589
|
}
|
585
590
|
},
|
@@ -595,7 +600,7 @@
|
|
595
600
|
}
|
596
601
|
},
|
597
602
|
mousedown: function (event) {
|
598
|
-
if ($input.length) {
|
603
|
+
if ($input.length > 0) {
|
599
604
|
// prevent the mousedown on the calendar causing the input to lose focus
|
600
605
|
event.preventDefault();
|
601
606
|
}
|
@@ -642,38 +647,59 @@
|
|
642
647
|
|
643
648
|
if (module.popup('is visible')) {
|
644
649
|
var mode = module.get.mode();
|
645
|
-
|
650
|
+
switch (keyCode) {
|
646
651
|
// arrow keys
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
652
|
+
case 37:
|
653
|
+
case 38:
|
654
|
+
case 39:
|
655
|
+
case 40: {
|
656
|
+
var bigIncrement = mode === 'day'
|
657
|
+
? 7
|
658
|
+
: (mode === 'hour'
|
659
|
+
? 4
|
660
|
+
: (mode === 'minute' ? timeGap.column : 3)); // eslint-disable-line unicorn/no-nested-ternary
|
661
|
+
var increment = keyCode === 37
|
662
|
+
? -1
|
663
|
+
: (keyCode === 38
|
664
|
+
? -bigIncrement
|
665
|
+
: (keyCode == 39 ? 1 : bigIncrement)); // eslint-disable-line unicorn/no-nested-ternary
|
666
|
+
increment *= mode === 'minute' ? settings.minTimeGap : 1;
|
667
|
+
var focusDate = module.get.focusDate() || module.get.date() || new Date();
|
668
|
+
var year = focusDate.getFullYear() + (mode === 'year' ? increment : 0);
|
669
|
+
var month = focusDate.getMonth() + (mode === 'month' ? increment : 0);
|
670
|
+
var day = focusDate.getDate() + (mode === 'day' ? increment : 0);
|
671
|
+
var hour = focusDate.getHours() + (mode === 'hour' ? increment : 0);
|
672
|
+
var minute = focusDate.getMinutes() + (mode === 'minute' ? increment : 0);
|
673
|
+
var newFocusDate = new Date(year, month, day, hour, minute);
|
674
|
+
if (settings.type === 'time') {
|
675
|
+
newFocusDate = module.helper.mergeDateTime(focusDate, newFocusDate);
|
676
|
+
}
|
677
|
+
if (module.helper.isDateInRange(newFocusDate, mode)) {
|
678
|
+
module.set.focusDate(newFocusDate);
|
679
|
+
}
|
680
|
+
|
681
|
+
break;
|
662
682
|
}
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
683
|
+
// enter key
|
684
|
+
case 13: {
|
685
|
+
var date = module.get.focusDate();
|
686
|
+
if (date && !settings.isDisabled(date, mode) && !module.helper.isDisabled(date, mode) && module.helper.isEnabled(date, mode)) {
|
687
|
+
if (settings.onSelect.call(element, date, module.get.mode()) !== false) {
|
688
|
+
module.selectDate(date);
|
689
|
+
}
|
669
690
|
}
|
691
|
+
// disable form submission:
|
692
|
+
event.preventDefault();
|
693
|
+
event.stopPropagation();
|
694
|
+
|
695
|
+
break;
|
670
696
|
}
|
671
|
-
//
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
697
|
+
// escape key
|
698
|
+
case 27:
|
699
|
+
module.popup('hide');
|
700
|
+
event.stopPropagation();
|
701
|
+
|
702
|
+
break;
|
677
703
|
}
|
678
704
|
}
|
679
705
|
|
@@ -724,7 +750,7 @@
|
|
724
750
|
|
725
751
|
disconnect: {
|
726
752
|
classObserver: function () {
|
727
|
-
if ($input.length && classObserver) {
|
753
|
+
if ($input.length > 0 && classObserver) {
|
728
754
|
classObserver.disconnect();
|
729
755
|
}
|
730
756
|
},
|
@@ -732,7 +758,7 @@
|
|
732
758
|
|
733
759
|
observe: {
|
734
760
|
class: function () {
|
735
|
-
if ($input.length && classObserver) {
|
761
|
+
if ($input.length > 0 && classObserver) {
|
736
762
|
classObserver.observe($module[0], {
|
737
763
|
attributes: true,
|
738
764
|
});
|
@@ -755,17 +781,14 @@
|
|
755
781
|
get: {
|
756
782
|
weekOfYear: function (weekYear, weekMonth, weekDay) {
|
757
783
|
// adapted from http://www.merlyn.demon.co.uk/weekcalc.htm
|
758
|
-
var ms1d =
|
759
|
-
ms7d = 7 * ms1d
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
AWN = Math.floor(DC3 / 7), // an Absolute Week Number
|
765
|
-
Wyr = new Date(AWN * ms7d).getUTCFullYear();
|
784
|
+
var ms1d = 24 * 3600 * 1000,
|
785
|
+
ms7d = 7 * ms1d,
|
786
|
+
DC3 = Date.UTC(weekYear, weekMonth, weekDay + 3) / ms1d, // an absolute day number
|
787
|
+
AWN = Math.floor(DC3 / 7), // an absolute week number
|
788
|
+
Wyr = new Date(AWN * ms7d).getUTCFullYear()
|
789
|
+
;
|
766
790
|
|
767
|
-
|
768
|
-
}();
|
791
|
+
return AWN - Math.floor(Date.UTC(Wyr, 0, 7) / ms7d) + 1;
|
769
792
|
},
|
770
793
|
formattedDate: function (format, date) {
|
771
794
|
return module.helper.dateFormat(format || formatter[settings.type], date || module.get.date());
|
@@ -812,9 +835,9 @@
|
|
812
835
|
|
813
836
|
return settings.type === 'time'
|
814
837
|
? 'hour'
|
815
|
-
: settings.type === 'month'
|
838
|
+
: (settings.type === 'month'
|
816
839
|
? 'month'
|
817
|
-
: settings.type === 'year' ? 'year' : 'day';
|
840
|
+
: (settings.type === 'year' ? 'year' : 'day')); // eslint-disable-line unicorn/no-nested-ternary
|
818
841
|
},
|
819
842
|
type: function () {
|
820
843
|
return $module.data(metadata.type) || settings.type;
|
@@ -890,7 +913,7 @@
|
|
890
913
|
}
|
891
914
|
module.set.dataKeyValue(metadata.date, date);
|
892
915
|
|
893
|
-
if (updateInput && $input.length) {
|
916
|
+
if (updateInput && $input.length > 0) {
|
894
917
|
$input.val(text);
|
895
918
|
}
|
896
919
|
|
@@ -1005,9 +1028,9 @@
|
|
1005
1028
|
} else {
|
1006
1029
|
var newMode = mode === 'year'
|
1007
1030
|
? (!settings.disableMonth ? 'month' : 'day')
|
1008
|
-
: mode === 'month'
|
1031
|
+
: (mode === 'month'
|
1009
1032
|
? 'day'
|
1010
|
-
: mode === 'day' ? 'hour' : 'minute';
|
1033
|
+
: (mode === 'day' ? 'hour' : 'minute')); // eslint-disable-line unicorn/no-nested-ternary
|
1011
1034
|
module.set.mode(newMode);
|
1012
1035
|
if (mode === 'hour' || (mode === 'day' && module.get.date())) {
|
1013
1036
|
// the user has chosen enough to consider a valid date/time has been chosen
|
@@ -1031,14 +1054,14 @@
|
|
1031
1054
|
},
|
1032
1055
|
|
1033
1056
|
focus: function () {
|
1034
|
-
if ($input.length) {
|
1057
|
+
if ($input.length > 0) {
|
1035
1058
|
$input.trigger('focus');
|
1036
1059
|
} else {
|
1037
1060
|
$container.trigger('focus');
|
1038
1061
|
}
|
1039
1062
|
},
|
1040
1063
|
blur: function () {
|
1041
|
-
if ($input.length) {
|
1064
|
+
if ($input.length > 0) {
|
1042
1065
|
$input.trigger('blur');
|
1043
1066
|
} else {
|
1044
1067
|
$container.trigger('blur');
|
@@ -1089,7 +1112,7 @@
|
|
1089
1112
|
ss: ('0' + s).slice(-2),
|
1090
1113
|
a: a,
|
1091
1114
|
A: a.toUpperCase(),
|
1092
|
-
S: ['th', 'st', 'nd', 'rd'][D % 10 > 3 ? 0 : (D % 100 - D % 10
|
1115
|
+
S: ['th', 'st', 'nd', 'rd'][(D % 10) > 3 ? 0 : ((D % 100) - (D % 10) === 10 ? 0 : D % 10)],
|
1093
1116
|
w: w,
|
1094
1117
|
ww: ('0' + w).slice(-2),
|
1095
1118
|
}
|
@@ -1100,7 +1123,7 @@
|
|
1100
1123
|
return tokens[match];
|
1101
1124
|
}
|
1102
1125
|
|
1103
|
-
return match.slice(1,
|
1126
|
+
return match.slice(1, -1);
|
1104
1127
|
});
|
1105
1128
|
},
|
1106
1129
|
isDisabled: function (date, mode) {
|
@@ -1198,9 +1221,9 @@
|
|
1198
1221
|
|
1199
1222
|
return enabled;
|
1200
1223
|
});
|
1201
|
-
} else {
|
1202
|
-
return true;
|
1203
1224
|
}
|
1225
|
+
|
1226
|
+
return true;
|
1204
1227
|
},
|
1205
1228
|
findDayAsObject: function (date, mode, dates) {
|
1206
1229
|
if (mode === 'day' || mode === 'month' || mode === 'year') {
|
@@ -1215,11 +1238,13 @@
|
|
1215
1238
|
dateObject[metadata.date] = d;
|
1216
1239
|
|
1217
1240
|
return dateObject;
|
1218
|
-
}
|
1241
|
+
}
|
1242
|
+
if (d !== null && typeof d === 'object') {
|
1219
1243
|
if (d[metadata.year]) {
|
1220
1244
|
if (typeof d[metadata.year] === 'number' && date.getFullYear() == d[metadata.year]) {
|
1221
1245
|
return d;
|
1222
|
-
}
|
1246
|
+
}
|
1247
|
+
if (Array.isArray(d[metadata.year])) {
|
1223
1248
|
if (d[metadata.year].indexOf(date.getFullYear()) > -1) {
|
1224
1249
|
return d;
|
1225
1250
|
}
|
@@ -1227,7 +1252,8 @@
|
|
1227
1252
|
} else if (d[metadata.month]) {
|
1228
1253
|
if (typeof d[metadata.month] === 'number' && date.getMonth() == d[metadata.month]) {
|
1229
1254
|
return d;
|
1230
|
-
}
|
1255
|
+
}
|
1256
|
+
if (Array.isArray(d[metadata.month])) {
|
1231
1257
|
if (d[metadata.month].indexOf(date.getMonth()) > -1) {
|
1232
1258
|
return d;
|
1233
1259
|
}
|
@@ -1240,7 +1266,8 @@
|
|
1240
1266
|
} else if (d[metadata.date] && mode === 'day') {
|
1241
1267
|
if (d[metadata.date] instanceof Date && module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]), mode)) {
|
1242
1268
|
return d;
|
1243
|
-
}
|
1269
|
+
}
|
1270
|
+
if (Array.isArray(d[metadata.date])) {
|
1244
1271
|
if (d[metadata.date].some(function (idate) {
|
1245
1272
|
return module.helper.dateEqual(date, idate, mode);
|
1246
1273
|
})) {
|
@@ -1261,7 +1288,8 @@
|
|
1261
1288
|
if (d[metadata.hours]) {
|
1262
1289
|
if (typeof d[metadata.hours] === 'number' && date.getHours() == d[metadata.hours]) {
|
1263
1290
|
return d;
|
1264
|
-
}
|
1291
|
+
}
|
1292
|
+
if (Array.isArray(d[metadata.hours])) {
|
1265
1293
|
if (d[metadata.hours].indexOf(date.getHours()) > -1) {
|
1266
1294
|
return d;
|
1267
1295
|
}
|
@@ -1272,11 +1300,13 @@
|
|
1272
1300
|
d = hours[i];
|
1273
1301
|
if (typeof d === 'number' && date.getHours() == d) {
|
1274
1302
|
return null;
|
1275
|
-
}
|
1303
|
+
}
|
1304
|
+
if (d !== null && typeof d === 'object') {
|
1276
1305
|
if (d[metadata.days] && hourCheck(date, d)) {
|
1277
1306
|
if (typeof d[metadata.days] === 'number' && date.getDay() == d[metadata.days]) {
|
1278
1307
|
return d;
|
1279
|
-
}
|
1308
|
+
}
|
1309
|
+
if (Array.isArray(d[metadata.days])) {
|
1280
1310
|
if (d[metadata.days].indexOf(date.getDay()) > -1) {
|
1281
1311
|
return d;
|
1282
1312
|
}
|
@@ -1284,7 +1314,8 @@
|
|
1284
1314
|
} else if (d[metadata.date] && hourCheck(date, d)) {
|
1285
1315
|
if (d[metadata.date] instanceof Date && module.helper.dateEqual(date, module.helper.sanitiseDate(d[metadata.date]))) {
|
1286
1316
|
return d;
|
1287
|
-
}
|
1317
|
+
}
|
1318
|
+
if (Array.isArray(d[metadata.date])) {
|
1288
1319
|
if (d[metadata.date].some(function (idate) {
|
1289
1320
|
return module.helper.dateEqual(date, idate, mode);
|
1290
1321
|
})) {
|
@@ -1311,7 +1342,10 @@
|
|
1311
1342
|
return date;
|
1312
1343
|
},
|
1313
1344
|
dateDiff: function (date1, date2, mode) {
|
1314
|
-
|
1345
|
+
if (!mode) {
|
1346
|
+
mode = 'day';
|
1347
|
+
}
|
1348
|
+
|
1315
1349
|
var isTimeOnly = settings.type === 'time';
|
1316
1350
|
var isYear = mode === 'year';
|
1317
1351
|
var isYearOrMonth = isYear || mode === 'month';
|
@@ -1320,15 +1354,15 @@
|
|
1320
1354
|
// only care about a minute accuracy of settings.minTimeGap
|
1321
1355
|
date1 = new Date(
|
1322
1356
|
isTimeOnly ? 2000 : date1.getFullYear(),
|
1323
|
-
isTimeOnly ? 0 : isYear ? 0 : date1.getMonth(),
|
1324
|
-
isTimeOnly ? 1 : isYearOrMonth ? 1 : date1.getDate(),
|
1357
|
+
isTimeOnly ? 0 : (isYear ? 0 : date1.getMonth()),
|
1358
|
+
isTimeOnly ? 1 : (isYearOrMonth ? 1 : date1.getDate()),
|
1325
1359
|
!isHourOrMinute ? 0 : date1.getHours(),
|
1326
1360
|
!isMinute ? 0 : settings.minTimeGap * Math.floor(date1.getMinutes() / settings.minTimeGap)
|
1327
1361
|
);
|
1328
1362
|
date2 = new Date(
|
1329
1363
|
isTimeOnly ? 2000 : date2.getFullYear(),
|
1330
|
-
isTimeOnly ? 0 : isYear ? 0 : date2.getMonth(),
|
1331
|
-
isTimeOnly ? 1 : isYearOrMonth ? 1 : date2.getDate(),
|
1364
|
+
isTimeOnly ? 0 : (isYear ? 0 : date2.getMonth()),
|
1365
|
+
isTimeOnly ? 1 : (isYearOrMonth ? 1 : date2.getDate()),
|
1332
1366
|
!isHourOrMinute ? 0 : date2.getHours(),
|
1333
1367
|
!isMinute ? 0 : settings.minTimeGap * Math.floor(date2.getMinutes() / settings.minTimeGap)
|
1334
1368
|
);
|
@@ -1361,14 +1395,14 @@
|
|
1361
1395
|
|
1362
1396
|
return !date
|
1363
1397
|
? date
|
1364
|
-
: (minDate && module.helper.dateDiff(date, minDate, 'minute') > 0
|
1365
|
-
? (isTimeOnly ? module.helper.mergeDateTime(date, minDate) : minDate)
|
1366
|
-
: (maxDate && module.helper.dateDiff(maxDate, date, 'minute') > 0
|
1398
|
+
: (minDate && module.helper.dateDiff(date, minDate, 'minute') > 0
|
1399
|
+
? (isTimeOnly ? module.helper.mergeDateTime(date, minDate) : minDate) // eslint-disable-line unicorn/no-nested-ternary
|
1400
|
+
: (maxDate && module.helper.dateDiff(maxDate, date, 'minute') > 0 // eslint-disable-line unicorn/no-nested-ternary
|
1367
1401
|
? (isTimeOnly ? module.helper.mergeDateTime(date, maxDate) : maxDate)
|
1368
|
-
: date;
|
1402
|
+
: date));
|
1369
1403
|
},
|
1370
1404
|
mergeDateTime: function (date, time) {
|
1371
|
-
return
|
1405
|
+
return !date || !time
|
1372
1406
|
? time
|
1373
1407
|
: new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes());
|
1374
1408
|
},
|
@@ -1434,7 +1468,7 @@
|
|
1434
1468
|
previousTime
|
1435
1469
|
;
|
1436
1470
|
if (settings.performance) {
|
1437
|
-
currentTime =
|
1471
|
+
currentTime = Date.now();
|
1438
1472
|
previousTime = time || currentTime;
|
1439
1473
|
executionTime = currentTime - previousTime;
|
1440
1474
|
time = currentTime;
|
@@ -1485,11 +1519,11 @@
|
|
1485
1519
|
;
|
1486
1520
|
passedArguments = passedArguments || queryArguments;
|
1487
1521
|
context = context || element;
|
1488
|
-
if (typeof query
|
1489
|
-
query = query.split(/[
|
1522
|
+
if (typeof query === 'string' && object !== undefined) {
|
1523
|
+
query = query.split(/[ .]/);
|
1490
1524
|
maxDepth = query.length - 1;
|
1491
1525
|
$.each(query, function (depth, value) {
|
1492
|
-
var camelCaseValue =
|
1526
|
+
var camelCaseValue = depth != maxDepth
|
1493
1527
|
? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)
|
1494
1528
|
: query
|
1495
1529
|
;
|
@@ -1542,7 +1576,7 @@
|
|
1542
1576
|
}
|
1543
1577
|
});
|
1544
1578
|
|
1545
|
-
return
|
1579
|
+
return returnedValue !== undefined
|
1546
1580
|
? returnedValue
|
1547
1581
|
: this;
|
1548
1582
|
};
|
@@ -1634,8 +1668,7 @@
|
|
1634
1668
|
today: function (settings) {
|
1635
1669
|
return settings.type === 'date' ? settings.text.today : settings.text.now;
|
1636
1670
|
},
|
1637
|
-
cell: function (cell, date, cellOptions) {
|
1638
|
-
},
|
1671
|
+
cell: function (cell, date, cellOptions) {},
|
1639
1672
|
},
|
1640
1673
|
|
1641
1674
|
parser: {
|
@@ -1646,17 +1679,18 @@
|
|
1646
1679
|
if (!text) {
|
1647
1680
|
return null;
|
1648
1681
|
}
|
1649
|
-
text = String(text).trim().replace(/([
|
1682
|
+
text = String(text).trim().replace(/([./:-])\s+/g, '$1').replace(/\s+([./:-])/g, '$1')
|
1683
|
+
.replace(/\s+/g, ' ');
|
1650
1684
|
if (text.length === 0) {
|
1651
1685
|
return null;
|
1652
1686
|
}
|
1653
|
-
if (
|
1654
|
-
text = text.replace(/[
|
1687
|
+
if (/^\d{4}(?:[./-]\d{1,2}){2}$/.test(text)) {
|
1688
|
+
text = text.replace(/[./-]/g, '/') + ' 00:00:00';
|
1655
1689
|
}
|
1656
1690
|
// Reverse date and month in some cases
|
1657
|
-
text = settings.monthFirst ||
|
1691
|
+
text = settings.monthFirst || !/^\d{1,2}[./-]/.test(text) ? text : text.replace(/[./-]/g, '/').replace(/(\d+)\/(\d+)/, '$2/$1');
|
1658
1692
|
var textDate = new Date(text);
|
1659
|
-
var numberOnly = text.match(
|
1693
|
+
var numberOnly = text.match(/^\d+$/) !== null;
|
1660
1694
|
if (!numberOnly && !isNaN(textDate.getDate())) {
|
1661
1695
|
return textDate;
|
1662
1696
|
}
|
@@ -1674,7 +1708,7 @@
|
|
1674
1708
|
month = -1,
|
1675
1709
|
year = -1
|
1676
1710
|
;
|
1677
|
-
var isAm
|
1711
|
+
var isAm;
|
1678
1712
|
|
1679
1713
|
var isTimeOnly = settings.type === 'time';
|
1680
1714
|
var isDateOnly = settings.type.indexOf('time') < 0;
|
@@ -1695,7 +1729,7 @@
|
|
1695
1729
|
// am/pm
|
1696
1730
|
isAm = $.inArray(settings.text.am.toLowerCase(), words) >= 0
|
1697
1731
|
? true
|
1698
|
-
: $.inArray(settings.text.pm.toLowerCase(), words) >= 0 ? false : undefined;
|
1732
|
+
: ($.inArray(settings.text.pm.toLowerCase(), words) >= 0 ? false : undefined);
|
1699
1733
|
|
1700
1734
|
// time with ':'
|
1701
1735
|
for (i = 0; i < numbers.length; i++) {
|
@@ -1704,7 +1738,7 @@
|
|
1704
1738
|
if (hour < 0 || minute < 0) {
|
1705
1739
|
parts = number.split(':');
|
1706
1740
|
for (k = 0; k < Math.min(2, parts.length); k++) {
|
1707
|
-
j = parseInt(parts[k]);
|
1741
|
+
j = parseInt(parts[k], 10);
|
1708
1742
|
if (isNaN(j)) {
|
1709
1743
|
j = 0;
|
1710
1744
|
}
|
@@ -1743,7 +1777,7 @@
|
|
1743
1777
|
|
1744
1778
|
// year > settings.centuryBreak
|
1745
1779
|
for (i = 0; i < numbers.length; i++) {
|
1746
|
-
j = parseInt(numbers[i]);
|
1780
|
+
j = parseInt(numbers[i], 10);
|
1747
1781
|
if (isNaN(j)) {
|
1748
1782
|
continue;
|
1749
1783
|
}
|
@@ -1761,12 +1795,14 @@
|
|
1761
1795
|
// numeric month
|
1762
1796
|
if (month < 0) {
|
1763
1797
|
for (i = 0; i < numbers.length; i++) {
|
1764
|
-
k = i > 1 || settings.monthFirst
|
1765
|
-
|
1798
|
+
k = i > 1 || settings.monthFirst
|
1799
|
+
? i
|
1800
|
+
: (i === 1 ? 0 : 1);
|
1801
|
+
j = parseInt(numbers[k], 10);
|
1766
1802
|
if (isNaN(j)) {
|
1767
1803
|
continue;
|
1768
1804
|
}
|
1769
|
-
if (
|
1805
|
+
if (j >= 1 && j <= 12) {
|
1770
1806
|
month = j;
|
1771
1807
|
numbers.splice(k, 1);
|
1772
1808
|
|
@@ -1777,11 +1813,11 @@
|
|
1777
1813
|
|
1778
1814
|
// day
|
1779
1815
|
for (i = 0; i < numbers.length; i++) {
|
1780
|
-
j = parseInt(numbers[i]);
|
1816
|
+
j = parseInt(numbers[i], 10);
|
1781
1817
|
if (isNaN(j)) {
|
1782
1818
|
continue;
|
1783
1819
|
}
|
1784
|
-
if (
|
1820
|
+
if (j >= 1 && j <= 31) {
|
1785
1821
|
day = j;
|
1786
1822
|
numbers.splice(i, 1);
|
1787
1823
|
|
@@ -1792,7 +1828,7 @@
|
|
1792
1828
|
// year <= settings.centuryBreak
|
1793
1829
|
if (year < 0) {
|
1794
1830
|
for (i = numbers.length - 1; i >= 0; i--) {
|
1795
|
-
j = parseInt(numbers[i]);
|
1831
|
+
j = parseInt(numbers[i], 10);
|
1796
1832
|
if (isNaN(j)) {
|
1797
1833
|
continue;
|
1798
1834
|
}
|
@@ -1811,11 +1847,11 @@
|
|
1811
1847
|
// hour
|
1812
1848
|
if (hour < 0) {
|
1813
1849
|
for (i = 0; i < numbers.length; i++) {
|
1814
|
-
j = parseInt(numbers[i]);
|
1850
|
+
j = parseInt(numbers[i], 10);
|
1815
1851
|
if (isNaN(j)) {
|
1816
1852
|
continue;
|
1817
1853
|
}
|
1818
|
-
if (
|
1854
|
+
if (j >= 0 && j <= 23) {
|
1819
1855
|
hour = j;
|
1820
1856
|
numbers.splice(i, 1);
|
1821
1857
|
|
@@ -1827,11 +1863,11 @@
|
|
1827
1863
|
// minute
|
1828
1864
|
if (minute < 0) {
|
1829
1865
|
for (i = 0; i < numbers.length; i++) {
|
1830
|
-
j = parseInt(numbers[i]);
|
1866
|
+
j = parseInt(numbers[i], 10);
|
1831
1867
|
if (isNaN(j)) {
|
1832
1868
|
continue;
|
1833
1869
|
}
|
1834
|
-
if (
|
1870
|
+
if (j >= 0 && j <= 59) {
|
1835
1871
|
minute = j;
|
1836
1872
|
numbers.splice(i, 1);
|
1837
1873
|
|
@@ -1887,28 +1923,22 @@
|
|
1887
1923
|
},
|
1888
1924
|
|
1889
1925
|
// callback when date changes
|
1890
|
-
onChange: function (date, text, mode) {
|
1891
|
-
},
|
1926
|
+
onChange: function (date, text, mode) {},
|
1892
1927
|
|
1893
1928
|
// callback before show animation, return false to prevent show
|
1894
|
-
onShow: function () {
|
1895
|
-
},
|
1929
|
+
onShow: function () {},
|
1896
1930
|
|
1897
1931
|
// callback after show animation
|
1898
|
-
onVisible: function () {
|
1899
|
-
},
|
1932
|
+
onVisible: function () {},
|
1900
1933
|
|
1901
1934
|
// callback before hide animation, return false to prevent hide
|
1902
|
-
onHide: function () {
|
1903
|
-
},
|
1935
|
+
onHide: function () {},
|
1904
1936
|
|
1905
1937
|
// callback after hide animation
|
1906
|
-
onHidden: function () {
|
1907
|
-
},
|
1938
|
+
onHidden: function () {},
|
1908
1939
|
|
1909
1940
|
// callback before item is selected, return false to prevent selection
|
1910
|
-
onSelect: function (date, mode) {
|
1911
|
-
},
|
1941
|
+
onSelect: function (date, mode) {},
|
1912
1942
|
|
1913
1943
|
// is the given date disabled?
|
1914
1944
|
isDisabled: function (date, mode) {
|
@@ -1925,7 +1955,7 @@
|
|
1925
1955
|
regExp: {
|
1926
1956
|
dateWords: /[^A-Za-z\u00C0-\u024F]+/g,
|
1927
1957
|
dateNumbers: /[^\d:]+/g,
|
1928
|
-
token: /d{1,4}|D{1,2}|M{1,4}|YY(?:YY)?|([Hhmsw])\1?|[
|
1958
|
+
token: /d{1,4}|D{1,2}|M{1,4}|YY(?:YY)?|([Hhmsw])\1?|[ASYa]|"[^"]*"|'[^']*'/g,
|
1929
1959
|
},
|
1930
1960
|
|
1931
1961
|
error: {
|