vxe-table 3.15.2 → 3.15.4
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +5 -3
- package/es/table/src/footer.js +4 -2
- package/es/table/src/header.js +2 -1
- package/es/table/src/methods.js +95 -95
- package/es/table/src/table.js +3 -0
- package/es/table/style.css +0 -3
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +0 -3
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +132 -123
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +5 -2
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +4 -2
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +2 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +116 -116
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +3 -0
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +0 -3
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- 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/lib/vxe-table/style/style.css +0 -3
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/src/body.ts +5 -3
- package/packages/table/src/footer.ts +4 -2
- package/packages/table/src/header.ts +2 -1
- package/packages/table/src/methods.ts +102 -100
- package/packages/table/src/table.ts +3 -0
- package/styles/components/table.scss +3 -3
- /package/es/{iconfont.1744428010256.ttf → iconfont.1744768256934.ttf} +0 -0
- /package/es/{iconfont.1744428010256.woff → iconfont.1744768256934.woff} +0 -0
- /package/es/{iconfont.1744428010256.woff2 → iconfont.1744768256934.woff2} +0 -0
- /package/lib/{iconfont.1744428010256.ttf → iconfont.1744768256934.ttf} +0 -0
- /package/lib/{iconfont.1744428010256.woff → iconfont.1744768256934.woff} +0 -0
- /package/lib/{iconfont.1744428010256.woff2 → iconfont.1744768256934.woff2} +0 -0
package/es/table/src/header.js
CHANGED
|
@@ -15,6 +15,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
15
15
|
const { resizable: allResizable, columnKey, headerCellClassName, headerCellStyle, showHeaderOverflow: allColumnHeaderOverflow, headerAlign: allHeaderAlign, align: allAlign, mouseConfig } = tableProps;
|
|
16
16
|
const { currentColumn, dragCol, scrollXLoad, scrollYLoad, overflowX } = tableReactData;
|
|
17
17
|
const { fullColumnIdData, scrollXStore } = tableInternalData;
|
|
18
|
+
const virtualXOpts = $xeTable.computeVirtualXOpts;
|
|
18
19
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
19
20
|
const columnDragOpts = $xeTable.computeColumnDragOpts;
|
|
20
21
|
const cellOpts = $xeTable.computeCellOpts;
|
|
@@ -84,7 +85,7 @@ const renderRows = (h, _vm, isGroup, isOptimizeMode, cols, $rowIndex) => {
|
|
|
84
85
|
let isVNPreEmptyStatus = false;
|
|
85
86
|
if (!isGroup) {
|
|
86
87
|
if (!dragCol || dragCol.id !== colid) {
|
|
87
|
-
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
88
|
+
if (scrollXLoad && !column.fixed && !virtualXOpts.immediate && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
88
89
|
isVNPreEmptyStatus = true;
|
|
89
90
|
}
|
|
90
91
|
}
|
package/es/table/src/methods.js
CHANGED
|
@@ -308,6 +308,95 @@ const updateScrollYStatus = ($xeTable, fullData) => {
|
|
|
308
308
|
reactData.scrollYLoad = scrollYLoad;
|
|
309
309
|
return scrollYLoad;
|
|
310
310
|
};
|
|
311
|
+
/**
|
|
312
|
+
* 展开与收起树节点
|
|
313
|
+
* @param rows
|
|
314
|
+
* @param expanded
|
|
315
|
+
* @returns
|
|
316
|
+
*/
|
|
317
|
+
function handleBaseTreeExpand($xeTable, rows, expanded) {
|
|
318
|
+
const reactData = $xeTable;
|
|
319
|
+
const internalData = $xeTable;
|
|
320
|
+
const { treeNodeColumn } = reactData;
|
|
321
|
+
const { fullAllDataRowIdData, tableFullData, treeExpandedMaps, treeExpandLazyLoadedMaps } = internalData;
|
|
322
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
323
|
+
const { reserve, lazy, accordion, toggleMethod } = treeOpts;
|
|
324
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
325
|
+
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
326
|
+
const result = [];
|
|
327
|
+
const columnIndex = $xeTable.getColumnIndex(treeNodeColumn);
|
|
328
|
+
const $columnIndex = $xeTable.getVMColumnIndex(treeNodeColumn);
|
|
329
|
+
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
330
|
+
let validRows = toggleMethod ? rows.filter((row) => toggleMethod({ $table: $xeTable, expanded, column: treeNodeColumn, columnIndex, $columnIndex, row })) : rows;
|
|
331
|
+
if (accordion) {
|
|
332
|
+
validRows = validRows.length ? [validRows[validRows.length - 1]] : [];
|
|
333
|
+
// 同一级只能展开一个
|
|
334
|
+
const matchObj = XEUtils.findTree(tableFullData, item => item === validRows[0], { children: childrenField });
|
|
335
|
+
if (matchObj) {
|
|
336
|
+
matchObj.items.forEach(item => {
|
|
337
|
+
const rowid = handleGetRowId(item);
|
|
338
|
+
if (treeExpandedMaps[rowid]) {
|
|
339
|
+
delete treeExpandedMaps[rowid];
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
if (expanded) {
|
|
345
|
+
validRows.forEach((row) => {
|
|
346
|
+
const rowid = handleGetRowId(row);
|
|
347
|
+
if (!treeExpandedMaps[rowid]) {
|
|
348
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
349
|
+
if (rowRest) {
|
|
350
|
+
const isLoad = lazy && row[hasChildField] && !rowRest.treeLoaded && !treeExpandLazyLoadedMaps[rowid];
|
|
351
|
+
// 是否使用懒加载
|
|
352
|
+
if (isLoad) {
|
|
353
|
+
result.push(handleAsyncTreeExpandChilds($xeTable, row));
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
if (row[childrenField] && row[childrenField].length) {
|
|
357
|
+
treeExpandedMaps[rowid] = row;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
validRows.forEach(item => {
|
|
366
|
+
const rowid = handleGetRowId(item);
|
|
367
|
+
if (treeExpandedMaps[rowid]) {
|
|
368
|
+
delete treeExpandedMaps[rowid];
|
|
369
|
+
}
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
if (reserve) {
|
|
373
|
+
validRows.forEach((row) => handleTreeExpandReserve($xeTable, row, expanded));
|
|
374
|
+
}
|
|
375
|
+
reactData.treeExpandedFlag++;
|
|
376
|
+
return Promise.all(result).then(() => {
|
|
377
|
+
return $xeTable.recalculate();
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* 虚拟树的展开与收起
|
|
382
|
+
* @param rows
|
|
383
|
+
* @param expanded
|
|
384
|
+
* @returns
|
|
385
|
+
*/
|
|
386
|
+
function handleVirtualTreeExpand($xeTable, rows, expanded) {
|
|
387
|
+
return handleBaseTreeExpand($xeTable, rows, expanded).then(() => {
|
|
388
|
+
handleVirtualTreeToList($xeTable);
|
|
389
|
+
$xeTable.handleTableData();
|
|
390
|
+
updateAfterDataIndex($xeTable);
|
|
391
|
+
return $xeTable.$nextTick();
|
|
392
|
+
}).then(() => {
|
|
393
|
+
return $xeTable.recalculate(true);
|
|
394
|
+
}).then(() => {
|
|
395
|
+
setTimeout(() => {
|
|
396
|
+
$xeTable.updateCellAreas();
|
|
397
|
+
}, 30);
|
|
398
|
+
});
|
|
399
|
+
}
|
|
311
400
|
function updateAfterListIndex($xeTable) {
|
|
312
401
|
const props = $xeTable;
|
|
313
402
|
const internalData = $xeTable;
|
|
@@ -7991,7 +8080,7 @@ const Methods = {
|
|
|
7991
8080
|
internalData.rowExpandedMaps = rowExpandedMaps;
|
|
7992
8081
|
rows = rows.slice(rows.length - 1, rows.length);
|
|
7993
8082
|
}
|
|
7994
|
-
const validRows = toggleMethod ? rows.filter((row) => toggleMethod({ $table: $xeTable, expanded, column: expandColumn, columnIndex, $columnIndex, row, rowIndex:
|
|
8083
|
+
const validRows = toggleMethod ? rows.filter((row) => toggleMethod({ $table: $xeTable, expanded, column: expandColumn, columnIndex, $columnIndex, row, rowIndex: $xeTable.getRowIndex(row), $rowIndex: $xeTable.getVMRowIndex(row) })) : rows;
|
|
7995
8084
|
if (expanded) {
|
|
7996
8085
|
validRows.forEach((row) => {
|
|
7997
8086
|
const rowid = handleGetRowId(row);
|
|
@@ -8008,7 +8097,7 @@ const Methods = {
|
|
|
8008
8097
|
});
|
|
8009
8098
|
}
|
|
8010
8099
|
else {
|
|
8011
|
-
validRows.forEach(
|
|
8100
|
+
validRows.forEach(item => {
|
|
8012
8101
|
const rowid = handleGetRowId(item);
|
|
8013
8102
|
if (rowExpandedMaps[rowid]) {
|
|
8014
8103
|
delete rowExpandedMaps[rowid];
|
|
@@ -8221,7 +8310,7 @@ const Methods = {
|
|
|
8221
8310
|
internalData.treeEATime = setTimeout(() => {
|
|
8222
8311
|
internalData.treeEATime = undefined;
|
|
8223
8312
|
$xeTable.scrollToRow(row);
|
|
8224
|
-
},
|
|
8313
|
+
}, 30);
|
|
8225
8314
|
}
|
|
8226
8315
|
});
|
|
8227
8316
|
$xeTable.dispatchEvent('toggle-tree-expand', { expanded, column, columnIndex, $columnIndex, row }, evnt);
|
|
@@ -8250,96 +8339,6 @@ const Methods = {
|
|
|
8250
8339
|
}, { children: childrenField });
|
|
8251
8340
|
return this.setTreeExpand(expandeds, expanded);
|
|
8252
8341
|
},
|
|
8253
|
-
/**
|
|
8254
|
-
* 默认,展开与收起树节点
|
|
8255
|
-
* @param rows
|
|
8256
|
-
* @param expanded
|
|
8257
|
-
* @returns
|
|
8258
|
-
*/
|
|
8259
|
-
handleBaseTreeExpand(rows, expanded) {
|
|
8260
|
-
const $xeTable = this;
|
|
8261
|
-
const reactData = $xeTable;
|
|
8262
|
-
const internalData = $xeTable;
|
|
8263
|
-
const { treeNodeColumn } = reactData;
|
|
8264
|
-
const { fullAllDataRowIdData, tableFullData, treeExpandedMaps, treeExpandLazyLoadedMaps } = internalData;
|
|
8265
|
-
const treeOpts = $xeTable.computeTreeOpts;
|
|
8266
|
-
const { reserve, lazy, accordion, toggleMethod } = treeOpts;
|
|
8267
|
-
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
8268
|
-
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField;
|
|
8269
|
-
const result = [];
|
|
8270
|
-
const columnIndex = $xeTable.getColumnIndex(treeNodeColumn);
|
|
8271
|
-
const $columnIndex = $xeTable.getVMColumnIndex(treeNodeColumn);
|
|
8272
|
-
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
8273
|
-
let validRows = toggleMethod ? rows.filter((row) => toggleMethod({ $table: $xeTable, expanded, column: treeNodeColumn, columnIndex, $columnIndex, row })) : rows;
|
|
8274
|
-
if (accordion) {
|
|
8275
|
-
validRows = validRows.length ? [validRows[validRows.length - 1]] : [];
|
|
8276
|
-
// 同一级只能展开一个
|
|
8277
|
-
const matchObj = XEUtils.findTree(tableFullData, item => item === validRows[0], { children: childrenField });
|
|
8278
|
-
if (matchObj) {
|
|
8279
|
-
matchObj.items.forEach(item => {
|
|
8280
|
-
const rowid = handleGetRowId(item);
|
|
8281
|
-
if (treeExpandedMaps[rowid]) {
|
|
8282
|
-
delete treeExpandedMaps[rowid];
|
|
8283
|
-
}
|
|
8284
|
-
});
|
|
8285
|
-
}
|
|
8286
|
-
}
|
|
8287
|
-
if (expanded) {
|
|
8288
|
-
validRows.forEach((row) => {
|
|
8289
|
-
const rowid = handleGetRowId(row);
|
|
8290
|
-
if (!treeExpandedMaps[rowid]) {
|
|
8291
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
8292
|
-
if (rowRest) {
|
|
8293
|
-
const isLoad = lazy && row[hasChildField] && !rowRest.treeLoaded && !treeExpandLazyLoadedMaps[rowid];
|
|
8294
|
-
// 是否使用懒加载
|
|
8295
|
-
if (isLoad) {
|
|
8296
|
-
result.push(handleAsyncTreeExpandChilds($xeTable, row));
|
|
8297
|
-
}
|
|
8298
|
-
else {
|
|
8299
|
-
if (row[childrenField] && row[childrenField].length) {
|
|
8300
|
-
treeExpandedMaps[rowid] = row;
|
|
8301
|
-
}
|
|
8302
|
-
}
|
|
8303
|
-
}
|
|
8304
|
-
}
|
|
8305
|
-
});
|
|
8306
|
-
}
|
|
8307
|
-
else {
|
|
8308
|
-
validRows.forEach((item) => {
|
|
8309
|
-
const rowid = handleGetRowId(item);
|
|
8310
|
-
if (treeExpandedMaps[rowid]) {
|
|
8311
|
-
delete treeExpandedMaps[rowid];
|
|
8312
|
-
}
|
|
8313
|
-
});
|
|
8314
|
-
}
|
|
8315
|
-
if (reserve) {
|
|
8316
|
-
validRows.forEach((row) => handleTreeExpandReserve($xeTable, row, expanded));
|
|
8317
|
-
}
|
|
8318
|
-
reactData.treeExpandedFlag++;
|
|
8319
|
-
return Promise.all(result).then(() => {
|
|
8320
|
-
return $xeTable.recalculate();
|
|
8321
|
-
});
|
|
8322
|
-
},
|
|
8323
|
-
/**
|
|
8324
|
-
* 虚拟树的展开与收起
|
|
8325
|
-
* @param rows
|
|
8326
|
-
* @param expanded
|
|
8327
|
-
* @returns
|
|
8328
|
-
*/
|
|
8329
|
-
handleVirtualTreeExpand(rows, expanded) {
|
|
8330
|
-
const $xeTable = this;
|
|
8331
|
-
return this.handleBaseTreeExpand(rows, expanded).then(() => {
|
|
8332
|
-
handleVirtualTreeToList($xeTable);
|
|
8333
|
-
this.handleTableData();
|
|
8334
|
-
updateAfterDataIndex($xeTable);
|
|
8335
|
-
}).then(() => {
|
|
8336
|
-
return this.recalculate();
|
|
8337
|
-
}).then(() => {
|
|
8338
|
-
setTimeout(() => {
|
|
8339
|
-
this.updateCellAreas();
|
|
8340
|
-
}, 30);
|
|
8341
|
-
});
|
|
8342
|
-
},
|
|
8343
8342
|
/**
|
|
8344
8343
|
* 设置展开树形节点,二个参数设置这一行展开与否
|
|
8345
8344
|
* 支持单行
|
|
@@ -8348,6 +8347,7 @@ const Methods = {
|
|
|
8348
8347
|
* @param {Boolean} expanded 是否展开
|
|
8349
8348
|
*/
|
|
8350
8349
|
setTreeExpand(rows, expanded) {
|
|
8350
|
+
const $xeTable = this;
|
|
8351
8351
|
const { treeOpts } = this;
|
|
8352
8352
|
const { transform } = treeOpts;
|
|
8353
8353
|
if (rows) {
|
|
@@ -8357,10 +8357,10 @@ const Methods = {
|
|
|
8357
8357
|
if (rows.length) {
|
|
8358
8358
|
// 如果为虚拟树
|
|
8359
8359
|
if (transform) {
|
|
8360
|
-
return
|
|
8360
|
+
return handleVirtualTreeExpand($xeTable, rows, expanded);
|
|
8361
8361
|
}
|
|
8362
8362
|
else {
|
|
8363
|
-
return
|
|
8363
|
+
return handleBaseTreeExpand($xeTable, rows, expanded);
|
|
8364
8364
|
}
|
|
8365
8365
|
}
|
|
8366
8366
|
}
|
package/es/table/src/table.js
CHANGED
|
@@ -1407,6 +1407,9 @@ export default {
|
|
|
1407
1407
|
if (this.highlightHoverColumn) {
|
|
1408
1408
|
warnLog('vxe.error.delProp', ['highlight-hover-column', 'column-config.isHover']);
|
|
1409
1409
|
}
|
|
1410
|
+
if (props.resizable) {
|
|
1411
|
+
warnLog('vxe.error.delProp', ['resizable', 'column-config.resizable']);
|
|
1412
|
+
}
|
|
1410
1413
|
// if (props.scrollY) {
|
|
1411
1414
|
// warnLog('vxe.error.delProp', ['scroll-y', 'virtual-y-config'])
|
|
1412
1415
|
// }
|
package/es/table/style.css
CHANGED
|
@@ -3009,9 +3009,6 @@
|
|
|
3009
3009
|
user-select: none;
|
|
3010
3010
|
cursor: pointer;
|
|
3011
3011
|
}
|
|
3012
|
-
.vxe-table--render-default .vxe-tree--btn-wrapper > i {
|
|
3013
|
-
background-color: var(--vxe-ui-layout-background-color);
|
|
3014
|
-
}
|
|
3015
3012
|
.vxe-table--render-default .vxe-tree--node-btn {
|
|
3016
3013
|
display: block;
|
|
3017
3014
|
color: var(--vxe-ui-font-lighten-color);
|