vxe-table 3.13.3 → 3.13.5

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 (59) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/locale/lang/zh-CHT.js +1 -1
  4. package/es/locale/lang/zh-CN.js +1 -1
  5. package/es/style.css +1 -1
  6. package/es/style.min.css +1 -1
  7. package/es/table/render/index.js +29 -6
  8. package/es/table/src/header.js +2 -4
  9. package/es/table/src/methods.js +40 -37
  10. package/es/table/src/table.js +1 -1
  11. package/es/table/style.css +19 -0
  12. package/es/table/style.min.css +1 -1
  13. package/es/ui/index.js +1 -1
  14. package/es/ui/src/log.js +1 -1
  15. package/es/vxe-table/style.css +19 -0
  16. package/es/vxe-table/style.min.css +1 -1
  17. package/lib/index.css +1 -1
  18. package/lib/index.min.css +1 -1
  19. package/lib/index.umd.js +75 -55
  20. package/lib/index.umd.min.js +1 -1
  21. package/lib/locale/lang/zh-CHT.js +1 -1
  22. package/lib/locale/lang/zh-CHT.min.js +1 -1
  23. package/lib/locale/lang/zh-CHT.umd.js +1 -1
  24. package/lib/locale/lang/zh-CN.js +1 -1
  25. package/lib/locale/lang/zh-CN.min.js +1 -1
  26. package/lib/locale/lang/zh-CN.umd.js +1 -1
  27. package/lib/style.css +1 -1
  28. package/lib/style.min.css +1 -1
  29. package/lib/table/render/index.js +27 -6
  30. package/lib/table/render/index.min.js +1 -1
  31. package/lib/table/src/header.js +1 -4
  32. package/lib/table/src/header.min.js +1 -1
  33. package/lib/table/src/methods.js +41 -39
  34. package/lib/table/src/methods.min.js +1 -1
  35. package/lib/table/src/table.js +1 -1
  36. package/lib/table/src/table.min.js +1 -1
  37. package/lib/table/style/style.css +19 -0
  38. package/lib/table/style/style.min.css +1 -1
  39. package/lib/ui/index.js +1 -1
  40. package/lib/ui/index.min.js +1 -1
  41. package/lib/ui/src/log.js +1 -1
  42. package/lib/ui/src/log.min.js +1 -1
  43. package/lib/vxe-table/style/style.css +19 -0
  44. package/lib/vxe-table/style/style.min.css +1 -1
  45. package/package.json +2 -2
  46. package/packages/locale/lang/zh-CHT.ts +1 -1
  47. package/packages/locale/lang/zh-CN.ts +1 -1
  48. package/packages/table/render/index.ts +30 -6
  49. package/packages/table/src/header.ts +2 -4
  50. package/packages/table/src/methods.ts +42 -39
  51. package/packages/table/src/table.ts +1 -1
  52. package/styles/components/table.scss +29 -0
  53. package/styles/theme/base.scss +2 -1
  54. /package/es/{iconfont.1739938254381.ttf → iconfont.1740038065641.ttf} +0 -0
  55. /package/es/{iconfont.1739938254381.woff → iconfont.1740038065641.woff} +0 -0
  56. /package/es/{iconfont.1739938254381.woff2 → iconfont.1740038065641.woff2} +0 -0
  57. /package/lib/{iconfont.1739938254381.ttf → iconfont.1740038065641.ttf} +0 -0
  58. /package/lib/{iconfont.1739938254381.woff → iconfont.1740038065641.woff} +0 -0
  59. /package/lib/{iconfont.1739938254381.woff2 → iconfont.1740038065641.woff2} +0 -0
@@ -19,7 +19,7 @@ const renderRows = (h: CreateElement, _vm: any, isGroup: boolean, isOptimizeMode
19
19
  const tableInternalData = $xeTable as unknown as TableInternalData
20
20
 
21
21
  const { fixedType } = props
22
- const { resizable: allResizable, border, columnKey, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps
22
+ const { resizable: allResizable, columnKey, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps
23
23
  const { currentColumn, scrollXLoad, scrollYLoad, overflowX } = tableReactData
24
24
  const { scrollXStore } = tableInternalData
25
25
  const columnOpts = $xeTable.computeColumnOpts
@@ -147,9 +147,7 @@ const renderRows = (h: CreateElement, _vm: any, isGroup: boolean, isOptimizeMode
147
147
  */
148
148
  !fixedHiddenColumn && showResizable
149
149
  ? h('div', {
150
- class: ['vxe-cell--col-resizable', {
151
- 'is--line': !border || border === 'none'
152
- }],
150
+ class: 'vxe-cell--col-resizable',
153
151
  on: {
154
152
  mousedown: (evnt: MouseEvent) => $xeTable.handleColResizeMousedownEvent(evnt, fixedType, cellParams),
155
153
  dblclick: (evnt: MouseEvent) => $xeTable.handleColResizeDblclickEvent(evnt, cellParams)
@@ -2210,15 +2210,11 @@ const Methods = {
2210
2210
  internalData.tableFullData = fullData
2211
2211
  internalData.tableFullTreeData = treeData
2212
2212
  // 缓存数据
2213
- $xeTable.cacheRowMap(true, isReset)
2213
+ $xeTable.cacheRowMap(true)
2214
2214
  // 原始数据
2215
2215
  internalData.tableSynchData = datas
2216
2216
  if (isReset) {
2217
2217
  internalData.isResizeCellHeight = false
2218
- reactData.rowExpandedMaps = {}
2219
- reactData.rowExpandLazyLoadedMaps = {}
2220
- reactData.treeExpandedMaps = {}
2221
- reactData.treeExpandLazyLoadedMaps = {}
2222
2218
  }
2223
2219
  // 克隆原数据,用于显示编辑状态,与编辑值做对比
2224
2220
  if (keepSource) {
@@ -2404,16 +2400,22 @@ const Methods = {
2404
2400
  /**
2405
2401
  * 更新数据行的 Map
2406
2402
  */
2407
- cacheRowMap (isReset: boolean, isSource?: boolean) {
2408
- const { treeConfig, treeOpts, tableFullData, fullAllDataRowIdData, tableFullTreeData } = this
2403
+ cacheRowMap () {
2404
+ const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
2405
+ const props = $xeTable
2406
+ const internalData = $xeTable as unknown as TableInternalData
2407
+
2408
+ const { treeConfig } = props
2409
+ const treeOpts = $xeTable.computeTreeOpts
2410
+ const { fullAllDataRowIdData, tableFullData, tableFullTreeData } = internalData
2409
2411
  const childrenField = treeOpts.children || treeOpts.childrenField
2410
2412
  const hasChildField = treeOpts.hasChild || treeOpts.hasChildField
2411
- const rowkey = getRowkey(this)
2413
+ const rowkey = getRowkey($xeTable)
2412
2414
  const isLazy = treeConfig && treeOpts.lazy
2413
2415
  const fullAllDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = {}
2414
2416
  const fullDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = {}
2415
- const handleCache = (row: any, index: any, items: any, path: any, parentRow: any, nodes: any) => {
2416
- let rowid = getRowid(this, row)
2417
+ const handleRow = (row: any, index: number, items: any, path?: any[], parentRow?: any, nodes?: any[]) => {
2418
+ let rowid = getRowid($xeTable, row)
2417
2419
  const seq = treeConfig && path ? toTreePathSeq(path) : index + 1
2418
2420
  const level = nodes ? nodes.length - 1 : 0
2419
2421
  if (eqEmptyValue(rowid)) {
@@ -2423,31 +2425,27 @@ const Methods = {
2423
2425
  if (isLazy && row[hasChildField] && XEUtils.isUndefined(row[childrenField])) {
2424
2426
  row[childrenField] = null
2425
2427
  }
2426
- let cacheItem = fullAllDataRowIdData[rowid]
2427
- if (isReset || !cacheItem) {
2428
- cacheItem = { row, rowid, seq, index: -1, _index: -1, $index: -1, treeIndex: index, items, parent: parentRow, level, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
2429
- }
2430
- cacheItem.row = row
2431
- cacheItem.items = items
2432
- cacheItem.parent = parentRow
2433
- cacheItem.level = level
2434
- cacheItem.index = treeConfig && parentRow ? -1 : index
2435
- if (isSource) {
2436
- fullDataRowIdMaps[rowid] = cacheItem
2437
- }
2438
- fullAllDataRowIdMaps[rowid] = cacheItem
2439
- }
2440
- if (isSource) {
2441
- this.fullDataRowIdData = fullDataRowIdMaps
2442
- }
2443
- this.fullAllDataRowIdData = fullAllDataRowIdMaps
2428
+ let rowRest = fullAllDataRowIdData[rowid]
2429
+ if (!rowRest) {
2430
+ rowRest = { row, rowid, seq, index: -1, _index: -1, $index: -1, treeIndex: index, items, parent: parentRow, level, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
2431
+ }
2432
+ rowRest.row = row
2433
+ rowRest.items = items
2434
+ rowRest.parent = parentRow
2435
+ rowRest.level = level
2436
+ rowRest.index = treeConfig && parentRow ? -1 : index
2437
+ fullDataRowIdMaps[rowid] = rowRest
2438
+ fullAllDataRowIdMaps[rowid] = rowRest
2439
+ }
2440
+ internalData.fullDataRowIdData = fullDataRowIdMaps
2441
+ internalData.fullAllDataRowIdData = fullAllDataRowIdMaps
2444
2442
  if (treeConfig) {
2445
- XEUtils.eachTree(tableFullTreeData, handleCache, { children: childrenField })
2443
+ XEUtils.eachTree(tableFullTreeData, handleRow, { children: childrenField })
2446
2444
  } else {
2447
- tableFullData.forEach(handleCache)
2445
+ tableFullData.forEach(handleRow)
2448
2446
  }
2449
2447
  },
2450
- cacheSourceMap (fullData: any) {
2448
+ cacheSourceMap (fullData: any[]) {
2451
2449
  let { treeConfig, treeOpts, sourceDataRowIdData } = this
2452
2450
  const sourceData = XEUtils.clone(fullData, true)
2453
2451
  const rowkey = getRowkey(this)
@@ -3260,7 +3258,7 @@ const Methods = {
3260
3258
  const internalData = $xeTable
3261
3259
 
3262
3260
  const { treeConfig } = props
3263
- const { fullDataRowIdData } = internalData
3261
+ const { fullAllDataRowIdData } = internalData
3264
3262
  const treeOpts = $xeTable.computeTreeOpts
3265
3263
  const { transform, mapChildrenField } = treeOpts
3266
3264
  const childrenField = treeOpts.children || treeOpts.childrenField
@@ -3272,7 +3270,7 @@ const Methods = {
3272
3270
  rowid = getRowid($xeTable, rowOrRowid)
3273
3271
  }
3274
3272
  if (rowid) {
3275
- const rest = fullDataRowIdData[rowid]
3273
+ const rest = fullAllDataRowIdData[rowid]
3276
3274
  const row = rest ? rest.row : null
3277
3275
  if (row) {
3278
3276
  return row[transform ? mapChildrenField : childrenField] || []
@@ -3290,7 +3288,7 @@ const Methods = {
3290
3288
  const internalData = $xeTable as unknown as TableInternalData
3291
3289
 
3292
3290
  const { treeConfig } = props
3293
- const { fullDataRowIdData } = internalData
3291
+ const { fullAllDataRowIdData } = internalData
3294
3292
  if (rowOrRowid && treeConfig) {
3295
3293
  let rowid
3296
3294
  if (XEUtils.isString(rowOrRowid)) {
@@ -3299,7 +3297,7 @@ const Methods = {
3299
3297
  rowid = getRowid($xeTable, rowOrRowid)
3300
3298
  }
3301
3299
  if (rowid) {
3302
- const rest = fullDataRowIdData[rowid]
3300
+ const rest = fullAllDataRowIdData[rowid]
3303
3301
  return rest ? rest.parent : null
3304
3302
  }
3305
3303
  }
@@ -3319,9 +3317,9 @@ const Methods = {
3319
3317
  const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
3320
3318
  const internalData = $xeTable as unknown as TableInternalData
3321
3319
 
3322
- const { fullDataRowIdData } = internalData
3320
+ const { fullAllDataRowIdData } = internalData
3323
3321
  const rowid = XEUtils.eqNull(cellValue) ? '' : encodeURIComponent(cellValue)
3324
- return fullDataRowIdData[rowid] ? fullDataRowIdData[rowid].row : null
3322
+ return fullAllDataRowIdData[rowid] ? fullAllDataRowIdData[rowid].row : null
3325
3323
  },
3326
3324
  /**
3327
3325
  * 根据行获取行的唯一主键
@@ -7602,11 +7600,12 @@ const Methods = {
7602
7600
  const reactData = $xeTable as unknown as TableReactData
7603
7601
  const internalData = $xeTable as unknown as TableInternalData
7604
7602
 
7605
- const tExpandedMaps = { ...reactData.treeExpandedMaps }
7606
7603
  const { fullAllDataRowIdData } = internalData
7607
7604
  const treeOpts = $xeTable.computeTreeOpts
7608
7605
  const { transform } = treeOpts
7606
+ let tExpandedMaps: Record<string, any> = {}
7609
7607
  if (rows) {
7608
+ tExpandedMaps = { ...reactData.treeExpandedMaps }
7610
7609
  if (!XEUtils.isArray(rows)) {
7611
7610
  rows = [rows]
7612
7611
  }
@@ -7620,8 +7619,12 @@ const Methods = {
7620
7619
  }
7621
7620
  }
7622
7621
  })
7622
+ } else {
7623
+ XEUtils.each(fullAllDataRowIdData, (rowRest) => {
7624
+ rowRest.treeLoaded = false
7625
+ })
7623
7626
  }
7624
- reactData.treeExpandedMaps = tExpandedMaps
7627
+ reactData.treeExpandedMaps = {}
7625
7628
  if (transform) {
7626
7629
  handleVirtualTreeToList($xeTable)
7627
7630
  return $xeTable.handleTableData()
@@ -1179,7 +1179,7 @@ export default {
1179
1179
  if (value && value.length >= 50000) {
1180
1180
  warnLog('vxe.error.errLargeData', ['loadData(data), reloadData(data)'])
1181
1181
  }
1182
- this.loadTableData(value || [], true).then(() => {
1182
+ this.loadTableData(value || [], false).then(() => {
1183
1183
  const { scrollXLoad, scrollYLoad, expandColumn } = reactData
1184
1184
  const expandOpts = $xeTable.computeExpandOpts
1185
1185
  this.inited = true
@@ -263,6 +263,13 @@
263
263
  }
264
264
  }
265
265
 
266
+ /*负数显示红色*/
267
+ .vxe-cell--label {
268
+ &.is--negative {
269
+ color: var(--vxe-ui-table-cell-negative-color);
270
+ }
271
+ }
272
+
266
273
  .vxe-table--checkbox-range,
267
274
  .vxe-table--cell-main-area,
268
275
  .vxe-table--cell-extend-area,
@@ -1119,6 +1126,28 @@
1119
1126
  }
1120
1127
  }
1121
1128
  &.border--default,
1129
+ &.border--none,
1130
+ &.border--outer,
1131
+ &.border--inner {
1132
+ .vxe-cell--col-resizable {
1133
+ &:before,
1134
+ &:after {
1135
+ content: "";
1136
+ display: inline-block;
1137
+ vertical-align: middle;
1138
+ }
1139
+ &:before {
1140
+ width: 1px;
1141
+ height: 50%;
1142
+ background-color: var(--vxe-ui-table-resizable-line-color);
1143
+ }
1144
+ &:after {
1145
+ width: 0;
1146
+ height: 100%;
1147
+ }
1148
+ }
1149
+ }
1150
+ &.border--default,
1122
1151
  &.border--full,
1123
1152
  &.border--outer {
1124
1153
  .vxe-table--header-wrapper {
@@ -22,7 +22,7 @@
22
22
  --vxe-ui-table-header-font-color: var(--vxe-ui-font-color);
23
23
  --vxe-ui-table-footer-font-color: var(--vxe-ui-font-color);
24
24
  --vxe-ui-table-border-radius: var(--vxe-ui-border-radius);
25
- --vxe-ui-table-border-width: 1px;
25
+ --vxe-ui-table-border-width: 1.05px;
26
26
  --vxe-ui-table-resizable-line-color: #D9DDDF;
27
27
  --vxe-ui-table-resizable-drag-line-color: var(--vxe-ui-font-primary-color);
28
28
  --vxe-ui-table-footer-background-color: var(--vxe-ui-layout-background-color);
@@ -46,6 +46,7 @@
46
46
  --vxe-ui-table-cell-padding-small: 6px;
47
47
  --vxe-ui-table-cell-padding-mini: 4px;
48
48
  --vxe-ui-table-cell-placeholder-color: #C0C4CC;
49
+ --vxe-ui-table-cell-negative-color: #f56c6c;
49
50
  --vxe-ui-table-cell-input-height-default: var(--vxe-ui-table-row-height-default) - 6;
50
51
  --vxe-ui-table-cell-input-height-medium: var(--vxe-ui-table-row-height-medium) - 6;
51
52
  --vxe-ui-table-cell-input-height-small: var(--vxe-ui-table-row-height-small) - 6;