bi-eleme 2.1.2 → 2.4.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.
- package/lib/alert.js +4 -4
- package/lib/aside.js +4 -4
- package/lib/autocomplete.js +10 -10
- package/lib/avatar.js +4 -4
- package/lib/backtop.js +6 -6
- package/lib/badge.js +4 -4
- package/lib/breadcrumb-item.js +4 -4
- package/lib/breadcrumb.js +4 -4
- package/lib/button-group.js +4 -4
- package/lib/button.js +4 -4
- package/lib/calendar.js +15 -15
- package/lib/card.js +4 -4
- package/lib/carousel-item.js +4 -4
- package/lib/carousel.js +6 -6
- package/lib/cascader-panel.js +10 -10
- package/lib/cascader.js +12 -12
- package/lib/checkbox-button.js +4 -4
- package/lib/checkbox-group.js +4 -4
- package/lib/checkbox.js +4 -4
- package/lib/col.js +2 -2
- package/lib/collapse-item.js +6 -6
- package/lib/collapse.js +4 -4
- package/lib/color-picker.js +8 -8
- package/lib/container.js +4 -4
- package/lib/date-picker.js +131 -105
- package/lib/descriptions-item.js +2 -2
- package/lib/descriptions.js +2 -2
- package/lib/dialog.js +8 -8
- package/lib/divider.js +4 -4
- package/lib/drawer.js +6 -6
- package/lib/dropdown-item.js +4 -4
- package/lib/dropdown-menu.js +4 -4
- package/lib/dropdown.js +16 -16
- package/lib/element-ui.common.js +5221 -734
- package/lib/empty.js +4 -4
- package/lib/footer.js +4 -4
- package/lib/form-item.js +6 -6
- package/lib/form.js +11 -11
- package/lib/header.js +4 -4
- package/lib/icon.js +4 -4
- package/lib/image.js +8 -8
- package/lib/index.js +1 -1
- package/lib/infinite-scroll.js +2 -2
- package/lib/input-number.js +6 -6
- package/lib/input.js +6 -6
- package/lib/link.js +4 -4
- package/lib/loading.js +6 -6
- package/lib/main.js +4 -4
- package/lib/menu-item-group.js +4 -4
- package/lib/menu-item.js +6 -6
- package/lib/menu.js +6 -6
- package/lib/message-box.js +13 -13
- package/lib/message.js +8 -8
- package/lib/notification.js +8 -8
- package/lib/option-group.js +4 -4
- package/lib/option.js +4 -4
- package/lib/page-header.js +4 -4
- package/lib/pagination.js +4 -4
- package/lib/popconfirm.js +8 -8
- package/lib/popover.js +4 -4
- package/lib/progress.js +4 -4
- package/lib/radio-button.js +4 -4
- package/lib/radio-group.js +4 -4
- package/lib/radio.js +4 -4
- package/lib/rate.js +6 -6
- package/lib/result.js +4 -4
- package/lib/row.js +2 -2
- package/lib/scrollbar.js +2 -2
- package/lib/select.js +16 -16
- package/lib/skeleton-item.js +4 -4
- package/lib/skeleton.js +4 -4
- package/lib/slider.js +8 -8
- package/lib/spinner.js +4 -4
- package/lib/step.js +4 -4
- package/lib/steps.js +6 -6
- package/lib/submenu.js +6 -6
- package/lib/super-date.js +4833 -0
- package/lib/switch.js +6 -6
- package/lib/tab-pane.js +4 -4
- package/lib/table-column.js +2 -2
- package/lib/table.js +20 -18
- package/lib/tabs.js +4 -4
- package/lib/tag.js +4 -4
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/super-date.css +1 -0
- package/lib/time-picker.js +63 -61
- package/lib/time-select.js +20 -18
- package/lib/timeline-item.js +4 -4
- package/lib/timeline.js +4 -4
- package/lib/tooltip.js +2 -2
- package/lib/transfer.js +8 -8
- package/lib/tree.js +6 -6
- package/lib/upload.js +15 -15
- package/lib/utils/date-util.js +14 -2
- package/lib/utils/date.js +67 -9
- package/package.json +1 -1
- package/packages/date-picker/src/basic/date-table.vue +10 -5
- package/packages/date-picker/src/basic/month-table.vue +9 -6
- package/packages/date-picker/src/basic/year-table.vue +6 -2
- package/packages/date-picker/src/panel/date.vue +4 -0
- package/packages/date-picker/src/picker.vue +2 -0
- package/packages/super-date/index.js +8 -0
- package/packages/super-date/src/basic/date-table.vue +448 -0
- package/packages/super-date/src/basic/month-table.vue +278 -0
- package/packages/super-date/src/basic/time-spinner.vue +340 -0
- package/packages/super-date/src/basic/year-table.vue +144 -0
- package/packages/super-date/src/panel/date-range.vue +1000 -0
- package/packages/super-date/src/panel/date.vue +649 -0
- package/packages/super-date/src/panel/month-range.vue +289 -0
- package/packages/super-date/src/panel/time-range.vue +250 -0
- package/packages/super-date/src/panel/time-select.vue +195 -0
- package/packages/super-date/src/panel/time.vue +211 -0
- package/packages/super-date/src/picker/date-picker.js +29 -0
- package/packages/super-date/src/picker/time-picker.js +39 -0
- package/packages/super-date/src/picker/time-select.js +21 -0
- package/packages/super-date/src/picker.vue +956 -0
- package/packages/theme-chalk/lib/index.css +1 -1
- package/packages/theme-chalk/lib/super-date.css +1 -0
- package/packages/theme-chalk/src/index.scss +1 -0
- package/packages/theme-chalk/src/super-date/date-picker.scss +106 -0
- package/packages/theme-chalk/src/super-date/date-range-picker.scss +138 -0
- package/packages/theme-chalk/src/super-date/date-table.scss +154 -0
- package/packages/theme-chalk/src/super-date/month-table.scss +96 -0
- package/packages/theme-chalk/src/super-date/picker-panel.scss +130 -0
- package/packages/theme-chalk/src/super-date/picker.scss +204 -0
- package/packages/theme-chalk/src/super-date/time-picker.scss +94 -0
- package/packages/theme-chalk/src/super-date/time-range-picker.scss +32 -0
- package/packages/theme-chalk/src/super-date/time-spinner.scss +111 -0
- package/packages/theme-chalk/src/super-date/year-table.scss +66 -0
- package/packages/theme-chalk/src/super-date.scss +12 -0
- package/src/index.js +4 -1
- package/src/utils/date-util.js +10 -0
- package/src/utils/date.js +291 -195
- package/types/element-ui.d.ts +9 -5
- package/types/super-date.d.ts +124 -0
package/lib/tree.js
CHANGED
|
@@ -82,12 +82,12 @@ module.exports =
|
|
|
82
82
|
/******/
|
|
83
83
|
/******/
|
|
84
84
|
/******/ // Load entry module and return exports
|
|
85
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 62);
|
|
86
86
|
/******/ })
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ({
|
|
89
89
|
|
|
90
|
-
/***/
|
|
90
|
+
/***/ 1:
|
|
91
91
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
92
92
|
|
|
93
93
|
"use strict";
|
|
@@ -213,7 +213,7 @@ module.exports = require("bi-eleme/lib/locale");
|
|
|
213
213
|
|
|
214
214
|
/***/ }),
|
|
215
215
|
|
|
216
|
-
/***/
|
|
216
|
+
/***/ 29:
|
|
217
217
|
/***/ (function(module, exports) {
|
|
218
218
|
|
|
219
219
|
module.exports = require("bi-eleme/lib/transitions/collapse-transition");
|
|
@@ -234,7 +234,7 @@ module.exports = require("bi-eleme/lib/mixins/emitter");
|
|
|
234
234
|
|
|
235
235
|
/***/ }),
|
|
236
236
|
|
|
237
|
-
/***/
|
|
237
|
+
/***/ 62:
|
|
238
238
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
239
239
|
|
|
240
240
|
"use strict";
|
|
@@ -1421,7 +1421,7 @@ tree_nodevue_type_template_id_2aa52095_render._withStripped = true
|
|
|
1421
1421
|
// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=template&id=2aa52095
|
|
1422
1422
|
|
|
1423
1423
|
// EXTERNAL MODULE: external "bi-eleme/lib/transitions/collapse-transition"
|
|
1424
|
-
var collapse_transition_ = __webpack_require__(
|
|
1424
|
+
var collapse_transition_ = __webpack_require__(29);
|
|
1425
1425
|
var collapse_transition_default = /*#__PURE__*/__webpack_require__.n(collapse_transition_);
|
|
1426
1426
|
|
|
1427
1427
|
// EXTERNAL MODULE: external "bi-eleme/lib/checkbox"
|
|
@@ -1715,7 +1715,7 @@ var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
|
|
|
1715
1715
|
// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue?vue&type=script&lang=js
|
|
1716
1716
|
/* harmony default export */ var src_tree_nodevue_type_script_lang_js = (tree_nodevue_type_script_lang_js);
|
|
1717
1717
|
// EXTERNAL MODULE: ./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
1718
|
-
var componentNormalizer = __webpack_require__(
|
|
1718
|
+
var componentNormalizer = __webpack_require__(1);
|
|
1719
1719
|
|
|
1720
1720
|
// CONCATENATED MODULE: ./packages/tree/src/tree-node.vue
|
|
1721
1721
|
|
package/lib/upload.js
CHANGED
|
@@ -82,12 +82,12 @@ module.exports =
|
|
|
82
82
|
/******/
|
|
83
83
|
/******/
|
|
84
84
|
/******/ // Load entry module and return exports
|
|
85
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 60);
|
|
86
86
|
/******/ })
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ({
|
|
89
89
|
|
|
90
|
-
/***/
|
|
90
|
+
/***/ 1:
|
|
91
91
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
92
92
|
|
|
93
93
|
"use strict";
|
|
@@ -192,14 +192,14 @@ function normalizeComponent(
|
|
|
192
192
|
|
|
193
193
|
/***/ }),
|
|
194
194
|
|
|
195
|
-
/***/
|
|
195
|
+
/***/ 12:
|
|
196
196
|
/***/ (function(module, exports) {
|
|
197
197
|
|
|
198
198
|
module.exports = require("bi-eleme/lib/mixins/migrating");
|
|
199
199
|
|
|
200
200
|
/***/ }),
|
|
201
201
|
|
|
202
|
-
/***/
|
|
202
|
+
/***/ 27:
|
|
203
203
|
/***/ (function(module, exports) {
|
|
204
204
|
|
|
205
205
|
module.exports = require("babel-helper-vue-jsx-merge-props");
|
|
@@ -213,7 +213,14 @@ module.exports = require("bi-eleme/lib/progress");
|
|
|
213
213
|
|
|
214
214
|
/***/ }),
|
|
215
215
|
|
|
216
|
-
/***/
|
|
216
|
+
/***/ 6:
|
|
217
|
+
/***/ (function(module, exports) {
|
|
218
|
+
|
|
219
|
+
module.exports = require("bi-eleme/lib/mixins/locale");
|
|
220
|
+
|
|
221
|
+
/***/ }),
|
|
222
|
+
|
|
223
|
+
/***/ 60:
|
|
217
224
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
218
225
|
|
|
219
226
|
"use strict";
|
|
@@ -515,7 +522,7 @@ var progress_default = /*#__PURE__*/__webpack_require__.n(progress_);
|
|
|
515
522
|
// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue?vue&type=script&lang=js
|
|
516
523
|
/* harmony default export */ var src_upload_listvue_type_script_lang_js = (upload_listvue_type_script_lang_js);
|
|
517
524
|
// EXTERNAL MODULE: ./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib/runtime/componentNormalizer.js
|
|
518
|
-
var componentNormalizer = __webpack_require__(
|
|
525
|
+
var componentNormalizer = __webpack_require__(1);
|
|
519
526
|
|
|
520
527
|
// CONCATENATED MODULE: ./packages/upload/src/upload-list.vue
|
|
521
528
|
|
|
@@ -538,7 +545,7 @@ var component = Object(componentNormalizer["a" /* default */])(
|
|
|
538
545
|
|
|
539
546
|
/* harmony default export */ var upload_list = (component.exports);
|
|
540
547
|
// EXTERNAL MODULE: external "babel-helper-vue-jsx-merge-props"
|
|
541
|
-
var external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(
|
|
548
|
+
var external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(27);
|
|
542
549
|
var external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_);
|
|
543
550
|
|
|
544
551
|
// CONCATENATED MODULE: ./packages/upload/src/ajax.js
|
|
@@ -1014,7 +1021,7 @@ var upload_component = Object(componentNormalizer["a" /* default */])(
|
|
|
1014
1021
|
|
|
1015
1022
|
/* harmony default export */ var src_upload = (upload_component.exports);
|
|
1016
1023
|
// EXTERNAL MODULE: external "bi-eleme/lib/mixins/migrating"
|
|
1017
|
-
var migrating_ = __webpack_require__(
|
|
1024
|
+
var migrating_ = __webpack_require__(12);
|
|
1018
1025
|
var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);
|
|
1019
1026
|
|
|
1020
1027
|
// CONCATENATED MODULE: ./node_modules/.store/babel-loader@7.1.5/node_modules/babel-loader/lib!./node_modules/.store/vue-loader@15.11.1/node_modules/vue-loader/lib??vue-loader-options!./packages/upload/src/index.vue?vue&type=script&lang=js
|
|
@@ -1388,13 +1395,6 @@ src.install = function (Vue) {
|
|
|
1388
1395
|
|
|
1389
1396
|
/* harmony default export */ var packages_upload = __webpack_exports__["default"] = (src);
|
|
1390
1397
|
|
|
1391
|
-
/***/ }),
|
|
1392
|
-
|
|
1393
|
-
/***/ 6:
|
|
1394
|
-
/***/ (function(module, exports) {
|
|
1395
|
-
|
|
1396
|
-
module.exports = require("bi-eleme/lib/mixins/locale");
|
|
1397
|
-
|
|
1398
1398
|
/***/ })
|
|
1399
1399
|
|
|
1400
1400
|
/******/ });
|
package/lib/utils/date-util.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.validateRangeInOneMonth = exports.extractTimeFormat = exports.extractDateFormat = exports.nextYear = exports.prevYear = exports.nextMonth = exports.prevMonth = exports.changeYearMonthAndClampDate = exports.timeWithinRange = exports.limitTimeRange = exports.clearMilliseconds = exports.clearTime = exports.modifyWithTimeString = exports.modifyTime = exports.modifyDate = exports.range = exports.getRangeMinutes = exports.getMonthDays = exports.getPrevMonthLastDays = exports.getRangeHours = exports.getWeekNumber = exports.getStartDateOfMonth = exports.nextDate = exports.prevDate = exports.getFirstDayOfMonth = exports.getDayCountOfYear = exports.getDayCountOfMonth = exports.parseDate = exports.formatDate = exports.isDateObject = exports.isDate = exports.toDate = exports.getI18nSettings = undefined;
|
|
4
|
+
exports.setDaysDiff = exports.getDaysDiff = exports.validateRangeInOneMonth = exports.extractTimeFormat = exports.extractDateFormat = exports.nextYear = exports.prevYear = exports.nextMonth = exports.prevMonth = exports.changeYearMonthAndClampDate = exports.timeWithinRange = exports.limitTimeRange = exports.clearMilliseconds = exports.getTimestampInTimezone = exports.clearTime = exports.modifyWithTimeString = exports.modifyTime = exports.modifyDate = exports.range = exports.getRangeMinutes = exports.getMonthDays = exports.getPrevMonthLastDays = exports.getRangeHours = exports.getWeekNumber = exports.getStartDateOfMonth = exports.nextDate = exports.prevDate = exports.getFirstDayOfMonth = exports.getDayCountOfYear = exports.getDayCountOfMonth = exports.parseDate = exports.formatDate = exports.isDateObject = exports.isDate = exports.toDate = exports.getI18nSettings = undefined;
|
|
5
5
|
|
|
6
6
|
var _date = require('bi-eleme/lib/utils/date');
|
|
7
7
|
|
|
@@ -222,6 +222,15 @@ var clearTime = exports.clearTime = function clearTime(date) {
|
|
|
222
222
|
return new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
223
223
|
};
|
|
224
224
|
|
|
225
|
+
var getTimestampInTimezone = exports.getTimestampInTimezone = function getTimestampInTimezone(date) {
|
|
226
|
+
var timezoneOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 8;
|
|
227
|
+
|
|
228
|
+
// 将日期转换为指定时区的时间
|
|
229
|
+
var targetDate = new Date(date.getTime() + (date.getTimezoneOffset() + timezoneOffset * 60) * 60000);
|
|
230
|
+
// 返回时间戳
|
|
231
|
+
return targetDate;
|
|
232
|
+
};
|
|
233
|
+
|
|
225
234
|
var clearMilliseconds = exports.clearMilliseconds = function clearMilliseconds(date) {
|
|
226
235
|
return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), 0);
|
|
227
236
|
};
|
|
@@ -305,4 +314,7 @@ var extractTimeFormat = exports.extractTimeFormat = function extractTimeFormat(f
|
|
|
305
314
|
|
|
306
315
|
var validateRangeInOneMonth = exports.validateRangeInOneMonth = function validateRangeInOneMonth(start, end) {
|
|
307
316
|
return start.getMonth() === end.getMonth() && start.getFullYear() === end.getFullYear();
|
|
308
|
-
};
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
var getDaysDiff = exports.getDaysDiff = _date2.default.getDaysDiff;
|
|
320
|
+
var setDaysDiff = exports.setDaysDiff = _date2.default.setDaysDiff;
|
package/lib/utils/date.js
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
/*eslint-disable*/
|
|
29
29
|
// 把 YYYY-MM-DD 改成了 yyyy-MM-dd
|
|
30
|
-
(function (main) {
|
|
30
|
+
;(function (main) {
|
|
31
31
|
'use strict';
|
|
32
32
|
|
|
33
33
|
/**
|
|
@@ -251,15 +251,14 @@
|
|
|
251
251
|
shortTime: 'HH:mm',
|
|
252
252
|
mediumTime: 'HH:mm:ss',
|
|
253
253
|
longTime: 'HH:mm:ss.SSS'
|
|
254
|
-
};
|
|
255
254
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
fecha.format = function (dateObj, mask, i18nSettings) {
|
|
255
|
+
/***
|
|
256
|
+
* Format a date
|
|
257
|
+
* @method format
|
|
258
|
+
* @param {Date|number} dateObj
|
|
259
|
+
* @param {string} mask Format of the date, i.e. 'mm-dd-yy' or 'shortDate'
|
|
260
|
+
*/
|
|
261
|
+
};fecha.format = function (dateObj, mask, i18nSettings) {
|
|
263
262
|
var i18n = i18nSettings || fecha.i18n;
|
|
264
263
|
|
|
265
264
|
if (typeof dateObj === 'number') {
|
|
@@ -356,6 +355,65 @@
|
|
|
356
355
|
return date;
|
|
357
356
|
};
|
|
358
357
|
|
|
358
|
+
/**
|
|
359
|
+
* Calculate days difference between two dates
|
|
360
|
+
* @param {Date|string} date1 First date
|
|
361
|
+
* @param {Date|string} date2 Second date (optional, defaults to current date)
|
|
362
|
+
* @returns {number} Days difference
|
|
363
|
+
*/
|
|
364
|
+
fecha.getDaysDiff = function (date1, date2) {
|
|
365
|
+
// Convert to Date objects if strings
|
|
366
|
+
if (typeof date1 === 'string') {
|
|
367
|
+
date1 = fecha.parse(date1, 'yyyy-MM-dd');
|
|
368
|
+
}
|
|
369
|
+
if (!date2) {
|
|
370
|
+
date2 = new Date();
|
|
371
|
+
} else if (typeof date2 === 'string') {
|
|
372
|
+
date2 = fecha.parse(date2, 'yyyy-MM-dd');
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
// Validate dates
|
|
376
|
+
if (!date1 || !date2 || isNaN(date1.getTime()) || isNaN(date2.getTime())) {
|
|
377
|
+
throw new Error('Invalid date in fecha.getDaysDiff');
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
// Reset time to midnight to ensure accurate day calculation
|
|
381
|
+
date1 = new Date(date1.getFullYear(), date1.getMonth(), date1.getDate());
|
|
382
|
+
date2 = new Date(date2.getFullYear(), date2.getMonth(), date2.getDate());
|
|
383
|
+
|
|
384
|
+
// Calculate difference in days
|
|
385
|
+
var timeDiff = date2.getTime() - date1.getTime();
|
|
386
|
+
return Math.round(timeDiff / (1000 * 60 * 60 * 24));
|
|
387
|
+
};
|
|
388
|
+
|
|
389
|
+
/**
|
|
390
|
+
* Calculate the date that is a specified number of days before the given date
|
|
391
|
+
* @param {Date|string} date The reference date
|
|
392
|
+
* @param {number} diff Number of days to subtract (must be positive)
|
|
393
|
+
* @returns {Date} The resulting date
|
|
394
|
+
*/
|
|
395
|
+
fecha.setDaysDiff = function (date, diff) {
|
|
396
|
+
// Validate diff parameter
|
|
397
|
+
if (typeof diff !== 'number' || diff < 0) {
|
|
398
|
+
throw new Error('diff parameter must be a positive number in fecha.setDaysDiff');
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
// Convert to Date object if string
|
|
402
|
+
if (typeof date === 'string') {
|
|
403
|
+
date = fecha.parse(date, 'yyyy-MM-dd');
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
// Validate date
|
|
407
|
+
if (!date || isNaN(date.getTime())) {
|
|
408
|
+
throw new Error('Invalid date in fecha.setDaysDiff');
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
// Reset time to midnight to ensure accurate day calculation
|
|
412
|
+
var result = new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
413
|
+
result.setDate(result.getDate() - diff);
|
|
414
|
+
return result;
|
|
415
|
+
};
|
|
416
|
+
|
|
359
417
|
/* istanbul ignore next */
|
|
360
418
|
if (typeof module !== 'undefined' && module.exports) {
|
|
361
419
|
module.exports = fecha;
|
package/package.json
CHANGED
|
@@ -38,16 +38,16 @@
|
|
|
38
38
|
</template>
|
|
39
39
|
|
|
40
40
|
<script>
|
|
41
|
-
import { getFirstDayOfMonth, getDayCountOfMonth, getWeekNumber, getStartDateOfMonth, prevDate, nextDate, isDate, clearTime as _clearTime } from 'bi-eleme/src/utils/date-util'
|
|
41
|
+
import { getFirstDayOfMonth, getDayCountOfMonth, getWeekNumber, getStartDateOfMonth, prevDate, nextDate, isDate, clearTime as _clearTime, getTimestampInTimezone } from 'bi-eleme/src/utils/date-util'
|
|
42
42
|
import Locale from 'bi-eleme/src/mixins/locale'
|
|
43
43
|
import { arrayFindIndex, arrayFind, coerceTruthyValueToArray } from 'bi-eleme/src/utils/util'
|
|
44
44
|
|
|
45
45
|
const WEEKS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']
|
|
46
|
-
const getDateTimestamp = function (time) {
|
|
46
|
+
const getDateTimestamp = function (time, utc = 8) {
|
|
47
47
|
if (typeof time === 'number' || typeof time === 'string') {
|
|
48
|
-
return _clearTime(new Date(time)).getTime()
|
|
48
|
+
return _clearTime(getTimestampInTimezone(new Date(time), utc)).getTime()
|
|
49
49
|
} else if (time instanceof Date) {
|
|
50
|
-
return _clearTime(time).getTime()
|
|
50
|
+
return _clearTime(getTimestampInTimezone(time, utc)).getTime()
|
|
51
51
|
} else {
|
|
52
52
|
return NaN
|
|
53
53
|
}
|
|
@@ -71,6 +71,11 @@ export default {
|
|
|
71
71
|
validator: (val) => val >= 1 && val <= 7
|
|
72
72
|
},
|
|
73
73
|
|
|
74
|
+
utc: {
|
|
75
|
+
default: 8,
|
|
76
|
+
type: Number
|
|
77
|
+
},
|
|
78
|
+
|
|
74
79
|
value: {},
|
|
75
80
|
|
|
76
81
|
defaultValue: {
|
|
@@ -150,7 +155,7 @@ export default {
|
|
|
150
155
|
const disabledDate = this.disabledDate
|
|
151
156
|
const cellClassName = this.cellClassName
|
|
152
157
|
const selectedDate = this.selectionMode === 'dates' ? coerceTruthyValueToArray(this.value) : []
|
|
153
|
-
const now = getDateTimestamp(new Date())
|
|
158
|
+
const now = getDateTimestamp(new Date(), this.utc)
|
|
154
159
|
|
|
155
160
|
for (let i = 0; i < 6; i++) {
|
|
156
161
|
const row = rows[i]
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
<script type="text/babel">
|
|
27
27
|
import Locale from 'bi-eleme/src/mixins/locale'
|
|
28
|
-
import { isDate, range, getDayCountOfMonth, nextDate } from 'bi-eleme/src/utils/date-util'
|
|
28
|
+
import { isDate, range, getDayCountOfMonth, nextDate, getTimestampInTimezone } from 'bi-eleme/src/utils/date-util'
|
|
29
29
|
import { hasClass } from 'bi-eleme/src/utils/dom'
|
|
30
30
|
import { arrayFindIndex, coerceTruthyValueToArray, arrayFind } from 'bi-eleme/src/utils/util'
|
|
31
31
|
|
|
@@ -39,11 +39,11 @@ const clearDate = (date) => {
|
|
|
39
39
|
return new Date(date.getFullYear(), date.getMonth())
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
const getMonthTimestamp = function (time) {
|
|
42
|
+
const getMonthTimestamp = function (time, utc = 8) {
|
|
43
43
|
if (typeof time === 'number' || typeof time === 'string') {
|
|
44
|
-
return clearDate(new Date(time)).getTime()
|
|
44
|
+
return clearDate(getTimestampInTimezone(new Date(time), utc)).getTime()
|
|
45
45
|
} else if (time instanceof Date) {
|
|
46
|
-
return clearDate(time).getTime()
|
|
46
|
+
return clearDate(getTimestampInTimezone(time, utc)).getTime()
|
|
47
47
|
} else {
|
|
48
48
|
return NaN
|
|
49
49
|
}
|
|
@@ -64,7 +64,10 @@ export default {
|
|
|
64
64
|
default: 'month'
|
|
65
65
|
},
|
|
66
66
|
minDate: {},
|
|
67
|
-
|
|
67
|
+
utc: {
|
|
68
|
+
default: 8,
|
|
69
|
+
type: Number
|
|
70
|
+
},
|
|
68
71
|
maxDate: {},
|
|
69
72
|
defaultValue: {
|
|
70
73
|
validator(val) {
|
|
@@ -238,7 +241,7 @@ export default {
|
|
|
238
241
|
const rows = this.tableRows
|
|
239
242
|
const disabledDate = this.disabledDate
|
|
240
243
|
const selectedDate = []
|
|
241
|
-
const now = getMonthTimestamp(new Date())
|
|
244
|
+
const now = getMonthTimestamp(new Date(), this.utc)
|
|
242
245
|
|
|
243
246
|
for (let i = 0; i < 3; i++) {
|
|
244
247
|
const row = rows[i]
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
|
|
79
79
|
<script type="text/babel">
|
|
80
80
|
import { hasClass } from 'bi-eleme/src/utils/dom'
|
|
81
|
-
import { isDate, range, nextDate, getDayCountOfYear } from 'bi-eleme/src/utils/date-util'
|
|
81
|
+
import { isDate, range, nextDate, getDayCountOfYear, getTimestampInTimezone } from 'bi-eleme/src/utils/date-util'
|
|
82
82
|
import { arrayFindIndex, coerceTruthyValueToArray } from 'bi-eleme/src/utils/util'
|
|
83
83
|
|
|
84
84
|
const datesInYear = (year) => {
|
|
@@ -97,6 +97,10 @@ export default {
|
|
|
97
97
|
return val === null || (val instanceof Date && isDate(val))
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
|
+
utc: {
|
|
101
|
+
default: 8,
|
|
102
|
+
type: Number
|
|
103
|
+
},
|
|
100
104
|
date: {},
|
|
101
105
|
selectionMode: {}
|
|
102
106
|
},
|
|
@@ -110,7 +114,7 @@ export default {
|
|
|
110
114
|
methods: {
|
|
111
115
|
getCellStyle(year) {
|
|
112
116
|
const style = {}
|
|
113
|
-
const today = new Date()
|
|
117
|
+
const today = getTimestampInTimezone(new Date(), this.utc)
|
|
114
118
|
|
|
115
119
|
style.disabled = typeof this.disabledDate === 'function' ? datesInYear(year).every(this.disabledDate) : false
|
|
116
120
|
style.current = arrayFindIndex(coerceTruthyValueToArray(this.value), (date) => date.getFullYear() === year) >= 0
|
|
@@ -128,6 +128,7 @@
|
|
|
128
128
|
:date="date"
|
|
129
129
|
:cell-class-name="cellClassName"
|
|
130
130
|
:disabled-date="disabledDate"
|
|
131
|
+
:utc="utc"
|
|
131
132
|
>
|
|
132
133
|
</date-table>
|
|
133
134
|
<year-table
|
|
@@ -138,6 +139,7 @@
|
|
|
138
139
|
:default-value="defaultValue ? new Date(defaultValue) : null"
|
|
139
140
|
:date="date"
|
|
140
141
|
:disabled-date="disabledDate"
|
|
142
|
+
:utc="utc"
|
|
141
143
|
>
|
|
142
144
|
</year-table>
|
|
143
145
|
<month-table
|
|
@@ -148,6 +150,7 @@
|
|
|
148
150
|
:default-value="defaultValue ? new Date(defaultValue) : null"
|
|
149
151
|
:date="date"
|
|
150
152
|
:disabled-date="disabledDate"
|
|
153
|
+
:utc="utc"
|
|
151
154
|
>
|
|
152
155
|
</month-table>
|
|
153
156
|
</div>
|
|
@@ -556,6 +559,7 @@ export default {
|
|
|
556
559
|
popperClass: '',
|
|
557
560
|
date: new Date(),
|
|
558
561
|
value: '',
|
|
562
|
+
utc: 8,
|
|
559
563
|
defaultValue: null, // use getDefaultValue() for time computation
|
|
560
564
|
defaultTime: null,
|
|
561
565
|
showTime: false,
|
|
@@ -370,6 +370,7 @@ export default {
|
|
|
370
370
|
validator
|
|
371
371
|
},
|
|
372
372
|
popperClass: String,
|
|
373
|
+
utc: Number,
|
|
373
374
|
editable: {
|
|
374
375
|
type: Boolean,
|
|
375
376
|
default: true
|
|
@@ -825,6 +826,7 @@ export default {
|
|
|
825
826
|
this.picker.defaultValue = this.defaultValue
|
|
826
827
|
this.picker.defaultTime = this.defaultTime
|
|
827
828
|
this.picker.popperClass = this.popperClass
|
|
829
|
+
this.picker.utc = this.utc
|
|
828
830
|
this.popperElm = this.picker.$el
|
|
829
831
|
this.picker.width = this.reference.getBoundingClientRect().width
|
|
830
832
|
this.picker.showTime = this.type === 'datetime' || this.type === 'datetimerange'
|