vxe-pc-ui 3.15.24 → 3.15.26
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/es/date-panel/src/date-panel.js +63 -40
- package/es/date-panel/src/util.js +11 -1
- package/es/date-picker/src/date-picker.js +19 -12
- package/es/date-range-picker/src/date-range-picker.js +102 -19
- package/es/icon/style.css +1 -1
- package/es/list/src/list.js +560 -13
- package/es/list/src/util.js +8 -0
- package/es/list/style.css +10 -4
- package/es/list/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +4 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-list/style.css +10 -4
- package/es/vxe-list/style.min.css +1 -1
- package/lib/date-panel/src/date-panel.js +65 -40
- package/lib/date-panel/src/date-panel.min.js +1 -1
- package/lib/date-panel/src/util.js +14 -2
- package/lib/date-panel/src/util.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +19 -12
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +111 -18
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +863 -87
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +605 -11
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/src/util.js +14 -0
- package/lib/list/src/util.min.js +1 -0
- package/lib/list/style/style.css +10 -4
- package/lib/list/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +4 -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/lib/vxe-list/style/style.css +10 -4
- package/lib/vxe-list/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/date-panel/src/date-panel.ts +65 -40
- package/packages/date-panel/src/util.ts +14 -2
- package/packages/date-picker/src/date-picker.ts +20 -12
- package/packages/date-range-picker/src/date-range-picker.ts +100 -19
- package/packages/list/src/list.ts +588 -13
- package/packages/list/src/util.ts +11 -0
- package/packages/ui/index.ts +3 -0
- package/styles/components/list.scss +8 -4
- package/types/components/date-panel.d.ts +3 -1
- package/types/components/date-range-picker.d.ts +2 -2
- package/types/components/list.d.ts +120 -4
- package/types/components/tree.d.ts +3 -7
- package/types/ui/menus.d.ts +13 -1
- /package/es/icon/{iconfont.1783233735491.ttf → iconfont.1783301643461.ttf} +0 -0
- /package/es/icon/{iconfont.1783233735491.woff → iconfont.1783301643461.woff} +0 -0
- /package/es/icon/{iconfont.1783233735491.woff2 → iconfont.1783301643461.woff2} +0 -0
- /package/es/{iconfont.1783233735491.ttf → iconfont.1783301643461.ttf} +0 -0
- /package/es/{iconfont.1783233735491.woff → iconfont.1783301643461.woff} +0 -0
- /package/es/{iconfont.1783233735491.woff2 → iconfont.1783301643461.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1783233735491.ttf → iconfont.1783301643461.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1783233735491.woff → iconfont.1783301643461.woff} +0 -0
- /package/lib/icon/style/{iconfont.1783233735491.woff2 → iconfont.1783301643461.woff2} +0 -0
- /package/lib/{iconfont.1783233735491.ttf → iconfont.1783301643461.ttf} +0 -0
- /package/lib/{iconfont.1783233735491.woff → iconfont.1783301643461.woff} +0 -0
- /package/lib/{iconfont.1783233735491.woff2 → iconfont.1783301643461.woff2} +0 -0
|
@@ -4,7 +4,7 @@ import XEUtils from 'xe-utils'
|
|
|
4
4
|
import { getConfig, getIcon, getI18n, commands, globalEvents, createEvent, GLOBAL_EVENT_KEYS, globalMixins, renderEmptyElement } from '../../ui'
|
|
5
5
|
import { getFuncText, getLastZIndex, nextZIndex, isEnableConf } from '../../ui/src/utils'
|
|
6
6
|
import { updatePanelPlacement, getEventTargetNode } from '../../ui/src/dom'
|
|
7
|
-
import { parseDateString, parseDateObj, getRangeDateByCode, handleValueFormat, hasTimestampValueType, hasDateValueType, parseDateValue, getPrevMonth,
|
|
7
|
+
import { parseDateString, parseDateObj, getRangeDateByCode, handleValueFormat, hasTimestampValueType, hasDateValueType, parseDateValue, getNextMonth, getPrevMonth, getNextYear, getPrevYear } from '../../date-panel/src/util'
|
|
8
8
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
9
9
|
import { createComponentLog } from '../../ui/src/log'
|
|
10
10
|
import VxeDatePanelComponent from '../../date-panel/src/date-panel'
|
|
@@ -27,8 +27,8 @@ function createReactData (): DateRangePickerReactData {
|
|
|
27
27
|
isActivated: false,
|
|
28
28
|
selectStValue: '',
|
|
29
29
|
selectEdValue: '',
|
|
30
|
-
paneStartVal:
|
|
31
|
-
paneEndVal:
|
|
30
|
+
paneStartVal: [],
|
|
31
|
+
paneEndVal: []
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -293,12 +293,20 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
293
293
|
const { startValue, endValue } = props
|
|
294
294
|
return `${startValue || ''}${endValue || ''}`
|
|
295
295
|
},
|
|
296
|
-
|
|
296
|
+
computeIsTimeType () {
|
|
297
297
|
const $xeDateRangePicker = this
|
|
298
298
|
const props = $xeDateRangePicker
|
|
299
299
|
|
|
300
300
|
const { type } = props
|
|
301
|
-
return type === 'time'
|
|
301
|
+
return type === 'time'
|
|
302
|
+
},
|
|
303
|
+
computeIsTimeOrDateTimeType () {
|
|
304
|
+
const $xeDateRangePicker = this
|
|
305
|
+
const props = $xeDateRangePicker
|
|
306
|
+
|
|
307
|
+
const { type } = props
|
|
308
|
+
const isTimeType = $xeDateRangePicker.computeIsTimeType
|
|
309
|
+
return isTimeType || type === 'datetime'
|
|
302
310
|
},
|
|
303
311
|
computeIsDatePickerType () {
|
|
304
312
|
const $xeDateRangePicker = this
|
|
@@ -529,7 +537,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
529
537
|
const props = $xeDateRangePicker
|
|
530
538
|
const reactData = $xeDateRangePicker.reactData
|
|
531
539
|
|
|
532
|
-
const { value: modelValue, startValue, endValue } = props
|
|
540
|
+
const { value: modelValue, startValue, endValue, valueFormat } = props
|
|
533
541
|
let restObj: {
|
|
534
542
|
sValue: string | Date | null
|
|
535
543
|
eValue: string | Date | null
|
|
@@ -550,8 +558,20 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
550
558
|
restObj = $xeDateRangePicker.paraeUpdateModel()
|
|
551
559
|
}
|
|
552
560
|
}
|
|
553
|
-
|
|
554
|
-
|
|
561
|
+
let startRest: string | number | Date | null = restObj.sValue
|
|
562
|
+
let endRest: string | number | Date | null = restObj.eValue
|
|
563
|
+
if (valueFormat === 'timestamp') {
|
|
564
|
+
if (XEUtils.isString(startRest) && /^\d+$/.test(startRest)) {
|
|
565
|
+
startRest = Number(startRest)
|
|
566
|
+
}
|
|
567
|
+
if (XEUtils.isString(endRest) && /^\d+$/.test(endRest)) {
|
|
568
|
+
endRest = Number(endRest)
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
reactData.selectStValue = startRest
|
|
572
|
+
reactData.selectEdValue = endRest
|
|
573
|
+
reactData.paneEndVal = [startRest, endRest]
|
|
574
|
+
reactData.paneStartVal = [startRest, endRest]
|
|
555
575
|
},
|
|
556
576
|
triggerEvent (evnt: Event & { type: 'input' | 'change' | 'keydown' | 'keyup' | 'click' | 'focus' | 'blur' }) {
|
|
557
577
|
const $xeDateRangePicker = this
|
|
@@ -758,12 +778,16 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
758
778
|
confirmEvent (evnt: MouseEvent) {
|
|
759
779
|
const $xeDateRangePicker = this
|
|
760
780
|
|
|
781
|
+
const isTimeType = $xeDateRangePicker.computeIsTimeType
|
|
761
782
|
const $startDatePanel = $xeDateRangePicker.$refs.refStartDatePanel as VxeDatePanelConstructor
|
|
762
783
|
const $endDatePanel = $xeDateRangePicker.$refs.refEndDatePanel as VxeDatePanelConstructor
|
|
763
784
|
if ($startDatePanel && $endDatePanel) {
|
|
764
785
|
const startValue = $startDatePanel.getModelValue()
|
|
765
786
|
const endValue = $endDatePanel.getModelValue()
|
|
766
|
-
if (
|
|
787
|
+
if (isTimeType) {
|
|
788
|
+
$startDatePanel.confirmByEvent(evnt)
|
|
789
|
+
$endDatePanel.confirmByEvent(evnt)
|
|
790
|
+
} else if ((startValue && !endValue) || (!startValue && endValue)) {
|
|
767
791
|
$xeDateRangePicker.handleChange('', '', evnt)
|
|
768
792
|
} else {
|
|
769
793
|
$startDatePanel.confirmByEvent(evnt)
|
|
@@ -794,11 +818,15 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
794
818
|
} else {
|
|
795
819
|
startValue = currValue || XEUtils.last(paneVals)
|
|
796
820
|
}
|
|
797
|
-
reactData.paneEndVal = [startValue, endValue]
|
|
798
|
-
reactData.paneStartVal = [startValue, endValue]
|
|
821
|
+
reactData.paneEndVal = [startValue, endValue]
|
|
822
|
+
reactData.paneStartVal = [startValue, endValue]
|
|
799
823
|
$xeDateRangePicker.handleChange(startValue, endValue, $event)
|
|
800
824
|
$xeDateRangePicker.handleSelectClose()
|
|
801
|
-
if (
|
|
825
|
+
if (selectStatus) {
|
|
826
|
+
if (startValue && endValue) {
|
|
827
|
+
internalData.selectStatus = false
|
|
828
|
+
}
|
|
829
|
+
} else {
|
|
802
830
|
internalData.selectStatus = true
|
|
803
831
|
}
|
|
804
832
|
$xeDateRangePicker.$nextTick(() => {
|
|
@@ -826,11 +854,15 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
826
854
|
} else {
|
|
827
855
|
endValue = currValue || XEUtils.last(paneVals)
|
|
828
856
|
}
|
|
829
|
-
reactData.paneEndVal = [startValue, endValue]
|
|
830
|
-
reactData.paneStartVal = [startValue, endValue]
|
|
857
|
+
reactData.paneEndVal = [startValue, endValue]
|
|
858
|
+
reactData.paneStartVal = [startValue, endValue]
|
|
831
859
|
$xeDateRangePicker.handleChange(startValue, endValue, $event)
|
|
832
860
|
$xeDateRangePicker.handleSelectClose()
|
|
833
|
-
if (
|
|
861
|
+
if (selectStatus) {
|
|
862
|
+
if (startValue && endValue) {
|
|
863
|
+
internalData.selectStatus = false
|
|
864
|
+
}
|
|
865
|
+
} else {
|
|
834
866
|
internalData.selectStatus = true
|
|
835
867
|
}
|
|
836
868
|
$xeDateRangePicker.$nextTick(() => {
|
|
@@ -864,6 +896,20 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
864
896
|
}
|
|
865
897
|
break
|
|
866
898
|
}
|
|
899
|
+
case 'month':
|
|
900
|
+
case 'quarter': {
|
|
901
|
+
if (endYear <= startYear) {
|
|
902
|
+
$endDatePanel.setPanelDate(getNextYear(startPanelDate))
|
|
903
|
+
}
|
|
904
|
+
break
|
|
905
|
+
}
|
|
906
|
+
case 'year': {
|
|
907
|
+
const yearList = $startDatePanel.computeYearList
|
|
908
|
+
if (yearList.some((item) => XEUtils.isDateSame(item.date, endPanelDate, 'yyyy'))) {
|
|
909
|
+
$endDatePanel.setPanelDate(getNextYear(startPanelDate, yearList.length))
|
|
910
|
+
}
|
|
911
|
+
break
|
|
912
|
+
}
|
|
867
913
|
}
|
|
868
914
|
},
|
|
869
915
|
startPanelDateBtnChangeEvent () {
|
|
@@ -890,6 +936,16 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
890
936
|
$endDatePanel.setPanelDate(getNextMonth(startPanelDate))
|
|
891
937
|
break
|
|
892
938
|
}
|
|
939
|
+
case 'month':
|
|
940
|
+
case 'quarter': {
|
|
941
|
+
$endDatePanel.setPanelDate(getNextYear(startPanelDate))
|
|
942
|
+
break
|
|
943
|
+
}
|
|
944
|
+
case 'year': {
|
|
945
|
+
const yearList = $startDatePanel.computeYearList
|
|
946
|
+
$endDatePanel.setPanelDate(getNextYear(startPanelDate, yearList.length))
|
|
947
|
+
break
|
|
948
|
+
}
|
|
893
949
|
}
|
|
894
950
|
} else {
|
|
895
951
|
$xeDateRangePicker.handleUpdateStartPanelDate()
|
|
@@ -922,6 +978,20 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
922
978
|
}
|
|
923
979
|
break
|
|
924
980
|
}
|
|
981
|
+
case 'month':
|
|
982
|
+
case 'quarter': {
|
|
983
|
+
if (startYear >= endYear) {
|
|
984
|
+
$startDatePanel.setPanelDate(getPrevYear(endPanelDate))
|
|
985
|
+
}
|
|
986
|
+
break
|
|
987
|
+
}
|
|
988
|
+
case 'year': {
|
|
989
|
+
const yearList = $endDatePanel.computeYearList
|
|
990
|
+
if (yearList.some((item) => XEUtils.isDateSame(item.date, startPanelDate, 'yyyy'))) {
|
|
991
|
+
$startDatePanel.setPanelDate(getPrevYear(endPanelDate, yearList.length))
|
|
992
|
+
}
|
|
993
|
+
break
|
|
994
|
+
}
|
|
925
995
|
}
|
|
926
996
|
},
|
|
927
997
|
endPanelDateBtnChangeEvent () {
|
|
@@ -948,6 +1018,16 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
948
1018
|
$startDatePanel.setPanelDate(getPrevMonth(endPanelDate))
|
|
949
1019
|
break
|
|
950
1020
|
}
|
|
1021
|
+
case 'month':
|
|
1022
|
+
case 'quarter': {
|
|
1023
|
+
$startDatePanel.setPanelDate(getPrevYear(endPanelDate))
|
|
1024
|
+
break
|
|
1025
|
+
}
|
|
1026
|
+
case 'year': {
|
|
1027
|
+
const yearList = $endDatePanel.computeYearList
|
|
1028
|
+
$startDatePanel.setPanelDate(getPrevYear(endPanelDate, yearList.length))
|
|
1029
|
+
break
|
|
1030
|
+
}
|
|
951
1031
|
}
|
|
952
1032
|
} else {
|
|
953
1033
|
$xeDateRangePicker.handleUpdateEndPanelDate()
|
|
@@ -1297,7 +1377,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1297
1377
|
const isClearable = $xeDateRangePicker.computeIsClearable
|
|
1298
1378
|
const panelLabelObj = $xeDateRangePicker.computePanelLabelObj
|
|
1299
1379
|
const shortcutList = $xeDateRangePicker.computeShortcutList
|
|
1300
|
-
const
|
|
1380
|
+
const isTimeType = $xeDateRangePicker.computeIsTimeType
|
|
1381
|
+
const isTimeOrDateTimeType = $xeDateRangePicker.computeIsTimeOrDateTimeType
|
|
1301
1382
|
const defaultDates = $xeDateRangePicker.computeDefaultDates
|
|
1302
1383
|
const defaultTimes = $xeDateRangePicker.computeDefaultTimes
|
|
1303
1384
|
const timeOpts = $xeDateRangePicker.computeTimeOpts
|
|
@@ -1313,7 +1394,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1313
1394
|
const [sdDate, edDate] = defaultDates
|
|
1314
1395
|
const [sdTime, edTime] = defaultTimes
|
|
1315
1396
|
const hasShortcutBtn = shortcutList.length > 0
|
|
1316
|
-
const showConfirmBtn = (showConfirmButton === null ? (
|
|
1397
|
+
const showConfirmBtn = (showConfirmButton === null ? (isTimeOrDateTimeType || !autoClose) : showConfirmButton)
|
|
1317
1398
|
const showClearBtn = (showClearButton === null ? isClearable : showClearButton)
|
|
1318
1399
|
return h('div', {
|
|
1319
1400
|
ref: 'refInputPanel',
|
|
@@ -1367,7 +1448,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1367
1448
|
ref: 'refStartDatePanel',
|
|
1368
1449
|
props: {
|
|
1369
1450
|
value: paneStartVal,
|
|
1370
|
-
multiple:
|
|
1451
|
+
multiple: !isTimeType,
|
|
1371
1452
|
valueSort: true,
|
|
1372
1453
|
limitCount: 3,
|
|
1373
1454
|
defaultMode: 'first',
|
|
@@ -1398,7 +1479,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1398
1479
|
ref: 'refEndDatePanel',
|
|
1399
1480
|
props: {
|
|
1400
1481
|
value: paneEndVal,
|
|
1401
|
-
multiple:
|
|
1482
|
+
multiple: !isTimeType,
|
|
1402
1483
|
valueSort: true,
|
|
1403
1484
|
limitCount: 3,
|
|
1404
1485
|
defaultMode: 'last',
|