vxe-pc-ui 4.8.6 → 4.8.8

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 (77) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/language/de-DE.js +80 -80
  3. package/es/language/es-ES.js +79 -79
  4. package/es/language/ja-JP.js +82 -82
  5. package/es/language/ko-KR.js +88 -88
  6. package/es/language/ru-RU.js +84 -84
  7. package/es/language/vi-VN.js +79 -79
  8. package/es/language/zh-CHT.js +21 -21
  9. package/es/style.css +1 -1
  10. package/es/style.min.css +1 -1
  11. package/es/tree/src/tree.js +93 -54
  12. package/es/tree/src/util.js +7 -0
  13. package/es/tree-select/src/tree-select.js +6 -4
  14. package/es/ui/index.js +1 -1
  15. package/es/ui/src/log.js +1 -1
  16. package/lib/icon/style/style.css +1 -1
  17. package/lib/icon/style/style.min.css +1 -1
  18. package/lib/index.umd.js +100 -61
  19. package/lib/index.umd.min.js +1 -1
  20. package/lib/language/de-DE.js +80 -80
  21. package/lib/language/de-DE.min.js +1 -1
  22. package/lib/language/de-DE.umd.js +80 -80
  23. package/lib/language/es-ES.js +79 -79
  24. package/lib/language/es-ES.min.js +1 -1
  25. package/lib/language/es-ES.umd.js +79 -79
  26. package/lib/language/ja-JP.js +82 -82
  27. package/lib/language/ja-JP.min.js +1 -1
  28. package/lib/language/ja-JP.umd.js +82 -82
  29. package/lib/language/ko-KR.js +88 -88
  30. package/lib/language/ko-KR.min.js +1 -1
  31. package/lib/language/ko-KR.umd.js +88 -88
  32. package/lib/language/ru-RU.js +84 -84
  33. package/lib/language/ru-RU.min.js +1 -1
  34. package/lib/language/ru-RU.umd.js +84 -84
  35. package/lib/language/vi-VN.js +79 -79
  36. package/lib/language/vi-VN.min.js +1 -1
  37. package/lib/language/vi-VN.umd.js +79 -79
  38. package/lib/language/zh-CHT.js +21 -21
  39. package/lib/language/zh-CHT.min.js +1 -1
  40. package/lib/language/zh-CHT.umd.js +21 -21
  41. package/lib/style.css +1 -1
  42. package/lib/style.min.css +1 -1
  43. package/lib/tree/src/tree.js +85 -55
  44. package/lib/tree/src/tree.min.js +1 -1
  45. package/lib/tree/src/util.js +10 -0
  46. package/lib/tree/src/util.min.js +1 -1
  47. package/lib/tree-select/src/tree-select.js +6 -4
  48. package/lib/tree-select/src/tree-select.min.js +1 -1
  49. package/lib/ui/index.js +1 -1
  50. package/lib/ui/index.min.js +1 -1
  51. package/lib/ui/src/log.js +1 -1
  52. package/lib/ui/src/log.min.js +1 -1
  53. package/package.json +1 -1
  54. package/packages/language/de-DE.ts +80 -80
  55. package/packages/language/es-ES.ts +79 -79
  56. package/packages/language/ja-JP.ts +82 -82
  57. package/packages/language/ko-KR.ts +88 -88
  58. package/packages/language/ru-RU.ts +84 -84
  59. package/packages/language/vi-VN.ts +79 -79
  60. package/packages/language/zh-CHT.ts +21 -21
  61. package/packages/tree/src/tree.ts +92 -56
  62. package/packages/tree/src/util.ts +10 -0
  63. package/packages/tree-select/src/tree-select.ts +6 -4
  64. package/types/components/table.d.ts +1 -1
  65. package/types/components/tree.d.ts +1 -1
  66. /package/es/icon/{iconfont.1754376575166.ttf → iconfont.1754439880814.ttf} +0 -0
  67. /package/es/icon/{iconfont.1754376575166.woff → iconfont.1754439880814.woff} +0 -0
  68. /package/es/icon/{iconfont.1754376575166.woff2 → iconfont.1754439880814.woff2} +0 -0
  69. /package/es/{iconfont.1754376575166.ttf → iconfont.1754439880814.ttf} +0 -0
  70. /package/es/{iconfont.1754376575166.woff → iconfont.1754439880814.woff} +0 -0
  71. /package/es/{iconfont.1754376575166.woff2 → iconfont.1754439880814.woff2} +0 -0
  72. /package/lib/icon/style/{iconfont.1754376575166.ttf → iconfont.1754439880814.ttf} +0 -0
  73. /package/lib/icon/style/{iconfont.1754376575166.woff → iconfont.1754439880814.woff} +0 -0
  74. /package/lib/icon/style/{iconfont.1754376575166.woff2 → iconfont.1754439880814.woff2} +0 -0
  75. /package/lib/{iconfont.1754376575166.ttf → iconfont.1754439880814.ttf} +0 -0
  76. /package/lib/{iconfont.1754376575166.woff → iconfont.1754439880814.woff} +0 -0
  77. /package/lib/{iconfont.1754376575166.woff2 → iconfont.1754439880814.woff2} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { ref, h, reactive, PropType, computed, VNode, watch, onUnmounted, nextTick, onMounted } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import { getI18n, createEvent, getIcon, getConfig, useSize, globalEvents, globalResize, renderEmptyElement } from '../../ui'
4
- import { calcTreeLine } from './util'
4
+ import { calcTreeLine, enNodeValue, deNodeValue } from './util'
5
5
  import { errLog } from '../../ui/src/log'
6
6
  import XEUtils from 'xe-utils'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
@@ -164,7 +164,7 @@ export default defineVxeComponent({
164
164
  scrollYLoad: false,
165
165
  bodyHeight: 0,
166
166
  topSpaceHeight: 0,
167
- selectRadioKey: props.checkNodeKey,
167
+ selectRadioKey: enNodeValue(props.checkNodeKey),
168
168
  treeList: [],
169
169
  updateExpandedFlag: 1,
170
170
  updateCheckboxFlag: 1
@@ -307,8 +307,8 @@ export default defineVxeComponent({
307
307
 
308
308
  const getNodeId = (node: any) => {
309
309
  const valueField = computeValueField.value
310
- const nodeid = XEUtils.get(node, valueField)
311
- return XEUtils.eqNull(nodeid) ? '' : encodeURIComponent(nodeid)
310
+ const nodeKey = XEUtils.get(node, valueField)
311
+ return enNodeValue(nodeKey)
312
312
  }
313
313
 
314
314
  const isExpandByNode = (node: any) => {
@@ -355,31 +355,15 @@ export default defineVxeComponent({
355
355
  emit('update:checkNodeKey', value)
356
356
  }
357
357
 
358
- const setRadioNode = (node: any) => {
359
- if (node) {
360
- reactData.selectRadioKey = getNodeId(node)
361
- }
362
- return nextTick()
363
- }
364
-
365
- const setCheckboxNode = (nodeList: any | any[], checked: boolean) => {
366
- if (nodeList) {
367
- if (!XEUtils.isArray(nodeList)) {
368
- nodeList = [nodeList]
369
- }
370
- handleCheckedCheckboxNode(nodeList, checked)
371
- }
372
- return nextTick()
373
- }
374
-
375
- const setCheckboxByNodeId = (nodeIds: any | any[], checked: boolean) => {
358
+ const handleSetCheckboxByNodeId = (nodeKeys: any | any[], checked: boolean) => {
376
359
  const { nodeMaps } = internalData
377
- if (nodeIds) {
378
- if (!XEUtils.isArray(nodeIds)) {
379
- nodeIds = [nodeIds]
360
+ if (nodeKeys) {
361
+ if (!XEUtils.isArray(nodeKeys)) {
362
+ nodeKeys = [nodeKeys]
380
363
  }
381
364
  const nodeList: any[] = []
382
- nodeIds.forEach((nodeid: string) => {
365
+ nodeKeys.forEach((nodeKey: string) => {
366
+ const nodeid = enNodeValue(nodeKey)
383
367
  const nodeItem = nodeMaps[nodeid]
384
368
  if (nodeItem) {
385
369
  nodeList.push(nodeItem.item)
@@ -418,8 +402,9 @@ export default defineVxeComponent({
418
402
  updateCheckboxStatus()
419
403
  }
420
404
 
421
- const updateCheckboxChecked = (nodeIds: VxeTreePropTypes.CheckNodeKeys) => {
422
- setCheckboxByNodeId(nodeIds, true)
405
+ const updateCheckboxChecked = (nodeKeys: VxeTreePropTypes.CheckNodeKeys) => {
406
+ internalData.selectCheckboxMaps = {}
407
+ handleSetCheckboxByNodeId(nodeKeys, true)
423
408
  }
424
409
 
425
410
  const handleSetExpand = (nodeid: string | number, expanded: boolean, expandedMaps: Record<string, boolean>) => {
@@ -571,7 +556,12 @@ export default defineVxeComponent({
571
556
  beforeFilterMethod(bafParams)
572
557
  }
573
558
  if (transform) {
574
- treeList = XEUtils.searchTree(treeFullData, handleSearch, { children: childrenField, mapChildren: mapChildrenField, isEvery: true })
559
+ treeList = XEUtils.searchTree(treeFullData, handleSearch, {
560
+ original: true,
561
+ isEvery: true,
562
+ children: childrenField,
563
+ mapChildren: mapChildrenField
564
+ })
575
565
  fullList = treeList
576
566
  } else {
577
567
  fullList = treeFullData.filter(handleSearch)
@@ -593,7 +583,12 @@ export default defineVxeComponent({
593
583
  })
594
584
  } else {
595
585
  if (transform) {
596
- treeList = XEUtils.searchTree(treeFullData, () => true, { children: childrenField, mapChildren: mapChildrenField, isEvery: true })
586
+ treeList = XEUtils.searchTree(treeFullData, () => true, {
587
+ original: true,
588
+ isEvery: true,
589
+ children: childrenField,
590
+ mapChildren: mapChildrenField
591
+ })
597
592
  fullList = treeList
598
593
  if (lastFilterValue) {
599
594
  const bafParams = { $tree: $xeTree, filterValue: filterStr }
@@ -694,7 +689,7 @@ export default defineVxeComponent({
694
689
  if (expandAll) {
695
690
  $xeTree.setAllExpandNode(true)
696
691
  }
697
- $xeTree.setCheckboxByNodeId(props.checkNodeKeys || [], true)
692
+ handleSetCheckboxByNodeId(props.checkNodeKeys || [], true)
698
693
  }
699
694
  }
700
695
  updateHeight()
@@ -1174,7 +1169,8 @@ export default defineVxeComponent({
1174
1169
  }
1175
1170
  reactData.updateCheckboxFlag++
1176
1171
  updateCheckboxStatus()
1177
- const value = XEUtils.keys(selectCheckboxMaps)
1172
+ const nodeids = XEUtils.keys(selectCheckboxMaps)
1173
+ const value = nodeids.map(deNodeValue)
1178
1174
  emitCheckboxMode(value)
1179
1175
  dispatchEvent('checkbox-change', { node, value, checked: isChecked }, evnt)
1180
1176
  }
@@ -1220,8 +1216,9 @@ export default defineVxeComponent({
1220
1216
  return
1221
1217
  }
1222
1218
  const isChecked = true
1223
- const value = getNodeId(node)
1224
- reactData.selectRadioKey = value
1219
+ const nodeid = getNodeId(node)
1220
+ const value = deNodeValue(nodeid)
1221
+ reactData.selectRadioKey = nodeid
1225
1222
  emitRadioMode(value)
1226
1223
  dispatchEvent('radio-change', { node, value, checked: isChecked }, evnt)
1227
1224
  }
@@ -1260,7 +1257,7 @@ export default defineVxeComponent({
1260
1257
  getCurrentNodeId () {
1261
1258
  const { currentNode } = reactData
1262
1259
  if (currentNode) {
1263
- return getNodeId(currentNode)
1260
+ return deNodeValue(getNodeId(currentNode))
1264
1261
  }
1265
1262
  return null
1266
1263
  },
@@ -1277,7 +1274,7 @@ export default defineVxeComponent({
1277
1274
  },
1278
1275
  setCurrentNodeId (nodeKey) {
1279
1276
  const { nodeMaps } = internalData
1280
- const nodeItem = nodeMaps[`${nodeKey}`]
1277
+ const nodeItem = nodeMaps[enNodeValue(nodeKey)]
1281
1278
  reactData.currentNode = nodeItem ? nodeItem.item : null
1282
1279
  return nextTick()
1283
1280
  },
@@ -1287,6 +1284,7 @@ export default defineVxeComponent({
1287
1284
  },
1288
1285
  clearRadioNode () {
1289
1286
  reactData.selectRadioKey = null
1287
+ emitRadioMode(null)
1290
1288
  return nextTick()
1291
1289
  },
1292
1290
  getRadioNodeId () {
@@ -1304,15 +1302,42 @@ export default defineVxeComponent({
1304
1302
  return null
1305
1303
  },
1306
1304
  setRadioNodeId (nodeKey) {
1307
- reactData.selectRadioKey = nodeKey
1305
+ reactData.selectRadioKey = enNodeValue(nodeKey)
1306
+ emitRadioMode(nodeKey)
1307
+ return nextTick()
1308
+ },
1309
+ setRadioNode (node) {
1310
+ if (node) {
1311
+ const nodeid = getNodeId(node)
1312
+ reactData.selectRadioKey = nodeid
1313
+ emitRadioMode(deNodeValue(nodeid))
1314
+ } else {
1315
+ emitRadioMode(null)
1316
+ }
1317
+ return nextTick()
1318
+ },
1319
+ setCheckboxNode (nodeList, checked) {
1320
+ if (nodeList) {
1321
+ if (!XEUtils.isArray(nodeList)) {
1322
+ nodeList = [nodeList]
1323
+ }
1324
+ handleCheckedCheckboxNode(nodeList, checked)
1325
+ }
1326
+ emitCheckboxMode($xeTree.getCheckboxNodeIds())
1327
+ return nextTick()
1328
+ },
1329
+ setCheckboxByNodeId (nodeKeys, selected) {
1330
+ handleSetCheckboxByNodeId(nodeKeys, selected)
1331
+ emitCheckboxMode($xeTree.getCheckboxNodeIds())
1308
1332
  return nextTick()
1309
1333
  },
1310
- setRadioNode,
1311
- setCheckboxNode,
1312
- setCheckboxByNodeId,
1313
1334
  getCheckboxNodeIds () {
1314
1335
  const { selectCheckboxMaps } = internalData
1315
- return Object.keys(selectCheckboxMaps)
1336
+ const nodeKeys: any[] = []
1337
+ XEUtils.each(selectCheckboxMaps, (item, nodeId) => {
1338
+ nodeKeys.push(deNodeValue(nodeId))
1339
+ })
1340
+ return nodeKeys
1316
1341
  },
1317
1342
  getCheckboxNodes () {
1318
1343
  const { nodeMaps, selectCheckboxMaps } = internalData
@@ -1326,8 +1351,11 @@ export default defineVxeComponent({
1326
1351
  return list
1327
1352
  },
1328
1353
  clearCheckboxNode () {
1354
+ internalData.indeterminateRowMaps = {}
1329
1355
  internalData.selectCheckboxMaps = {}
1330
1356
  reactData.updateCheckboxFlag++
1357
+ emitCheckboxMode([])
1358
+ updateCheckboxStatus()
1331
1359
  return nextTick().then(() => {
1332
1360
  return { checkNodeKeys: [] }
1333
1361
  })
@@ -1345,8 +1373,10 @@ export default defineVxeComponent({
1345
1373
  selectMaps[nodeid] = true
1346
1374
  }, { children: transform ? mapChildrenField : childrenField })
1347
1375
  }
1376
+ internalData.indeterminateRowMaps = {}
1348
1377
  internalData.selectCheckboxMaps = selectMaps
1349
1378
  reactData.updateCheckboxFlag++
1379
+ updateCheckboxStatus()
1350
1380
  return nextTick().then(() => {
1351
1381
  return { checkNodeKeys: checkKeys }
1352
1382
  })
@@ -1368,14 +1398,15 @@ export default defineVxeComponent({
1368
1398
  handleData()
1369
1399
  return recalculate()
1370
1400
  },
1371
- setExpandByNodeId (nodeids, expanded) {
1401
+ setExpandByNodeId (nodeKeys, expanded) {
1372
1402
  const { treeExpandedMaps } = internalData
1373
- if (nodeids) {
1374
- if (!XEUtils.isArray(nodeids)) {
1375
- nodeids = [nodeids]
1403
+ if (nodeKeys) {
1404
+ if (!XEUtils.isArray(nodeKeys)) {
1405
+ nodeKeys = [nodeKeys]
1376
1406
  }
1377
- nodeids.forEach((nodeid) => {
1378
- handleSetExpand(`${nodeid}`, expanded, treeExpandedMaps)
1407
+ nodeKeys.forEach((nodeKey) => {
1408
+ const nodeid = enNodeValue(nodeKey)
1409
+ handleSetExpand(nodeid, expanded, treeExpandedMaps)
1379
1410
  })
1380
1411
  reactData.updateExpandedFlag++
1381
1412
  }
@@ -1385,7 +1416,11 @@ export default defineVxeComponent({
1385
1416
  },
1386
1417
  getExpandNodeIds () {
1387
1418
  const { treeExpandedMaps } = internalData
1388
- return XEUtils.keys(treeExpandedMaps)
1419
+ const nodeKeys: any[] = []
1420
+ XEUtils.each(treeExpandedMaps, (item, nodeId) => {
1421
+ nodeKeys.push(deNodeValue(nodeId))
1422
+ })
1423
+ return nodeKeys
1389
1424
  },
1390
1425
  getExpandNodes () {
1391
1426
  const { nodeMaps, treeExpandedMaps } = internalData
@@ -1414,14 +1449,15 @@ export default defineVxeComponent({
1414
1449
  handleData()
1415
1450
  return recalculate()
1416
1451
  },
1417
- toggleExpandByNodeId (nodeids) {
1452
+ toggleExpandByNodeId (nodeKeys) {
1418
1453
  const { treeExpandedMaps } = internalData
1419
- if (nodeids) {
1420
- if (!XEUtils.isArray(nodeids)) {
1421
- nodeids = [nodeids]
1454
+ if (nodeKeys) {
1455
+ if (!XEUtils.isArray(nodeKeys)) {
1456
+ nodeKeys = [nodeKeys]
1422
1457
  }
1423
- nodeids.forEach((nodeid) => {
1424
- handleSetExpand(`${nodeid}`, !treeExpandedMaps[`${nodeid}`], treeExpandedMaps)
1458
+ nodeKeys.forEach((nodeKey) => {
1459
+ const nodeid = enNodeValue(nodeKey)
1460
+ handleSetExpand(nodeid, !treeExpandedMaps[`${nodeid}`], treeExpandedMaps)
1425
1461
  })
1426
1462
  reactData.updateExpandedFlag++
1427
1463
  }
@@ -1860,8 +1896,8 @@ export default defineVxeComponent({
1860
1896
  loadData(props.data || [])
1861
1897
  })
1862
1898
 
1863
- watch(() => props.checkNodeKey, (val) => {
1864
- reactData.selectRadioKey = val
1899
+ watch(() => props.checkNodeKey, (nodeKey) => {
1900
+ reactData.selectRadioKey = enNodeValue(nodeKey)
1865
1901
  })
1866
1902
 
1867
1903
  const checkboxFlag = ref(0)
@@ -1,5 +1,15 @@
1
+ import XEUtils from 'xe-utils'
2
+
1
3
  import type { VxeTreeConstructor } from '../../../types'
2
4
 
5
+ export function enNodeValue (nodeid: string | number | null) {
6
+ return XEUtils.eqNull(nodeid) ? '' : encodeURIComponent(`${nodeid}`)
7
+ }
8
+
9
+ export function deNodeValue (nodeid: string | number | null) {
10
+ return nodeid ? decodeURIComponent(`${nodeid}`) : nodeid
11
+ }
12
+
3
13
  function countTreeExpand ($xeTree: VxeTreeConstructor, prevNode: any) {
4
14
  let count = 1
5
15
  if (!prevNode) {
@@ -3,6 +3,7 @@ import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import { getConfig, getI18n, getIcon, globalEvents, createEvent, useSize, renderEmptyElement } from '../../ui'
4
4
  import { getEventTargetNode, updatePanelPlacement, toCssUnit } from '../../ui/src/dom'
5
5
  import { getLastZIndex, nextZIndex } from '../../ui/src/utils'
6
+ import { deNodeValue } from '../../tree/src/util'
6
7
  import { errLog } from '../../ui/src/log'
7
8
  import XEUtils from 'xe-utils'
8
9
  import VxeInputComponent from '../../input/src/input'
@@ -412,13 +413,14 @@ export default defineVxeComponent({
412
413
 
413
414
  const changeEvent = (evnt: Event, selectValue: any) => {
414
415
  const { fullNodeMaps } = internalData
415
- emitModel(selectValue)
416
- if (selectValue !== props.modelValue) {
416
+ const value = XEUtils.isArray(selectValue) ? selectValue.map(deNodeValue) : deNodeValue(selectValue)
417
+ emitModel(value)
418
+ if (value !== props.modelValue) {
417
419
  const cacheItem = fullNodeMaps[selectValue]
418
- dispatchEvent('change', { value: selectValue, option: cacheItem ? cacheItem.item : null }, evnt)
420
+ dispatchEvent('change', { value, option: cacheItem ? cacheItem.item : null }, evnt)
419
421
  // 自动更新校验状态
420
422
  if ($xeForm && formItemInfo) {
421
- $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, selectValue)
423
+ $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value)
422
424
  }
423
425
  }
424
426
  }
@@ -4428,7 +4428,7 @@ export interface TableMethods<DT = any> {
4428
4428
  /**
4429
4429
  * 用于 row-config.isCurrent,获取当前行的行数据
4430
4430
  */
4431
- getCurrentRecord(): DT | null
4431
+ getCurrentRecord(isFull?: boolean): DT | null
4432
4432
  /**
4433
4433
  * 用于 type=radio,获取当已选中的行数据
4434
4434
  */
@@ -79,7 +79,7 @@ export namespace VxeTreePropTypes {
79
79
  showIcon?: boolean
80
80
  trigger?: '' | 'default' | 'node'
81
81
  }
82
- export type CheckNodeKeys = (string | number)[]
82
+ export type CheckNodeKeys = (string | number | null)[]
83
83
  export type ShowCheckbox = boolean
84
84
  export interface CheckboxConfig<D = any> {
85
85
  showHeader?: boolean