vxe-pc-ui 3.14.19 → 3.14.21

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 (142) hide show
  1. package/es/language/ar-EG.js +2 -2
  2. package/es/language/de-DE.js +2 -2
  3. package/es/language/en-US.js +2 -2
  4. package/es/language/es-ES.js +2 -2
  5. package/es/language/fr-FR.js +2 -2
  6. package/es/language/hu-HU.js +2 -2
  7. package/es/language/hy-AM.js +2 -2
  8. package/es/language/id-ID.js +2 -2
  9. package/es/language/it-IT.js +2 -2
  10. package/es/language/ja-JP.js +2 -2
  11. package/es/language/ko-KR.js +2 -2
  12. package/es/language/ms-MY.js +2 -2
  13. package/es/language/nb-NO.js +2 -2
  14. package/es/language/pt-BR.js +2 -2
  15. package/es/language/ru-RU.js +2 -2
  16. package/es/language/th-TH.js +2 -2
  17. package/es/language/ug-CN.js +2 -2
  18. package/es/language/uk-UA.js +2 -2
  19. package/es/language/uz-UZ.js +2 -2
  20. package/es/language/vi-VN.js +2 -2
  21. package/es/language/zh-CHT.js +2 -2
  22. package/es/language/zh-CN.js +2 -2
  23. package/es/tree/src/tree.js +24 -19
  24. package/es/tree-select/src/tree-select.js +72 -18
  25. package/es/ui/index.js +2 -1
  26. package/es/ui/src/log.js +1 -1
  27. package/lib/index.umd.js +110 -51
  28. package/lib/index.umd.min.js +1 -1
  29. package/lib/language/ar-EG.js +2 -2
  30. package/lib/language/ar-EG.min.js +1 -1
  31. package/lib/language/ar-EG.umd.js +2 -2
  32. package/lib/language/de-DE.js +2 -2
  33. package/lib/language/de-DE.min.js +1 -1
  34. package/lib/language/de-DE.umd.js +2 -2
  35. package/lib/language/en-US.js +2 -2
  36. package/lib/language/en-US.min.js +1 -1
  37. package/lib/language/en-US.umd.js +2 -2
  38. package/lib/language/es-ES.js +2 -2
  39. package/lib/language/es-ES.min.js +1 -1
  40. package/lib/language/es-ES.umd.js +2 -2
  41. package/lib/language/fr-FR.js +2 -2
  42. package/lib/language/fr-FR.min.js +1 -1
  43. package/lib/language/fr-FR.umd.js +2 -2
  44. package/lib/language/hu-HU.js +2 -2
  45. package/lib/language/hu-HU.min.js +1 -1
  46. package/lib/language/hu-HU.umd.js +2 -2
  47. package/lib/language/hy-AM.js +2 -2
  48. package/lib/language/hy-AM.min.js +1 -1
  49. package/lib/language/hy-AM.umd.js +2 -2
  50. package/lib/language/id-ID.js +2 -2
  51. package/lib/language/id-ID.min.js +1 -1
  52. package/lib/language/id-ID.umd.js +2 -2
  53. package/lib/language/it-IT.js +2 -2
  54. package/lib/language/it-IT.min.js +1 -1
  55. package/lib/language/it-IT.umd.js +2 -2
  56. package/lib/language/ja-JP.js +2 -2
  57. package/lib/language/ja-JP.min.js +1 -1
  58. package/lib/language/ja-JP.umd.js +2 -2
  59. package/lib/language/ko-KR.js +2 -2
  60. package/lib/language/ko-KR.min.js +1 -1
  61. package/lib/language/ko-KR.umd.js +2 -2
  62. package/lib/language/ms-MY.js +2 -2
  63. package/lib/language/ms-MY.min.js +1 -1
  64. package/lib/language/ms-MY.umd.js +2 -2
  65. package/lib/language/nb-NO.js +2 -2
  66. package/lib/language/nb-NO.min.js +1 -1
  67. package/lib/language/nb-NO.umd.js +2 -2
  68. package/lib/language/pt-BR.js +2 -2
  69. package/lib/language/pt-BR.min.js +1 -1
  70. package/lib/language/pt-BR.umd.js +2 -2
  71. package/lib/language/ru-RU.js +2 -2
  72. package/lib/language/ru-RU.min.js +1 -1
  73. package/lib/language/ru-RU.umd.js +2 -2
  74. package/lib/language/th-TH.js +2 -2
  75. package/lib/language/th-TH.min.js +1 -1
  76. package/lib/language/th-TH.umd.js +2 -2
  77. package/lib/language/ug-CN.js +2 -2
  78. package/lib/language/ug-CN.min.js +1 -1
  79. package/lib/language/ug-CN.umd.js +2 -2
  80. package/lib/language/uk-UA.js +2 -2
  81. package/lib/language/uk-UA.min.js +1 -1
  82. package/lib/language/uk-UA.umd.js +2 -2
  83. package/lib/language/uz-UZ.js +2 -2
  84. package/lib/language/uz-UZ.min.js +1 -1
  85. package/lib/language/uz-UZ.umd.js +2 -2
  86. package/lib/language/vi-VN.js +2 -2
  87. package/lib/language/vi-VN.min.js +1 -1
  88. package/lib/language/vi-VN.umd.js +2 -2
  89. package/lib/language/zh-CHT.js +2 -2
  90. package/lib/language/zh-CHT.min.js +1 -1
  91. package/lib/language/zh-CHT.umd.js +2 -2
  92. package/lib/language/zh-CN.js +2 -2
  93. package/lib/language/zh-CN.min.js +1 -1
  94. package/lib/language/zh-CN.umd.js +2 -2
  95. package/lib/tree/src/tree.js +33 -24
  96. package/lib/tree/src/tree.min.js +1 -1
  97. package/lib/tree-select/src/tree-select.js +72 -23
  98. package/lib/tree-select/src/tree-select.min.js +1 -1
  99. package/lib/ui/index.js +2 -1
  100. package/lib/ui/index.min.js +1 -1
  101. package/lib/ui/src/log.js +1 -1
  102. package/lib/ui/src/log.min.js +1 -1
  103. package/package.json +1 -1
  104. package/packages/language/ar-EG.ts +2 -2
  105. package/packages/language/de-DE.ts +2 -2
  106. package/packages/language/en-US.ts +2 -2
  107. package/packages/language/es-ES.ts +2 -2
  108. package/packages/language/fr-FR.ts +2 -2
  109. package/packages/language/hu-HU.ts +2 -2
  110. package/packages/language/hy-AM.ts +2 -2
  111. package/packages/language/id-ID.ts +2 -2
  112. package/packages/language/it-IT.ts +2 -2
  113. package/packages/language/ja-JP.ts +2 -2
  114. package/packages/language/ko-KR.ts +2 -2
  115. package/packages/language/ms-MY.ts +2 -2
  116. package/packages/language/nb-NO.ts +2 -2
  117. package/packages/language/pt-BR.ts +2 -2
  118. package/packages/language/ru-RU.ts +2 -2
  119. package/packages/language/th-TH.ts +2 -2
  120. package/packages/language/ug-CN.ts +2 -2
  121. package/packages/language/uk-UA.ts +2 -2
  122. package/packages/language/uz-UZ.ts +2 -2
  123. package/packages/language/vi-VN.ts +2 -2
  124. package/packages/language/zh-CHT.ts +2 -2
  125. package/packages/language/zh-CN.ts +2 -2
  126. package/packages/tree/src/tree.ts +25 -19
  127. package/packages/tree-select/src/tree-select.ts +76 -26
  128. package/packages/ui/index.ts +1 -0
  129. package/types/components/tree-select.d.ts +18 -7
  130. package/types/components/tree.d.ts +4 -0
  131. /package/es/icon/{iconfont.1779445582657.ttf → iconfont.1779687100417.ttf} +0 -0
  132. /package/es/icon/{iconfont.1779445582657.woff → iconfont.1779687100417.woff} +0 -0
  133. /package/es/icon/{iconfont.1779445582657.woff2 → iconfont.1779687100417.woff2} +0 -0
  134. /package/es/{iconfont.1779445582657.ttf → iconfont.1779687100417.ttf} +0 -0
  135. /package/es/{iconfont.1779445582657.woff → iconfont.1779687100417.woff} +0 -0
  136. /package/es/{iconfont.1779445582657.woff2 → iconfont.1779687100417.woff2} +0 -0
  137. /package/lib/icon/style/{iconfont.1779445582657.ttf → iconfont.1779687100417.ttf} +0 -0
  138. /package/lib/icon/style/{iconfont.1779445582657.woff → iconfont.1779687100417.woff} +0 -0
  139. /package/lib/icon/style/{iconfont.1779445582657.woff2 → iconfont.1779687100417.woff2} +0 -0
  140. /package/lib/{iconfont.1779445582657.ttf → iconfont.1779687100417.ttf} +0 -0
  141. /package/lib/{iconfont.1779445582657.woff → iconfont.1779687100417.woff} +0 -0
  142. /package/lib/{iconfont.1779445582657.woff2 → iconfont.1779687100417.woff2} +0 -0
@@ -11,7 +11,7 @@ import VxeButtonComponent from '../../button'
11
11
  import VxeTreeComponent from '../../tree'
12
12
  import { getSlotVNs } from '../../ui/src/vn'
13
13
 
14
- import type { TreeSelectReactData, VxeTreeSelectEmits, TreeSelectInternalData, VxeComponentSizeType, VxeButtonDefines, VxeInputDefines, VxeTreeDefines, ValueOf, VxeComponentStyleType, VxeTreeSelectPropTypes, VxeFormDefines, VxeDrawerConstructor, VxeDrawerMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods, VxeInputConstructor, VxeTreeConstructor } from '../../../types'
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
17
  function getOptUniqueId () {
@@ -29,7 +29,9 @@ function createReactData (): TreeSelectReactData {
29
29
  triggerFocusPanel: false,
30
30
  visiblePanel: false,
31
31
  isAniVisible: false,
32
- isActivated: false
32
+ isActivated: false,
33
+ fullOptFlag: 1,
34
+ lazyOptFlag: 1
33
35
  }
34
36
  }
35
37
 
@@ -37,7 +39,8 @@ function createInternalData (): TreeSelectInternalData {
37
39
  return {
38
40
  // hpTimeout: undefined,
39
41
  fullOptionList: [],
40
- fullNodeMaps: {}
42
+ fullNodeMaps: {},
43
+ lazyNodeMaps: {}
41
44
  }
42
45
  }
43
46
 
@@ -66,6 +69,14 @@ export default /* define-vxe-component start */ defineVxeComponent({
66
69
  type: Boolean as PropType<VxeTreeSelectPropTypes.Disabled>,
67
70
  default: null
68
71
  },
72
+ showFullLabel: {
73
+ type: Boolean as PropType<VxeTreeSelectPropTypes.ShowFullLabel>,
74
+ default: getConfig().treeSelect.showFullLabel
75
+ },
76
+ separator: {
77
+ type: String as PropType<VxeTreeSelectPropTypes.Separator>,
78
+ default: getConfig().treeSelect.separator
79
+ },
69
80
  filterable: Boolean as PropType<VxeTreeSelectPropTypes.Filterable>,
70
81
  filterConfig: Object as PropType<VxeTreeSelectPropTypes.FilterConfig>,
71
82
  multiple: Boolean as PropType<VxeTreeSelectPropTypes.Multiple>,
@@ -345,22 +356,23 @@ export default /* define-vxe-component start */ defineVxeComponent({
345
356
  computeSelectLabel () {
346
357
  const $xeTreeSelect = this
347
358
  const props = $xeTreeSelect
359
+ const reactData = ($xeTreeSelect as any).reactData as TreeSelectReactData
348
360
  const internalData = ($xeTreeSelect as any).internalData as TreeSelectInternalData
349
361
 
350
- const { value: modelValue, lazyOptions } = props
351
- const { fullNodeMaps } = internalData
352
- const valueField = $xeTreeSelect.computeValueField as string
362
+ const { value: modelValue, showFullLabel } = props
363
+ const { fullOptFlag, lazyOptFlag } = reactData
364
+ const { fullNodeMaps, lazyNodeMaps } = internalData
353
365
  const labelField = $xeTreeSelect.computeLabelField as string
354
366
  const selectVals = XEUtils.eqNull(modelValue) ? [] : (XEUtils.isArray(modelValue) ? modelValue : [modelValue])
355
367
  return selectVals.map(val => {
356
368
  const cacheItem = fullNodeMaps[val]
357
- if (cacheItem) {
358
- return cacheItem.item[labelField]
369
+ if (fullOptFlag && cacheItem) {
370
+ return showFullLabel ? cacheItem.fullLabel : cacheItem.item[labelField]
359
371
  }
360
- if (lazyOptions) {
361
- const lazyItem = lazyOptions.find(item => item[valueField] === val)
362
- if (lazyItem) {
363
- return lazyItem[labelField]
372
+ if (lazyOptFlag) {
373
+ const lazyCacheItem = lazyNodeMaps[val]
374
+ if (lazyCacheItem) {
375
+ return showFullLabel ? lazyCacheItem.fullLabel : lazyCacheItem.item[labelField]
364
376
  }
365
377
  }
366
378
  return val
@@ -421,24 +433,20 @@ export default /* define-vxe-component start */ defineVxeComponent({
421
433
  const nodeid = option[nodeKeyField]
422
434
  return nodeid ? encodeURIComponent(nodeid) : ''
423
435
  },
424
- cacheDataMap () {
436
+ handleCacheMap (optList: VxeTreeSelectPropTypes.Options) {
425
437
  const $xeTreeSelect = this
426
438
  const props = $xeTreeSelect
427
- const internalData = $xeTreeSelect.internalData
428
439
 
429
- const { options } = props
440
+ const { separator } = props
441
+ const treeOpts = $xeTreeSelect.computeTreeOpts
430
442
  const nodeKeyField = $xeTreeSelect.computeNodeKeyField
431
443
  const childrenField = $xeTreeSelect.computeChildrenField
432
444
  const valueField = $xeTreeSelect.computeValueField
433
- const nodeMaps: Record<string, {
434
- item: any
435
- index: number
436
- items: any[]
437
- parent: any
438
- nodes: any[]
439
- }> = {}
445
+ const labelField = $xeTreeSelect.computeLabelField
446
+ const { transform } = treeOpts
447
+ const nodeMaps: Record<string, VxeTreeSelectDefines.NodeCacheObj> = {}
440
448
  const keyMaps: Record<string, boolean> = {}
441
- XEUtils.eachTree(options, (item, index, items, path, parent, nodes) => {
449
+ const handleOptNode = (item: any, index: number, items: any[], path: string[], parentItem: any, nodes: any[]) => {
442
450
  let nodeid = $xeTreeSelect.getNodeid(item)
443
451
  if (!nodeid) {
444
452
  nodeid = getOptUniqueId()
@@ -451,10 +459,46 @@ export default /* define-vxe-component start */ defineVxeComponent({
451
459
  if (nodeMaps[value]) {
452
460
  errLog('vxe.error.repeatKey', [`[tree-select] ${valueField}`, value])
453
461
  }
454
- nodeMaps[value] = { item, index, items, parent, nodes }
455
- }, { children: childrenField })
462
+ nodeMaps[value] = {
463
+ item,
464
+ index,
465
+ items,
466
+ parent: parentItem,
467
+ nodes,
468
+ fullLabel: nodes.map(item => item[labelField]).join((separator || '/') + ' ')
469
+ }
470
+ }
471
+ if (optList) {
472
+ if (transform) {
473
+ optList.forEach((item, index, items) => {
474
+ handleOptNode(item, index, items, [], null, [])
475
+ })
476
+ } else {
477
+ XEUtils.eachTree(optList, handleOptNode, { children: childrenField })
478
+ }
479
+ }
480
+ return nodeMaps
481
+ },
482
+ cacheDataMap () {
483
+ const $xeTreeSelect = this
484
+ const props = $xeTreeSelect
485
+ const reactData = $xeTreeSelect.reactData
486
+ const internalData = $xeTreeSelect.internalData
487
+
488
+ const { options } = props
489
+ internalData.fullNodeMaps = $xeTreeSelect.handleCacheMap(options || [])
456
490
  internalData.fullOptionList = options || []
457
- internalData.fullNodeMaps = nodeMaps
491
+ reactData.fullOptFlag++
492
+ },
493
+ cacheLazyDataMap () {
494
+ const $xeTreeSelect = this
495
+ const props = $xeTreeSelect
496
+ const reactData = $xeTreeSelect.reactData
497
+ const internalData = $xeTreeSelect.internalData
498
+
499
+ const { lazyOptions } = props
500
+ internalData.lazyNodeMaps = $xeTreeSelect.handleCacheMap(lazyOptions || [])
501
+ reactData.lazyOptFlag++
458
502
  },
459
503
  updateZindex () {
460
504
  const $xeTreeSelect = this
@@ -1121,12 +1165,18 @@ export default /* define-vxe-component start */ defineVxeComponent({
1121
1165
  const $xeTreeSelect = this
1122
1166
 
1123
1167
  $xeTreeSelect.cacheDataMap()
1168
+ },
1169
+ lazyOptions () {
1170
+ const $xeTreeSelect = this
1171
+
1172
+ $xeTreeSelect.cacheLazyDataMap()
1124
1173
  }
1125
1174
  },
1126
1175
  created () {
1127
1176
  const $xeTreeSelect = this
1128
1177
 
1129
1178
  $xeTreeSelect.cacheDataMap()
1179
+ $xeTreeSelect.cacheLazyDataMap()
1130
1180
  },
1131
1181
  mounted () {
1132
1182
  const $xeTreeSelect = this
@@ -426,6 +426,7 @@ setConfig({
426
426
  },
427
427
  treeSelect: {
428
428
  autoClose: null as any,
429
+ // separator: '/',
429
430
  virtualYConfig: {
430
431
  enabled: true,
431
432
  gt: 0,
@@ -29,6 +29,8 @@ export namespace VxeTreeSelectPropTypes {
29
29
  export type Readonly = boolean
30
30
  export type Loading = boolean
31
31
  export type Disabled = boolean
32
+ export type ShowFullLabel = boolean
33
+ export type Separator = string
32
34
  /**
33
35
  * 已废弃,被 CheckedClosable, ClearClosable 替换
34
36
  * @deprecated
@@ -153,6 +155,8 @@ export interface VxeTreeSelectProps<D = any> {
153
155
  readonly?: VxeTreeSelectPropTypes.Readonly
154
156
  loading?: VxeTreeSelectPropTypes.Loading
155
157
  disabled?: VxeTreeSelectPropTypes.Disabled
158
+ showFullLabel?: VxeTreeSelectPropTypes.ShowFullLabel
159
+ separator?: VxeTreeSelectPropTypes.Separator
156
160
  /**
157
161
  * 已废弃,被 checked-closable, clear-closable 替换
158
162
  * @deprecated
@@ -214,18 +218,16 @@ export interface TreeSelectReactData {
214
218
  visiblePanel: boolean
215
219
  isAniVisible: boolean
216
220
  isActivated: boolean
221
+
222
+ fullOptFlag: number
223
+ lazyOptFlag: number
217
224
  }
218
225
 
219
226
  export interface TreeSelectInternalData {
220
227
  hpTimeout?: undefined | number
221
228
  fullOptionList: any[]
222
- fullNodeMaps: Record<string, {
223
- item: any
224
- index: number
225
- items: any[]
226
- parent: any
227
- nodes: any[]
228
- }>
229
+ fullNodeMaps: Record<string, VxeTreeSelectDefines.NodeCacheObj>
230
+ lazyNodeMaps: Record<string, VxeTreeSelectDefines.NodeCacheObj>
229
231
  }
230
232
 
231
233
  export interface TreeSelectMethods {
@@ -249,6 +251,15 @@ export type VxeTreeSelectEmits = [
249
251
  ]
250
252
 
251
253
  export namespace VxeTreeSelectDefines {
254
+ export interface NodeCacheObj {
255
+ item: any
256
+ index: number
257
+ items: any[]
258
+ parent: any
259
+ nodes: any[]
260
+ fullLabel: string
261
+ }
262
+
252
263
  export interface TreeSelectEventParams extends VxeComponentEventParams {
253
264
  $treeSelect: VxeTreeSelectConstructor
254
265
  }
@@ -64,10 +64,12 @@ export namespace VxeTreePropTypes {
64
64
  export type CheckNodeKey = string | number | null
65
65
  export interface RadioConfig<D = any> {
66
66
  strict?: boolean
67
+ visibleMode?: 'all' | 'first' | 'last' | '' | null
67
68
  visibleMethod?: (params: {
68
69
  $tree: VxeTreeConstructor
69
70
  node: D
70
71
  }) => boolean
72
+ checkMode?: 'all' | 'first' | 'last' | '' | null
71
73
  checkMethod?: (params: {
72
74
  $tree: VxeTreeConstructor
73
75
  node: D
@@ -82,10 +84,12 @@ export namespace VxeTreePropTypes {
82
84
  showHeader?: boolean
83
85
  checkStrictly?: boolean
84
86
  highlight?: boolean
87
+ visibleMode?: 'all' | 'first' | 'last' | '' | null
85
88
  visibleMethod?: (params: {
86
89
  $tree: VxeTreeConstructor
87
90
  node: D
88
91
  }) => boolean
92
+ checkMode?: 'all' | 'first' | 'last' | '' | null
89
93
  checkMethod?: (params: {
90
94
  $tree: VxeTreeConstructor
91
95
  node: D