vxe-pc-ui 3.15.1 → 3.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 (148) hide show
  1. package/es/backtop/src/backtop.js +8 -7
  2. package/es/button/src/button.js +3 -2
  3. package/es/calendar/src/calendar.js +2 -1
  4. package/es/cascader/src/cascader.js +5 -7
  5. package/es/checkbox/src/group.js +16 -7
  6. package/es/context-menu/src/context-menu.js +2 -6
  7. package/es/date-panel/src/util.js +27 -4
  8. package/es/date-picker/src/date-picker.js +656 -57
  9. package/es/date-range-picker/src/date-range-picker.js +23 -8
  10. package/es/drawer/src/drawer.js +3 -0
  11. package/es/form/render/index.js +3 -2
  12. package/es/form/src/form.js +11 -12
  13. package/es/form/src/itemInfo.js +6 -5
  14. package/es/image/src/image.js +5 -6
  15. package/es/input/src/input.js +2 -1
  16. package/es/layout-body/src/layout-body.js +13 -6
  17. package/es/list/src/list.js +3 -6
  18. package/es/menu/src/menu.js +2 -1
  19. package/es/modal/src/modal.js +5 -1
  20. package/es/number-input/src/number-input.js +2 -3
  21. package/es/pager/src/pager.js +4 -3
  22. package/es/radio/src/group.js +11 -8
  23. package/es/select/src/select.js +34 -30
  24. package/es/splitter/src/splitter.js +12 -6
  25. package/es/table-select/src/table-select.js +27 -22
  26. package/es/tabs/src/tabs.js +4 -3
  27. package/es/textarea/src/textarea.js +2 -1
  28. package/es/tree/src/tree.js +6 -11
  29. package/es/tree-select/src/tree-select.js +5 -7
  30. package/es/ui/index.js +1 -1
  31. package/es/ui/src/log.js +7 -1
  32. package/es/upload/src/upload.js +11 -9
  33. package/lib/backtop/src/backtop.js +10 -6
  34. package/lib/backtop/src/backtop.min.js +1 -1
  35. package/lib/button/src/button.js +3 -1
  36. package/lib/button/src/button.min.js +1 -1
  37. package/lib/calendar/src/calendar.js +3 -1
  38. package/lib/calendar/src/calendar.min.js +1 -1
  39. package/lib/cascader/src/cascader.js +7 -6
  40. package/lib/cascader/src/cascader.min.js +1 -1
  41. package/lib/checkbox/src/group.js +18 -6
  42. package/lib/checkbox/src/group.min.js +1 -1
  43. package/lib/context-menu/src/context-menu.js +3 -4
  44. package/lib/context-menu/src/context-menu.min.js +1 -1
  45. package/lib/date-panel/src/util.js +37 -5
  46. package/lib/date-panel/src/util.min.js +1 -1
  47. package/lib/date-picker/src/date-picker.js +698 -55
  48. package/lib/date-picker/src/date-picker.min.js +1 -1
  49. package/lib/date-range-picker/src/date-range-picker.js +21 -7
  50. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  51. package/lib/drawer/src/drawer.js +3 -0
  52. package/lib/drawer/src/drawer.min.js +1 -1
  53. package/lib/form/render/index.js +3 -1
  54. package/lib/form/render/index.min.js +1 -1
  55. package/lib/form/src/form.js +12 -8
  56. package/lib/form/src/form.min.js +1 -1
  57. package/lib/form/src/itemInfo.js +6 -4
  58. package/lib/form/src/itemInfo.min.js +1 -1
  59. package/lib/image/src/image.js +7 -5
  60. package/lib/image/src/image.min.js +1 -1
  61. package/lib/index.umd.js +1051 -217
  62. package/lib/index.umd.min.js +1 -1
  63. package/lib/input/src/input.js +5 -3
  64. package/lib/input/src/input.min.js +1 -1
  65. package/lib/layout-body/src/layout-body.js +13 -4
  66. package/lib/layout-body/src/layout-body.min.js +1 -1
  67. package/lib/list/src/list.js +4 -5
  68. package/lib/list/src/list.min.js +1 -1
  69. package/lib/menu/src/menu.js +3 -1
  70. package/lib/menu/src/menu.min.js +1 -1
  71. package/lib/modal/src/modal.js +8 -2
  72. package/lib/modal/src/modal.min.js +1 -1
  73. package/lib/number-input/src/number-input.js +2 -3
  74. package/lib/pager/src/pager.js +5 -2
  75. package/lib/pager/src/pager.min.js +1 -1
  76. package/lib/radio/src/group.js +13 -6
  77. package/lib/radio/src/group.min.js +1 -1
  78. package/lib/select/src/select.js +36 -29
  79. package/lib/select/src/select.min.js +1 -1
  80. package/lib/splitter/src/splitter.js +15 -7
  81. package/lib/splitter/src/splitter.min.js +1 -1
  82. package/lib/table-select/src/table-select.js +27 -19
  83. package/lib/table-select/src/table-select.min.js +1 -1
  84. package/lib/tabs/src/tabs.js +6 -3
  85. package/lib/tabs/src/tabs.min.js +1 -1
  86. package/lib/textarea/src/textarea.js +3 -1
  87. package/lib/textarea/src/textarea.min.js +1 -1
  88. package/lib/tree/src/tree.js +9 -8
  89. package/lib/tree/src/tree.min.js +1 -1
  90. package/lib/tree-select/src/tree-select.js +10 -8
  91. package/lib/tree-select/src/tree-select.min.js +1 -1
  92. package/lib/ui/index.js +1 -1
  93. package/lib/ui/index.min.js +1 -1
  94. package/lib/ui/src/log.js +8 -1
  95. package/lib/ui/src/log.min.js +1 -1
  96. package/lib/upload/src/upload.js +22 -7
  97. package/lib/upload/src/upload.min.js +1 -1
  98. package/package.json +1 -1
  99. package/packages/backtop/src/backtop.ts +11 -3
  100. package/packages/button/src/button.ts +4 -2
  101. package/packages/calendar/src/calendar.ts +3 -1
  102. package/packages/cascader/src/cascader.ts +9 -4
  103. package/packages/checkbox/src/group.ts +22 -5
  104. package/packages/context-menu/src/context-menu.ts +5 -2
  105. package/packages/date-panel/src/util.ts +28 -3
  106. package/packages/date-picker/src/date-picker.ts +673 -60
  107. package/packages/date-range-picker/src/date-range-picker.ts +22 -8
  108. package/packages/drawer/src/drawer.ts +3 -0
  109. package/packages/form/render/index.ts +4 -2
  110. package/packages/form/src/form.ts +14 -7
  111. package/packages/form/src/itemInfo.ts +7 -5
  112. package/packages/image/src/image.ts +9 -3
  113. package/packages/input/src/input.ts +3 -1
  114. package/packages/layout-body/src/layout-body.ts +16 -2
  115. package/packages/list/src/list.ts +6 -3
  116. package/packages/menu/src/menu.ts +3 -1
  117. package/packages/modal/src/modal.ts +6 -1
  118. package/packages/number-input/src/number-input.ts +2 -6
  119. package/packages/pager/src/pager.ts +5 -3
  120. package/packages/radio/src/group.ts +16 -5
  121. package/packages/select/src/select.ts +41 -29
  122. package/packages/splitter/src/splitter.ts +13 -6
  123. package/packages/table-select/src/table-select.ts +31 -20
  124. package/packages/tabs/src/tabs.ts +5 -3
  125. package/packages/textarea/src/textarea.ts +3 -1
  126. package/packages/tree/src/tree.ts +9 -4
  127. package/packages/tree-select/src/tree-select.ts +9 -4
  128. package/packages/ui/src/log.ts +7 -0
  129. package/packages/upload/src/upload.ts +16 -6
  130. package/types/components/date-picker.d.ts +27 -1
  131. package/types/components/date-range-picker.d.ts +4 -0
  132. package/types/components/drawer.d.ts +2 -0
  133. package/types/components/modal.d.ts +2 -0
  134. package/types/components/splitter.d.ts +1 -0
  135. package/types/components/table.d.ts +33 -4
  136. package/types/components/upload.d.ts +28 -1
  137. /package/es/icon/{iconfont.1781675403709.ttf → iconfont.1781852732213.ttf} +0 -0
  138. /package/es/icon/{iconfont.1781675403709.woff → iconfont.1781852732213.woff} +0 -0
  139. /package/es/icon/{iconfont.1781675403709.woff2 → iconfont.1781852732213.woff2} +0 -0
  140. /package/es/{iconfont.1781675403709.ttf → iconfont.1781852732213.ttf} +0 -0
  141. /package/es/{iconfont.1781675403709.woff → iconfont.1781852732213.woff} +0 -0
  142. /package/es/{iconfont.1781675403709.woff2 → iconfont.1781852732213.woff2} +0 -0
  143. /package/lib/icon/style/{iconfont.1781675403709.ttf → iconfont.1781852732213.ttf} +0 -0
  144. /package/lib/icon/style/{iconfont.1781675403709.woff → iconfont.1781852732213.woff} +0 -0
  145. /package/lib/icon/style/{iconfont.1781675403709.woff2 → iconfont.1781852732213.woff2} +0 -0
  146. /package/lib/{iconfont.1781675403709.ttf → iconfont.1781852732213.ttf} +0 -0
  147. /package/lib/{iconfont.1781675403709.woff → iconfont.1781852732213.woff} +0 -0
  148. /package/lib/{iconfont.1781675403709.woff2 → iconfont.1781852732213.woff2} +0 -0
@@ -5,10 +5,12 @@ import { getConfig, getIcon, createEvent, globalEvents, globalMixins, globalResi
5
5
  import { getSlotVNs } from '../../ui/src/vn'
6
6
  import { toCssUnit, isScale, addClass, removeClass } from '../../ui/src/dom'
7
7
  import { getGlobalDefaultConfig } from '../../ui/src/utils'
8
- import { warnLog, errLog } from '../../ui/src/log'
8
+ import { createComponentLog } from '../../ui/src/log'
9
9
 
10
10
  import type { SplitterReactData, VxeSplitterPropTypes, VxeComponentSizeType, SplitterInternalData, VxeSplitterEmits, VxeSplitterPanelPropTypes, ValueOf, VxeSplitterPanelProps, VxeSplitterDefines } from '../../../types'
11
11
 
12
+ const { warnLog, errLog } = createComponentLog('splitter')
13
+
12
14
  export default /* define-vxe-component start */ defineVxeComponent({
13
15
  name: 'VxeSplitter',
14
16
  mixins: [
@@ -49,7 +51,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
49
51
  staticItems: [],
50
52
  itemList: [],
51
53
  barWidth: 0,
52
- barHeight: 0
54
+ barHeight: 0,
55
+ resizeFlag: 0
53
56
  }
54
57
  const internalData: SplitterInternalData = {
55
58
  wrapperWidth: 0,
@@ -169,11 +172,11 @@ export default /* define-vxe-component start */ defineVxeComponent({
169
172
  }
170
173
  reactData.itemList = reactData.staticItems || []
171
174
  if ((showPrevButton || showNextButton) && reactData.itemList.length > 2) {
172
- errLog('vxe.error.modelConflicts', ['[splitter] action-config.showPrevButton | action-config.showNextButton', '<vxe-splitter-panel ...> Only supports 2 panel'])
175
+ errLog('vxe.error.modelConflicts', ['action-config.showPrevButton | action-config.showNextButton', '<vxe-splitter-panel ...> Only supports 2 panel'])
173
176
  }
174
177
  reactData.itemList.forEach(item => {
175
178
  if (item.showAction) {
176
- warnLog('vxe.error.removeProp', ['[splitter] show-action'])
179
+ warnLog('vxe.error.removeProp', ['show-action'])
177
180
  }
178
181
  })
179
182
  $xeSplitter.recalculate()
@@ -235,7 +238,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
235
238
  XEUtils.each(item.slots, (func) => {
236
239
  if (!XEUtils.isFunction(func)) {
237
240
  if (!slots[func]) {
238
- errLog('vxe.error.notSlot', [`[splitter] ${func}`])
241
+ errLog('vxe.error.notSlot', [func])
239
242
  }
240
243
  }
241
244
  })
@@ -596,6 +599,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
596
599
  document.onmousemove = (evnt) => {
597
600
  evnt.preventDefault()
598
601
  handleDrag(evnt)
602
+ reactData.resizeFlag++
599
603
  }
600
604
  document.onmouseup = (evnt) => {
601
605
  document.onmousemove = null
@@ -607,6 +611,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
607
611
  removeClass(el, 'is--drag')
608
612
  $xeSplitter.dispatchEvent('resize-end', { prevItem, nextItem, offsetHeight: targetOffsetHeight, offsetWidth: targetOffsetWidth }, evnt)
609
613
  $xeSplitter.recalculate()
614
+ reactData.resizeFlag++
610
615
  }
611
616
 
612
617
  if (rsSplitterLineEl) {
@@ -620,6 +625,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
620
625
  handleItemActionEvent (evnt: MouseEvent | null, prevItem: VxeSplitterDefines.PaneConfig, nextItem: VxeSplitterDefines.PaneConfig, isNext: boolean) {
621
626
  const $xeSplitter = this
622
627
  const props = $xeSplitter
628
+ const reactData = $xeSplitter.reactData
623
629
 
624
630
  const { vertical } = props
625
631
  let expanded = false
@@ -659,6 +665,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
659
665
  $xeSplitter.dispatchEvent('toggle-expand', { prevItem, nextItem, expanded, item }, evnt)
660
666
  }
661
667
  $xeSplitter.recalculate()
668
+ reactData.resizeFlag++
662
669
  },
663
670
  handlePrevActionDblclickEvent (evnt: MouseEvent) {
664
671
  const $xeSplitter = this
@@ -1012,7 +1019,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1012
1019
  }
1013
1020
  const actionOpts = $xeSplitter.computeActionOpts
1014
1021
  if (actionOpts.direction) {
1015
- errLog('vxe.error.delProp', ['[splitter] action-config.direction', 'action-config.showPrevButton | action-config.showNextButton'])
1022
+ errLog('vxe.error.delProp', ['action-config.direction', 'action-config.showPrevButton | action-config.showNextButton'])
1016
1023
  }
1017
1024
  $xeSplitter.$nextTick(() => {
1018
1025
  $xeSplitter.recalculate()
@@ -5,17 +5,34 @@ import { VxeUI, getConfig, getIcon, globalEvents, getI18n, createEvent, renderEm
5
5
  import { getEventTargetNode, updatePanelPlacement, toCssUnit } from '../../ui/src/dom'
6
6
  import { getOnName } from '../../ui/src/vn'
7
7
  import { getLastZIndex, nextZIndex } from '../../ui/src/utils'
8
- import { errLog } from '../../ui/src/log'
8
+ import { createComponentLog } from '../../ui/src/log'
9
9
  import VxeInputComponent from '../../input/src/input'
10
10
 
11
11
  import type { TableSelectReactData, VxeTableSelectPropTypes, TableSelectInternalData, VxeTableSelectEmits, VxeInputConstructor, VxeFormDefines, ValueOf, VxeComponentStyleType, VxeComponentSizeType, VxeModalConstructor, VxeModalMethods, VxeDrawerConstructor, VxeDrawerMethods, VxeFormConstructor, VxeFormPrivateMethods } from '../../../types'
12
12
  import type { VxeTableConstructor, VxeTablePrivateMethods, VxeTablePropTypes } from '../../../types/components/table'
13
13
  import type { VxeGridInstance, VxeGridDefines, VxeGridPropTypes } from '../../../types/components/grid'
14
14
 
15
+ const { errLog } = createComponentLog('table-select')
16
+
15
17
  export function getRowUniqueId () {
16
18
  return XEUtils.uniqueId('row_')
17
19
  }
18
20
 
21
+ function createReactData (): TableSelectReactData {
22
+ return {
23
+ initialized: false,
24
+ tableColumns: [],
25
+ fullOptionList: [],
26
+ panelIndex: 0,
27
+ panelStyle: {},
28
+ panelPlacement: null,
29
+ triggerFocusPanel: false,
30
+ visiblePanel: false,
31
+ isAniVisible: false,
32
+ isActivated: false
33
+ }
34
+ }
35
+
19
36
  function createInternalData (): TableSelectInternalData {
20
37
  return {
21
38
  // hpTimeout: undefined,
@@ -98,27 +115,15 @@ export default /* define-vxe-component start */ defineVxeComponent({
98
115
  },
99
116
  data () {
100
117
  const xID = XEUtils.uniqueId()
101
- const reactData: TableSelectReactData = {
102
- initialized: false,
103
- tableColumns: [],
104
- fullOptionList: [],
105
- panelIndex: 0,
106
- panelStyle: {},
107
- panelPlacement: null,
108
- triggerFocusPanel: false,
109
- visiblePanel: false,
110
- isAniVisible: false,
111
- isActivated: false
112
- }
113
-
114
- const internalData: TableSelectInternalData = createInternalData()
115
-
118
+ const reactData = createReactData()
116
119
  const gridEvents: Record<string, any> = {}
117
120
 
118
121
  return {
122
+ ...({} as {
123
+ internalData: TableSelectInternalData
124
+ }),
119
125
  xID,
120
126
  reactData,
121
- internalData,
122
127
  gridEvents
123
128
  }
124
129
  },
@@ -430,12 +435,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
430
435
  rowid = getRowUniqueId()
431
436
  }
432
437
  if (keyMaps[rowid]) {
433
- errLog('vxe.error.repeatKey', [`[table-select] ${rowKeyField}`, rowid])
438
+ errLog('vxe.error.repeatKey', [rowKeyField, rowid])
434
439
  }
435
440
  keyMaps[rowid] = true
436
441
  const value = item[valueField]
437
442
  if (rowMaps[value]) {
438
- errLog('vxe.error.repeatKey', [`[table-select] ${valueField}`, value])
443
+ errLog('vxe.error.repeatKey', [valueField, value])
439
444
  }
440
445
  rowMaps[value] = { item, index, items, parent: null, nodes: [] }
441
446
  })
@@ -855,6 +860,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
855
860
  const $xeTableSelect = this
856
861
  const props = $xeTableSelect
857
862
 
863
+ $xeTableSelect.internalData = createInternalData()
864
+
858
865
  const gridEventKeys: ValueOf<VxeTableSelectEmits>[] = [
859
866
  'form-submit',
860
867
  'form-reset',
@@ -879,7 +886,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
879
886
  const VxeTableGridComponent = VxeUI.getComponent('vxe-grid')
880
887
  $xeTableSelect.$nextTick(() => {
881
888
  if (!VxeTableGridComponent) {
882
- errLog('vxe.error.reqComp', ['[table-select] vxe-grid'])
889
+ errLog('vxe.error.reqComp', ['vxe-grid'])
883
890
  }
884
891
  })
885
892
 
@@ -896,6 +903,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
896
903
  },
897
904
  beforeDestroy () {
898
905
  const $xeTableSelect = this
906
+ const reactData = $xeTableSelect.reactData
907
+ const internalData = $xeTableSelect.internalData
899
908
 
900
909
  const panelElem = $xeTableSelect.$refs.refOptionPanel as HTMLElement | undefined
901
910
  if (panelElem && panelElem.parentNode) {
@@ -905,6 +914,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
905
914
  globalEvents.off($xeTableSelect, 'mousedown')
906
915
  globalEvents.off($xeTableSelect, 'blur')
907
916
  globalEvents.off($xeTableSelect, 'resize')
917
+ XEUtils.assign(reactData, createReactData())
918
+ XEUtils.assign(internalData, createInternalData())
908
919
  },
909
920
  render (this: any, h) {
910
921
  return this.renderVN(h)
@@ -5,11 +5,13 @@ import { createEvent, getConfig, getIcon, globalEvents, globalMixins, permission
5
5
  import { getSlotVNs } from '../../ui/src/vn'
6
6
  import { toCssUnit, addClass, removeClass } from '../../ui/src/dom'
7
7
  import { isEnableConf } from '../../ui/src/utils'
8
- import { warnLog, errLog } from '../../ui/src/log'
8
+ import { createComponentLog } from '../../ui/src/log'
9
9
  import VxeLoadingComponent from '../../loading/src/loading'
10
10
 
11
11
  import type { VxeTabsPropTypes, VxeTabPaneProps, VxeTabsEmits, TabsInternalData, TabsReactData, VxeComponentSizeType, VxeTabsConstructor, VxeTabsPrivateMethods, VxeTabPaneDefines, ValueOf, VxeComponentStyleType } from '../../../types'
12
12
 
13
+ const { warnLog, errLog } = createComponentLog('tabs')
14
+
13
15
  const scrollbarOffsetSize = 20
14
16
 
15
17
  export default /* define-vxe-component start */ defineVxeComponent({
@@ -213,13 +215,13 @@ export default /* define-vxe-component start */ defineVxeComponent({
213
215
  prevTab () {
214
216
  const $xeTabs = this
215
217
 
216
- warnLog('vxe.error.delFunc', ['[tabs] prevTab', 'prev'])
218
+ warnLog('vxe.error.delFunc', ['prevTab', 'prev'])
217
219
  return $xeTabs.prev()
218
220
  },
219
221
  nextTab () {
220
222
  const $xeTabs = this
221
223
 
222
- warnLog('vxe.error.delFunc', ['[tabs] nextTab', 'next'])
224
+ warnLog('vxe.error.delFunc', ['nextTab', 'next'])
223
225
  return $xeTabs.next()
224
226
  },
225
227
  handleFilterTab (item: VxeTabPaneProps | VxeTabPaneDefines.TabConfig) {
@@ -3,10 +3,12 @@ import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { getConfig, getI18n, createEvent, globalMixins } from '../../ui'
5
5
  import { getFuncText } from '../../ui/src/utils'
6
- import { warnLog } from '../../ui/src/log'
6
+ import { createComponentLog } from '../../ui/src/log'
7
7
 
8
8
  import type { VxeTextareaPropTypes, TextareaReactData, VxeComponentSizeType, VxeTextareaEmits, VxeFormConstructor, VxeFormPrivateMethods, VxeFormDefines, ValueOf } from '../../../types'
9
9
 
10
+ const { warnLog } = createComponentLog('textarea')
11
+
10
12
  let autoTxtElem: HTMLDivElement
11
13
 
12
14
  export default /* define-vxe-component start */ defineVxeComponent({
@@ -3,7 +3,7 @@ import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { VxeUI, createEvent, globalEvents, globalResize, renderEmptyElement, globalMixins } from '../../ui'
5
5
  import { calcTreeLine, enNodeValue, deNodeValue } from './util'
6
- import { errLog } from '../../ui/src/log'
6
+ import { createComponentLog } from '../../ui/src/log'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
8
8
  import { crossTreeDragNodeGlobal, getCrossTreeDragNodeInfo } from './store'
9
9
  import { toCssUnit, isScale, getPaddingTopBottomSize, addClass, removeClass, getTpImg, hasControlKey, getEventTargetNode } from '../../ui/src/dom'
@@ -13,6 +13,8 @@ import VxeLoadingComponent from '../../loading'
13
13
 
14
14
  import type { TreeReactData, VxeTreeEmits, VxeTreeConstructor, VxeTreePropTypes, TreeInternalData, VxeTreeDefines, VxeTreePrivateMethods, VxeComponentSizeType, ValueOf } from '../../../types'
15
15
 
16
+ const { errLog } = createComponentLog('tree')
17
+
16
18
  const { menus, getConfig, getI18n, getIcon } = VxeUI
17
19
 
18
20
  // let crossTreeDragNodeObj: {
@@ -686,11 +688,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
686
688
  data () {
687
689
  const xID = XEUtils.uniqueId()
688
690
  const reactData = createReactData()
689
- const internalData = createInternalData()
690
691
  return {
692
+ ...({} as {
693
+ internalData: TreeInternalData
694
+ }),
691
695
  xID,
692
696
  reactData,
693
- internalData,
694
697
  crossTreeDragNodeInfo: crossTreeDragNodeGlobal,
695
698
 
696
699
  hFlag: 0,
@@ -1348,7 +1351,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1348
1351
  $xeTree.handleData(true)
1349
1352
  if (sYLoad) {
1350
1353
  if (!(props.height || props.maxHeight)) {
1351
- errLog('vxe.error.reqProp', ['[tree] height | max-height | virtual-y-config.enabled=false'])
1354
+ errLog('vxe.error.reqProp', ['height | max-height | virtual-y-config.enabled=false'])
1352
1355
  }
1353
1356
  }
1354
1357
  return $xeTree.computeScrollLoad().then(() => {
@@ -3090,6 +3093,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
3090
3093
  const props = $xeTree
3091
3094
  const reactData = $xeTree.reactData
3092
3095
 
3096
+ $xeTree.internalData = createInternalData()
3097
+
3093
3098
  reactData.selectRadioKey = enNodeValue(props.checkNodeKey)
3094
3099
  $xeTree.loadData(props.data || [])
3095
3100
  },
@@ -5,7 +5,7 @@ import { getConfig, getI18n, getIcon, globalEvents, createEvent, globalMixins, r
5
5
  import { getEventTargetNode, updatePanelPlacement, toCssUnit } from '../../ui/src/dom'
6
6
  import { getLastZIndex, nextZIndex } from '../../ui/src/utils'
7
7
  import { deNodeValue } from '../../tree/src/util'
8
- import { warnLog, errLog } from '../../ui/src/log'
8
+ import { createComponentLog } from '../../ui/src/log'
9
9
  import VxeInputComponent from '../../input'
10
10
  import VxeButtonComponent from '../../button'
11
11
  import VxeTreeComponent from '../../tree'
@@ -14,6 +14,8 @@ import { getSlotVNs } from '../../ui/src/vn'
14
14
  import type { TreeSelectReactData, VxeTreeSelectEmits, TreeSelectInternalData, VxeComponentSizeType, VxeButtonDefines, VxeInputDefines, VxeTreeDefines, ValueOf, VxeComponentStyleType, VxeTreeSelectPropTypes, VxeFormDefines, VxeDrawerConstructor, VxeDrawerMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods, VxeInputConstructor, VxeTreeConstructor, VxeTreeSelectDefines } from '../../../types'
15
15
  import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
16
16
 
17
+ const { warnLog, errLog } = createComponentLog('tree-select')
18
+
17
19
  function getOptUniqueId () {
18
20
  return XEUtils.uniqueId('node_')
19
21
  }
@@ -191,11 +193,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
191
193
  data () {
192
194
  const xID = XEUtils.uniqueId()
193
195
  const reactData = createReactData()
194
- const internalData = createInternalData()
195
196
  return {
197
+ ...({} as {
198
+ internalData: TreeSelectInternalData
199
+ }),
196
200
  xID,
197
- reactData,
198
- internalData
201
+ reactData
199
202
  }
200
203
  },
201
204
  computed: {
@@ -1210,6 +1213,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
1210
1213
  created () {
1211
1214
  const $xeTreeSelect = this
1212
1215
 
1216
+ $xeTreeSelect.internalData = createInternalData()
1217
+
1213
1218
  $xeTreeSelect.cacheDataMap()
1214
1219
  $xeTreeSelect.cacheLazyDataMap()
1215
1220
  },
@@ -2,5 +2,12 @@ import { log } from '@vxe-ui/core'
2
2
 
3
3
  const version = `ui v${process.env.VUE_APP_VXE_VERSION}`
4
4
 
5
+ export function createComponentLog (name: string) {
6
+ return {
7
+ warnLog: log.create('warn', `${version} ${name}`),
8
+ errLog: log.create('error', `${version} ${name}`)
9
+ }
10
+ }
11
+
5
12
  export const warnLog = log.create('warn', version)
6
13
  export const errLog = log.create('error', version)
@@ -3,7 +3,7 @@ import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { VxeUI, getConfig, getI18n, getIcon, globalMixins, 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, VxeUploadConstructor, VxeUploadPropTypes, UploadReactData, UploadInternalData, VxeUploadEmits, VxeComponentSizeType, 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 getUniqueKey () {
15
17
  return XEUtils.uniqueId()
16
18
  }
@@ -335,11 +337,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
335
337
  data () {
336
338
  const xID = XEUtils.uniqueId()
337
339
  const reactData = createReactData()
338
- const internalData = createInternalData()
339
340
  return {
341
+ ...({} as {
342
+ internalData: UploadInternalData
343
+ }),
340
344
  xID,
341
- reactData,
342
- internalData
345
+ reactData
343
346
  }
344
347
  },
345
348
  computed: {
@@ -864,6 +867,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
864
867
  const fileKey = $xeUpload.getFieldKey(item)
865
868
  const uploadFn = props.uploadMethod || getConfig().upload.uploadMethod
866
869
  if (uploadFn) {
870
+ $xeUpload.dispatchEvent('upload-start', { option: item }, null)
867
871
  return Promise.resolve(
868
872
  uploadFn({
869
873
  $upload: $xeUpload,
@@ -913,6 +917,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
913
917
  if (cacheItem) {
914
918
  cacheItem.loading = false
915
919
  }
920
+ $xeUpload.dispatchEvent('upload-end', { option: item }, null)
916
921
  })
917
922
  } else {
918
923
  const { fileCacheMaps } = reactData
@@ -1031,6 +1036,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
1031
1036
  }
1032
1037
  }
1033
1038
 
1039
+ $xeUpload.dispatchEvent('upload-queue-start', { files: selectFiles }, evnt)
1040
+
1034
1041
  const cacheMaps = Object.assign({}, reactData.fileCacheMaps)
1035
1042
  const newFileList = multiple ? fileList : []
1036
1043
  const uploadPromiseRests: any[] = []
@@ -1069,6 +1076,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
1069
1076
  })
1070
1077
  Promise.all(urlMode ? uploadPromiseRests : []).then(() => {
1071
1078
  const restFileList = reactData.fileList
1079
+ $xeUpload.dispatchEvent('upload-queue-end', { options: restFileList, files: selectFiles }, evnt)
1072
1080
  $xeUpload.handleChange(restFileList)
1073
1081
  // 自动更新校验状态
1074
1082
  if ($xeForm && formItemInfo) {
@@ -2159,6 +2167,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
2159
2167
  created () {
2160
2168
  const $xeUpload = this
2161
2169
 
2170
+ $xeUpload.internalData = createInternalData()
2171
+
2162
2172
  $xeUpload.updateFileList()
2163
2173
  },
2164
2174
  mounted () {
@@ -2166,10 +2176,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
2166
2176
  const props = $xeUpload
2167
2177
 
2168
2178
  if (props.multiple && props.singleMode) {
2169
- errLog('vxe.error.errConflicts', ['[upload] multiple', 'single-mode'])
2179
+ errLog('vxe.error.errConflicts', ['multiple', 'single-mode'])
2170
2180
  }
2171
2181
  if (props.imageStyle) {
2172
- warnLog('vxe.error.delProp', ['[upload] image-style', 'image-config'])
2182
+ warnLog('vxe.error.delProp', ['image-style', 'image-config'])
2173
2183
  }
2174
2184
 
2175
2185
  if (props.dragSort) {
@@ -55,6 +55,24 @@ export namespace VxeDatePickerPropTypes {
55
55
  export type AutoClose = boolean
56
56
  export type PrefixIcon = string
57
57
  export type SuffixIcon = string
58
+ export interface MaskedConfig {
59
+ /**
60
+ * 是否启用,支持局部/全局启用
61
+ */
62
+ enabled?: boolean
63
+ /**
64
+ * 只对 enabled 启用后有效,是否启用方向键操作
65
+ */
66
+ isArrow?: boolean
67
+ /**
68
+ * 只对 enabled 启用后有效,是否启用输入掩码
69
+ */
70
+ isMasked?: boolean
71
+ /**
72
+ * 掩码占位符
73
+ */
74
+ maskPlaceholder?: string
75
+ }
58
76
  /**
59
77
  * 已废弃,请使用 PopupConfig.placement
60
78
  * @deprecated
@@ -71,6 +89,10 @@ export namespace VxeDatePickerPropTypes {
71
89
  export interface TimeConfig extends VxeDatePanelPropTypes.TimeConfig {}
72
90
 
73
91
  export interface PopupConfig {
92
+ /**
93
+ * 是否启用,支持局部/全局启用
94
+ */
95
+ enabled?: boolean
74
96
  /**
75
97
  * 设置弹出面板方向
76
98
  */
@@ -146,6 +168,7 @@ export interface VxeDatePickerProps {
146
168
  * 只对 type=date,week,month,quarter,year 有效,选择完日期后自动关闭
147
169
  */
148
170
  autoClose?: VxeDatePickerPropTypes.AutoClose
171
+ maskedConfig?: VxeDatePickerPropTypes.MaskedConfig
149
172
 
150
173
  /**
151
174
  * 只对 type=week 有效,选中日期后指定为一周的哪一天
@@ -182,11 +205,14 @@ export interface DatePickerReactData {
182
205
  panelPlacement: VxeDatePickerPropTypes.Placement
183
206
  isActivated: boolean
184
207
  inputValue: any
185
- inputLabel: string
208
+ labelFlag: number
186
209
  }
187
210
 
188
211
  export interface DatePickerInternalData {
189
212
  hpTimeout?: undefined | number
213
+ inputLabel: string
214
+ isTriggerMasked?: boolean
215
+ laseFocusMasked: number
190
216
  }
191
217
 
192
218
  export interface DatePickerMethods {
@@ -76,6 +76,10 @@ export namespace VxeDateRangePickerPropTypes {
76
76
  export interface TimeConfig extends VxeDatePanelPropTypes.TimeConfig {}
77
77
 
78
78
  export interface PopupConfig {
79
+ /**
80
+ * 是否启用,支持局部/全局启用
81
+ */
82
+ enabled?: boolean
79
83
  /**
80
84
  * 设置弹出面板方向
81
85
  */
@@ -50,6 +50,7 @@ export namespace VxeDrawerPropTypes {
50
50
  export type ShowHeader = boolean
51
51
  export type ShowFooter = boolean
52
52
  export type ShowClose = boolean
53
+ export type Preload = boolean
53
54
  export type Width = number | string
54
55
  export type Height = number | string
55
56
  export type Resize = boolean
@@ -86,6 +87,7 @@ export interface VxeDrawerProps {
86
87
  showHeader?: VxeDrawerPropTypes.ShowHeader
87
88
  showFooter?: VxeDrawerPropTypes.ShowFooter
88
89
  showClose?: VxeDrawerPropTypes.ShowClose
90
+ preload?: VxeDrawerPropTypes.Preload
89
91
  width?: VxeDrawerPropTypes.Width
90
92
  height?: VxeDrawerPropTypes.Height
91
93
  resize?: VxeDrawerPropTypes.Resize
@@ -71,6 +71,7 @@ export namespace VxeModalPropTypes {
71
71
  export type ShowHeader = boolean
72
72
  export type ShowFooter = boolean
73
73
  export type ShowZoom = boolean
74
+ export type Preload = boolean
74
75
  export interface ZoomConfig {
75
76
  minimizeLayout?: null | '' | 'vertical' | 'horizontal'
76
77
  minimizeMaxSize?: number
@@ -147,6 +148,7 @@ export interface VxeModalProps {
147
148
  showHeader?: VxeModalPropTypes.ShowHeader
148
149
  showFooter?: VxeModalPropTypes.ShowFooter
149
150
  showZoom?: VxeModalPropTypes.ShowZoom
151
+ preload?: VxeModalPropTypes.Preload
150
152
  zoomConfig?: VxeModalPropTypes.ZoomConfig
151
153
  showMaximize?: VxeModalPropTypes.ShowMaximize
152
154
  showMinimize?: VxeModalPropTypes.ShowMinimize
@@ -139,6 +139,7 @@ export interface SplitterReactData {
139
139
  itemList: VxeSplitterDefines.PaneConfig[]
140
140
  barWidth: number
141
141
  barHeight: number
142
+ resizeFlag: number
142
143
  }
143
144
 
144
145
  export interface SplitterInternalData {
@@ -5,10 +5,11 @@ import { VxeColumnPropTypes, VxeColumnProps, VxeColumnSlotTypes } from './column
5
5
  import { VxeTableExtendCellAreaDefines, VxeTableExtendCellAreaEmits } from './table-plugins'
6
6
  import { VxeGridConstructor } from './grid'
7
7
  import { VxeTooltipPropTypes } from './tooltip'
8
- import { VxeModalPropTypes } from './modal'
8
+ import { VxeModalConstructor, VxeModalPrivateMethods, VxeModalPropTypes } from './modal'
9
9
  import { VxeDrawerPropTypes } from './drawer'
10
10
  import { VxeToolbarConstructor, VxeToolbarInstance } from './toolbar'
11
11
  import { VxeTabsConstructor, VxeTabsPrivateMethods } from './tabs'
12
+ import { VxeSplitterConstructor, VxeSplitterMethods } from './splitter'
12
13
  import { VxeGanttConstructor, VxeGanttPrivateMethods } from './gantt'
13
14
  import { VxeGanttViewConstructor, VxeGanttViewInstance, VxeGanttViewPrivateMethods } from './gantt-module/gantt-view'
14
15
 
@@ -32,6 +33,8 @@ export type VxeTableInstance<D = any> = DefineVxeComponentInstance<{
32
33
  $xeGrid: VxeGridConstructor<D> | null | undefined
33
34
  $xeGantt: VxeTableDefines.InjectGanttType | null | undefined
34
35
  $xeTabs: (VxeTabsConstructor & VxeTabsPrivateMethods) | null
36
+ $xeModal: (VxeModalConstructor & VxeModalPrivateMethods) | null
37
+ $xeSplitter: (VxeSplitterConstructor & VxeSplitterMethods) | null
35
38
 
36
39
  /**
37
40
  * @deprecated
@@ -1352,6 +1355,8 @@ export namespace VxeTablePropTypes {
1352
1355
  * 是否启用浮动筛选
1353
1356
  */
1354
1357
  floatingFilters?: VxeColumnPropTypes.FloatingFilters
1358
+ rowClassName?: string
1359
+ cellClassName?: string
1355
1360
  }
1356
1361
 
1357
1362
  /**
@@ -1476,8 +1481,14 @@ export namespace VxeTablePropTypes {
1476
1481
  * 提示信息配置项
1477
1482
  */
1478
1483
  export interface TooltipConfig<D = VxeTablePropTypes.Row> {
1484
+ /**
1485
+ * 所有单元格开启工具提示
1486
+ */
1479
1487
  showAll?: boolean
1480
1488
  theme?: VxeTooltipPropTypes.Theme
1489
+ /**
1490
+ * 鼠标是否可进入到工具提示中
1491
+ */
1481
1492
  enterable?: VxeTooltipPropTypes.Enterable
1482
1493
  enterDelay?: VxeTooltipPropTypes.EnterDelay
1483
1494
  leaveDelay?: VxeTooltipPropTypes.LeaveDelay
@@ -1487,10 +1498,22 @@ export namespace VxeTablePropTypes {
1487
1498
  minHeight?: VxeTooltipPropTypes.MinHeight
1488
1499
  maxWidth?: VxeTooltipPropTypes.MaxWidth
1489
1500
  maxHeight?: VxeTooltipPropTypes.MaxHeight
1501
+ /**
1502
+ * 显示为 HTML 标签
1503
+ */
1490
1504
  useHtml?: VxeTooltipPropTypes.UseHtml
1505
+ /**
1506
+ * 固定方向
1507
+ */
1491
1508
  placement?: VxeTooltipPropTypes.Placement
1509
+ /**
1510
+ * 默认方向
1511
+ */
1492
1512
  defaultPlacement?: VxeTooltipPropTypes.DefaultPlacement
1493
1513
  popupClassName?: VxeTooltipPropTypes.PopupClassName
1514
+ /**
1515
+ * 该方法可以通过返回值来重写默认的提示内容,可以返回 null 使用默认的提示内容,可以返回空内容去掉指定单元格的提示内容
1516
+ */
1494
1517
  contentMethod?(params: {
1495
1518
  $table: VxeTableConstructor<D>
1496
1519
  items: any[]
@@ -1505,7 +1528,7 @@ export namespace VxeTablePropTypes {
1505
1528
  type: 'body'
1506
1529
  cell: HTMLElement
1507
1530
  $event: any
1508
- }): string | null | void
1531
+ }): string | boolean | null | void
1509
1532
  /**
1510
1533
  * 请使用 useHtml
1511
1534
  * @deprecated
@@ -1513,6 +1536,9 @@ export namespace VxeTablePropTypes {
1513
1536
  useHTML?: VxeTooltipPropTypes.UseHTML
1514
1537
  }
1515
1538
  export interface HeaderTooltipConfig<D = VxeTablePropTypes.Row> extends Omit<TooltipConfig<D>, 'contentMethod'> {
1539
+ /**
1540
+ * 该方法可以通过返回值来重写默认的提示内容,可以返回 null 使用默认的提示内容,可以返回空内容去掉指定单元格的提示内容
1541
+ */
1516
1542
  contentMethod?(params: {
1517
1543
  $table: VxeTableConstructor<D>
1518
1544
  $rowIndex: number
@@ -1523,9 +1549,12 @@ export namespace VxeTablePropTypes {
1523
1549
  type: 'header'
1524
1550
  cell: HTMLElement
1525
1551
  $event: any
1526
- }): string | null | void
1552
+ }): string | boolean | null | void
1527
1553
  }
1528
1554
  export interface FooterTooltipConfig<D = VxeTablePropTypes.Row> extends Omit<TooltipConfig<D>, 'contentMethod'> {
1555
+ /**
1556
+ * 该方法可以通过返回值来重写默认的提示内容,可以返回 null 使用默认的提示内容,可以返回空内容去掉指定单元格的提示内容
1557
+ */
1529
1558
  contentMethod?(params: {
1530
1559
  $table: VxeTableConstructor<D>
1531
1560
  items: any[]
@@ -1539,7 +1568,7 @@ export namespace VxeTablePropTypes {
1539
1568
  type: 'footer'
1540
1569
  cell: HTMLElement
1541
1570
  $event: any
1542
- }): string | null | void
1571
+ }): string | boolean | null | void
1543
1572
  }
1544
1573
 
1545
1574
  /**