vxe-table 4.1.10 → 4.1.13
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.
- package/README.md +1 -1
- package/README.zh-TW.md +0 -1
- package/es/edit/src/hook.js +8 -2
- package/es/export/src/hook.js +5 -8
- package/es/table/src/body.js +2 -2
- package/es/table/src/table.js +63 -40
- package/es/validator/src/hook.js +1 -1
- package/lib/edit/src/hook.js +12 -2
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/export/src/hook.js +4 -8
- package/lib/export/src/hook.min.js +1 -1
- package/lib/index.umd.js +98 -77
- package/lib/index.umd.min.js +1 -1
- package/lib/table/src/body.js +2 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +81 -65
- package/lib/table/src/table.min.js +1 -1
- package/lib/validator/src/hook.js +1 -1
- package/lib/validator/src/hook.min.js +1 -1
- package/package.json +1 -1
- package/packages/edit/src/hook.ts +8 -2
- package/packages/export/src/hook.ts +5 -8
- package/packages/table/src/body.ts +2 -2
- package/packages/table/src/table.ts +63 -39
- package/packages/validator/src/hook.ts +1 -1
|
@@ -294,7 +294,7 @@ export default defineComponent({
|
|
|
294
294
|
const renderRows = (fixedType: any, tableData: any, tableColumn: any) => {
|
|
295
295
|
const { stripe, rowKey, highlightHoverRow, rowClassName, rowStyle, showOverflow: allColumnOverflow, editConfig, treeConfig } = tableProps
|
|
296
296
|
const { hasFixedColumn, treeExpandeds, scrollYLoad, editStore, rowExpandeds, expandColumn, selectRow } = tableReactData
|
|
297
|
-
const {
|
|
297
|
+
const { fullAllDataRowIdData } = tableInternalData
|
|
298
298
|
const checkboxOpts = computeCheckboxOpts.value
|
|
299
299
|
const radioOpts = computeRadioOpts.value
|
|
300
300
|
const treeOpts = computeTreeOpts.value
|
|
@@ -324,7 +324,7 @@ export default defineComponent({
|
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
326
|
const rowid = getRowid($xetable, row)
|
|
327
|
-
const rest =
|
|
327
|
+
const rest = fullAllDataRowIdData[rowid]
|
|
328
328
|
let rowLevel = 0
|
|
329
329
|
let seq: string | number = -1
|
|
330
330
|
if (rest) {
|
|
@@ -1146,41 +1146,57 @@ export default defineComponent({
|
|
|
1146
1146
|
XEUtils.eachTree(afterTreeFullData, (row, index, items, path) => {
|
|
1147
1147
|
const rowid = getRowid($xetable, row)
|
|
1148
1148
|
const allrest = fullAllDataRowIdData[rowid]
|
|
1149
|
-
const fullrest = fullDataRowIdData[rowid]
|
|
1150
1149
|
const seq = path.map((num, i) => i % 2 === 0 ? (Number(num) + 1) : '.').join('')
|
|
1151
1150
|
if (allrest) {
|
|
1152
1151
|
allrest.seq = seq
|
|
1153
1152
|
allrest._index = index
|
|
1154
|
-
}
|
|
1155
|
-
if (fullrest) {
|
|
1156
|
-
fullrest.seq = seq
|
|
1157
|
-
fullrest._index = index
|
|
1158
1153
|
} else {
|
|
1159
|
-
|
|
1160
|
-
|
|
1154
|
+
const rest = { row, rowid, seq, index: -1, $index: -1, _index: index, items: [], parent: null, level: 0 }
|
|
1155
|
+
fullAllDataRowIdData[rowid] = rest
|
|
1156
|
+
fullDataRowIdData[rowid] = rest
|
|
1161
1157
|
}
|
|
1162
|
-
}, treeOpts)
|
|
1158
|
+
}, { children: treeOpts.mapChildren })
|
|
1163
1159
|
} else {
|
|
1164
1160
|
afterFullData.forEach((row, index) => {
|
|
1165
1161
|
const rowid = getRowid($xetable, row)
|
|
1166
1162
|
const allrest = fullAllDataRowIdData[rowid]
|
|
1167
|
-
const fullrest = fullDataRowIdData[rowid]
|
|
1168
1163
|
const seq = index + 1
|
|
1169
1164
|
if (allrest) {
|
|
1170
1165
|
allrest.seq = seq
|
|
1171
1166
|
allrest._index = index
|
|
1172
|
-
}
|
|
1173
|
-
if (fullrest) {
|
|
1174
|
-
fullrest.seq = seq
|
|
1175
|
-
fullrest._index = index
|
|
1176
1167
|
} else {
|
|
1177
|
-
|
|
1178
|
-
|
|
1168
|
+
const rest = { row, rowid, seq, index: -1, $index: -1, _index: index, items: [], parent: null, level: 0 }
|
|
1169
|
+
fullAllDataRowIdData[rowid] = rest
|
|
1170
|
+
fullDataRowIdData[rowid] = rest
|
|
1179
1171
|
}
|
|
1180
1172
|
})
|
|
1181
1173
|
}
|
|
1182
1174
|
}
|
|
1183
1175
|
|
|
1176
|
+
/**
|
|
1177
|
+
* 如果为虚拟树,将树结构拍平
|
|
1178
|
+
* @returns
|
|
1179
|
+
*/
|
|
1180
|
+
const handleVirtualTreeToList = () => {
|
|
1181
|
+
const { treeConfig } = props
|
|
1182
|
+
const { treeExpandeds } = reactData
|
|
1183
|
+
const treeOpts = computeTreeOpts.value
|
|
1184
|
+
if (treeConfig && treeOpts.transform) {
|
|
1185
|
+
const fullData: any = []
|
|
1186
|
+
const expandMaps: Map<any, number> = new Map()
|
|
1187
|
+
XEUtils.eachTree(internalData.afterTreeFullData, (row, index, items, path, parent) => {
|
|
1188
|
+
if (!parent || (expandMaps.has(parent) && $xetable.findRowIndexOf(treeExpandeds, parent) > -1)) {
|
|
1189
|
+
expandMaps.set(row, 1)
|
|
1190
|
+
fullData.push(row)
|
|
1191
|
+
}
|
|
1192
|
+
}, { children: treeOpts.mapChildren })
|
|
1193
|
+
internalData.afterFullData = fullData
|
|
1194
|
+
updateScrollYStatus(fullData)
|
|
1195
|
+
return fullData
|
|
1196
|
+
}
|
|
1197
|
+
return internalData.afterFullData
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1184
1200
|
/**
|
|
1185
1201
|
* 获取处理后全量的表格数据
|
|
1186
1202
|
* 如果存在筛选条件,继续处理
|
|
@@ -1252,6 +1268,7 @@ export default defineComponent({
|
|
|
1252
1268
|
})
|
|
1253
1269
|
}
|
|
1254
1270
|
if (treeConfig && transform) {
|
|
1271
|
+
// 筛选虚拟树
|
|
1255
1272
|
tableTree = XEUtils.searchTree(tableFullTreeData, handleFilter, { ...treeOpts, original: true })
|
|
1256
1273
|
tableData = tableTree
|
|
1257
1274
|
} else {
|
|
@@ -1259,8 +1276,14 @@ export default defineComponent({
|
|
|
1259
1276
|
tableTree = tableData
|
|
1260
1277
|
}
|
|
1261
1278
|
} else {
|
|
1262
|
-
|
|
1263
|
-
|
|
1279
|
+
if (treeConfig && transform) {
|
|
1280
|
+
// 还原虚拟树
|
|
1281
|
+
tableTree = XEUtils.searchTree(tableFullTreeData, () => true, { ...treeOpts, original: true })
|
|
1282
|
+
tableData = tableTree
|
|
1283
|
+
} else {
|
|
1284
|
+
tableData = treeConfig ? tableFullTreeData.slice(0) : tableFullData.slice(0)
|
|
1285
|
+
tableTree = tableData
|
|
1286
|
+
}
|
|
1264
1287
|
}
|
|
1265
1288
|
|
|
1266
1289
|
// 处理排序(不能用于树形结构)
|
|
@@ -2266,6 +2289,7 @@ export default defineComponent({
|
|
|
2266
2289
|
*/
|
|
2267
2290
|
const handleVirtualTreeExpand = (rows: any[], expanded: boolean) => {
|
|
2268
2291
|
return handleBaseTreeExpand(rows, expanded).then(() => {
|
|
2292
|
+
handleVirtualTreeToList()
|
|
2269
2293
|
return tablePrivateMethods.handleTableData()
|
|
2270
2294
|
}).then(() => {
|
|
2271
2295
|
return tableMethods.recalculate()
|
|
@@ -2299,10 +2323,10 @@ export default defineComponent({
|
|
|
2299
2323
|
|
|
2300
2324
|
const createGetRowCacheProp = (prop: 'seq' | 'index' | '_index' | '$index') => {
|
|
2301
2325
|
return function (row: any) {
|
|
2302
|
-
const {
|
|
2326
|
+
const { fullAllDataRowIdData } = internalData
|
|
2303
2327
|
if (row) {
|
|
2304
2328
|
const rowid = getRowid($xetable, row)
|
|
2305
|
-
const rest =
|
|
2329
|
+
const rest = fullAllDataRowIdData[rowid]
|
|
2306
2330
|
if (rest) {
|
|
2307
2331
|
return rest[prop]
|
|
2308
2332
|
}
|
|
@@ -3573,12 +3597,16 @@ export default defineComponent({
|
|
|
3573
3597
|
const { treeExpandeds } = reactData
|
|
3574
3598
|
const { fullAllDataRowIdData } = internalData
|
|
3575
3599
|
const treeOpts = computeTreeOpts.value
|
|
3576
|
-
const { lazy } = treeOpts
|
|
3600
|
+
const { transform, lazy } = treeOpts
|
|
3577
3601
|
const rest = fullAllDataRowIdData[getRowid($xetable, row)]
|
|
3578
3602
|
if (lazy && rest) {
|
|
3579
3603
|
rest.treeLoaded = false
|
|
3580
3604
|
XEUtils.remove(treeExpandeds, item => $xetable.eqRow(item, row))
|
|
3581
3605
|
}
|
|
3606
|
+
if (transform) {
|
|
3607
|
+
handleVirtualTreeToList()
|
|
3608
|
+
return tablePrivateMethods.handleTableData()
|
|
3609
|
+
}
|
|
3582
3610
|
return nextTick()
|
|
3583
3611
|
},
|
|
3584
3612
|
/**
|
|
@@ -3622,7 +3650,7 @@ export default defineComponent({
|
|
|
3622
3650
|
setAllTreeExpand (expanded: boolean) {
|
|
3623
3651
|
const { tableFullData } = internalData
|
|
3624
3652
|
const treeOpts = computeTreeOpts.value
|
|
3625
|
-
const { lazy, children } = treeOpts
|
|
3653
|
+
const { transform, lazy, children } = treeOpts
|
|
3626
3654
|
const expandeds: any[] = []
|
|
3627
3655
|
XEUtils.eachTree(tableFullData, (row) => {
|
|
3628
3656
|
const rowChildren = row[children]
|
|
@@ -3630,7 +3658,12 @@ export default defineComponent({
|
|
|
3630
3658
|
expandeds.push(row)
|
|
3631
3659
|
}
|
|
3632
3660
|
}, treeOpts)
|
|
3633
|
-
return tableMethods.setTreeExpand(expandeds, expanded)
|
|
3661
|
+
return tableMethods.setTreeExpand(expandeds, expanded).then(() => {
|
|
3662
|
+
if (transform) {
|
|
3663
|
+
handleVirtualTreeToList()
|
|
3664
|
+
return tableMethods.recalculate()
|
|
3665
|
+
}
|
|
3666
|
+
})
|
|
3634
3667
|
},
|
|
3635
3668
|
/**
|
|
3636
3669
|
* 设置展开树形节点,二个参数设置这一行展开与否
|
|
@@ -3672,13 +3705,16 @@ export default defineComponent({
|
|
|
3672
3705
|
const { treeExpandeds } = reactData
|
|
3673
3706
|
const { tableFullTreeData } = internalData
|
|
3674
3707
|
const treeOpts = computeTreeOpts.value
|
|
3675
|
-
const { reserve } = treeOpts
|
|
3708
|
+
const { transform, reserve } = treeOpts
|
|
3676
3709
|
const isExists = treeExpandeds.length
|
|
3677
3710
|
reactData.treeExpandeds = []
|
|
3678
3711
|
if (reserve) {
|
|
3679
3712
|
XEUtils.eachTree(tableFullTreeData, row => handleTreeExpandReserve(row, false), treeOpts)
|
|
3680
3713
|
}
|
|
3681
3714
|
return tablePrivateMethods.handleTableData().then(() => {
|
|
3715
|
+
if (transform) {
|
|
3716
|
+
handleVirtualTreeToList()
|
|
3717
|
+
}
|
|
3682
3718
|
if (isExists) {
|
|
3683
3719
|
tableMethods.recalculate()
|
|
3684
3720
|
}
|
|
@@ -4491,27 +4527,15 @@ export default defineComponent({
|
|
|
4491
4527
|
return record
|
|
4492
4528
|
},
|
|
4493
4529
|
handleTableData (force?: boolean) {
|
|
4494
|
-
const { treeConfig } = props
|
|
4495
4530
|
const { scrollYLoad } = reactData
|
|
4496
4531
|
const { scrollYStore, fullDataRowIdData } = internalData
|
|
4497
|
-
|
|
4498
|
-
const treeOpts = computeTreeOpts.value
|
|
4499
|
-
let fullList: any[] = []
|
|
4532
|
+
let fullList: any[] = internalData.afterFullData
|
|
4500
4533
|
// 是否进行数据处理
|
|
4501
4534
|
if (force) {
|
|
4535
|
+
// 更新数据,处理筛选和排序
|
|
4502
4536
|
updateAfterFullData()
|
|
4503
|
-
|
|
4504
|
-
|
|
4505
|
-
if (treeConfig && treeOpts.transform) {
|
|
4506
|
-
const expandMaps: Map<any, number> = new Map()
|
|
4507
|
-
XEUtils.eachTree(internalData.afterTreeFullData, (row, index, items, path, parent) => {
|
|
4508
|
-
if (!parent || (expandMaps.has(parent) && $xetable.findRowIndexOf(treeExpandeds, parent) > -1)) {
|
|
4509
|
-
expandMaps.set(row, 1)
|
|
4510
|
-
fullList.push(row)
|
|
4511
|
-
}
|
|
4512
|
-
}, { children: treeOpts.mapChildren })
|
|
4513
|
-
} else {
|
|
4514
|
-
fullList = internalData.afterFullData
|
|
4537
|
+
// 如果为虚拟树,将树结构拍平
|
|
4538
|
+
fullList = handleVirtualTreeToList()
|
|
4515
4539
|
}
|
|
4516
4540
|
const tableData = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0)
|
|
4517
4541
|
tableData.forEach((row, $index) => {
|
|
@@ -149,7 +149,7 @@ const validatorHook: VxeGlobalHooksHandles.HookOptions = {
|
|
|
149
149
|
const ruleProps = Object.keys(validRest)
|
|
150
150
|
return nextTick().then(() => {
|
|
151
151
|
if (ruleProps.length) {
|
|
152
|
-
return validRest[ruleProps[0]][0]
|
|
152
|
+
return Promise.reject(validRest[ruleProps[0]][0])
|
|
153
153
|
}
|
|
154
154
|
if (cb) {
|
|
155
155
|
cb()
|