vxe-pc-ui 4.15.1 → 4.15.2
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/dist/all.esm.js +107 -11
- package/es/date-panel/src/util.js +12 -0
- package/es/date-picker/src/date-picker.js +71 -5
- package/es/date-range-picker/src/date-range-picker.js +17 -2
- package/es/number-input/src/number-input.js +2 -3
- package/es/splitter/src/splitter.js +5 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/date-panel/src/util.js +13 -0
- package/lib/date-panel/src/util.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +82 -3
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +17 -2
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/index.umd.js +120 -11
- package/lib/index.umd.min.js +1 -1
- package/lib/number-input/src/number-input.js +2 -3
- package/lib/splitter/src/splitter.js +5 -1
- package/lib/splitter/src/splitter.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/date-panel/src/util.ts +13 -0
- package/packages/date-picker/src/date-picker.ts +73 -5
- package/packages/date-range-picker/src/date-range-picker.ts +15 -2
- package/packages/number-input/src/number-input.ts +2 -6
- package/packages/splitter/src/splitter.ts +5 -1
- package/types/components/date-picker.d.ts +18 -0
- package/types/components/date-range-picker.d.ts +4 -0
- package/types/components/splitter.d.ts +1 -0
- package/types/components/table.d.ts +29 -3
- /package/es/icon/{iconfont.1781675429363.ttf → iconfont.1781753592499.ttf} +0 -0
- /package/es/icon/{iconfont.1781675429363.woff → iconfont.1781753592499.woff} +0 -0
- /package/es/icon/{iconfont.1781675429363.woff2 → iconfont.1781753592499.woff2} +0 -0
- /package/es/{iconfont.1781675429363.ttf → iconfont.1781753592499.ttf} +0 -0
- /package/es/{iconfont.1781675429363.woff → iconfont.1781753592499.woff} +0 -0
- /package/es/{iconfont.1781675429363.woff2 → iconfont.1781753592499.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1781675429363.ttf → iconfont.1781753592499.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1781675429363.woff → iconfont.1781753592499.woff} +0 -0
- /package/lib/icon/style/{iconfont.1781675429363.woff2 → iconfont.1781753592499.woff2} +0 -0
- /package/lib/{iconfont.1781675429363.ttf → iconfont.1781753592499.ttf} +0 -0
- /package/lib/{iconfont.1781675429363.woff → iconfont.1781753592499.woff} +0 -0
- /package/lib/{iconfont.1781675429363.woff2 → iconfont.1781753592499.woff2} +0 -0
package/dist/all.esm.js
CHANGED
|
@@ -80,11 +80,11 @@ function checkDynamic() {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
const version$1 = `ui v${"4.15.
|
|
83
|
+
const version$1 = `ui v${"4.15.2"}`;
|
|
84
84
|
const warnLog = log.create('warn', version$1);
|
|
85
85
|
const errLog = log.create('error', version$1);
|
|
86
86
|
|
|
87
|
-
const version = "4.15.
|
|
87
|
+
const version = "4.15.2";
|
|
88
88
|
VxeUI.uiVersion = version;
|
|
89
89
|
VxeUI.dynamicApp = dynamicApp;
|
|
90
90
|
function config(options) {
|
|
@@ -4432,6 +4432,18 @@ function handleValueFormat(type, valueFormat) {
|
|
|
4432
4432
|
}
|
|
4433
4433
|
return 'yyyy-MM-dd';
|
|
4434
4434
|
}
|
|
4435
|
+
function handleInputFormat(type, inputFormat) {
|
|
4436
|
+
if (inputFormat) {
|
|
4437
|
+
return inputFormat;
|
|
4438
|
+
}
|
|
4439
|
+
if (type === 'time') {
|
|
4440
|
+
return 'HH:mm:ss';
|
|
4441
|
+
}
|
|
4442
|
+
if (type === 'datetime') {
|
|
4443
|
+
return 'yyyy-MM-dd HH:mm:ss';
|
|
4444
|
+
}
|
|
4445
|
+
return 'yyyy-MM-dd';
|
|
4446
|
+
}
|
|
4435
4447
|
function toStringTimeDate(str) {
|
|
4436
4448
|
const rest = new Date(2e3, 0, 1);
|
|
4437
4449
|
if (str) {
|
|
@@ -12709,7 +12721,6 @@ var VxeNumberInputComponent = defineVxeComponent({
|
|
|
12709
12721
|
type: String,
|
|
12710
12722
|
default: () => getConfig$3().numberInput.size || getConfig$3().size
|
|
12711
12723
|
},
|
|
12712
|
-
// number、integer、float
|
|
12713
12724
|
min: {
|
|
12714
12725
|
type: [String, Number],
|
|
12715
12726
|
default: null
|
|
@@ -12732,12 +12743,12 @@ var VxeNumberInputComponent = defineVxeComponent({
|
|
|
12732
12743
|
default: () => getConfig$3().numberInput.currencySymbol
|
|
12733
12744
|
},
|
|
12734
12745
|
controlConfig: Object,
|
|
12735
|
-
// float
|
|
12746
|
+
// number、float、amount
|
|
12736
12747
|
roundingMode: {
|
|
12737
12748
|
type: String,
|
|
12738
12749
|
default: () => getConfig$3().numberInput.roundingMode
|
|
12739
12750
|
},
|
|
12740
|
-
// float
|
|
12751
|
+
// float、amount
|
|
12741
12752
|
digits: {
|
|
12742
12753
|
type: [String, Number],
|
|
12743
12754
|
default: null
|
|
@@ -17671,6 +17682,7 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
17671
17682
|
labelFormat: String,
|
|
17672
17683
|
valueFormat: String,
|
|
17673
17684
|
timeFormat: String,
|
|
17685
|
+
inputFormat: String,
|
|
17674
17686
|
editable: {
|
|
17675
17687
|
type: Boolean,
|
|
17676
17688
|
default: true
|
|
@@ -17700,6 +17712,7 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
17700
17712
|
type: Boolean,
|
|
17701
17713
|
default: () => getConfig$3().datePicker.autoClose
|
|
17702
17714
|
},
|
|
17715
|
+
controlConfig: Object,
|
|
17703
17716
|
prefixIcon: String,
|
|
17704
17717
|
suffixIcon: String,
|
|
17705
17718
|
placement: String,
|
|
@@ -17752,7 +17765,8 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
17752
17765
|
inputLabel: ''
|
|
17753
17766
|
});
|
|
17754
17767
|
const internalData = {
|
|
17755
|
-
hpTimeout: undefined
|
|
17768
|
+
// hpTimeout: undefined,
|
|
17769
|
+
parseInputKayMaps: {}
|
|
17756
17770
|
};
|
|
17757
17771
|
const refElem = ref();
|
|
17758
17772
|
const refInputTarget = ref();
|
|
@@ -17868,6 +17882,10 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
17868
17882
|
const { type, valueFormat } = props;
|
|
17869
17883
|
return handleValueFormat(type, valueFormat);
|
|
17870
17884
|
});
|
|
17885
|
+
const computeDateInputFormat = computed(() => {
|
|
17886
|
+
const { type, inputFormat } = props;
|
|
17887
|
+
return handleInputFormat(type, inputFormat);
|
|
17888
|
+
});
|
|
17871
17889
|
const computeFirstDayOfWeek = computed(() => {
|
|
17872
17890
|
const { startDay } = props;
|
|
17873
17891
|
return XEUtils.toNumber(startDay);
|
|
@@ -17888,6 +17906,9 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
17888
17906
|
return dateObj.label;
|
|
17889
17907
|
}).join(', ');
|
|
17890
17908
|
});
|
|
17909
|
+
const computeControlOpts = computed(() => {
|
|
17910
|
+
return Object.assign({}, getConfig$3().datePicker.controlConfig, props.controlConfig);
|
|
17911
|
+
});
|
|
17891
17912
|
const updateModelValue = () => {
|
|
17892
17913
|
const { modelValue } = props;
|
|
17893
17914
|
let val = '';
|
|
@@ -17962,6 +17983,9 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
17962
17983
|
if (!trigger || trigger === 'default') {
|
|
17963
17984
|
datePickerOpenEvent(evnt);
|
|
17964
17985
|
}
|
|
17986
|
+
else if (trigger === 'icon') {
|
|
17987
|
+
hidePanel();
|
|
17988
|
+
}
|
|
17965
17989
|
triggerEvent(evnt);
|
|
17966
17990
|
};
|
|
17967
17991
|
const clickPrefixEvent = (evnt) => {
|
|
@@ -17995,6 +18019,31 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
17995
18019
|
dispatchEvent('suffix-click', { value: inputValue }, evnt);
|
|
17996
18020
|
}
|
|
17997
18021
|
};
|
|
18022
|
+
const handleArrowInputDate = (evnt, isUpArrow) => {
|
|
18023
|
+
const { multiple } = props;
|
|
18024
|
+
if (multiple) {
|
|
18025
|
+
return;
|
|
18026
|
+
}
|
|
18027
|
+
const { inputValue } = reactData;
|
|
18028
|
+
if (!inputValue) {
|
|
18029
|
+
return;
|
|
18030
|
+
}
|
|
18031
|
+
const targetElem = refInputTarget.value;
|
|
18032
|
+
if (!targetElem) {
|
|
18033
|
+
return;
|
|
18034
|
+
}
|
|
18035
|
+
const { parseInputKayMaps } = internalData;
|
|
18036
|
+
const inputFormat = computeDateInputFormat.value;
|
|
18037
|
+
const selectionStart = targetElem.selectionStart || 0;
|
|
18038
|
+
let selectKey = inputFormat[selectionStart];
|
|
18039
|
+
if (!parseInputKayMaps[selectKey]) {
|
|
18040
|
+
selectKey = inputFormat[selectionStart - 1];
|
|
18041
|
+
}
|
|
18042
|
+
const inputPaesrFn = parseInputKayMaps[selectKey];
|
|
18043
|
+
if (inputPaesrFn) {
|
|
18044
|
+
inputPaesrFn(evnt, targetElem, isUpArrow);
|
|
18045
|
+
}
|
|
18046
|
+
};
|
|
17998
18047
|
const blurEvent = (evnt) => {
|
|
17999
18048
|
const $datePanel = refDatePanel.value;
|
|
18000
18049
|
const { inputValue } = reactData;
|
|
@@ -18017,6 +18066,13 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
18017
18066
|
}
|
|
18018
18067
|
};
|
|
18019
18068
|
const keydownEvent = (evnt) => {
|
|
18069
|
+
const { controlConfig } = props;
|
|
18070
|
+
const controlOpts = computeControlOpts.value;
|
|
18071
|
+
const isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
|
|
18072
|
+
const isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
|
|
18073
|
+
if ((isUpArrow || isDwArrow) && controlOpts.isArrow && (controlConfig || controlOpts.enabled)) {
|
|
18074
|
+
handleArrowInputDate(evnt, isUpArrow);
|
|
18075
|
+
}
|
|
18020
18076
|
triggerEvent(evnt);
|
|
18021
18077
|
};
|
|
18022
18078
|
const keyupEvent = (evnt) => {
|
|
@@ -18137,6 +18193,9 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
18137
18193
|
const { panelIndex } = reactData;
|
|
18138
18194
|
const targetElem = refInputTarget.value;
|
|
18139
18195
|
const panelElem = refInputPanel.value;
|
|
18196
|
+
if (!panelElem) {
|
|
18197
|
+
return nextTick();
|
|
18198
|
+
}
|
|
18140
18199
|
const btnTransfer = computeBtnTransfer.value;
|
|
18141
18200
|
const popupOpts = computePopupOpts.value;
|
|
18142
18201
|
const handleStyle = () => {
|
|
@@ -18184,10 +18243,16 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
18184
18243
|
}
|
|
18185
18244
|
};
|
|
18186
18245
|
const clickIconEvent = (evnt) => {
|
|
18246
|
+
const { visiblePanel } = reactData;
|
|
18187
18247
|
const popupOpts = computePopupOpts.value;
|
|
18188
18248
|
const { trigger } = popupOpts;
|
|
18189
18249
|
if (!trigger || trigger === 'default' || trigger === 'icon') {
|
|
18190
|
-
|
|
18250
|
+
if (visiblePanel) {
|
|
18251
|
+
hidePanel();
|
|
18252
|
+
}
|
|
18253
|
+
else {
|
|
18254
|
+
datePickerOpenEvent(evnt);
|
|
18255
|
+
}
|
|
18191
18256
|
}
|
|
18192
18257
|
};
|
|
18193
18258
|
const clickEvent = (evnt) => {
|
|
@@ -18302,6 +18367,10 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
18302
18367
|
return renderEmptyElement($xeDatePicker);
|
|
18303
18368
|
};
|
|
18304
18369
|
const renderPanel = () => {
|
|
18370
|
+
const popupOpts = computePopupOpts.value;
|
|
18371
|
+
if (popupOpts.enabled === false) {
|
|
18372
|
+
return renderEmptyElement($xeDatePicker);
|
|
18373
|
+
}
|
|
18305
18374
|
const { type, multiple, showClearButton, showConfirmButton } = props;
|
|
18306
18375
|
const { initialized, isAniVisible, visiblePanel, panelPlacement, panelStyle, inputValue } = reactData;
|
|
18307
18376
|
const vSize = computeSize.value;
|
|
@@ -18311,7 +18380,6 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
18311
18380
|
const isDateTimeType = computeIsDateTimeType.value;
|
|
18312
18381
|
const shortcutList = computeShortcutList.value;
|
|
18313
18382
|
const timeOpts = computeTimeOpts.value;
|
|
18314
|
-
const popupOpts = computePopupOpts.value;
|
|
18315
18383
|
const { position } = shortcutOpts;
|
|
18316
18384
|
const headerSlot = slots.header;
|
|
18317
18385
|
const footerSlot = slots.footer;
|
|
@@ -18583,6 +18651,15 @@ var VxeDatePickerComponent = defineVxeComponent({
|
|
|
18583
18651
|
globalEvents.on($xeDatePicker, 'blur', handleGlobalBlurEvent);
|
|
18584
18652
|
globalEvents.on($xeDatePicker, 'resize', handleGlobalResizeEvent);
|
|
18585
18653
|
});
|
|
18654
|
+
onMounted(() => {
|
|
18655
|
+
const { parseInputKayMaps } = internalData;
|
|
18656
|
+
const inputKeys = ['y', 'M', 'd', 'H', 'm', 'n'];
|
|
18657
|
+
inputKeys.forEach(key => {
|
|
18658
|
+
parseInputKayMaps[key] = (evnt) => {
|
|
18659
|
+
evnt.preventDefault();
|
|
18660
|
+
};
|
|
18661
|
+
});
|
|
18662
|
+
});
|
|
18586
18663
|
onUnmounted(() => {
|
|
18587
18664
|
globalEvents.off($xeDatePicker, 'mousewheel');
|
|
18588
18665
|
globalEvents.off($xeDatePicker, 'mousedown');
|
|
@@ -19058,6 +19135,9 @@ var VxeDateRangePickerComponent = defineVxeComponent({
|
|
|
19058
19135
|
if (!trigger || trigger === 'default') {
|
|
19059
19136
|
dateRangePickerOpenEvent(evnt);
|
|
19060
19137
|
}
|
|
19138
|
+
else if (trigger === 'icon') {
|
|
19139
|
+
hidePanel();
|
|
19140
|
+
}
|
|
19061
19141
|
triggerEvent(evnt);
|
|
19062
19142
|
};
|
|
19063
19143
|
const clickPrefixEvent = (evnt) => {
|
|
@@ -19369,6 +19449,9 @@ var VxeDateRangePickerComponent = defineVxeComponent({
|
|
|
19369
19449
|
const { panelIndex } = reactData;
|
|
19370
19450
|
const targetElem = refInputTarget.value;
|
|
19371
19451
|
const panelElem = refInputPanel.value;
|
|
19452
|
+
if (!panelElem) {
|
|
19453
|
+
return nextTick();
|
|
19454
|
+
}
|
|
19372
19455
|
const btnTransfer = computeBtnTransfer.value;
|
|
19373
19456
|
const popupOpts = computePopupOpts.value;
|
|
19374
19457
|
const handleStyle = () => {
|
|
@@ -19417,10 +19500,16 @@ var VxeDateRangePickerComponent = defineVxeComponent({
|
|
|
19417
19500
|
}
|
|
19418
19501
|
};
|
|
19419
19502
|
const clickIconEvent = (evnt) => {
|
|
19503
|
+
const { visiblePanel } = reactData;
|
|
19420
19504
|
const popupOpts = computePopupOpts.value;
|
|
19421
19505
|
const { trigger } = popupOpts;
|
|
19422
19506
|
if (!trigger || trigger === 'default' || trigger === 'icon') {
|
|
19423
|
-
|
|
19507
|
+
if (visiblePanel) {
|
|
19508
|
+
hidePanel();
|
|
19509
|
+
}
|
|
19510
|
+
else {
|
|
19511
|
+
dateRangePickerOpenEvent(evnt);
|
|
19512
|
+
}
|
|
19424
19513
|
}
|
|
19425
19514
|
};
|
|
19426
19515
|
const clickEvent = (evnt) => {
|
|
@@ -19546,6 +19635,10 @@ var VxeDateRangePickerComponent = defineVxeComponent({
|
|
|
19546
19635
|
return renderEmptyElement($xeDateRangePicker);
|
|
19547
19636
|
};
|
|
19548
19637
|
const renderPanel = () => {
|
|
19638
|
+
const popupOpts = computePopupOpts.value;
|
|
19639
|
+
if (popupOpts.enabled === false) {
|
|
19640
|
+
return renderEmptyElement($xeDateRangePicker);
|
|
19641
|
+
}
|
|
19549
19642
|
const { type, separator, autoClose, showConfirmButton, showClearButton } = props;
|
|
19550
19643
|
const { initialized, isAniVisible, visiblePanel, panelPlacement, panelStyle, startValue, endValue } = reactData;
|
|
19551
19644
|
const vSize = computeSize.value;
|
|
@@ -19558,7 +19651,6 @@ var VxeDateRangePickerComponent = defineVxeComponent({
|
|
|
19558
19651
|
const defaultDates = computeDefaultDates.value;
|
|
19559
19652
|
const defaultTimes = computeDefaultTimes.value;
|
|
19560
19653
|
const timeOpts = computeTimeOpts.value;
|
|
19561
|
-
const popupOpts = computePopupOpts.value;
|
|
19562
19654
|
const { startLabel, endLabel } = panelLabelObj;
|
|
19563
19655
|
const { position } = shortcutOpts;
|
|
19564
19656
|
const headerSlot = slots.header;
|
|
@@ -32638,7 +32730,8 @@ var VxeSplitComponent = defineVxeComponent({
|
|
|
32638
32730
|
staticItems: [],
|
|
32639
32731
|
itemList: [],
|
|
32640
32732
|
barWidth: 0,
|
|
32641
|
-
barHeight: 0
|
|
32733
|
+
barHeight: 0,
|
|
32734
|
+
resizeFlag: 0
|
|
32642
32735
|
});
|
|
32643
32736
|
const internalData = {
|
|
32644
32737
|
wrapperWidth: 0,
|
|
@@ -33141,6 +33234,7 @@ var VxeSplitComponent = defineVxeComponent({
|
|
|
33141
33234
|
document.onmousemove = (evnt) => {
|
|
33142
33235
|
evnt.preventDefault();
|
|
33143
33236
|
handleDrag(evnt);
|
|
33237
|
+
reactData.resizeFlag++;
|
|
33144
33238
|
};
|
|
33145
33239
|
document.onmouseup = (evnt) => {
|
|
33146
33240
|
document.onmousemove = null;
|
|
@@ -33152,6 +33246,7 @@ var VxeSplitComponent = defineVxeComponent({
|
|
|
33152
33246
|
removeClass(el, 'is--drag');
|
|
33153
33247
|
dispatchEvent('resize-end', { prevItem, nextItem, offsetHeight: targetOffsetHeight, offsetWidth: targetOffsetWidth }, evnt);
|
|
33154
33248
|
recalculate();
|
|
33249
|
+
reactData.resizeFlag++;
|
|
33155
33250
|
};
|
|
33156
33251
|
if (rsSplitterLineEl) {
|
|
33157
33252
|
rsSplitterLineEl.style.display = 'block';
|
|
@@ -33206,6 +33301,7 @@ var VxeSplitComponent = defineVxeComponent({
|
|
|
33206
33301
|
dispatchEvent('toggle-expand', { prevItem, nextItem, expanded, item }, evnt);
|
|
33207
33302
|
}
|
|
33208
33303
|
recalculate();
|
|
33304
|
+
reactData.resizeFlag++;
|
|
33209
33305
|
};
|
|
33210
33306
|
const handlePrevActionDblclickEvent = (evnt) => {
|
|
33211
33307
|
const { itemList } = reactData;
|
|
@@ -19,6 +19,18 @@ export function handleValueFormat(type, valueFormat) {
|
|
|
19
19
|
}
|
|
20
20
|
return 'yyyy-MM-dd';
|
|
21
21
|
}
|
|
22
|
+
export function handleInputFormat(type, inputFormat) {
|
|
23
|
+
if (inputFormat) {
|
|
24
|
+
return inputFormat;
|
|
25
|
+
}
|
|
26
|
+
if (type === 'time') {
|
|
27
|
+
return 'HH:mm:ss';
|
|
28
|
+
}
|
|
29
|
+
if (type === 'datetime') {
|
|
30
|
+
return 'yyyy-MM-dd HH:mm:ss';
|
|
31
|
+
}
|
|
32
|
+
return 'yyyy-MM-dd';
|
|
33
|
+
}
|
|
22
34
|
export function toStringTimeDate(str) {
|
|
23
35
|
const rest = new Date(2e3, 0, 1);
|
|
24
36
|
if (str) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { h, Teleport, ref, computed, provide, reactive, inject, nextTick, watch, onUnmounted } from 'vue';
|
|
1
|
+
import { h, Teleport, ref, computed, provide, reactive, inject, nextTick, watch, onUnmounted, onMounted } from 'vue';
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
3
3
|
import XEUtils from 'xe-utils';
|
|
4
4
|
import { getConfig, getIcon, getI18n, commands, createEvent, globalEvents, GLOBAL_EVENT_KEYS, useSize, renderEmptyElement } from '../../ui';
|
|
5
5
|
import { getFuncText, getLastZIndex, nextZIndex, isEnableConf } from '../../ui/src/utils';
|
|
6
6
|
import { updatePanelPlacement, getEventTargetNode } from '../../ui/src/dom';
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
8
|
-
import { parseDateObj, parseDateValue, getDateByCode, handleValueFormat, hasDateValueType, hasTimestampValueType } from '../../date-panel/src/util';
|
|
8
|
+
import { parseDateObj, parseDateValue, getDateByCode, handleValueFormat, handleInputFormat, hasDateValueType, hasTimestampValueType } from '../../date-panel/src/util';
|
|
9
9
|
import { errLog } from '../../ui/src/log';
|
|
10
10
|
import VxeDatePanelComponent from '../../date-panel/src/date-panel';
|
|
11
11
|
import VxeButtonComponent from '../../button/src/button';
|
|
@@ -72,6 +72,7 @@ export default defineVxeComponent({
|
|
|
72
72
|
labelFormat: String,
|
|
73
73
|
valueFormat: String,
|
|
74
74
|
timeFormat: String,
|
|
75
|
+
inputFormat: String,
|
|
75
76
|
editable: {
|
|
76
77
|
type: Boolean,
|
|
77
78
|
default: true
|
|
@@ -101,6 +102,7 @@ export default defineVxeComponent({
|
|
|
101
102
|
type: Boolean,
|
|
102
103
|
default: () => getConfig().datePicker.autoClose
|
|
103
104
|
},
|
|
105
|
+
controlConfig: Object,
|
|
104
106
|
prefixIcon: String,
|
|
105
107
|
suffixIcon: String,
|
|
106
108
|
placement: String,
|
|
@@ -153,7 +155,8 @@ export default defineVxeComponent({
|
|
|
153
155
|
inputLabel: ''
|
|
154
156
|
});
|
|
155
157
|
const internalData = {
|
|
156
|
-
hpTimeout: undefined
|
|
158
|
+
// hpTimeout: undefined,
|
|
159
|
+
parseInputKayMaps: {}
|
|
157
160
|
};
|
|
158
161
|
const refElem = ref();
|
|
159
162
|
const refInputTarget = ref();
|
|
@@ -269,6 +272,10 @@ export default defineVxeComponent({
|
|
|
269
272
|
const { type, valueFormat } = props;
|
|
270
273
|
return handleValueFormat(type, valueFormat);
|
|
271
274
|
});
|
|
275
|
+
const computeDateInputFormat = computed(() => {
|
|
276
|
+
const { type, inputFormat } = props;
|
|
277
|
+
return handleInputFormat(type, inputFormat);
|
|
278
|
+
});
|
|
272
279
|
const computeFirstDayOfWeek = computed(() => {
|
|
273
280
|
const { startDay } = props;
|
|
274
281
|
return XEUtils.toNumber(startDay);
|
|
@@ -289,6 +296,9 @@ export default defineVxeComponent({
|
|
|
289
296
|
return dateObj.label;
|
|
290
297
|
}).join(', ');
|
|
291
298
|
});
|
|
299
|
+
const computeControlOpts = computed(() => {
|
|
300
|
+
return Object.assign({}, getConfig().datePicker.controlConfig, props.controlConfig);
|
|
301
|
+
});
|
|
292
302
|
const updateModelValue = () => {
|
|
293
303
|
const { modelValue } = props;
|
|
294
304
|
let val = '';
|
|
@@ -363,6 +373,9 @@ export default defineVxeComponent({
|
|
|
363
373
|
if (!trigger || trigger === 'default') {
|
|
364
374
|
datePickerOpenEvent(evnt);
|
|
365
375
|
}
|
|
376
|
+
else if (trigger === 'icon') {
|
|
377
|
+
hidePanel();
|
|
378
|
+
}
|
|
366
379
|
triggerEvent(evnt);
|
|
367
380
|
};
|
|
368
381
|
const clickPrefixEvent = (evnt) => {
|
|
@@ -396,6 +409,31 @@ export default defineVxeComponent({
|
|
|
396
409
|
dispatchEvent('suffix-click', { value: inputValue }, evnt);
|
|
397
410
|
}
|
|
398
411
|
};
|
|
412
|
+
const handleArrowInputDate = (evnt, isUpArrow) => {
|
|
413
|
+
const { multiple } = props;
|
|
414
|
+
if (multiple) {
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
const { inputValue } = reactData;
|
|
418
|
+
if (!inputValue) {
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
const targetElem = refInputTarget.value;
|
|
422
|
+
if (!targetElem) {
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
const { parseInputKayMaps } = internalData;
|
|
426
|
+
const inputFormat = computeDateInputFormat.value;
|
|
427
|
+
const selectionStart = targetElem.selectionStart || 0;
|
|
428
|
+
let selectKey = inputFormat[selectionStart];
|
|
429
|
+
if (!parseInputKayMaps[selectKey]) {
|
|
430
|
+
selectKey = inputFormat[selectionStart - 1];
|
|
431
|
+
}
|
|
432
|
+
const inputPaesrFn = parseInputKayMaps[selectKey];
|
|
433
|
+
if (inputPaesrFn) {
|
|
434
|
+
inputPaesrFn(evnt, targetElem, isUpArrow);
|
|
435
|
+
}
|
|
436
|
+
};
|
|
399
437
|
const blurEvent = (evnt) => {
|
|
400
438
|
const $datePanel = refDatePanel.value;
|
|
401
439
|
const { inputValue } = reactData;
|
|
@@ -418,6 +456,13 @@ export default defineVxeComponent({
|
|
|
418
456
|
}
|
|
419
457
|
};
|
|
420
458
|
const keydownEvent = (evnt) => {
|
|
459
|
+
const { controlConfig } = props;
|
|
460
|
+
const controlOpts = computeControlOpts.value;
|
|
461
|
+
const isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
|
|
462
|
+
const isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
|
|
463
|
+
if ((isUpArrow || isDwArrow) && controlOpts.isArrow && (controlConfig || controlOpts.enabled)) {
|
|
464
|
+
handleArrowInputDate(evnt, isUpArrow);
|
|
465
|
+
}
|
|
421
466
|
triggerEvent(evnt);
|
|
422
467
|
};
|
|
423
468
|
const keyupEvent = (evnt) => {
|
|
@@ -538,6 +583,9 @@ export default defineVxeComponent({
|
|
|
538
583
|
const { panelIndex } = reactData;
|
|
539
584
|
const targetElem = refInputTarget.value;
|
|
540
585
|
const panelElem = refInputPanel.value;
|
|
586
|
+
if (!panelElem) {
|
|
587
|
+
return nextTick();
|
|
588
|
+
}
|
|
541
589
|
const btnTransfer = computeBtnTransfer.value;
|
|
542
590
|
const popupOpts = computePopupOpts.value;
|
|
543
591
|
const handleStyle = () => {
|
|
@@ -585,10 +633,16 @@ export default defineVxeComponent({
|
|
|
585
633
|
}
|
|
586
634
|
};
|
|
587
635
|
const clickIconEvent = (evnt) => {
|
|
636
|
+
const { visiblePanel } = reactData;
|
|
588
637
|
const popupOpts = computePopupOpts.value;
|
|
589
638
|
const { trigger } = popupOpts;
|
|
590
639
|
if (!trigger || trigger === 'default' || trigger === 'icon') {
|
|
591
|
-
|
|
640
|
+
if (visiblePanel) {
|
|
641
|
+
hidePanel();
|
|
642
|
+
}
|
|
643
|
+
else {
|
|
644
|
+
datePickerOpenEvent(evnt);
|
|
645
|
+
}
|
|
592
646
|
}
|
|
593
647
|
};
|
|
594
648
|
const clickEvent = (evnt) => {
|
|
@@ -703,6 +757,10 @@ export default defineVxeComponent({
|
|
|
703
757
|
return renderEmptyElement($xeDatePicker);
|
|
704
758
|
};
|
|
705
759
|
const renderPanel = () => {
|
|
760
|
+
const popupOpts = computePopupOpts.value;
|
|
761
|
+
if (popupOpts.enabled === false) {
|
|
762
|
+
return renderEmptyElement($xeDatePicker);
|
|
763
|
+
}
|
|
706
764
|
const { type, multiple, showClearButton, showConfirmButton } = props;
|
|
707
765
|
const { initialized, isAniVisible, visiblePanel, panelPlacement, panelStyle, inputValue } = reactData;
|
|
708
766
|
const vSize = computeSize.value;
|
|
@@ -712,7 +770,6 @@ export default defineVxeComponent({
|
|
|
712
770
|
const isDateTimeType = computeIsDateTimeType.value;
|
|
713
771
|
const shortcutList = computeShortcutList.value;
|
|
714
772
|
const timeOpts = computeTimeOpts.value;
|
|
715
|
-
const popupOpts = computePopupOpts.value;
|
|
716
773
|
const { position } = shortcutOpts;
|
|
717
774
|
const headerSlot = slots.header;
|
|
718
775
|
const footerSlot = slots.footer;
|
|
@@ -984,6 +1041,15 @@ export default defineVxeComponent({
|
|
|
984
1041
|
globalEvents.on($xeDatePicker, 'blur', handleGlobalBlurEvent);
|
|
985
1042
|
globalEvents.on($xeDatePicker, 'resize', handleGlobalResizeEvent);
|
|
986
1043
|
});
|
|
1044
|
+
onMounted(() => {
|
|
1045
|
+
const { parseInputKayMaps } = internalData;
|
|
1046
|
+
const inputKeys = ['y', 'M', 'd', 'H', 'm', 'n'];
|
|
1047
|
+
inputKeys.forEach(key => {
|
|
1048
|
+
parseInputKayMaps[key] = (evnt) => {
|
|
1049
|
+
evnt.preventDefault();
|
|
1050
|
+
};
|
|
1051
|
+
});
|
|
1052
|
+
});
|
|
987
1053
|
onUnmounted(() => {
|
|
988
1054
|
globalEvents.off($xeDatePicker, 'mousewheel');
|
|
989
1055
|
globalEvents.off($xeDatePicker, 'mousedown');
|
|
@@ -460,6 +460,9 @@ export default defineVxeComponent({
|
|
|
460
460
|
if (!trigger || trigger === 'default') {
|
|
461
461
|
dateRangePickerOpenEvent(evnt);
|
|
462
462
|
}
|
|
463
|
+
else if (trigger === 'icon') {
|
|
464
|
+
hidePanel();
|
|
465
|
+
}
|
|
463
466
|
triggerEvent(evnt);
|
|
464
467
|
};
|
|
465
468
|
const clickPrefixEvent = (evnt) => {
|
|
@@ -771,6 +774,9 @@ export default defineVxeComponent({
|
|
|
771
774
|
const { panelIndex } = reactData;
|
|
772
775
|
const targetElem = refInputTarget.value;
|
|
773
776
|
const panelElem = refInputPanel.value;
|
|
777
|
+
if (!panelElem) {
|
|
778
|
+
return nextTick();
|
|
779
|
+
}
|
|
774
780
|
const btnTransfer = computeBtnTransfer.value;
|
|
775
781
|
const popupOpts = computePopupOpts.value;
|
|
776
782
|
const handleStyle = () => {
|
|
@@ -819,10 +825,16 @@ export default defineVxeComponent({
|
|
|
819
825
|
}
|
|
820
826
|
};
|
|
821
827
|
const clickIconEvent = (evnt) => {
|
|
828
|
+
const { visiblePanel } = reactData;
|
|
822
829
|
const popupOpts = computePopupOpts.value;
|
|
823
830
|
const { trigger } = popupOpts;
|
|
824
831
|
if (!trigger || trigger === 'default' || trigger === 'icon') {
|
|
825
|
-
|
|
832
|
+
if (visiblePanel) {
|
|
833
|
+
hidePanel();
|
|
834
|
+
}
|
|
835
|
+
else {
|
|
836
|
+
dateRangePickerOpenEvent(evnt);
|
|
837
|
+
}
|
|
826
838
|
}
|
|
827
839
|
};
|
|
828
840
|
const clickEvent = (evnt) => {
|
|
@@ -948,6 +960,10 @@ export default defineVxeComponent({
|
|
|
948
960
|
return renderEmptyElement($xeDateRangePicker);
|
|
949
961
|
};
|
|
950
962
|
const renderPanel = () => {
|
|
963
|
+
const popupOpts = computePopupOpts.value;
|
|
964
|
+
if (popupOpts.enabled === false) {
|
|
965
|
+
return renderEmptyElement($xeDateRangePicker);
|
|
966
|
+
}
|
|
951
967
|
const { type, separator, autoClose, showConfirmButton, showClearButton } = props;
|
|
952
968
|
const { initialized, isAniVisible, visiblePanel, panelPlacement, panelStyle, startValue, endValue } = reactData;
|
|
953
969
|
const vSize = computeSize.value;
|
|
@@ -960,7 +976,6 @@ export default defineVxeComponent({
|
|
|
960
976
|
const defaultDates = computeDefaultDates.value;
|
|
961
977
|
const defaultTimes = computeDefaultTimes.value;
|
|
962
978
|
const timeOpts = computeTimeOpts.value;
|
|
963
|
-
const popupOpts = computePopupOpts.value;
|
|
964
979
|
const { startLabel, endLabel } = panelLabelObj;
|
|
965
980
|
const { position } = shortcutOpts;
|
|
966
981
|
const headerSlot = slots.header;
|
|
@@ -47,7 +47,6 @@ export default defineVxeComponent({
|
|
|
47
47
|
type: String,
|
|
48
48
|
default: () => getConfig().numberInput.size || getConfig().size
|
|
49
49
|
},
|
|
50
|
-
// number、integer、float
|
|
51
50
|
min: {
|
|
52
51
|
type: [String, Number],
|
|
53
52
|
default: null
|
|
@@ -70,12 +69,12 @@ export default defineVxeComponent({
|
|
|
70
69
|
default: () => getConfig().numberInput.currencySymbol
|
|
71
70
|
},
|
|
72
71
|
controlConfig: Object,
|
|
73
|
-
// float
|
|
72
|
+
// number、float、amount
|
|
74
73
|
roundingMode: {
|
|
75
74
|
type: String,
|
|
76
75
|
default: () => getConfig().numberInput.roundingMode
|
|
77
76
|
},
|
|
78
|
-
// float
|
|
77
|
+
// float、amount
|
|
79
78
|
digits: {
|
|
80
79
|
type: [String, Number],
|
|
81
80
|
default: null
|
|
@@ -56,7 +56,8 @@ export default defineVxeComponent({
|
|
|
56
56
|
staticItems: [],
|
|
57
57
|
itemList: [],
|
|
58
58
|
barWidth: 0,
|
|
59
|
-
barHeight: 0
|
|
59
|
+
barHeight: 0,
|
|
60
|
+
resizeFlag: 0
|
|
60
61
|
});
|
|
61
62
|
const internalData = {
|
|
62
63
|
wrapperWidth: 0,
|
|
@@ -559,6 +560,7 @@ export default defineVxeComponent({
|
|
|
559
560
|
document.onmousemove = (evnt) => {
|
|
560
561
|
evnt.preventDefault();
|
|
561
562
|
handleDrag(evnt);
|
|
563
|
+
reactData.resizeFlag++;
|
|
562
564
|
};
|
|
563
565
|
document.onmouseup = (evnt) => {
|
|
564
566
|
document.onmousemove = null;
|
|
@@ -570,6 +572,7 @@ export default defineVxeComponent({
|
|
|
570
572
|
removeClass(el, 'is--drag');
|
|
571
573
|
dispatchEvent('resize-end', { prevItem, nextItem, offsetHeight: targetOffsetHeight, offsetWidth: targetOffsetWidth }, evnt);
|
|
572
574
|
recalculate();
|
|
575
|
+
reactData.resizeFlag++;
|
|
573
576
|
};
|
|
574
577
|
if (rsSplitterLineEl) {
|
|
575
578
|
rsSplitterLineEl.style.display = 'block';
|
|
@@ -624,6 +627,7 @@ export default defineVxeComponent({
|
|
|
624
627
|
dispatchEvent('toggle-expand', { prevItem, nextItem, expanded, item }, evnt);
|
|
625
628
|
}
|
|
626
629
|
recalculate();
|
|
630
|
+
reactData.resizeFlag++;
|
|
627
631
|
};
|
|
628
632
|
const handlePrevActionDblclickEvent = (evnt) => {
|
|
629
633
|
const { itemList } = reactData;
|
package/es/ui/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
|
|
2
2
|
import { dynamicApp } from '../dynamics';
|
|
3
3
|
import { warnLog } from './src/log';
|
|
4
|
-
export const version = "4.15.
|
|
4
|
+
export const version = "4.15.2";
|
|
5
5
|
VxeUI.uiVersion = version;
|
|
6
6
|
VxeUI.dynamicApp = dynamicApp;
|
|
7
7
|
export function config(options) {
|
package/es/ui/src/log.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getDateByCode = getDateByCode;
|
|
7
7
|
exports.getDateQuarter = getDateQuarter;
|
|
8
8
|
exports.getRangeDateByCode = getRangeDateByCode;
|
|
9
|
+
exports.handleInputFormat = handleInputFormat;
|
|
9
10
|
exports.handleValueFormat = handleValueFormat;
|
|
10
11
|
exports.hasDateValueType = hasDateValueType;
|
|
11
12
|
exports.hasTimestampValueType = hasTimestampValueType;
|
|
@@ -34,6 +35,18 @@ function handleValueFormat(type, valueFormat) {
|
|
|
34
35
|
}
|
|
35
36
|
return 'yyyy-MM-dd';
|
|
36
37
|
}
|
|
38
|
+
function handleInputFormat(type, inputFormat) {
|
|
39
|
+
if (inputFormat) {
|
|
40
|
+
return inputFormat;
|
|
41
|
+
}
|
|
42
|
+
if (type === 'time') {
|
|
43
|
+
return 'HH:mm:ss';
|
|
44
|
+
}
|
|
45
|
+
if (type === 'datetime') {
|
|
46
|
+
return 'yyyy-MM-dd HH:mm:ss';
|
|
47
|
+
}
|
|
48
|
+
return 'yyyy-MM-dd';
|
|
49
|
+
}
|
|
37
50
|
function toStringTimeDate(str) {
|
|
38
51
|
const rest = new Date(2e3, 0, 1);
|
|
39
52
|
if (str) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.getDateByCode=getDateByCode,exports.getDateQuarter=getDateQuarter,exports.getRangeDateByCode=getRangeDateByCode,exports.handleValueFormat=handleValueFormat,exports.hasDateValueType=hasDateValueType,exports.hasTimestampValueType=hasTimestampValueType,exports.parseDateObj=parseDateObj,exports.parseDateValue=exports.parseDateString=void 0,exports.toStringTimeDate=toStringTimeDate;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function hasTimestampValueType(e){return"timestamp"===e}function hasDateValueType(e){return"date"===e}function handleValueFormat(e,t){return!t||hasDateValueType(t)||hasTimestampValueType(t)?"time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd":t}function toStringTimeDate(s){var r=new Date(2e3,0,1);if(s){let e=0,t=0,a=0;(_xeUtils.default.isNumber(s)||/^[0-9]{11,15}$/.test(""+s))&&(s=new Date(Number(s))),_xeUtils.default.isDate(s)?(e=s.getHours(),t=s.getMinutes(),a=s.getSeconds()):(s=(s=_xeUtils.default.toValueString(s)).match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/))&&(e=_xeUtils.default.toNumber(s[1]),t=_xeUtils.default.toNumber(s[3]),a=_xeUtils.default.toNumber(s[5])),r.setHours(e),r.setMinutes(t),r.setSeconds(a)}return r}function getDateQuarter(e){e=e.getMonth();return e<3?1:e<6?2:e<9?3:4}let parseDateValue=(e,t,a)=>{a=a.valueFormat;return e?"time"===t?toStringTimeDate(e):_xeUtils.default.isNumber(e)||/^[0-9]{10,15}$/.test(""+e)?new Date(Number(e)):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(_xeUtils.default.last(e.split(",")),a):_xeUtils.default.toStringDate(e,a):null},parseDateString=(exports.parseDateValue=parseDateValue,(e,t,a)=>{e=parseDateValue(e,t,a);return e?_xeUtils.default.toDateString(e,a.valueFormat):""});function parseDateObj(e,t,a){var{labelFormat:s,firstDay:r}=a;let l=null,u="";return e&&(l=parseDateValue(e,t,a)),_xeUtils.default.isValidDate(l)?(u=_xeUtils.default.toDateString(l,s,{firstDay:r}),s&&"week"===t&&(e=l.getFullYear(),a=l.getMonth()+1,t=_xeUtils.default.getYearWeek(l,r),checkWeekOfsetYear(t,a))&&(r=e+1,-1<(a=s.indexOf(t="yyyy")))&&(u=u.substring(0,a)+r+u.substring(a+t.length))):l=null,{label:u,value:l}}function getDateByCode(e,t,a,s){var{valueFormat:r,firstDay:l}=s;let u=null;var i=("prev"===e||"next"===e?new Date:t?parseDateValue(t,a,s):null)||new Date;switch(e){case"prev":case"next":case"minus":case"plus":var n="plus"===e||"next"===e?1:-1;switch(a){case"date":case"datetime":u=_xeUtils.default.getWhatDay(i,n);break;case"week":u=_xeUtils.default.getWhatWeek(i,n,l,l);break;case"month":u=_xeUtils.default.getWhatMonth(i,n);break;case"quarter":u=_xeUtils.default.getWhatQuarter(i,n);break;case"year":u=_xeUtils.default.getWhatYear(i,n)}break;default:u=new Date}return{value:u?_xeUtils.default.toDateString(u,r):""}}exports.parseDateString=parseDateString;let rangeDateOffsetNumMaps={last180:-180,last90:-90,last60:-60,last30:-30,last7:-7,last3:-3,last1:-1};function getRangeDateOffsetNum(e){return rangeDateOffsetNumMaps[e]||0}function getRangeDateByCode(e,t,a,s){var{valueFormat:r,firstDay:l}=s,u=((t=_xeUtils.default.isArray(t)?t.join(""):t)?parseDateValue(t,a,s):null)||new Date;let i=null;t=u;switch(e){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var n=getRangeDateOffsetNum(e);switch(a){case"date":case"datetime":i=_xeUtils.default.getWhatDay(u,n);break;case"week":i=_xeUtils.default.getWhatWeek(u,n,l,l);break;case"month":i=_xeUtils.default.getWhatMonth(u,n);break;case"quarter":i=_xeUtils.default.getWhatQuarter(u,n);break;case"year":i=_xeUtils.default.getWhatYear(u,n)}break;default:i=new Date}return{startValue:i?_xeUtils.default.toDateString(i,r):"",endValue:t?_xeUtils.default.toDateString(t,r):""}}let checkWeekOfsetYear=(e,t)=>""+e=="1"&&""+t=="12";
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.getDateByCode=getDateByCode,exports.getDateQuarter=getDateQuarter,exports.getRangeDateByCode=getRangeDateByCode,exports.handleInputFormat=handleInputFormat,exports.handleValueFormat=handleValueFormat,exports.hasDateValueType=hasDateValueType,exports.hasTimestampValueType=hasTimestampValueType,exports.parseDateObj=parseDateObj,exports.parseDateValue=exports.parseDateString=void 0,exports.toStringTimeDate=toStringTimeDate;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function hasTimestampValueType(e){return"timestamp"===e}function hasDateValueType(e){return"date"===e}function handleValueFormat(e,t){return!t||hasDateValueType(t)||hasTimestampValueType(t)?"time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd":t}function handleInputFormat(e,t){return t||("time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")}function toStringTimeDate(s){var r=new Date(2e3,0,1);if(s){let e=0,t=0,a=0;(_xeUtils.default.isNumber(s)||/^[0-9]{11,15}$/.test(""+s))&&(s=new Date(Number(s))),_xeUtils.default.isDate(s)?(e=s.getHours(),t=s.getMinutes(),a=s.getSeconds()):(s=(s=_xeUtils.default.toValueString(s)).match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/))&&(e=_xeUtils.default.toNumber(s[1]),t=_xeUtils.default.toNumber(s[3]),a=_xeUtils.default.toNumber(s[5])),r.setHours(e),r.setMinutes(t),r.setSeconds(a)}return r}function getDateQuarter(e){e=e.getMonth();return e<3?1:e<6?2:e<9?3:4}let parseDateValue=(e,t,a)=>{a=a.valueFormat;return e?"time"===t?toStringTimeDate(e):_xeUtils.default.isNumber(e)||/^[0-9]{10,15}$/.test(""+e)?new Date(Number(e)):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(_xeUtils.default.last(e.split(",")),a):_xeUtils.default.toStringDate(e,a):null},parseDateString=(exports.parseDateValue=parseDateValue,(e,t,a)=>{e=parseDateValue(e,t,a);return e?_xeUtils.default.toDateString(e,a.valueFormat):""});function parseDateObj(e,t,a){var{labelFormat:s,firstDay:r}=a;let l=null,u="";return e&&(l=parseDateValue(e,t,a)),_xeUtils.default.isValidDate(l)?(u=_xeUtils.default.toDateString(l,s,{firstDay:r}),s&&"week"===t&&(e=l.getFullYear(),a=l.getMonth()+1,t=_xeUtils.default.getYearWeek(l,r),checkWeekOfsetYear(t,a))&&(r=e+1,-1<(a=s.indexOf(t="yyyy")))&&(u=u.substring(0,a)+r+u.substring(a+t.length))):l=null,{label:u,value:l}}function getDateByCode(e,t,a,s){var{valueFormat:r,firstDay:l}=s;let u=null;var i=("prev"===e||"next"===e?new Date:t?parseDateValue(t,a,s):null)||new Date;switch(e){case"prev":case"next":case"minus":case"plus":var n="plus"===e||"next"===e?1:-1;switch(a){case"date":case"datetime":u=_xeUtils.default.getWhatDay(i,n);break;case"week":u=_xeUtils.default.getWhatWeek(i,n,l,l);break;case"month":u=_xeUtils.default.getWhatMonth(i,n);break;case"quarter":u=_xeUtils.default.getWhatQuarter(i,n);break;case"year":u=_xeUtils.default.getWhatYear(i,n)}break;default:u=new Date}return{value:u?_xeUtils.default.toDateString(u,r):""}}exports.parseDateString=parseDateString;let rangeDateOffsetNumMaps={last180:-180,last90:-90,last60:-60,last30:-30,last7:-7,last3:-3,last1:-1};function getRangeDateOffsetNum(e){return rangeDateOffsetNumMaps[e]||0}function getRangeDateByCode(e,t,a,s){var{valueFormat:r,firstDay:l}=s,u=((t=_xeUtils.default.isArray(t)?t.join(""):t)?parseDateValue(t,a,s):null)||new Date;let i=null;t=u;switch(e){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var n=getRangeDateOffsetNum(e);switch(a){case"date":case"datetime":i=_xeUtils.default.getWhatDay(u,n);break;case"week":i=_xeUtils.default.getWhatWeek(u,n,l,l);break;case"month":i=_xeUtils.default.getWhatMonth(u,n);break;case"quarter":i=_xeUtils.default.getWhatQuarter(u,n);break;case"year":i=_xeUtils.default.getWhatYear(u,n)}break;default:i=new Date}return{startValue:i?_xeUtils.default.toDateString(i,r):"",endValue:t?_xeUtils.default.toDateString(t,r):""}}let checkWeekOfsetYear=(e,t)=>""+e=="1"&&""+t=="12";
|