vxe-pc-ui 4.15.2 → 4.15.3

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.
Files changed (127) hide show
  1. package/dist/all.esm.js +774 -211
  2. package/es/backtop/src/backtop.js +2 -1
  3. package/es/button/src/button.js +3 -2
  4. package/es/calendar/src/calendar.js +2 -1
  5. package/es/cascader/src/cascader.js +2 -1
  6. package/es/checkbox/src/group.js +5 -1
  7. package/es/date-panel/src/util.js +27 -16
  8. package/es/date-picker/src/date-picker.js +572 -74
  9. package/es/date-range-picker/src/date-range-picker.js +3 -2
  10. package/es/drawer/src/drawer.js +2 -0
  11. package/es/form/render/index.js +3 -2
  12. package/es/form/src/form.js +6 -5
  13. package/es/form/src/itemInfo.js +6 -5
  14. package/es/input/src/input.js +2 -1
  15. package/es/menu/src/menu.js +2 -1
  16. package/es/modal/src/modal.js +5 -2
  17. package/es/pager/src/pager.js +4 -3
  18. package/es/radio/src/group.js +5 -1
  19. package/es/select/src/select.js +25 -20
  20. package/es/splitter/src/splitter.js +7 -6
  21. package/es/table-select/src/table-select.js +21 -16
  22. package/es/tabs/src/tabs.js +4 -3
  23. package/es/textarea/src/textarea.js +2 -1
  24. package/es/tree/src/tree.js +3 -2
  25. package/es/tree-select/src/tree-select.js +2 -1
  26. package/es/ui/index.js +1 -1
  27. package/es/ui/src/log.js +7 -1
  28. package/es/upload/src/upload.js +12 -3
  29. package/lib/backtop/src/backtop.js +5 -2
  30. package/lib/backtop/src/backtop.min.js +1 -1
  31. package/lib/button/src/button.js +4 -1
  32. package/lib/button/src/button.min.js +1 -1
  33. package/lib/calendar/src/calendar.js +4 -1
  34. package/lib/calendar/src/calendar.min.js +1 -1
  35. package/lib/cascader/src/cascader.js +4 -1
  36. package/lib/cascader/src/cascader.min.js +1 -1
  37. package/lib/checkbox/src/group.js +5 -1
  38. package/lib/checkbox/src/group.min.js +1 -1
  39. package/lib/date-panel/src/util.js +37 -19
  40. package/lib/date-panel/src/util.min.js +1 -1
  41. package/lib/date-picker/src/date-picker.js +620 -77
  42. package/lib/date-picker/src/date-picker.min.js +1 -1
  43. package/lib/date-range-picker/src/date-range-picker.js +4 -1
  44. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  45. package/lib/drawer/src/drawer.js +2 -0
  46. package/lib/drawer/src/drawer.min.js +1 -1
  47. package/lib/form/render/index.js +4 -1
  48. package/lib/form/render/index.min.js +1 -1
  49. package/lib/form/src/form.js +8 -4
  50. package/lib/form/src/form.min.js +1 -1
  51. package/lib/form/src/itemInfo.js +7 -4
  52. package/lib/form/src/itemInfo.min.js +1 -1
  53. package/lib/index.umd.js +847 -177
  54. package/lib/index.umd.min.js +1 -1
  55. package/lib/input/src/input.js +6 -3
  56. package/lib/input/src/input.min.js +1 -1
  57. package/lib/menu/src/menu.js +4 -1
  58. package/lib/menu/src/menu.min.js +1 -1
  59. package/lib/modal/src/modal.js +8 -2
  60. package/lib/modal/src/modal.min.js +1 -1
  61. package/lib/pager/src/pager.js +6 -2
  62. package/lib/pager/src/pager.min.js +1 -1
  63. package/lib/radio/src/group.js +5 -1
  64. package/lib/radio/src/group.min.js +1 -1
  65. package/lib/select/src/select.js +27 -20
  66. package/lib/select/src/select.min.js +1 -1
  67. package/lib/splitter/src/splitter.js +12 -8
  68. package/lib/splitter/src/splitter.min.js +1 -1
  69. package/lib/table-select/src/table-select.js +22 -15
  70. package/lib/table-select/src/table-select.min.js +1 -1
  71. package/lib/tabs/src/tabs.js +7 -3
  72. package/lib/tabs/src/tabs.min.js +1 -1
  73. package/lib/textarea/src/textarea.js +4 -1
  74. package/lib/textarea/src/textarea.min.js +1 -1
  75. package/lib/tree/src/tree.js +7 -4
  76. package/lib/tree/src/tree.min.js +1 -1
  77. package/lib/tree-select/src/tree-select.js +7 -3
  78. package/lib/tree-select/src/tree-select.min.js +1 -1
  79. package/lib/ui/index.js +1 -1
  80. package/lib/ui/index.min.js +1 -1
  81. package/lib/ui/src/log.js +8 -1
  82. package/lib/ui/src/log.min.js +1 -1
  83. package/lib/upload/src/upload.js +20 -3
  84. package/lib/upload/src/upload.min.js +1 -1
  85. package/package.json +1 -1
  86. package/packages/backtop/src/backtop.ts +3 -1
  87. package/packages/button/src/button.ts +4 -2
  88. package/packages/calendar/src/calendar.ts +3 -1
  89. package/packages/cascader/src/cascader.ts +3 -1
  90. package/packages/checkbox/src/group.ts +6 -2
  91. package/packages/date-panel/src/util.ts +28 -16
  92. package/packages/date-picker/src/date-picker.ts +583 -75
  93. package/packages/date-range-picker/src/date-range-picker.ts +4 -2
  94. package/packages/drawer/src/drawer.ts +2 -0
  95. package/packages/form/render/index.ts +4 -2
  96. package/packages/form/src/form.ts +7 -5
  97. package/packages/form/src/itemInfo.ts +7 -5
  98. package/packages/input/src/input.ts +3 -1
  99. package/packages/menu/src/menu.ts +3 -1
  100. package/packages/modal/src/modal.ts +6 -2
  101. package/packages/pager/src/pager.ts +5 -3
  102. package/packages/radio/src/group.ts +6 -2
  103. package/packages/select/src/select.ts +29 -22
  104. package/packages/splitter/src/splitter.ts +8 -6
  105. package/packages/table-select/src/table-select.ts +24 -17
  106. package/packages/tabs/src/tabs.ts +5 -3
  107. package/packages/textarea/src/textarea.ts +3 -1
  108. package/packages/tree/src/tree.ts +4 -2
  109. package/packages/tree-select/src/tree-select.ts +3 -1
  110. package/packages/ui/src/log.ts +7 -0
  111. package/packages/upload/src/upload.ts +14 -3
  112. package/types/components/date-picker.d.ts +14 -6
  113. package/types/components/drawer.d.ts +2 -0
  114. package/types/components/modal.d.ts +2 -0
  115. package/types/components/upload.d.ts +28 -1
  116. /package/es/icon/{iconfont.1781753592499.ttf → iconfont.1781852740683.ttf} +0 -0
  117. /package/es/icon/{iconfont.1781753592499.woff → iconfont.1781852740683.woff} +0 -0
  118. /package/es/icon/{iconfont.1781753592499.woff2 → iconfont.1781852740683.woff2} +0 -0
  119. /package/es/{iconfont.1781753592499.ttf → iconfont.1781852740683.ttf} +0 -0
  120. /package/es/{iconfont.1781753592499.woff → iconfont.1781852740683.woff} +0 -0
  121. /package/es/{iconfont.1781753592499.woff2 → iconfont.1781852740683.woff2} +0 -0
  122. /package/lib/icon/style/{iconfont.1781753592499.ttf → iconfont.1781852740683.ttf} +0 -0
  123. /package/lib/icon/style/{iconfont.1781753592499.woff → iconfont.1781852740683.woff} +0 -0
  124. /package/lib/icon/style/{iconfont.1781753592499.woff2 → iconfont.1781852740683.woff2} +0 -0
  125. /package/lib/{iconfont.1781753592499.ttf → iconfont.1781852740683.ttf} +0 -0
  126. /package/lib/{iconfont.1781753592499.woff → iconfont.1781852740683.woff} +0 -0
  127. /package/lib/{iconfont.1781753592499.woff2 → iconfont.1781852740683.woff2} +0 -0
@@ -3,7 +3,7 @@ import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { VxeUI, getConfig, getI18n, getIcon, useSize, createEvent, globalEvents, renderEmptyElement } from '../../ui'
5
5
  import { getSlotVNs } from '../../ui/src/vn'
6
- import { errLog, warnLog } from '../../ui/src/log'
6
+ import { createComponentLog } from '../../ui/src/log'
7
7
  import { initTpImg, getTpImg, getEventTargetNode, toCssUnit } from '../../ui/src/dom'
8
8
  import { readLocalFile } from './util'
9
9
  import VxeButtonComponent from '../../button/src/button'
@@ -11,6 +11,8 @@ import VxeButtonComponent from '../../button/src/button'
11
11
  import type { VxeUploadDefines, VxeUploadPropTypes, UploadReactData, UploadInternalData, UploadPrivateMethods, UploadMethods, VxeUploadEmits, UploadPrivateRef, VxeUploadPrivateComputed, VxeUploadConstructor, VxeUploadPrivateMethods, VxeFormDefines, VxeFormConstructor, VxeFormPrivateMethods, ValueOf, VxeComponentEventParams } from '../../../types'
12
12
  import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
13
13
 
14
+ const { warnLog, errLog } = createComponentLog('upload')
15
+
14
16
  function createReactData (): UploadReactData {
15
17
  return {
16
18
  isDragUploadStatus: false,
@@ -220,8 +222,12 @@ export default defineVxeComponent({
220
222
  'remove-fail',
221
223
  'download',
222
224
  'download-fail',
225
+ 'upload-start',
223
226
  'upload-success',
224
227
  'upload-error',
228
+ 'upload-end',
229
+ 'upload-queue-start',
230
+ 'upload-queue-end',
225
231
  'sort-dragend',
226
232
  'more-visible'
227
233
  ] as VxeUploadEmits,
@@ -605,6 +611,7 @@ export default defineVxeComponent({
605
611
  const fileKey = getFieldKey(item)
606
612
  const uploadFn = props.uploadMethod || getConfig().upload.uploadMethod
607
613
  if (uploadFn) {
614
+ dispatchEvent('upload-start', { option: item }, null)
608
615
  return Promise.resolve(
609
616
  uploadFn({
610
617
  $upload: $xeUpload,
@@ -646,6 +653,7 @@ export default defineVxeComponent({
646
653
  if (cacheItem) {
647
654
  cacheItem.loading = false
648
655
  }
656
+ dispatchEvent('upload-end', { option: item }, null)
649
657
  })
650
658
  } else {
651
659
  const { fileCacheMaps } = reactData
@@ -756,6 +764,8 @@ export default defineVxeComponent({
756
764
  }
757
765
  }
758
766
 
767
+ dispatchEvent('upload-queue-start', { files: selectFiles }, evnt)
768
+
759
769
  const cacheMaps = Object.assign({}, reactData.fileCacheMaps)
760
770
  const newFileList = multiple ? fileList : []
761
771
  const uploadPromiseRests: any[] = []
@@ -794,6 +804,7 @@ export default defineVxeComponent({
794
804
  })
795
805
  Promise.all(urlMode ? uploadPromiseRests : []).then(() => {
796
806
  const restFileList = reactData.fileList
807
+ dispatchEvent('upload-queue-end', { options: restFileList, files: selectFiles }, evnt)
797
808
  handleChange(restFileList)
798
809
  // 自动更新校验状态
799
810
  if ($xeForm && formItemInfo) {
@@ -1944,10 +1955,10 @@ export default defineVxeComponent({
1944
1955
 
1945
1956
  onMounted(() => {
1946
1957
  if (props.multiple && props.singleMode) {
1947
- errLog('vxe.error.errConflicts', ['[upload] multiple', 'single-mode'])
1958
+ errLog('vxe.error.errConflicts', ['multiple', 'single-mode'])
1948
1959
  }
1949
1960
  if (props.imageStyle) {
1950
- warnLog('vxe.error.delProp', ['[upload] image-style', 'image-config'])
1961
+ warnLog('vxe.error.delProp', ['image-style', 'image-config'])
1951
1962
  }
1952
1963
 
1953
1964
  if (props.dragSort) {
@@ -57,14 +57,13 @@ export namespace VxeDatePickerPropTypes {
57
57
  export type LabelFormat = string
58
58
  export type ValueFormat = string
59
59
  export type TimeFormat = string
60
- export type InputFormat = string
61
60
  export type Editable = boolean
62
61
  export type FestivalMethod = VxeDatePanelPropTypes.FestivalMethod
63
62
  export type DisabledMethod = VxeDatePanelPropTypes.DisabledMethod
64
63
  export type AutoClose = boolean
65
64
  export type PrefixIcon = string
66
65
  export type SuffixIcon = string
67
- export interface ControlConfig {
66
+ export interface MaskedConfig {
68
67
  /**
69
68
  * 是否启用,支持局部/全局启用
70
69
  */
@@ -73,6 +72,14 @@ export namespace VxeDatePickerPropTypes {
73
72
  * 只对 enabled 启用后有效,是否启用方向键操作
74
73
  */
75
74
  isArrow?: boolean
75
+ /**
76
+ * 只对 enabled 启用后有效,是否启用输入掩码
77
+ */
78
+ isMasked?: boolean
79
+ /**
80
+ * 掩码占位符
81
+ */
82
+ maskPlaceholder?: string
76
83
  }
77
84
  /**
78
85
  * 已废弃,请使用 PopupConfig.placement
@@ -157,7 +164,6 @@ export interface VxeDatePickerProps {
157
164
  labelFormat?: VxeDatePickerPropTypes.LabelFormat
158
165
  valueFormat?: VxeDatePickerPropTypes.ValueFormat
159
166
  timeFormat?: VxeDatePickerPropTypes.TimeFormat
160
- inputFormat?: VxeDatePickerPropTypes.InputFormat
161
167
  editable?: VxeDatePickerPropTypes.Editable
162
168
  festivalMethod?: VxeDatePickerPropTypes.FestivalMethod
163
169
  disabledMethod?: VxeDatePickerPropTypes.DisabledMethod
@@ -170,7 +176,7 @@ export interface VxeDatePickerProps {
170
176
  * 只对 type=date,week,month,quarter,year 有效,选择完日期后自动关闭
171
177
  */
172
178
  autoClose?: VxeDatePickerPropTypes.AutoClose
173
- controlConfig?: VxeDatePickerPropTypes.ControlConfig
179
+ maskedConfig?: VxeDatePickerPropTypes.MaskedConfig
174
180
 
175
181
  /**
176
182
  * 只对 type=week 有效,选中日期后指定为一周的哪一天
@@ -207,12 +213,14 @@ export interface DatePickerReactData {
207
213
  panelPlacement: VxeDatePickerPropTypes.Placement
208
214
  isActivated: boolean
209
215
  inputValue: any
210
- inputLabel: string
216
+ labelFlag: number
211
217
  }
212
218
 
213
219
  export interface DatePickerInternalData {
214
220
  hpTimeout?: undefined | number
215
- parseInputKayMaps: Record<string, (evnt: KeyboardEvent, targetElem: HTMLInputElement, isUpArrow: boolean) => void>
221
+ inputLabel: string
222
+ isTriggerMasked?: boolean
223
+ laseFocusMasked: number
216
224
  }
217
225
 
218
226
  export interface DatePickerMethods {
@@ -56,6 +56,7 @@ export namespace VxeDrawerPropTypes {
56
56
  export type ShowHeader = boolean
57
57
  export type ShowFooter = boolean
58
58
  export type ShowClose = boolean
59
+ export type Preload = boolean
59
60
  export type Width = number | string
60
61
  export type Height = number | string
61
62
  export type Resize = boolean
@@ -92,6 +93,7 @@ export interface VxeDrawerProps {
92
93
  showHeader?: VxeDrawerPropTypes.ShowHeader
93
94
  showFooter?: VxeDrawerPropTypes.ShowFooter
94
95
  showClose?: VxeDrawerPropTypes.ShowClose
96
+ preload?: VxeDrawerPropTypes.Preload
95
97
  width?: VxeDrawerPropTypes.Width
96
98
  height?: VxeDrawerPropTypes.Height
97
99
  resize?: VxeDrawerPropTypes.Resize
@@ -77,6 +77,7 @@ export namespace VxeModalPropTypes {
77
77
  export type ShowHeader = boolean
78
78
  export type ShowFooter = boolean
79
79
  export type ShowZoom = boolean
80
+ export type Preload = boolean
80
81
  export interface ZoomConfig {
81
82
  minimizeLayout?: null | '' | 'vertical' | 'horizontal'
82
83
  minimizeMaxSize?: number
@@ -153,6 +154,7 @@ export interface VxeModalProps {
153
154
  showHeader?: VxeModalPropTypes.ShowHeader
154
155
  showFooter?: VxeModalPropTypes.ShowFooter
155
156
  showZoom?: VxeModalPropTypes.ShowZoom
157
+ preload?: VxeModalPropTypes.Preload
156
158
  zoomConfig?: VxeModalPropTypes.ZoomConfig
157
159
  showMaximize?: VxeModalPropTypes.ShowMaximize
158
160
  showMinimize?: VxeModalPropTypes.ShowMinimize
@@ -322,8 +322,12 @@ export type VxeUploadEmits = [
322
322
  'remove-fail',
323
323
  'download',
324
324
  'download-fail',
325
+ 'upload-start',
325
326
  'upload-success',
326
327
  'upload-error',
328
+ 'upload-end',
329
+ 'upload-queue-start',
330
+ 'upload-queue-end',
327
331
  'sort-dragend',
328
332
  'more-visible'
329
333
  ]
@@ -387,9 +391,20 @@ export namespace VxeUploadDefines {
387
391
  option: VxeUploadDefines.FileObjItem
388
392
  data: any
389
393
  }
390
-
391
394
  export interface UploadErrorEventParams extends UploadSuccessEventParams {}
392
395
 
396
+ export interface UploadStartEventParams extends UploadSuccessEventParams {
397
+ option: VxeUploadDefines.FileObjItem
398
+ }
399
+ export interface UploadEndEventParams extends UploadStartEventParams {}
400
+
401
+ export interface UploadQueueStartEventParams extends UploadSuccessEventParams {
402
+ files: File[]
403
+ }
404
+ export interface UploadQueueEndEventParams extends UploadQueueStartEventParams {
405
+ options: VxeUploadDefines.FileObjItem[]
406
+ }
407
+
393
408
  export interface MoreVisibleEventParams {
394
409
  visible: boolean
395
410
  }
@@ -404,6 +419,10 @@ export type VxeUploadEventProps = {
404
419
  onDownloadFail?: VxeUploadEvents.DownloadFail
405
420
  onUploadSuccess?: VxeUploadEvents.UploadSuccess
406
421
  onUploadError?: VxeUploadEvents.UploadError
422
+ onUploadStart?: VxeUploadEvents.UploadStart
423
+ onUploadEnd?: VxeUploadEvents.UploadEnd
424
+ onUploadQueueStart?: VxeUploadEvents.UploadQueueStart
425
+ onUploadQueueEnd?: VxeUploadEvents.UploadQueueEnd
407
426
  onMoreVisible?: VxeUploadEvents.MoreVisible
408
427
  }
409
428
 
@@ -416,6 +435,10 @@ export interface VxeUploadListeners {
416
435
  downloadFail?: VxeUploadEvents.DownloadFail
417
436
  uploadSuccess?: VxeUploadEvents.UploadSuccess
418
437
  uploadError?: VxeUploadEvents.UploadError
438
+ uploadStart?: VxeUploadEvents.UploadStart
439
+ uploadEnd?: VxeUploadEvents.UploadEnd
440
+ uploadQueueStart?: VxeUploadEvents.UploadQueueStart
441
+ uploadQueueEnd?: VxeUploadEvents.UploadQueueEnd
419
442
  moreVisible?: VxeUploadEvents.MoreVisible
420
443
  }
421
444
 
@@ -428,6 +451,10 @@ export namespace VxeUploadEvents {
428
451
  export type DownloadFail = (params: VxeUploadDefines.DownloadFailEventParams) => void
429
452
  export type UploadSuccess = (params: VxeUploadDefines.UploadSuccessEventParams) => void
430
453
  export type UploadError = (params: VxeUploadDefines.UploadErrorEventParams) => void
454
+ export type UploadStart = (params: VxeUploadDefines.UploadStartEventParams) => void
455
+ export type UploadEnd = (params: VxeUploadDefines.UploadEndEventParams) => void
456
+ export type UploadQueueStart = (params: VxeUploadDefines.UploadQueueStartEventParams) => void
457
+ export type UploadQueueEnd = (params: VxeUploadDefines.UploadQueueEndEventParams) => void
431
458
  export type MoreVisible = (params: VxeUploadDefines.MoreVisibleEventParams) => void
432
459
  }
433
460