vxe-pc-ui 3.3.67 → 3.3.69
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/button/src/button-group.js +3 -2
- package/es/button/src/button.js +21 -7
- package/es/button/style.css +4 -3
- package/es/button/style.min.css +1 -1
- package/es/button-group/style.css +8 -2
- package/es/button-group/style.min.css +1 -1
- package/es/date-picker/src/date-picker.js +103 -22
- package/es/date-picker/style.css +37 -12
- package/es/date-picker/style.min.css +1 -1
- package/es/form/src/form-group.js +2 -2
- package/es/form/src/form-item.js +2 -2
- package/es/form/src/form.js +2 -2
- package/es/icon/style.css +1 -1
- package/es/image/src/group.js +2 -2
- package/es/image/src/image.js +2 -2
- package/es/input/src/input.js +2 -2
- package/es/language/ar-EG.js +1 -0
- package/es/language/de-DE.js +1 -0
- package/es/language/en-US.js +1 -0
- package/es/language/es-ES.js +1 -0
- package/es/language/fr-FR.js +1 -0
- package/es/language/hu-HU.js +1 -0
- package/es/language/hy-AM.js +1 -0
- package/es/language/it-IT.js +1 -0
- package/es/language/ja-JP.js +1 -0
- package/es/language/ko-KR.js +1 -0
- package/es/language/nb-NO.js +1 -0
- package/es/language/pt-BR.js +1 -0
- package/es/language/ru-RU.js +1 -0
- package/es/language/th-TH.js +1 -0
- package/es/language/ug-CN.js +1 -0
- package/es/language/uk-UA.js +1 -0
- package/es/language/vi-VN.js +1 -0
- package/es/language/zh-CHT.js +1 -0
- package/es/language/zh-CN.js +1 -0
- package/es/layout-aside/src/layout-aside.js +2 -2
- package/es/layout-body/src/layout-body.js +2 -2
- package/es/layout-container/src/layout-container.js +2 -2
- package/es/layout-footer/src/layout-footer.js +2 -2
- package/es/layout-header/src/layout-header.js +2 -2
- package/es/modal/src/modal.js +2 -2
- package/es/pager/src/pager.js +2 -2
- package/es/pulldown/src/pulldown.js +2 -2
- package/es/select/src/optgroup.js +2 -2
- package/es/select/src/option.js +2 -2
- package/es/select/src/select.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/switch/src/switch.js +2 -2
- package/es/table-select/src/table-select.js +2 -2
- package/es/tabs/src/tab-pane.js +2 -2
- package/es/tabs/src/tabs.js +2 -2
- package/es/tree/src/tree.js +2 -2
- package/es/tree-select/src/tree-select.js +2 -2
- package/es/ui/index.js +8 -2
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +2 -2
- package/es/vxe-button/style.css +4 -3
- package/es/vxe-button/style.min.css +1 -1
- package/es/vxe-button-group/style.css +8 -2
- package/es/vxe-button-group/style.min.css +1 -1
- package/es/vxe-date-picker/style.css +37 -12
- package/es/vxe-date-picker/style.min.css +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/button/src/button-group.js +1 -0
- package/lib/button/src/button-group.min.js +1 -1
- package/lib/button/src/button.js +18 -5
- package/lib/button/src/button.min.js +1 -1
- package/lib/button/style/style.css +4 -3
- package/lib/button/style/style.min.css +1 -1
- package/lib/button-group/style/style.css +8 -2
- package/lib/button-group/style/style.min.css +1 -1
- package/lib/date-picker/src/date-picker.js +103 -19
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-picker/style/style.css +37 -12
- package/lib/date-picker/style/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +132 -27
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +1 -0
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/de-DE.js +1 -0
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/en-US.js +1 -0
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +1 -0
- package/lib/language/es-ES.js +1 -0
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +1 -0
- package/lib/language/fr-FR.js +1 -0
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/hu-HU.js +1 -0
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +1 -0
- package/lib/language/hy-AM.js +1 -0
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/it-IT.js +1 -0
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/ja-JP.js +1 -0
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +1 -0
- package/lib/language/ko-KR.js +1 -0
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +1 -0
- package/lib/language/nb-NO.js +1 -0
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/pt-BR.js +1 -0
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +1 -0
- package/lib/language/ru-RU.js +1 -0
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +1 -0
- package/lib/language/th-TH.js +1 -0
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/ug-CN.js +1 -0
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/uk-UA.js +1 -0
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +1 -0
- package/lib/language/vi-VN.js +1 -0
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/zh-CHT.js +1 -0
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +1 -0
- package/lib/language/zh-CN.js +1 -0
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +1 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +8 -2
- 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-button/style/style.css +4 -3
- package/lib/vxe-button/style/style.min.css +1 -1
- package/lib/vxe-button-group/style/style.css +8 -2
- package/lib/vxe-button-group/style/style.min.css +1 -1
- package/lib/vxe-date-picker/style/style.css +37 -12
- package/lib/vxe-date-picker/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/button/src/button-group.ts +1 -0
- package/packages/button/src/button.ts +20 -5
- package/packages/date-picker/src/date-picker.ts +104 -21
- package/packages/language/ar-EG.ts +1 -0
- package/packages/language/de-DE.ts +1 -0
- package/packages/language/en-US.ts +1 -0
- package/packages/language/es-ES.ts +1 -0
- package/packages/language/fr-FR.ts +1 -0
- package/packages/language/hu-HU.ts +1 -0
- package/packages/language/hy-AM.ts +1 -0
- package/packages/language/it-IT.ts +1 -0
- package/packages/language/ja-JP.ts +1 -0
- package/packages/language/ko-KR.ts +1 -0
- package/packages/language/nb-NO.ts +1 -0
- package/packages/language/pt-BR.ts +1 -0
- package/packages/language/ru-RU.ts +1 -0
- package/packages/language/th-TH.ts +1 -0
- package/packages/language/ug-CN.ts +1 -0
- package/packages/language/uk-UA.ts +1 -0
- package/packages/language/vi-VN.ts +1 -0
- package/packages/language/zh-CHT.ts +1 -0
- package/packages/language/zh-CN.ts +1 -0
- package/packages/ui/index.ts +7 -1
- package/styles/components/button-group.scss +14 -2
- package/styles/components/button.scss +7 -5
- package/styles/components/date-picker.scss +33 -11
- package/types/components/button-group.d.ts +3 -1
- package/types/components/button.d.ts +2 -2
- package/types/components/date-picker.d.ts +33 -2
- /package/es/icon/{iconfont.1736058590017.ttf → iconfont.1736122964282.ttf} +0 -0
- /package/es/icon/{iconfont.1736058590017.woff → iconfont.1736122964282.woff} +0 -0
- /package/es/icon/{iconfont.1736058590017.woff2 → iconfont.1736122964282.woff2} +0 -0
- /package/es/{iconfont.1736058590017.ttf → iconfont.1736122964282.ttf} +0 -0
- /package/es/{iconfont.1736058590017.woff → iconfont.1736122964282.woff} +0 -0
- /package/es/{iconfont.1736058590017.woff2 → iconfont.1736122964282.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1736058590017.ttf → iconfont.1736122964282.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1736058590017.woff → iconfont.1736122964282.woff} +0 -0
- /package/lib/icon/style/{iconfont.1736058590017.woff2 → iconfont.1736122964282.woff2} +0 -0
- /package/lib/{iconfont.1736058590017.ttf → iconfont.1736122964282.ttf} +0 -0
- /package/lib/{iconfont.1736058590017.woff → iconfont.1736122964282.woff} +0 -0
- /package/lib/{iconfont.1736058590017.woff2 → iconfont.1736122964282.woff2} +0 -0
|
@@ -2,12 +2,13 @@ import { CreateElement, PropType, VNode } from 'vue'
|
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp'
|
|
3
3
|
import XEUtils from 'xe-utils'
|
|
4
4
|
import { getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, globalMixins, renderEmptyElement } from '../../ui'
|
|
5
|
-
import { getFuncText, getLastZIndex, nextZIndex } from '../../ui/src/utils'
|
|
5
|
+
import { getFuncText, getLastZIndex, nextZIndex, isEnableConf } from '../../ui/src/utils'
|
|
6
6
|
import { getAbsolutePos, getEventTargetNode } from '../../ui/src/dom'
|
|
7
7
|
import { toStringTimeDate, getDateQuarter } from './util'
|
|
8
8
|
import { getSlotVNs } from '../..//ui/src/vn'
|
|
9
|
+
import VxeButtonGroupComponent from '../../button/src/button-group'
|
|
9
10
|
|
|
10
|
-
import type { VxeDatePickerConstructor, DatePickerInternalData, VxeDatePickerEmits, DatePickerReactData, VxeDatePickerPropTypes, VxeComponentStyleType, VxeFormConstructor, VxeFormPrivateMethods, VxeFormDefines, VxeDrawerConstructor, VxeDrawerMethods, VxeModalConstructor, VxeModalMethods, VxeDatePickerDefines, VxeComponentSizeType, ValueOf } from '../../../types'
|
|
11
|
+
import type { VxeDatePickerConstructor, DatePickerInternalData, VxeDatePickerEmits, DatePickerReactData, VxeDatePickerPropTypes, VxeComponentStyleType, VxeFormConstructor, VxeFormPrivateMethods, VxeFormDefines, VxeDrawerConstructor, VxeDrawerMethods, VxeModalConstructor, VxeModalMethods, VxeDatePickerDefines, VxeComponentSizeType, ValueOf, VxeButtonGroupDefines } from '../../../types'
|
|
11
12
|
import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
|
|
12
13
|
|
|
13
14
|
export default defineVxeComponent({
|
|
@@ -101,6 +102,8 @@ export default defineVxeComponent({
|
|
|
101
102
|
default: null
|
|
102
103
|
},
|
|
103
104
|
|
|
105
|
+
shortcutConfig: Object as PropType<VxeDatePickerPropTypes.ShortcutConfig>,
|
|
106
|
+
|
|
104
107
|
// 已废弃 startWeek,被 startDay 替换
|
|
105
108
|
startWeek: Number as PropType<VxeDatePickerPropTypes.StartDay>,
|
|
106
109
|
// 已废弃
|
|
@@ -688,6 +691,12 @@ export default defineVxeComponent({
|
|
|
688
691
|
|
|
689
692
|
const { immediate } = props
|
|
690
693
|
return immediate
|
|
694
|
+
},
|
|
695
|
+
computeShortcutOpts () {
|
|
696
|
+
const $xeDatePicker = this
|
|
697
|
+
const props = $xeDatePicker
|
|
698
|
+
|
|
699
|
+
return Object.assign({}, getConfig().datePicker.shortcutConfig, props.shortcutConfig)
|
|
691
700
|
}
|
|
692
701
|
},
|
|
693
702
|
methods: {
|
|
@@ -757,10 +766,16 @@ export default defineVxeComponent({
|
|
|
757
766
|
const $xeDatePicker = this
|
|
758
767
|
const props = $xeDatePicker
|
|
759
768
|
|
|
760
|
-
const { type } = props
|
|
769
|
+
const { type, multiple } = props
|
|
761
770
|
if (type === 'time') {
|
|
762
771
|
return toStringTimeDate(value)
|
|
763
772
|
}
|
|
773
|
+
if (XEUtils.isArray(value)) {
|
|
774
|
+
return XEUtils.toStringDate(value[0], format)
|
|
775
|
+
}
|
|
776
|
+
if (XEUtils.isString(value)) {
|
|
777
|
+
return XEUtils.toStringDate(multiple ? XEUtils.last(value.split(',')) : value, format)
|
|
778
|
+
}
|
|
764
779
|
return XEUtils.toStringDate(value, format)
|
|
765
780
|
},
|
|
766
781
|
triggerEvent (evnt: Event & { type: 'input' | 'change' | 'keydown' | 'keyup' | 'wheel' | 'click' | 'focus' | 'blur' }) {
|
|
@@ -952,7 +967,7 @@ export default defineVxeComponent({
|
|
|
952
967
|
reactData.selectMonth = month
|
|
953
968
|
}
|
|
954
969
|
},
|
|
955
|
-
dateChange (date: Date) {
|
|
970
|
+
dateChange (date: Date, isReload?: boolean) {
|
|
956
971
|
const $xeDatePicker = this
|
|
957
972
|
const props = $xeDatePicker
|
|
958
973
|
const reactData = $xeDatePicker.reactData
|
|
@@ -976,10 +991,9 @@ export default defineVxeComponent({
|
|
|
976
991
|
$xeDatePicker.dateCheckMonth(date)
|
|
977
992
|
if (multiple) {
|
|
978
993
|
// 如果为多选
|
|
979
|
-
const dateMultipleValue = $xeDatePicker.computeDateMultipleValue
|
|
980
994
|
if (isDateTimeType) {
|
|
981
995
|
// 如果是datetime特殊类型
|
|
982
|
-
const dateListValue = [...$xeDatePicker.computeDateListValue]
|
|
996
|
+
const dateListValue = isReload ? [] : [...$xeDatePicker.computeDateListValue]
|
|
983
997
|
const datetimeRest: Date[] = []
|
|
984
998
|
const eqIndex = XEUtils.findIndexOf(dateListValue, val => XEUtils.isDateSame(date, val, 'yyyyMMdd'))
|
|
985
999
|
if (eqIndex === -1) {
|
|
@@ -999,6 +1013,7 @@ export default defineVxeComponent({
|
|
|
999
1013
|
})
|
|
1000
1014
|
$xeDatePicker.handleChange(datetimeRest.map(date => XEUtils.toDateString(date, dateValueFormat)).join(','), { type: 'update' })
|
|
1001
1015
|
} else {
|
|
1016
|
+
const dateMultipleValue = isReload ? [] : $xeDatePicker.computeDateMultipleValue
|
|
1002
1017
|
// 如果是日期类型
|
|
1003
1018
|
if (dateMultipleValue.some(val => XEUtils.isEqual(val, inpVal))) {
|
|
1004
1019
|
$xeDatePicker.handleChange(dateMultipleValue.filter(val => !XEUtils.isEqual(val, inpVal)).join(','), { type: 'update' })
|
|
@@ -1114,9 +1129,24 @@ export default defineVxeComponent({
|
|
|
1114
1129
|
},
|
|
1115
1130
|
dateNowHandle () {
|
|
1116
1131
|
const $xeDatePicker = this
|
|
1132
|
+
const props = $xeDatePicker
|
|
1117
1133
|
const reactData = $xeDatePicker.reactData
|
|
1118
1134
|
|
|
1119
|
-
const
|
|
1135
|
+
const { type } = props
|
|
1136
|
+
const firstDayOfWeek = $xeDatePicker.computeFirstDayOfWeek
|
|
1137
|
+
let currentDate = new Date()
|
|
1138
|
+
switch (type) {
|
|
1139
|
+
case 'week':
|
|
1140
|
+
currentDate = XEUtils.getWhatWeek(currentDate, 0, firstDayOfWeek)
|
|
1141
|
+
break
|
|
1142
|
+
case 'datetime':
|
|
1143
|
+
currentDate = new Date()
|
|
1144
|
+
reactData.datetimePanelValue = new Date()
|
|
1145
|
+
break
|
|
1146
|
+
default:
|
|
1147
|
+
currentDate = XEUtils.getWhatDay(Date.now(), 0, 'first')
|
|
1148
|
+
break
|
|
1149
|
+
}
|
|
1120
1150
|
reactData.currentDate = currentDate
|
|
1121
1151
|
$xeDatePicker.dateMonthHandle(currentDate, 0)
|
|
1122
1152
|
},
|
|
@@ -1172,8 +1202,8 @@ export default defineVxeComponent({
|
|
|
1172
1202
|
const reactData = $xeDatePicker.reactData
|
|
1173
1203
|
|
|
1174
1204
|
$xeDatePicker.dateNowHandle()
|
|
1205
|
+
$xeDatePicker.dateChange(reactData.currentDate, true)
|
|
1175
1206
|
if (!props.multiple) {
|
|
1176
|
-
$xeDatePicker.dateChange(reactData.currentDate)
|
|
1177
1207
|
$xeDatePicker.hidePanel()
|
|
1178
1208
|
}
|
|
1179
1209
|
$xeDatePicker.dispatchEvent('date-today', { type: props.type }, evnt)
|
|
@@ -1483,17 +1513,25 @@ export default defineVxeComponent({
|
|
|
1483
1513
|
offsetMonth = XEUtils.getWhatMonth(offsetMonth, 4)
|
|
1484
1514
|
}
|
|
1485
1515
|
$xeDatePicker.dateMoveMonth(offsetMonth)
|
|
1486
|
-
} else {
|
|
1516
|
+
} else if (datePanelType === 'week') {
|
|
1487
1517
|
let offsetDay = datePanelValue || XEUtils.getWhatDay(Date.now(), 0, 'first')
|
|
1488
1518
|
const firstDayOfWeek = $xeDatePicker.computeFirstDayOfWeek
|
|
1519
|
+
if (isUpArrow) {
|
|
1520
|
+
offsetDay = XEUtils.getWhatWeek(offsetDay, -1, firstDayOfWeek)
|
|
1521
|
+
} else if (isDwArrow) {
|
|
1522
|
+
offsetDay = XEUtils.getWhatWeek(offsetDay, 1, firstDayOfWeek)
|
|
1523
|
+
}
|
|
1524
|
+
$xeDatePicker.dateMoveDay(offsetDay)
|
|
1525
|
+
} else {
|
|
1526
|
+
let offsetDay = datePanelValue || XEUtils.getWhatDay(Date.now(), 0, 'first')
|
|
1489
1527
|
if (isLeftArrow) {
|
|
1490
1528
|
offsetDay = XEUtils.getWhatDay(offsetDay, -1)
|
|
1491
1529
|
} else if (isUpArrow) {
|
|
1492
|
-
offsetDay = XEUtils.getWhatWeek(offsetDay, -1,
|
|
1530
|
+
offsetDay = XEUtils.getWhatWeek(offsetDay, -1, offsetDay.getDay() as VxeDatePickerPropTypes.StartDay)
|
|
1493
1531
|
} else if (isRightArrow) {
|
|
1494
1532
|
offsetDay = XEUtils.getWhatDay(offsetDay, 1)
|
|
1495
1533
|
} else if (isDwArrow) {
|
|
1496
|
-
offsetDay = XEUtils.getWhatWeek(offsetDay, 1,
|
|
1534
|
+
offsetDay = XEUtils.getWhatWeek(offsetDay, 1, offsetDay.getDay() as VxeDatePickerPropTypes.StartDay)
|
|
1497
1535
|
}
|
|
1498
1536
|
$xeDatePicker.dateMoveDay(offsetDay)
|
|
1499
1537
|
}
|
|
@@ -1679,6 +1717,24 @@ export default defineVxeComponent({
|
|
|
1679
1717
|
|
|
1680
1718
|
$xeDatePicker.triggerEvent(evnt)
|
|
1681
1719
|
},
|
|
1720
|
+
handleShortcutEvent ({ option, $event }: VxeButtonGroupDefines.ClickEventParams) {
|
|
1721
|
+
const $xeDatePicker = this
|
|
1722
|
+
|
|
1723
|
+
const shortcutOpts = $xeDatePicker.computeShortcutOpts
|
|
1724
|
+
const { autoClose } = shortcutOpts
|
|
1725
|
+
const clickMethod = (option as VxeDatePickerDefines.ShortcutOption).clickMethod || shortcutOpts.clickMethod
|
|
1726
|
+
const shortcutParams = {
|
|
1727
|
+
$datePicker: $xeDatePicker as VxeDatePickerConstructor,
|
|
1728
|
+
option: option as VxeDatePickerDefines.ShortcutOption
|
|
1729
|
+
}
|
|
1730
|
+
if (clickMethod) {
|
|
1731
|
+
clickMethod(shortcutParams)
|
|
1732
|
+
}
|
|
1733
|
+
if (autoClose) {
|
|
1734
|
+
$xeDatePicker.hidePanel()
|
|
1735
|
+
}
|
|
1736
|
+
$xeDatePicker.dispatchEvent('shortcut-click', shortcutParams, $event)
|
|
1737
|
+
},
|
|
1682
1738
|
// 全局事件
|
|
1683
1739
|
handleGlobalMousedownEvent (evnt: Event) {
|
|
1684
1740
|
const $xeDatePicker = this
|
|
@@ -2267,6 +2323,30 @@ export default defineVxeComponent({
|
|
|
2267
2323
|
])
|
|
2268
2324
|
]
|
|
2269
2325
|
},
|
|
2326
|
+
renderShortcutBtn (h: CreateElement, pos: 'top' | 'bottom' | 'left' | 'right' | 'header' | 'footer', isVertical?: boolean) {
|
|
2327
|
+
const $xeDatePicker = this
|
|
2328
|
+
|
|
2329
|
+
const shortcutOpts = $xeDatePicker.computeShortcutOpts
|
|
2330
|
+
const { options, position, align, mode } = shortcutOpts
|
|
2331
|
+
if (isEnableConf(shortcutOpts) && options && options.length && (position || 'left') === pos) {
|
|
2332
|
+
return h('div', {
|
|
2333
|
+
class: `vxe-date-picker--panel-${pos}-wrapper`
|
|
2334
|
+
}, [
|
|
2335
|
+
h(VxeButtonGroupComponent, {
|
|
2336
|
+
props: {
|
|
2337
|
+
options: options,
|
|
2338
|
+
mode,
|
|
2339
|
+
align,
|
|
2340
|
+
vertical: isVertical
|
|
2341
|
+
},
|
|
2342
|
+
on: {
|
|
2343
|
+
click: $xeDatePicker.handleShortcutEvent
|
|
2344
|
+
}
|
|
2345
|
+
})
|
|
2346
|
+
])
|
|
2347
|
+
}
|
|
2348
|
+
return renderEmptyElement($xeDatePicker)
|
|
2349
|
+
},
|
|
2270
2350
|
renderPanel (h: CreateElement) {
|
|
2271
2351
|
const $xeDatePicker = this
|
|
2272
2352
|
const props = $xeDatePicker
|
|
@@ -2277,12 +2357,15 @@ export default defineVxeComponent({
|
|
|
2277
2357
|
const { initialized, isAniVisible, visiblePanel, panelPlacement, panelStyle } = reactData
|
|
2278
2358
|
const vSize = $xeDatePicker.computeSize
|
|
2279
2359
|
const btnTransfer = $xeDatePicker.computeBtnTransfer
|
|
2360
|
+
const shortcutOpts = $xeDatePicker.computeShortcutOpts
|
|
2361
|
+
const { options, position } = shortcutOpts
|
|
2280
2362
|
const headerSlot = slots.header
|
|
2281
2363
|
const footerSlot = slots.footer
|
|
2282
2364
|
const topSlot = slots.top
|
|
2283
2365
|
const bottomSlot = slots.bottom
|
|
2284
2366
|
const leftSlot = slots.left
|
|
2285
2367
|
const rightSlot = slots.right
|
|
2368
|
+
const hasShortcutBtn = options && options.length
|
|
2286
2369
|
const renders = []
|
|
2287
2370
|
if (type === 'datetime') {
|
|
2288
2371
|
renders.push(
|
|
@@ -2323,10 +2406,10 @@ export default defineVxeComponent({
|
|
|
2323
2406
|
'is--transfer': btnTransfer,
|
|
2324
2407
|
'ani--leave': isAniVisible,
|
|
2325
2408
|
'ani--enter': visiblePanel,
|
|
2326
|
-
'show--top': !!(topSlot || headerSlot),
|
|
2327
|
-
'show--bottom': !!(bottomSlot || footerSlot),
|
|
2328
|
-
'show--left': !!leftSlot,
|
|
2329
|
-
'show--right': !!rightSlot
|
|
2409
|
+
'show--top': !!(topSlot || headerSlot || (hasShortcutBtn && (position === 'top' || position === 'header'))),
|
|
2410
|
+
'show--bottom': !!(bottomSlot || footerSlot || (hasShortcutBtn && (position === 'bottom' || position === 'footer'))),
|
|
2411
|
+
'show--left': !!(leftSlot || (hasShortcutBtn && position === 'left')),
|
|
2412
|
+
'show--right': !!(rightSlot || (hasShortcutBtn && position === 'right'))
|
|
2330
2413
|
}],
|
|
2331
2414
|
attrs: {
|
|
2332
2415
|
placement: panelPlacement
|
|
@@ -2341,7 +2424,7 @@ export default defineVxeComponent({
|
|
|
2341
2424
|
? h('div', {
|
|
2342
2425
|
class: 'vxe-date-picker--panel-top-wrapper'
|
|
2343
2426
|
}, topSlot({}))
|
|
2344
|
-
:
|
|
2427
|
+
: $xeDatePicker.renderShortcutBtn(h, 'top'),
|
|
2345
2428
|
h('div', {
|
|
2346
2429
|
class: 'vxe-date-picker--panel-body-layout-wrapper'
|
|
2347
2430
|
}, [
|
|
@@ -2349,7 +2432,7 @@ export default defineVxeComponent({
|
|
|
2349
2432
|
? h('div', {
|
|
2350
2433
|
class: 'vxe-date-picker--panel-left-wrapper'
|
|
2351
2434
|
}, leftSlot({}))
|
|
2352
|
-
:
|
|
2435
|
+
: $xeDatePicker.renderShortcutBtn(h, 'left', true),
|
|
2353
2436
|
h('div', {
|
|
2354
2437
|
class: 'vxe-date-picker--panel-body-content-wrapper'
|
|
2355
2438
|
}, [
|
|
@@ -2357,7 +2440,7 @@ export default defineVxeComponent({
|
|
|
2357
2440
|
? h('div', {
|
|
2358
2441
|
class: 'vxe-date-picker--panel-header-wrapper'
|
|
2359
2442
|
}, headerSlot({}))
|
|
2360
|
-
:
|
|
2443
|
+
: $xeDatePicker.renderShortcutBtn(h, 'header'),
|
|
2361
2444
|
h('div', {
|
|
2362
2445
|
class: 'vxe-date-picker--panel-body-wrapper'
|
|
2363
2446
|
}, renders),
|
|
@@ -2365,19 +2448,19 @@ export default defineVxeComponent({
|
|
|
2365
2448
|
? h('div', {
|
|
2366
2449
|
class: 'vxe-date-picker--panel-footer-wrapper'
|
|
2367
2450
|
}, footerSlot({}))
|
|
2368
|
-
:
|
|
2451
|
+
: $xeDatePicker.renderShortcutBtn(h, 'footer')
|
|
2369
2452
|
]),
|
|
2370
2453
|
rightSlot
|
|
2371
2454
|
? h('div', {
|
|
2372
2455
|
class: 'vxe-date-picker--panel-right-wrapper'
|
|
2373
2456
|
}, rightSlot({}))
|
|
2374
|
-
:
|
|
2457
|
+
: $xeDatePicker.renderShortcutBtn(h, 'right', true)
|
|
2375
2458
|
]),
|
|
2376
2459
|
bottomSlot
|
|
2377
2460
|
? h('div', {
|
|
2378
2461
|
class: 'vxe-date-picker--panel-bottom-wrapper'
|
|
2379
2462
|
}, bottomSlot({}))
|
|
2380
|
-
:
|
|
2463
|
+
: $xeDatePicker.renderShortcutBtn(h, 'bottom')
|
|
2381
2464
|
])
|
|
2382
2465
|
]
|
|
2383
2466
|
: [])
|
|
@@ -12,6 +12,7 @@ export default
|
|
|
12
12
|
},
|
|
13
13
|
error: {
|
|
14
14
|
downErr: 'Der Download ist fehlgeschlagen',
|
|
15
|
+
errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
|
|
15
16
|
groupFixed: 'Bei Verwendung von Gruppenköpfen müssen eingefrorene Spalten nach Gruppe festgelegt werden',
|
|
16
17
|
groupMouseRange: 'Der Gruppenheader und „{0}“ können nicht gleichzeitig verwendet werden, was zu einem Fehler führen kann.',
|
|
17
18
|
groupTag: 'Bei der Gruppierung von Spaltenüberschriften sollte „{0}“ anstelle von „{1}“ verwendet werden, was zu Fehlern führen kann',
|
|
@@ -11,6 +11,7 @@ export default {
|
|
|
11
11
|
},
|
|
12
12
|
error: {
|
|
13
13
|
downErr: 'Download failed',
|
|
14
|
+
errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
|
|
14
15
|
groupFixed: 'If using group headers, frozen columns must be set by group',
|
|
15
16
|
groupMouseRange: 'The group header and "{0}" cannot be used at the same time, which may cause an error.',
|
|
16
17
|
groupTag: 'Grouping column headers should use "{0}" instead of "{1}", which may cause errors',
|
|
@@ -11,6 +11,7 @@ export default {
|
|
|
11
11
|
},
|
|
12
12
|
error: {
|
|
13
13
|
downErr: 'Download failed.',
|
|
14
|
+
errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
|
|
14
15
|
groupFixed: 'If you use group headers, the freeze columns must be set by group.',
|
|
15
16
|
groupMouseRange: 'Los encabezados de agrupación y "{0}" no pueden ser utilizados al mismo tiempo, lo que puede causar errores.',
|
|
16
17
|
groupTag: 'El encabezado de columna de agrupación debería utilizar "{0}" en lugar de "{1}", lo que puede causar errores.',
|
|
@@ -11,6 +11,7 @@ export default {
|
|
|
11
11
|
},
|
|
12
12
|
error: {
|
|
13
13
|
downErr: 'Letöltés sikertelen',
|
|
14
|
+
errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
|
|
14
15
|
groupFixed: 'Csoportfejlécek használata esetén a rögzített oszlopokat csoportonként kell beállítani',
|
|
15
16
|
groupMouseRange: 'A csoportfejléc és a „{0}” nem használhatók egyszerre, ami hibát okozhat.',
|
|
16
17
|
groupTag: 'A csoportosító oszlopfejlécben a „{0}” értéket kell használni a „{1}” helyett, ami hibákat okozhat',
|
|
@@ -11,6 +11,7 @@ export default {
|
|
|
11
11
|
},
|
|
12
12
|
error: {
|
|
13
13
|
downErr: 'Download non riuscito',
|
|
14
|
+
errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
|
|
14
15
|
groupFixed: 'Se si utilizzano intestazioni di gruppo, le colonne bloccate devono essere impostate per gruppo',
|
|
15
16
|
groupMouseRange: "L'intestazione del gruppo e \"{0}\" non possono essere utilizzate contemporaneamente, il che potrebbe causare un errore.",
|
|
16
17
|
groupTag: 'Le intestazioni delle colonne di raggruppamento devono utilizzare "{0}" anziché "{1}", il che potrebbe causare errori',
|
|
@@ -11,6 +11,7 @@ export default {
|
|
|
11
11
|
},
|
|
12
12
|
error: {
|
|
13
13
|
downErr: '下载失败',
|
|
14
|
+
errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
|
|
14
15
|
groupFixed: 'ヘッダー結合を使用する場合、固定列はグループで設定しなければなりません',
|
|
15
16
|
groupMouseRange: 'ヘッダー結合と「{0}」は同時に使用できません。これによりエラーが発生する可能性があります',
|
|
16
17
|
groupTag: 'ヘッダー結合は "{0}" を使ってください。 "{1}" はエラーが発生する可能性があります',
|
|
@@ -11,6 +11,7 @@ export default {
|
|
|
11
11
|
},
|
|
12
12
|
error: {
|
|
13
13
|
downErr: '下载失败',
|
|
14
|
+
errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
|
|
14
15
|
groupFixed: 'If you use group headers, the freeze columns must be set by group.',
|
|
15
16
|
groupMouseRange: 'Agrupar cabeçalhos e "{0}" não podem ser usados ao mesmo tempo, o que pode causar erros.',
|
|
16
17
|
groupTag: 'O cabeçalho da coluna de agrupamento deve usar "{0}" em vez de "{1}", o que pode causar erros.',
|
|
@@ -11,6 +11,7 @@ export default {
|
|
|
11
11
|
},
|
|
12
12
|
error: {
|
|
13
13
|
downErr: 'Загрузка не удалась',
|
|
14
|
+
errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
|
|
14
15
|
groupFixed: 'При использовании заголовков групп замороженные столбцы должны быть установлены по группам.',
|
|
15
16
|
groupMouseRange: 'Заголовок группы и "{0}" нельзя использовать одновременно, что может привести к ошибке.',
|
|
16
17
|
groupTag: 'При группировке заголовков столбцов следует использовать "{0}" вместо "{1}", что может привести к ошибкам.',
|
|
@@ -11,6 +11,7 @@ export default {
|
|
|
11
11
|
},
|
|
12
12
|
error: {
|
|
13
13
|
downErr: 'การดาวน์โหลดล้มเหลว',
|
|
14
|
+
errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
|
|
14
15
|
groupFixed: 'หากใช้ส่วนหัวของกลุ่ม คอลัมน์ที่ตรึงจะต้องตั้งค่าตามกลุ่ม',
|
|
15
16
|
groupMouseRange: 'ส่วนหัวของกลุ่มและ "{0}" ไม่สามารถนำมาใช้พร้อมกันได้ ซึ่งอาจทำให้เกิดข้อผิดพลาดได้',
|
|
16
17
|
groupTag: 'การจัดกลุ่มส่วนหัวคอลัมน์ควรใช้ "{0}" แทน "{1}" ซึ่งอาจทำให้เกิดข้อผิดพลาด',
|
|
@@ -11,6 +11,7 @@ export default {
|
|
|
11
11
|
},
|
|
12
12
|
error: {
|
|
13
13
|
downErr: 'چۈشۈرۈش مەغلۇپ بولدى',
|
|
14
|
+
errLargeData: '当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿',
|
|
14
15
|
groupFixed: 'ئەگەر گۇرۇپپا ئۇچۇر بىشىنى ئىشلەتكەن بولسىڭىز،توڭلاتماقچى بولغان قۇر چوقۇم گۇرۇپپا بويىچە تەڭشىلىشى كىرەك',
|
|
15
16
|
groupMouseRange: 'گۇرۇپپا بىشى بىلەن "{0}" نى بىللە ئىشلىتىشكە بولمايدۇ,بۇ بەلكىم خاتالىق كەلتۈرۈپ چىقىرىشى مومكىن',
|
|
16
17
|
groupTag: 'گۇرۇپپا قۇر بىشىغا چوقۇم "{0}" نى ئىشلىتىشىڭىز كىرەك،ھەرگىزمۇ "{1}"نى ئەمەس ،بولمىسا بۇ بەلكىم خاتالىق كەلتۈرۈپ چىقىرىشى مومكىن',
|
package/packages/ui/index.ts
CHANGED
|
@@ -91,7 +91,13 @@ setConfig({
|
|
|
91
91
|
startDate: new Date(1900, 0, 1),
|
|
92
92
|
endDate: new Date(2100, 0, 1),
|
|
93
93
|
startDay: 1,
|
|
94
|
-
selectDay: 1
|
|
94
|
+
selectDay: 1,
|
|
95
|
+
shortcutConfig: {
|
|
96
|
+
// position: 'left',
|
|
97
|
+
align: 'left',
|
|
98
|
+
mode: 'text',
|
|
99
|
+
autoClose: true
|
|
100
|
+
}
|
|
95
101
|
},
|
|
96
102
|
drawer: {
|
|
97
103
|
// size: null,
|
|
@@ -2,8 +2,20 @@
|
|
|
2
2
|
display: inline-flex;
|
|
3
3
|
&.is--vertical {
|
|
4
4
|
flex-direction: column;
|
|
5
|
-
.vxe-button
|
|
6
|
-
|
|
5
|
+
.vxe-button,
|
|
6
|
+
.vxe-button-wrapper {
|
|
7
|
+
&+.vxe-button-wrapper,
|
|
8
|
+
&+.vxe-button,
|
|
9
|
+
&+.vxe-button--dropdown {
|
|
10
|
+
margin-top: 0.5em;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
.vxe-button--dropdown {
|
|
14
|
+
&+.vxe-button-wrapper,
|
|
15
|
+
&+.vxe-button,
|
|
16
|
+
&+.vxe-button--dropdown {
|
|
17
|
+
margin-top: 0.5em;
|
|
18
|
+
}
|
|
7
19
|
}
|
|
8
20
|
}
|
|
9
21
|
}
|
|
@@ -274,6 +274,13 @@ $btnThemeList: (
|
|
|
274
274
|
margin-left: 0.72em;
|
|
275
275
|
}
|
|
276
276
|
}
|
|
277
|
+
.vxe-button--dropdown {
|
|
278
|
+
&+.vxe-button-wrapper,
|
|
279
|
+
&+.vxe-button.type--button,
|
|
280
|
+
&+.vxe-button--dropdown {
|
|
281
|
+
margin-left: 0.72em;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
277
284
|
.vxe-button--loading-icon,
|
|
278
285
|
.vxe-button--icon {
|
|
279
286
|
min-width: var(--vxe-ui-font-size-default);
|
|
@@ -300,11 +307,6 @@ $btnThemeList: (
|
|
|
300
307
|
.vxe-button--dropdown {
|
|
301
308
|
position: relative;
|
|
302
309
|
outline: 0;
|
|
303
|
-
&+.vxe-button-wrapper,
|
|
304
|
-
&+.vxe-button.type--button,
|
|
305
|
-
&+.vxe-button--dropdown {
|
|
306
|
-
margin-left: 12px;
|
|
307
|
-
}
|
|
308
310
|
& > .vxe-button {
|
|
309
311
|
&.type--button {
|
|
310
312
|
@for $index from 0 to list.length($btnThemeList) {
|
|
@@ -418,6 +418,8 @@
|
|
|
418
418
|
box-shadow: inset 0 -1px 0 0 var(--vxe-ui-base-popup-border-color);
|
|
419
419
|
}
|
|
420
420
|
td {
|
|
421
|
+
border: 1px solid transparent;
|
|
422
|
+
border-radius: 1em;
|
|
421
423
|
&.is--prev,
|
|
422
424
|
&.is--next {
|
|
423
425
|
color: var(--vxe-ui-font-disabled-color);
|
|
@@ -427,7 +429,7 @@
|
|
|
427
429
|
}
|
|
428
430
|
}
|
|
429
431
|
&.is--now {
|
|
430
|
-
|
|
432
|
+
color: var(--vxe-ui-base-popup-border-color);
|
|
431
433
|
&:not(.is--selected) {
|
|
432
434
|
&.is--current {
|
|
433
435
|
color: var(--vxe-ui-font-primary-color);
|
|
@@ -439,14 +441,21 @@
|
|
|
439
441
|
}
|
|
440
442
|
}
|
|
441
443
|
&.is--hover {
|
|
442
|
-
|
|
444
|
+
border-color: var(--vxe-ui-font-primary-color);
|
|
445
|
+
background-color: var(--vxe-ui-font-primary-tinge-color);
|
|
443
446
|
}
|
|
444
447
|
&.is--selected {
|
|
445
448
|
color: var(--vxe-ui-input-date-picker-selected-color);
|
|
446
449
|
background-color: var(--vxe-ui-font-primary-color);
|
|
450
|
+
&.is--hover {
|
|
451
|
+
box-shadow: 0 0px 6px 1px var(--vxe-ui-font-primary-color);
|
|
452
|
+
}
|
|
447
453
|
&.is--prev,
|
|
448
454
|
&.is--next {
|
|
449
|
-
|
|
455
|
+
.vxe-date-picker--date-label,
|
|
456
|
+
.vxe-date-picker--date-festival {
|
|
457
|
+
color: var(--vxe-ui-base-popup-border-color);
|
|
458
|
+
}
|
|
450
459
|
}
|
|
451
460
|
.vxe-date-picker--date-label,
|
|
452
461
|
.vxe-date-picker--date-festival {
|
|
@@ -482,8 +491,23 @@
|
|
|
482
491
|
}
|
|
483
492
|
}
|
|
484
493
|
td {
|
|
494
|
+
border-top-left-radius: 0;
|
|
495
|
+
border-top-right-radius: 0;
|
|
496
|
+
border-bottom-left-radius: 0;
|
|
497
|
+
border-bottom-right-radius: 0;
|
|
498
|
+
border-left-width: 0;
|
|
499
|
+
border-right-width: 0;
|
|
485
500
|
&:first-child {
|
|
486
|
-
|
|
501
|
+
border-bottom-left-radius: 1em;
|
|
502
|
+
border-top-left-radius: 1em;
|
|
503
|
+
border-left-width: 1px;
|
|
504
|
+
border-right-width: 1px;
|
|
505
|
+
border-right-color: var(--vxe-ui-base-popup-border-color);
|
|
506
|
+
}
|
|
507
|
+
&:last-child {
|
|
508
|
+
border-top-right-radius: 1em;
|
|
509
|
+
border-bottom-right-radius: 1em;
|
|
510
|
+
border-right-width: 1px;
|
|
487
511
|
}
|
|
488
512
|
}
|
|
489
513
|
}
|
|
@@ -514,9 +538,8 @@
|
|
|
514
538
|
position: absolute;
|
|
515
539
|
right: 0.1em;
|
|
516
540
|
top: -0.2em;
|
|
517
|
-
font-size:
|
|
518
|
-
|
|
519
|
-
transform: scale(0.7);
|
|
541
|
+
font-size: 0.86em;
|
|
542
|
+
transform: scale(0.85);
|
|
520
543
|
color: var(--vxe-ui-input-date-extra-color);
|
|
521
544
|
&.is-important {
|
|
522
545
|
color: var(--vxe-ui-input-date-extra-important-color);
|
|
@@ -526,7 +549,6 @@
|
|
|
526
549
|
.vxe-date-picker--date-festival {
|
|
527
550
|
color: var(--vxe-ui-input-date-festival-color);
|
|
528
551
|
height: 14px;
|
|
529
|
-
line-height: 1;
|
|
530
552
|
overflow: hidden;
|
|
531
553
|
&.is-important {
|
|
532
554
|
color: var(--vxe-ui-input-date-festival-important-color);
|
|
@@ -534,8 +556,8 @@
|
|
|
534
556
|
}
|
|
535
557
|
.vxe-date-picker--date-festival--label {
|
|
536
558
|
display: block;
|
|
537
|
-
font-size:
|
|
538
|
-
transform: scale(0.
|
|
559
|
+
font-size: 0.86em;
|
|
560
|
+
transform: scale(0.9);
|
|
539
561
|
}
|
|
540
562
|
|
|
541
563
|
@keyframes festivalOverlap2 {
|
|
@@ -561,7 +583,7 @@
|
|
|
561
583
|
|
|
562
584
|
.vxe-date-picker--date-festival--overlap {
|
|
563
585
|
display: block;
|
|
564
|
-
font-size:
|
|
586
|
+
font-size: 0.86em;
|
|
565
587
|
&.overlap--2 {
|
|
566
588
|
animation: festivalOverlap2 6s infinite ease-in-out;
|
|
567
589
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentSizeType, VxeComponentEventParams, VxeComponentPermissionCodeType, ValueOf } from '@vxe-ui/core'
|
|
1
|
+
import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentSizeType, VxeComponentAlignType, VxeComponentEventParams, VxeComponentPermissionCodeType, ValueOf } from '@vxe-ui/core'
|
|
2
2
|
import { VxeButtonProps, VxeButtonPropTypes } from './button'
|
|
3
3
|
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-empty-interface,no-use-before-define,@typescript-eslint/ban-types */
|
|
@@ -23,6 +23,7 @@ export namespace VxeButtonGroupPropTypes {
|
|
|
23
23
|
export type Round = boolean
|
|
24
24
|
export type Vertical = boolean
|
|
25
25
|
export type Circle = boolean
|
|
26
|
+
export type Align = VxeComponentAlignType
|
|
26
27
|
export type Disabled = boolean
|
|
27
28
|
export type Mode = VxeButtonPropTypes.Mode
|
|
28
29
|
export type Status = VxeButtonPropTypes.Status
|
|
@@ -36,6 +37,7 @@ export interface VxeButtonGroupProps {
|
|
|
36
37
|
mode?: VxeButtonGroupPropTypes.Mode
|
|
37
38
|
status?: VxeButtonGroupPropTypes.Status
|
|
38
39
|
round?: VxeButtonGroupPropTypes.Round
|
|
40
|
+
align?: VxeButtonGroupPropTypes.Align
|
|
39
41
|
vertical?: VxeButtonGroupPropTypes.Vertical
|
|
40
42
|
circle?: VxeButtonGroupPropTypes.Circle
|
|
41
43
|
/**
|