vxe-table 4.12.0 → 4.12.1
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/es/style.css +1 -1
- package/es/table/module/edit/hook.js +19 -22
- package/es/table/module/validator/hook.js +2 -4
- package/es/table/src/body.js +7 -8
- package/es/table/src/table.js +66 -92
- package/es/ui/index.js +3 -3
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +12257 -1056
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/hook.js +24 -33
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +3 -8
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/src/body.js +7 -8
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/table.js +71 -108
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +3 -3
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/module/edit/hook.ts +19 -22
- package/packages/table/module/validator/hook.ts +2 -4
- package/packages/table/src/body.ts +7 -8
- package/packages/table/src/table.ts +72 -100
- package/packages/ui/index.ts +2 -2
- /package/es/{iconfont.1742955995631.ttf → iconfont.1743045589885.ttf} +0 -0
- /package/es/{iconfont.1742955995631.woff → iconfont.1743045589885.woff} +0 -0
- /package/es/{iconfont.1742955995631.woff2 → iconfont.1743045589885.woff2} +0 -0
- /package/lib/{iconfont.1742955995631.ttf → iconfont.1743045589885.ttf} +0 -0
- /package/lib/{iconfont.1742955995631.woff → iconfont.1743045589885.woff} +0 -0
- /package/lib/{iconfont.1742955995631.woff2 → iconfont.1743045589885.woff2} +0 -0
|
@@ -183,9 +183,7 @@ export default defineComponent({
|
|
|
183
183
|
focused: {
|
|
184
184
|
row: null,
|
|
185
185
|
column: null
|
|
186
|
-
}
|
|
187
|
-
insertMaps: {},
|
|
188
|
-
removeMaps: {}
|
|
186
|
+
}
|
|
189
187
|
},
|
|
190
188
|
// 存放 tooltip 相关信息
|
|
191
189
|
tooltipStore: {
|
|
@@ -248,6 +246,8 @@ export default defineComponent({
|
|
|
248
246
|
treeExpandedFlag: 1,
|
|
249
247
|
updateCheckboxFlag: 1,
|
|
250
248
|
pendingRowFlag: 1,
|
|
249
|
+
insertRowFlag: 1,
|
|
250
|
+
removeRowFlag: 1,
|
|
251
251
|
|
|
252
252
|
rowHeightStore: {
|
|
253
253
|
default: 48,
|
|
@@ -354,7 +354,6 @@ export default defineComponent({
|
|
|
354
354
|
fullDataRowIdData: {},
|
|
355
355
|
fullColumnIdData: {},
|
|
356
356
|
fullColumnFieldData: {},
|
|
357
|
-
// prevDragRow: null,
|
|
358
357
|
|
|
359
358
|
// 已展开的行集合
|
|
360
359
|
rowExpandedMaps: {},
|
|
@@ -368,6 +367,10 @@ export default defineComponent({
|
|
|
368
367
|
selectCheckboxMaps: {},
|
|
369
368
|
// 已标记的对象集
|
|
370
369
|
pendingRowMaps: {},
|
|
370
|
+
// 已新增的临时行
|
|
371
|
+
insertRowMaps: {},
|
|
372
|
+
// 已删除行
|
|
373
|
+
removeRowMaps: {},
|
|
371
374
|
|
|
372
375
|
inited: false,
|
|
373
376
|
tooltipTimeout: null,
|
|
@@ -439,7 +442,7 @@ export default defineComponent({
|
|
|
439
442
|
})
|
|
440
443
|
|
|
441
444
|
const computeValidOpts = computed(() => {
|
|
442
|
-
return Object.assign({}, getConfig().table.validConfig, props.validConfig)
|
|
445
|
+
return Object.assign({}, getConfig().table.validConfig, props.validConfig)
|
|
443
446
|
})
|
|
444
447
|
|
|
445
448
|
/**
|
|
@@ -447,12 +450,12 @@ export default defineComponent({
|
|
|
447
450
|
*/
|
|
448
451
|
const computeSXOpts = computed(() => {
|
|
449
452
|
const virtualXOpts = computeVirtualXOpts.value
|
|
450
|
-
return virtualXOpts
|
|
453
|
+
return virtualXOpts
|
|
451
454
|
})
|
|
452
455
|
|
|
453
456
|
const computeScrollXThreshold = computed(() => {
|
|
454
|
-
const
|
|
455
|
-
const { threshold } =
|
|
457
|
+
const virtualXOpts = computeVirtualXOpts.value
|
|
458
|
+
const { threshold } = virtualXOpts
|
|
456
459
|
if (threshold) {
|
|
457
460
|
return XEUtils.toNumber(threshold)
|
|
458
461
|
}
|
|
@@ -464,15 +467,15 @@ export default defineComponent({
|
|
|
464
467
|
*/
|
|
465
468
|
const computeSYOpts = computed(() => {
|
|
466
469
|
const virtualYOpts = computeVirtualYOpts.value
|
|
467
|
-
return virtualYOpts
|
|
470
|
+
return virtualYOpts
|
|
468
471
|
})
|
|
469
472
|
|
|
470
473
|
const computeVirtualXOpts = computed(() => {
|
|
471
|
-
return Object.assign({}, getConfig().table.scrollX, getConfig().table.virtualXConfig, props.scrollX, props.virtualXConfig) as VxeTablePropTypes.VirtualXConfig
|
|
474
|
+
return Object.assign({}, getConfig().table.scrollX, getConfig().table.virtualXConfig, props.scrollX, props.virtualXConfig) as VxeTablePropTypes.VirtualXConfig & { gt: number }
|
|
472
475
|
})
|
|
473
476
|
|
|
474
477
|
const computeVirtualYOpts = computed(() => {
|
|
475
|
-
return Object.assign({}, getConfig().table.scrollY, getConfig().table.virtualYConfig, props.scrollY, props.virtualYConfig) as VxeTablePropTypes.VirtualYConfig
|
|
478
|
+
return Object.assign({}, getConfig().table.scrollY, getConfig().table.virtualYConfig, props.scrollY, props.virtualYConfig) as VxeTablePropTypes.VirtualYConfig & { gt: number }
|
|
476
479
|
})
|
|
477
480
|
|
|
478
481
|
const computeScrollbarOpts = computed(() => {
|
|
@@ -490,8 +493,8 @@ export default defineComponent({
|
|
|
490
493
|
})
|
|
491
494
|
|
|
492
495
|
const computeScrollYThreshold = computed(() => {
|
|
493
|
-
const
|
|
494
|
-
const { threshold } =
|
|
496
|
+
const virtualYOpts = computeVirtualYOpts.value
|
|
497
|
+
const { threshold } = virtualYOpts
|
|
495
498
|
if (threshold) {
|
|
496
499
|
return XEUtils.toNumber(threshold)
|
|
497
500
|
}
|
|
@@ -509,7 +512,7 @@ export default defineComponent({
|
|
|
509
512
|
})
|
|
510
513
|
|
|
511
514
|
const computeColumnOpts = computed(() => {
|
|
512
|
-
return Object.assign({}, getConfig().table.columnConfig, props.columnConfig)
|
|
515
|
+
return Object.assign({}, getConfig().table.columnConfig, props.columnConfig)
|
|
513
516
|
})
|
|
514
517
|
|
|
515
518
|
const computeCurrentColumnOpts = computed(() => {
|
|
@@ -1124,14 +1127,14 @@ export default defineComponent({
|
|
|
1124
1127
|
|
|
1125
1128
|
const setMerges = (merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[], mList: VxeTableDefines.MergeItem[], rowList?: any[]) => {
|
|
1126
1129
|
if (merges) {
|
|
1127
|
-
const { treeConfig } = props
|
|
1130
|
+
// const { treeConfig } = props
|
|
1128
1131
|
const { visibleColumn } = internalData
|
|
1129
1132
|
if (!XEUtils.isArray(merges)) {
|
|
1130
1133
|
merges = [merges]
|
|
1131
1134
|
}
|
|
1132
|
-
if (treeConfig && merges.length) {
|
|
1133
|
-
|
|
1134
|
-
}
|
|
1135
|
+
// if (treeConfig && merges.length) {
|
|
1136
|
+
// errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
|
|
1137
|
+
// }
|
|
1135
1138
|
merges.forEach((item) => {
|
|
1136
1139
|
let { row, col, rowspan, colspan } = item
|
|
1137
1140
|
if (rowList && XEUtils.isNumber(row)) {
|
|
@@ -1174,14 +1177,14 @@ export default defineComponent({
|
|
|
1174
1177
|
const removeMerges = (merges: VxeTableDefines.MergeOptions | VxeTableDefines.MergeOptions[], mList: VxeTableDefines.MergeItem[], rowList?: any) => {
|
|
1175
1178
|
const rest: VxeTableDefines.MergeItem[] = []
|
|
1176
1179
|
if (merges) {
|
|
1177
|
-
const { treeConfig } = props
|
|
1180
|
+
// const { treeConfig } = props
|
|
1178
1181
|
const { visibleColumn } = internalData
|
|
1179
1182
|
if (!XEUtils.isArray(merges)) {
|
|
1180
1183
|
merges = [merges]
|
|
1181
1184
|
}
|
|
1182
|
-
if (treeConfig && merges.length) {
|
|
1183
|
-
|
|
1184
|
-
}
|
|
1185
|
+
// if (treeConfig && merges.length) {
|
|
1186
|
+
// errLog('vxe.error.noTree', ['merge-cells | merge-footer-items'])
|
|
1187
|
+
// }
|
|
1185
1188
|
merges.forEach((item) => {
|
|
1186
1189
|
let { row, col } = item
|
|
1187
1190
|
if (rowList && XEUtils.isNumber(row)) {
|
|
@@ -1889,7 +1892,7 @@ export default defineComponent({
|
|
|
1889
1892
|
}
|
|
1890
1893
|
|
|
1891
1894
|
const updateStyle = () => {
|
|
1892
|
-
const {
|
|
1895
|
+
const { showHeaderOverflow: allColumnHeaderOverflow, showFooterOverflow: allColumnFooterOverflow, mouseConfig, spanMethod, footerSpanMethod } = props
|
|
1893
1896
|
const { isGroup, currentRow, tableColumn, scrollXLoad, scrollYLoad, overflowX, scrollbarWidth, overflowY, scrollbarHeight, scrollXWidth, columnStore, editStore, isAllOverflow, expandColumn } = reactData
|
|
1894
1897
|
const { visibleColumn, tableHeight, headerHeight, footerHeight, elemStore, customHeight, customMinHeight, customMaxHeight } = internalData
|
|
1895
1898
|
const el = refElem.value
|
|
@@ -2050,33 +2053,6 @@ export default defineComponent({
|
|
|
2050
2053
|
if (tableElem) {
|
|
2051
2054
|
tableElem.style.width = tWidth ? `${tWidth}px` : ''
|
|
2052
2055
|
}
|
|
2053
|
-
|
|
2054
|
-
const listElem = getRefElem(elemStore[`${name}-${layout}-list`])
|
|
2055
|
-
if (isGroup && listElem) {
|
|
2056
|
-
XEUtils.arrayEach(listElem.querySelectorAll('.col--group'), (thElem: any) => {
|
|
2057
|
-
const colNode = $xeTable.getColumnNode(thElem)
|
|
2058
|
-
if (colNode) {
|
|
2059
|
-
const column = colNode.item
|
|
2060
|
-
const { showHeaderOverflow } = column
|
|
2061
|
-
const cellOverflow = XEUtils.isBoolean(showHeaderOverflow) ? showHeaderOverflow : allColumnHeaderOverflow
|
|
2062
|
-
const showEllipsis = cellOverflow === 'ellipsis'
|
|
2063
|
-
const showTitle = cellOverflow === 'title'
|
|
2064
|
-
const showTooltip = cellOverflow === true || cellOverflow === 'tooltip'
|
|
2065
|
-
const hasEllipsis = showTitle || showTooltip || showEllipsis
|
|
2066
|
-
let childWidth = 0
|
|
2067
|
-
let countChild = 0
|
|
2068
|
-
if (hasEllipsis) {
|
|
2069
|
-
XEUtils.eachTree(column.children, (item) => {
|
|
2070
|
-
if (!item.children || !column.children.length) {
|
|
2071
|
-
countChild++
|
|
2072
|
-
}
|
|
2073
|
-
childWidth += item.renderWidth
|
|
2074
|
-
}, { children: 'children' })
|
|
2075
|
-
}
|
|
2076
|
-
thElem.style.width = hasEllipsis ? `${childWidth - countChild - (border ? 2 : 0)}px` : ''
|
|
2077
|
-
}
|
|
2078
|
-
})
|
|
2079
|
-
}
|
|
2080
2056
|
} else if (layout === 'body') {
|
|
2081
2057
|
if (currScrollElem) {
|
|
2082
2058
|
currScrollElem.style.maxHeight = customMaxHeight ? `${bodyMaxHeight}px` : ''
|
|
@@ -2226,7 +2202,7 @@ export default defineComponent({
|
|
|
2226
2202
|
(sortConfig.multiple ? defaultSort : defaultSort.slice(0, 1)).forEach((item: any, index: number) => {
|
|
2227
2203
|
const { field, order } = item
|
|
2228
2204
|
if (field && order) {
|
|
2229
|
-
const column =
|
|
2205
|
+
const column = $xeTable.getColumnByField(field)
|
|
2230
2206
|
if (column && column.sortable) {
|
|
2231
2207
|
column.order = order
|
|
2232
2208
|
column.sortTime = Date.now() + index
|
|
@@ -2234,7 +2210,7 @@ export default defineComponent({
|
|
|
2234
2210
|
}
|
|
2235
2211
|
})
|
|
2236
2212
|
if (!sortOpts.remote) {
|
|
2237
|
-
|
|
2213
|
+
$xeTable.handleTableData(true).then(updateStyle)
|
|
2238
2214
|
}
|
|
2239
2215
|
}
|
|
2240
2216
|
}
|
|
@@ -2295,7 +2271,7 @@ export default defineComponent({
|
|
|
2295
2271
|
const expandOpts = computeExpandOpts.value
|
|
2296
2272
|
const { expandAll, expandRowKeys } = expandOpts
|
|
2297
2273
|
if (expandAll) {
|
|
2298
|
-
|
|
2274
|
+
$xeTable.setAllRowExpand(true)
|
|
2299
2275
|
} else if (expandRowKeys) {
|
|
2300
2276
|
const defExpandeds: any[] = []
|
|
2301
2277
|
expandRowKeys.forEach((rowid: any) => {
|
|
@@ -2303,7 +2279,7 @@ export default defineComponent({
|
|
|
2303
2279
|
defExpandeds.push(fullDataRowIdData[rowid].row)
|
|
2304
2280
|
}
|
|
2305
2281
|
})
|
|
2306
|
-
|
|
2282
|
+
$xeTable.setRowExpand(defExpandeds, true)
|
|
2307
2283
|
}
|
|
2308
2284
|
}
|
|
2309
2285
|
}
|
|
@@ -2667,14 +2643,14 @@ export default defineComponent({
|
|
|
2667
2643
|
const handleDefaultMergeCells = () => {
|
|
2668
2644
|
const { mergeCells } = props
|
|
2669
2645
|
if (mergeCells) {
|
|
2670
|
-
|
|
2646
|
+
$xeTable.setMergeCells(mergeCells)
|
|
2671
2647
|
}
|
|
2672
2648
|
}
|
|
2673
2649
|
|
|
2674
2650
|
const handleDefaultMergeFooterItems = () => {
|
|
2675
2651
|
const { mergeFooterItems } = props
|
|
2676
2652
|
if (mergeFooterItems) {
|
|
2677
|
-
|
|
2653
|
+
$xeTable.setMergeFooterItems(mergeFooterItems)
|
|
2678
2654
|
}
|
|
2679
2655
|
}
|
|
2680
2656
|
|
|
@@ -2765,7 +2741,7 @@ export default defineComponent({
|
|
|
2765
2741
|
*/
|
|
2766
2742
|
const loadTableData = (datas: any[], isReset: boolean) => {
|
|
2767
2743
|
const { keepSource, treeConfig } = props
|
|
2768
|
-
const {
|
|
2744
|
+
const { scrollYLoad: oldScrollYLoad } = reactData
|
|
2769
2745
|
const { scrollYStore, scrollXStore, lastScrollLeft, lastScrollTop } = internalData
|
|
2770
2746
|
const treeOpts = computeTreeOpts.value
|
|
2771
2747
|
const { transform } = treeOpts
|
|
@@ -2815,8 +2791,8 @@ export default defineComponent({
|
|
|
2815
2791
|
scrollXStore.endIndex = 1
|
|
2816
2792
|
reactData.isRowLoading = true
|
|
2817
2793
|
reactData.scrollVMLoading = false
|
|
2818
|
-
|
|
2819
|
-
|
|
2794
|
+
internalData.insertRowMaps = {}
|
|
2795
|
+
internalData.removeRowMaps = {}
|
|
2820
2796
|
const sYLoad = updateScrollYStatus(fullData)
|
|
2821
2797
|
reactData.isDragColMove = false
|
|
2822
2798
|
reactData.isDragRowMove = false
|
|
@@ -2838,10 +2814,10 @@ export default defineComponent({
|
|
|
2838
2814
|
$xeTable.clearCellAreas()
|
|
2839
2815
|
$xeTable.clearCopyCellArea()
|
|
2840
2816
|
}
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2817
|
+
$xeTable.clearMergeCells()
|
|
2818
|
+
$xeTable.clearMergeFooterItems()
|
|
2819
|
+
$xeTable.handleTableData(true)
|
|
2820
|
+
$xeTable.updateFooter()
|
|
2845
2821
|
return nextTick().then(() => {
|
|
2846
2822
|
updateHeight()
|
|
2847
2823
|
updateStyle()
|
|
@@ -2875,20 +2851,20 @@ export default defineComponent({
|
|
|
2875
2851
|
}
|
|
2876
2852
|
|
|
2877
2853
|
handleReserveStatus()
|
|
2878
|
-
|
|
2854
|
+
$xeTable.checkSelectionStatus()
|
|
2879
2855
|
return new Promise<void>(resolve => {
|
|
2880
2856
|
nextTick()
|
|
2881
|
-
.then(() =>
|
|
2857
|
+
.then(() => $xeTable.recalculate())
|
|
2882
2858
|
.then(() => {
|
|
2883
2859
|
let targetScrollLeft = lastScrollLeft
|
|
2884
2860
|
let targetScrollTop = lastScrollTop
|
|
2885
|
-
const
|
|
2886
|
-
const
|
|
2861
|
+
const virtualXOpts = computeVirtualXOpts.value
|
|
2862
|
+
const virtualYOpts = computeVirtualYOpts.value
|
|
2887
2863
|
// 是否在更新数据之后自动滚动重置滚动条
|
|
2888
|
-
if (
|
|
2864
|
+
if (virtualXOpts.scrollToLeftOnChange) {
|
|
2889
2865
|
targetScrollLeft = 0
|
|
2890
2866
|
}
|
|
2891
|
-
if (
|
|
2867
|
+
if (virtualYOpts.scrollToTopOnChange) {
|
|
2892
2868
|
targetScrollTop = 0
|
|
2893
2869
|
}
|
|
2894
2870
|
reactData.isRowLoading = false
|
|
@@ -2924,7 +2900,7 @@ export default defineComponent({
|
|
|
2924
2900
|
handleDefaultTreeExpand()
|
|
2925
2901
|
handleDefaultMergeCells()
|
|
2926
2902
|
handleDefaultMergeFooterItems()
|
|
2927
|
-
nextTick(() => setTimeout(() =>
|
|
2903
|
+
nextTick(() => setTimeout(() => $xeTable.recalculate()))
|
|
2928
2904
|
}
|
|
2929
2905
|
|
|
2930
2906
|
/**
|
|
@@ -2996,7 +2972,7 @@ export default defineComponent({
|
|
|
2996
2972
|
const centerList: VxeTableDefines.ColumnInfo[] = []
|
|
2997
2973
|
const rightList: VxeTableDefines.ColumnInfo[] = []
|
|
2998
2974
|
const { isGroup, columnStore } = reactData
|
|
2999
|
-
const
|
|
2975
|
+
const virtualXOpts = computeVirtualXOpts.value
|
|
3000
2976
|
const { collectColumn, tableFullColumn, scrollXStore, fullColumnIdData } = internalData
|
|
3001
2977
|
// 如果是分组表头,如果子列全部被隐藏,则根列也隐藏
|
|
3002
2978
|
if (isGroup) {
|
|
@@ -3052,7 +3028,7 @@ export default defineComponent({
|
|
|
3052
3028
|
}
|
|
3053
3029
|
const visibleColumn = leftList.concat(centerList).concat(rightList)
|
|
3054
3030
|
// 如果gt为0,则总是启用
|
|
3055
|
-
const scrollXLoad = !!
|
|
3031
|
+
const scrollXLoad = !!virtualXOpts.enabled && virtualXOpts.gt > -1 && (virtualXOpts.gt === 0 || virtualXOpts.gt < tableFullColumn.length)
|
|
3056
3032
|
reactData.hasFixedColumn = leftList.length > 0 || rightList.length > 0
|
|
3057
3033
|
Object.assign(columnStore, { leftList, centerList, rightList })
|
|
3058
3034
|
if (scrollXLoad) {
|
|
@@ -3168,12 +3144,12 @@ export default defineComponent({
|
|
|
3168
3144
|
|
|
3169
3145
|
const updateScrollYStatus = (fullData?: any[]) => {
|
|
3170
3146
|
const { treeConfig } = props
|
|
3171
|
-
const
|
|
3147
|
+
const virtualYOpts = computeVirtualYOpts.value
|
|
3172
3148
|
const treeOpts = computeTreeOpts.value
|
|
3173
3149
|
const { transform } = treeOpts
|
|
3174
3150
|
const allList = fullData || internalData.tableFullData
|
|
3175
3151
|
// 如果gt为0,则总是启用
|
|
3176
|
-
const scrollYLoad = (transform || !treeConfig) && !!
|
|
3152
|
+
const scrollYLoad = (transform || !treeConfig) && !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt < allList.length)
|
|
3177
3153
|
reactData.scrollYLoad = scrollYLoad
|
|
3178
3154
|
return scrollYLoad
|
|
3179
3155
|
}
|
|
@@ -3888,9 +3864,7 @@ export default defineComponent({
|
|
|
3888
3864
|
*/
|
|
3889
3865
|
revertData (rows: any, field) {
|
|
3890
3866
|
const { keepSource, treeConfig } = props
|
|
3891
|
-
const {
|
|
3892
|
-
const { fullAllDataRowIdData, fullDataRowIdData, tableSourceData, sourceDataRowIdData, tableFullData, afterFullData } = internalData
|
|
3893
|
-
const removeTempMaps = { ...editStore.removeMaps }
|
|
3867
|
+
const { fullAllDataRowIdData, fullDataRowIdData, tableSourceData, sourceDataRowIdData, tableFullData, afterFullData, removeRowMaps } = internalData
|
|
3894
3868
|
const treeOpts = computeTreeOpts.value
|
|
3895
3869
|
const { transform } = treeOpts
|
|
3896
3870
|
const { handleGetRowId } = createHandleGetRowId($xeTable)
|
|
@@ -3924,7 +3898,9 @@ export default defineComponent({
|
|
|
3924
3898
|
XEUtils.destructuring(row, XEUtils.clone(oRow, true))
|
|
3925
3899
|
}
|
|
3926
3900
|
if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
|
|
3927
|
-
|
|
3901
|
+
if (removeRowMaps[rowid]) {
|
|
3902
|
+
delete removeRowMaps[rowid]
|
|
3903
|
+
}
|
|
3928
3904
|
tableFullData.unshift(row)
|
|
3929
3905
|
afterFullData.unshift(row)
|
|
3930
3906
|
reDelFlag = true
|
|
@@ -3936,7 +3912,7 @@ export default defineComponent({
|
|
|
3936
3912
|
}
|
|
3937
3913
|
if (rows) {
|
|
3938
3914
|
if (reDelFlag) {
|
|
3939
|
-
|
|
3915
|
+
reactData.removeRowFlag++
|
|
3940
3916
|
$xeTable.updateFooter()
|
|
3941
3917
|
$xeTable.cacheRowMap(false)
|
|
3942
3918
|
$xeTable.handleTableData(treeConfig && transform)
|
|
@@ -4064,22 +4040,19 @@ export default defineComponent({
|
|
|
4064
4040
|
* @param {Row} row 行对象
|
|
4065
4041
|
*/
|
|
4066
4042
|
isInsertByRow (row) {
|
|
4067
|
-
const { editStore } = reactData
|
|
4068
4043
|
const rowid = getRowid($xeTable, row)
|
|
4069
|
-
return !!
|
|
4044
|
+
return !!reactData.insertRowFlag && !!internalData.insertRowMaps[rowid]
|
|
4070
4045
|
},
|
|
4071
4046
|
isRemoveByRow (row) {
|
|
4072
|
-
const { editStore } = reactData
|
|
4073
4047
|
const rowid = getRowid($xeTable, row)
|
|
4074
|
-
return !!
|
|
4048
|
+
return !!reactData.removeRowFlag && !!internalData.removeRowMaps[rowid]
|
|
4075
4049
|
},
|
|
4076
4050
|
/**
|
|
4077
4051
|
* 删除所有新增的临时数据
|
|
4078
4052
|
* @returns
|
|
4079
4053
|
*/
|
|
4080
4054
|
removeInsertRow () {
|
|
4081
|
-
|
|
4082
|
-
editStore.insertMaps = {}
|
|
4055
|
+
internalData.insertRowMaps = {}
|
|
4083
4056
|
return $xeTable.remove($xeTable.getInsertRecords())
|
|
4084
4057
|
},
|
|
4085
4058
|
/**
|
|
@@ -4118,8 +4091,8 @@ export default defineComponent({
|
|
|
4118
4091
|
* @param {Number} columnIndex 索引
|
|
4119
4092
|
*/
|
|
4120
4093
|
getColumns (columnIndex?: number): any {
|
|
4121
|
-
const
|
|
4122
|
-
return XEUtils.isUndefined(columnIndex) ?
|
|
4094
|
+
const { visibleColumn } = internalData
|
|
4095
|
+
return XEUtils.isUndefined(columnIndex) ? visibleColumn.slice(0) : visibleColumn[columnIndex]
|
|
4123
4096
|
},
|
|
4124
4097
|
/**
|
|
4125
4098
|
* 根据列获取列的唯一主键
|
|
@@ -4133,7 +4106,7 @@ export default defineComponent({
|
|
|
4133
4106
|
* @param {String} colid 列主键
|
|
4134
4107
|
*/
|
|
4135
4108
|
getColumnById (colid) {
|
|
4136
|
-
const fullColumnIdData = internalData
|
|
4109
|
+
const { fullColumnIdData } = internalData
|
|
4137
4110
|
return colid && fullColumnIdData[colid] ? fullColumnIdData[colid].column : null
|
|
4138
4111
|
},
|
|
4139
4112
|
/**
|
|
@@ -4145,7 +4118,7 @@ export default defineComponent({
|
|
|
4145
4118
|
return field && fullColumnFieldData[field] ? fullColumnFieldData[field].column : null
|
|
4146
4119
|
},
|
|
4147
4120
|
getParentColumn (fieldOrColumn) {
|
|
4148
|
-
const fullColumnIdData = internalData
|
|
4121
|
+
const { fullColumnIdData } = internalData
|
|
4149
4122
|
const column = handleFieldOrColumn($xeTable, fieldOrColumn)
|
|
4150
4123
|
return column && column.parentId && fullColumnIdData[column.parentId] ? fullColumnIdData[column.parentId].column : null
|
|
4151
4124
|
},
|
|
@@ -9013,8 +8986,8 @@ export default defineComponent({
|
|
|
9013
8986
|
* 横向 X 可视渲染事件处理
|
|
9014
8987
|
*/
|
|
9015
8988
|
triggerScrollXEvent () {
|
|
9016
|
-
const
|
|
9017
|
-
if (
|
|
8989
|
+
const virtualXOpts = computeVirtualXOpts.value
|
|
8990
|
+
if (virtualXOpts.immediate) {
|
|
9018
8991
|
loadScrollXData()
|
|
9019
8992
|
} else {
|
|
9020
8993
|
lazyScrollXData()
|
|
@@ -9024,8 +8997,8 @@ export default defineComponent({
|
|
|
9024
8997
|
* 纵向 Y 可视渲染事件处理
|
|
9025
8998
|
*/
|
|
9026
8999
|
triggerScrollYEvent () {
|
|
9027
|
-
const
|
|
9028
|
-
if (
|
|
9000
|
+
const virtualYOpts = computeVirtualYOpts.value
|
|
9001
|
+
if (virtualYOpts.immediate) {
|
|
9029
9002
|
loadScrollYData()
|
|
9030
9003
|
} else {
|
|
9031
9004
|
lazyScrollYData()
|
|
@@ -9218,10 +9191,9 @@ export default defineComponent({
|
|
|
9218
9191
|
if (!bodyScrollElem) {
|
|
9219
9192
|
return
|
|
9220
9193
|
}
|
|
9221
|
-
|
|
9222
9194
|
const wheelSpeed = getWheelSpeed(reactData.lastScrollTime)
|
|
9223
|
-
const deltaTop =
|
|
9224
|
-
const deltaLeft = Math.ceil((shiftKey ? deltaY : deltaX) * wheelSpeed)
|
|
9195
|
+
const deltaTop = shiftKey ? 0 : Math.ceil(deltaY * wheelSpeed)
|
|
9196
|
+
const deltaLeft = shiftKey ? Math.ceil((shiftKey ? (deltaY || deltaX) : deltaX) * wheelSpeed) : 0
|
|
9225
9197
|
|
|
9226
9198
|
const isTopWheel = deltaTop < 0
|
|
9227
9199
|
const currScrollTop = bodyScrollElem.scrollTop
|
|
@@ -9242,6 +9214,7 @@ export default defineComponent({
|
|
|
9242
9214
|
evnt.preventDefault()
|
|
9243
9215
|
internalData.inWheelScroll = true
|
|
9244
9216
|
wheelScrollLeftTo(scrollLeft, (offsetLeft: number) => {
|
|
9217
|
+
internalData.inWheelScroll = true
|
|
9245
9218
|
const currLeftNum = offsetLeft
|
|
9246
9219
|
setScrollLeft(xHandleEl, currLeftNum)
|
|
9247
9220
|
setScrollLeft(bodyScrollElem, currLeftNum)
|
|
@@ -9258,9 +9231,10 @@ export default defineComponent({
|
|
|
9258
9231
|
}
|
|
9259
9232
|
if (isRollY) {
|
|
9260
9233
|
evnt.preventDefault()
|
|
9234
|
+
internalData.inWheelScroll = true
|
|
9261
9235
|
wheelScrollTopTo(scrollTop - currScrollTop, (offsetTop: number) => {
|
|
9262
|
-
const currTopNum = bodyScrollElem.scrollTop + offsetTop
|
|
9263
9236
|
internalData.inWheelScroll = true
|
|
9237
|
+
const currTopNum = bodyScrollElem.scrollTop + offsetTop
|
|
9264
9238
|
setScrollTop(yHandleEl, currTopNum)
|
|
9265
9239
|
setScrollTop(bodyScrollElem, currTopNum)
|
|
9266
9240
|
setScrollTop(leftScrollElem, currTopNum)
|
|
@@ -10441,7 +10415,6 @@ export default defineComponent({
|
|
|
10441
10415
|
nextTick(() => {
|
|
10442
10416
|
const { data, exportConfig, importConfig, treeConfig, showOverflow } = props
|
|
10443
10417
|
const { scrollXStore, scrollYStore } = internalData
|
|
10444
|
-
const sYOpts = computeSYOpts.value
|
|
10445
10418
|
const editOpts = computeEditOpts.value
|
|
10446
10419
|
const treeOpts = computeTreeOpts.value
|
|
10447
10420
|
const radioOpts = computeRadioOpts.value
|
|
@@ -10571,8 +10544,7 @@ export default defineComponent({
|
|
|
10571
10544
|
Object.assign(scrollYStore, {
|
|
10572
10545
|
startIndex: 0,
|
|
10573
10546
|
endIndex: 0,
|
|
10574
|
-
visibleSize: 0
|
|
10575
|
-
adaptive: sYOpts.adaptive !== false
|
|
10547
|
+
visibleSize: 0
|
|
10576
10548
|
})
|
|
10577
10549
|
Object.assign(scrollXStore, {
|
|
10578
10550
|
startIndex: 0,
|
package/packages/ui/index.ts
CHANGED
|
@@ -200,13 +200,13 @@ VxeUI.setConfig({
|
|
|
200
200
|
enabled: true,
|
|
201
201
|
gt: 60,
|
|
202
202
|
preSize: 1,
|
|
203
|
-
oSize:
|
|
203
|
+
oSize: 0
|
|
204
204
|
},
|
|
205
205
|
virtualYConfig: {
|
|
206
206
|
enabled: true,
|
|
207
207
|
gt: 100,
|
|
208
208
|
preSize: 1,
|
|
209
|
-
oSize:
|
|
209
|
+
oSize: 0
|
|
210
210
|
},
|
|
211
211
|
scrollbarConfig: {
|
|
212
212
|
// width: 0,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|