vxe-table 3.16.12 → 3.16.14
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/locale/lang/ar-EG.js +3 -1
- package/es/locale/lang/de-DE.js +82 -80
- package/es/locale/lang/en-US.js +3 -1
- package/es/locale/lang/es-ES.js +81 -79
- package/es/locale/lang/fr-FR.js +3 -1
- package/es/locale/lang/hu-HU.js +3 -1
- package/es/locale/lang/hy-AM.js +3 -1
- package/es/locale/lang/id-ID.js +3 -1
- package/es/locale/lang/it-IT.js +3 -1
- package/es/locale/lang/ja-JP.js +84 -82
- package/es/locale/lang/ko-KR.js +90 -88
- package/es/locale/lang/ms-MY.js +3 -1
- package/es/locale/lang/nb-NO.js +3 -1
- package/es/locale/lang/pt-BR.js +3 -1
- package/es/locale/lang/ru-RU.js +86 -84
- package/es/locale/lang/th-TH.js +3 -1
- package/es/locale/lang/ug-CN.js +3 -1
- package/es/locale/lang/uk-UA.js +3 -1
- package/es/locale/lang/uz-UZ.js +3 -1
- package/es/locale/lang/vi-VN.js +81 -79
- package/es/locale/lang/zh-CHT.js +23 -21
- package/es/locale/lang/zh-CN.js +3 -1
- package/es/style.css +1 -1
- package/es/table/src/methods.js +52 -2
- package/es/table/src/table.js +23 -120
- package/es/table/src/util.js +116 -0
- package/es/toolbar/src/toolbar.js +11 -3
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +213 -127
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +3 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/ar-EG.umd.js +3 -1
- package/lib/locale/lang/de-DE.js +82 -80
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/de-DE.umd.js +82 -80
- package/lib/locale/lang/en-US.js +3 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +3 -1
- package/lib/locale/lang/es-ES.js +81 -79
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +81 -79
- package/lib/locale/lang/fr-FR.js +3 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/fr-FR.umd.js +3 -1
- package/lib/locale/lang/hu-HU.js +3 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +3 -1
- package/lib/locale/lang/hy-AM.js +3 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/hy-AM.umd.js +3 -1
- package/lib/locale/lang/id-ID.js +3 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/id-ID.umd.js +3 -1
- package/lib/locale/lang/it-IT.js +3 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/it-IT.umd.js +3 -1
- package/lib/locale/lang/ja-JP.js +84 -82
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +84 -82
- package/lib/locale/lang/ko-KR.js +90 -88
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +90 -88
- package/lib/locale/lang/ms-MY.js +3 -1
- package/lib/locale/lang/ms-MY.min.js +1 -1
- package/lib/locale/lang/ms-MY.umd.js +3 -1
- package/lib/locale/lang/nb-NO.js +3 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/nb-NO.umd.js +3 -1
- package/lib/locale/lang/pt-BR.js +3 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +3 -1
- package/lib/locale/lang/ru-RU.js +86 -84
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +86 -84
- package/lib/locale/lang/th-TH.js +3 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/th-TH.umd.js +3 -1
- package/lib/locale/lang/ug-CN.js +3 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/ug-CN.umd.js +3 -1
- package/lib/locale/lang/uk-UA.js +3 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +3 -1
- package/lib/locale/lang/uz-UZ.js +3 -1
- package/lib/locale/lang/uz-UZ.min.js +1 -1
- package/lib/locale/lang/uz-UZ.umd.js +3 -1
- package/lib/locale/lang/vi-VN.js +81 -79
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/vi-VN.umd.js +81 -79
- package/lib/locale/lang/zh-CHT.js +23 -21
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +23 -21
- package/lib/locale/lang/zh-CN.js +3 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +3 -1
- package/lib/style.css +1 -1
- package/lib/table/src/methods.js +59 -2
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +22 -119
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +117 -0
- package/lib/table/src/util.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +11 -3
- package/lib/toolbar/src/toolbar.min.js +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/package.json +1 -1
- package/packages/locale/lang/ar-EG.ts +3 -1
- package/packages/locale/lang/de-DE.ts +82 -80
- package/packages/locale/lang/en-US.ts +3 -1
- package/packages/locale/lang/es-ES.ts +81 -79
- package/packages/locale/lang/fr-FR.ts +3 -1
- package/packages/locale/lang/hu-HU.ts +3 -1
- package/packages/locale/lang/hy-AM.ts +3 -1
- package/packages/locale/lang/id-ID.ts +3 -1
- package/packages/locale/lang/it-IT.ts +3 -1
- package/packages/locale/lang/ja-JP.ts +84 -82
- package/packages/locale/lang/ko-KR.ts +90 -88
- package/packages/locale/lang/ms-MY.ts +3 -1
- package/packages/locale/lang/nb-NO.ts +3 -1
- package/packages/locale/lang/pt-BR.ts +3 -1
- package/packages/locale/lang/ru-RU.ts +86 -84
- package/packages/locale/lang/th-TH.ts +3 -1
- package/packages/locale/lang/ug-CN.ts +3 -1
- package/packages/locale/lang/uk-UA.ts +3 -1
- package/packages/locale/lang/uz-UZ.ts +3 -1
- package/packages/locale/lang/vi-VN.ts +81 -79
- package/packages/locale/lang/zh-CHT.ts +23 -21
- package/packages/locale/lang/zh-CN.ts +3 -1
- package/packages/table/src/methods.ts +52 -2
- package/packages/table/src/table.ts +25 -124
- package/packages/table/src/util.ts +120 -0
- package/packages/toolbar/src/toolbar.ts +13 -3
- /package/es/{iconfont.1754381491758.ttf → iconfont.1755650194329.ttf} +0 -0
- /package/es/{iconfont.1754381491758.woff → iconfont.1755650194329.woff} +0 -0
- /package/es/{iconfont.1754381491758.woff2 → iconfont.1755650194329.woff2} +0 -0
- /package/lib/{iconfont.1754381491758.ttf → iconfont.1755650194329.ttf} +0 -0
- /package/lib/{iconfont.1754381491758.woff → iconfont.1755650194329.woff} +0 -0
- /package/lib/{iconfont.1754381491758.woff2 → iconfont.1755650194329.woff2} +0 -0
package/es/table/src/methods.js
CHANGED
|
@@ -2919,6 +2919,7 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
2919
2919
|
}).then(() => {
|
|
2920
2920
|
computeScrollLoad($xeTable);
|
|
2921
2921
|
}).then(() => {
|
|
2922
|
+
const virtualYOpts = $xeTable.computeVirtualYOpts;
|
|
2922
2923
|
// 是否启用了虚拟滚动
|
|
2923
2924
|
if (sYLoad) {
|
|
2924
2925
|
scrollYStore.endIndex = scrollYStore.visibleSize;
|
|
@@ -2927,6 +2928,9 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
2927
2928
|
if (reactData.expandColumn && expandOpts.mode !== 'fixed') {
|
|
2928
2929
|
errLog('vxe.error.notConflictProp', ['column.type="expand', 'expand-config.mode="fixed"']);
|
|
2929
2930
|
}
|
|
2931
|
+
if (virtualYOpts.mode === 'scroll' && expandOpts.mode === 'fixed') {
|
|
2932
|
+
warnLog('vxe.error.notConflictProp', ['virtual-y-config.mode=scroll', 'expand-config.mode=inside']);
|
|
2933
|
+
}
|
|
2930
2934
|
// if (showOverflow) {
|
|
2931
2935
|
// if (!rowOpts.height) {
|
|
2932
2936
|
// const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false)
|
|
@@ -4708,6 +4712,32 @@ const Methods = {
|
|
|
4708
4712
|
}
|
|
4709
4713
|
return [];
|
|
4710
4714
|
},
|
|
4715
|
+
/**
|
|
4716
|
+
* 只对 tree-config 有效,用于树形结构,获取指定行的层级
|
|
4717
|
+
*/
|
|
4718
|
+
getTreeRowLevel(rowOrRowid) {
|
|
4719
|
+
const $xeTable = this;
|
|
4720
|
+
const props = $xeTable;
|
|
4721
|
+
const internalData = $xeTable;
|
|
4722
|
+
const { treeConfig } = props;
|
|
4723
|
+
const { fullAllDataRowIdData } = internalData;
|
|
4724
|
+
if (rowOrRowid && treeConfig) {
|
|
4725
|
+
let rowid;
|
|
4726
|
+
if (XEUtils.isString(rowOrRowid)) {
|
|
4727
|
+
rowid = rowOrRowid;
|
|
4728
|
+
}
|
|
4729
|
+
else {
|
|
4730
|
+
rowid = getRowid($xeTable, rowOrRowid);
|
|
4731
|
+
}
|
|
4732
|
+
if (rowid) {
|
|
4733
|
+
const rest = fullAllDataRowIdData[rowid];
|
|
4734
|
+
if (rest) {
|
|
4735
|
+
return rest.level;
|
|
4736
|
+
}
|
|
4737
|
+
}
|
|
4738
|
+
}
|
|
4739
|
+
return -1;
|
|
4740
|
+
},
|
|
4711
4741
|
/**
|
|
4712
4742
|
* 只对 tree-config 有效,获取行的父级
|
|
4713
4743
|
*/
|
|
@@ -7374,8 +7404,28 @@ const Methods = {
|
|
|
7374
7404
|
/**
|
|
7375
7405
|
* 用于当前行,获取当前行的数据
|
|
7376
7406
|
*/
|
|
7377
|
-
getCurrentRecord() {
|
|
7378
|
-
|
|
7407
|
+
getCurrentRecord(isFull) {
|
|
7408
|
+
const $xeTable = this;
|
|
7409
|
+
const props = $xeTable;
|
|
7410
|
+
const reactData = $xeTable;
|
|
7411
|
+
const internalData = $xeTable;
|
|
7412
|
+
const { currentRow } = reactData;
|
|
7413
|
+
const { fullDataRowIdData, afterFullRowMaps } = internalData;
|
|
7414
|
+
const rowOpts = $xeTable.computeRowOpts;
|
|
7415
|
+
if (rowOpts.isCurrent || props.highlightCurrentRow) {
|
|
7416
|
+
const rowid = getRowid($xeTable, currentRow);
|
|
7417
|
+
if (isFull) {
|
|
7418
|
+
if (fullDataRowIdData[rowid]) {
|
|
7419
|
+
return currentRow;
|
|
7420
|
+
}
|
|
7421
|
+
}
|
|
7422
|
+
else {
|
|
7423
|
+
if (afterFullRowMaps[rowid]) {
|
|
7424
|
+
return currentRow;
|
|
7425
|
+
}
|
|
7426
|
+
}
|
|
7427
|
+
}
|
|
7428
|
+
return null;
|
|
7379
7429
|
},
|
|
7380
7430
|
/**
|
|
7381
7431
|
* 用于单选行,获取当已选中的数据
|
package/es/table/src/table.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import XEUtils from 'xe-utils';
|
|
2
2
|
import { getFuncText, isEnableConf } from '../../ui/src/utils';
|
|
3
3
|
import { initTpImg } from '../../ui/src/dom';
|
|
4
|
-
import { createHandleGetRowId, getCellHeight, hasDeepKey } from './util';
|
|
4
|
+
import { createInternalData, createHandleGetRowId, getCellHeight, hasDeepKey } from './util';
|
|
5
5
|
import { VxeUI } from '../../ui';
|
|
6
6
|
import methods from './methods';
|
|
7
7
|
import TableBodyComponent from './body';
|
|
@@ -1278,7 +1278,7 @@ export default {
|
|
|
1278
1278
|
if (value && value.length >= 50000) {
|
|
1279
1279
|
warnLog('vxe.error.errLargeData', ['loadData(data), reloadData(data)']);
|
|
1280
1280
|
}
|
|
1281
|
-
this.loadTableData(value || [],
|
|
1281
|
+
this.loadTableData(value || [], true).then(() => {
|
|
1282
1282
|
const { scrollXLoad, scrollYLoad, expandColumn } = reactData;
|
|
1283
1283
|
const expandOpts = $xeTable.computeExpandOpts;
|
|
1284
1284
|
this.inited = true;
|
|
@@ -1399,116 +1399,7 @@ export default {
|
|
|
1399
1399
|
const $xeTable = this;
|
|
1400
1400
|
const props = $xeTable;
|
|
1401
1401
|
const internalData = $xeTable;
|
|
1402
|
-
|
|
1403
|
-
tZindex: 0,
|
|
1404
|
-
currKeyField: '',
|
|
1405
|
-
isCurrDeepKey: false,
|
|
1406
|
-
elemStore: {},
|
|
1407
|
-
// 存放横向 X 虚拟滚动相关的信息
|
|
1408
|
-
scrollXStore: {
|
|
1409
|
-
preloadSize: 0,
|
|
1410
|
-
offsetSize: 0,
|
|
1411
|
-
visibleSize: 0,
|
|
1412
|
-
visibleStartIndex: 0,
|
|
1413
|
-
visibleEndIndex: 0,
|
|
1414
|
-
startIndex: 0,
|
|
1415
|
-
endIndex: 0
|
|
1416
|
-
},
|
|
1417
|
-
// 存放纵向 Y 虚拟滚动相关信息
|
|
1418
|
-
scrollYStore: {
|
|
1419
|
-
preloadSize: 0,
|
|
1420
|
-
offsetSize: 0,
|
|
1421
|
-
visibleSize: 0,
|
|
1422
|
-
visibleStartIndex: 0,
|
|
1423
|
-
visibleEndIndex: 0,
|
|
1424
|
-
startIndex: 0,
|
|
1425
|
-
endIndex: 0
|
|
1426
|
-
},
|
|
1427
|
-
// 表格宽度
|
|
1428
|
-
tableWidth: 0,
|
|
1429
|
-
// 表格高度
|
|
1430
|
-
tableHeight: 0,
|
|
1431
|
-
// 表头高度
|
|
1432
|
-
headerHeight: 0,
|
|
1433
|
-
// 表尾高度
|
|
1434
|
-
footerHeight: 0,
|
|
1435
|
-
// 当前 hover 行
|
|
1436
|
-
// hoverRow: null,
|
|
1437
|
-
// 最后滚动位置
|
|
1438
|
-
lastScrollLeft: 0,
|
|
1439
|
-
lastScrollTop: 0,
|
|
1440
|
-
// 单选框属性,已选中保留的行
|
|
1441
|
-
radioReserveRow: null,
|
|
1442
|
-
// 复选框属性,已选中保留的行集合
|
|
1443
|
-
checkboxReserveRowMap: {},
|
|
1444
|
-
// 行数据,已展开保留的行集合
|
|
1445
|
-
rowExpandedReserveRowMap: {},
|
|
1446
|
-
// 树结构数据,已展开保留的行集合
|
|
1447
|
-
treeExpandedReserveRowMap: {},
|
|
1448
|
-
// 树结构数据,不确定状态的集合
|
|
1449
|
-
treeIndeterminateRowMaps: {},
|
|
1450
|
-
// 列表完整数据、条件处理后
|
|
1451
|
-
tableFullData: [],
|
|
1452
|
-
afterFullData: [],
|
|
1453
|
-
afterTreeFullData: [],
|
|
1454
|
-
afterGroupFullData: [],
|
|
1455
|
-
// 列表条件处理后数据集合
|
|
1456
|
-
afterFullRowMaps: {},
|
|
1457
|
-
// 树结构完整数据、条件处理后
|
|
1458
|
-
tableFullTreeData: [],
|
|
1459
|
-
// 行分组全量数据、条件处理后
|
|
1460
|
-
tableFullGroupData: [],
|
|
1461
|
-
tableSynchData: [],
|
|
1462
|
-
tableSourceData: [],
|
|
1463
|
-
// 收集的列配置(带分组)
|
|
1464
|
-
collectColumn: [],
|
|
1465
|
-
// 完整所有列(不带分组)
|
|
1466
|
-
tableFullColumn: [],
|
|
1467
|
-
// 渲染所有列
|
|
1468
|
-
visibleColumn: [],
|
|
1469
|
-
// 全量数据集(包括当前和已删除)
|
|
1470
|
-
fullAllDataRowIdData: {},
|
|
1471
|
-
// 数据集(仅当前)
|
|
1472
|
-
fullDataRowIdData: {},
|
|
1473
|
-
// 数据集(仅可视)
|
|
1474
|
-
visibleDataRowIdData: {},
|
|
1475
|
-
// 渲染中缓存数据
|
|
1476
|
-
sourceDataRowIdData: {},
|
|
1477
|
-
fullColumnIdData: {},
|
|
1478
|
-
fullColumnFieldData: {},
|
|
1479
|
-
// 合并单元格的数据
|
|
1480
|
-
mergeBodyList: [],
|
|
1481
|
-
mergeBodyMaps: {},
|
|
1482
|
-
// 合并表尾的数据
|
|
1483
|
-
mergeFooterList: [],
|
|
1484
|
-
mergeFooterMaps: {},
|
|
1485
|
-
// 已合并单元格数据集合
|
|
1486
|
-
mergeBodyCellMaps: {},
|
|
1487
|
-
// 已合并表尾数据集合
|
|
1488
|
-
mergeFooterCellMaps: {},
|
|
1489
|
-
// 已展开的行集合
|
|
1490
|
-
rowExpandedMaps: {},
|
|
1491
|
-
// 懒加载中的展开行的集合
|
|
1492
|
-
rowExpandLazyLoadedMaps: {},
|
|
1493
|
-
// 已展开的分组行
|
|
1494
|
-
rowGroupExpandedMaps: {},
|
|
1495
|
-
// 已展开树节点集合
|
|
1496
|
-
treeExpandedMaps: {},
|
|
1497
|
-
// 懒加载中的树节点的集合
|
|
1498
|
-
treeExpandLazyLoadedMaps: {},
|
|
1499
|
-
// 复选框属性,已选中的行集合
|
|
1500
|
-
selectCheckboxMaps: {},
|
|
1501
|
-
// 已标记的对象集
|
|
1502
|
-
pendingRowMaps: {},
|
|
1503
|
-
// 已新增的临时行
|
|
1504
|
-
insertRowMaps: {},
|
|
1505
|
-
// 已删除行
|
|
1506
|
-
removeRowMaps: {},
|
|
1507
|
-
cvCacheMaps: {},
|
|
1508
|
-
swYSize: 0,
|
|
1509
|
-
swYInterval: 0,
|
|
1510
|
-
swYTotal: 0
|
|
1511
|
-
});
|
|
1402
|
+
XEUtils.assign(internalData, createInternalData());
|
|
1512
1403
|
handleKeyField($xeTable);
|
|
1513
1404
|
const { data, exportConfig, importConfig, treeConfig, showOverflow, highlightCurrentRow, highlightCurrentColumn } = props;
|
|
1514
1405
|
const { scrollXStore, scrollYStore } = internalData;
|
|
@@ -1573,6 +1464,12 @@ export default {
|
|
|
1573
1464
|
if (props.resizable) {
|
|
1574
1465
|
warnLog('vxe.error.delProp', ['resizable', 'column-config.resizable']);
|
|
1575
1466
|
}
|
|
1467
|
+
if (props.virtualXConfig && props.scrollX) {
|
|
1468
|
+
warnLog('vxe.error.notSupportProp', ['virtual-x-config', 'scroll-x', 'scroll-x=null']);
|
|
1469
|
+
}
|
|
1470
|
+
if (props.virtualYConfig && props.scrollY) {
|
|
1471
|
+
warnLog('vxe.error.notSupportProp', ['virtual-y-config', 'scroll-y', 'scroll-y=null']);
|
|
1472
|
+
}
|
|
1576
1473
|
// if (props.scrollY) {
|
|
1577
1474
|
// warnLog('vxe.error.delProp', ['scroll-y', 'virtual-y-config'])
|
|
1578
1475
|
// }
|
|
@@ -1661,6 +1558,14 @@ export default {
|
|
|
1661
1558
|
if (checkboxOpts.halfField) {
|
|
1662
1559
|
warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField']);
|
|
1663
1560
|
}
|
|
1561
|
+
if (treeConfig) {
|
|
1562
|
+
XEUtils.arrayEach(['rowField', 'parentField', 'childrenField', 'hasChildField', 'mapChildrenField'], key => {
|
|
1563
|
+
const val = treeOpts[key];
|
|
1564
|
+
if (val && val.indexOf('.') > -1) {
|
|
1565
|
+
errLog('vxe.error.errProp', [`${key}=${val}`, `${key}=${val.split('.')[0]}`]);
|
|
1566
|
+
}
|
|
1567
|
+
});
|
|
1568
|
+
}
|
|
1664
1569
|
// 在 v3.0 中废弃 context-menu
|
|
1665
1570
|
if (this.contextMenu) {
|
|
1666
1571
|
warnLog('vxe.error.delProp', ['context-menu', 'menu-config']);
|
|
@@ -1843,23 +1748,15 @@ export default {
|
|
|
1843
1748
|
},
|
|
1844
1749
|
beforeDestroy() {
|
|
1845
1750
|
const $xeTable = this;
|
|
1846
|
-
const internalData = $xeTable;
|
|
1847
1751
|
const tableViewportEl = $xeTable.$refs.refTableViewportElem;
|
|
1848
1752
|
if (tableViewportEl) {
|
|
1849
1753
|
tableViewportEl.removeEventListener('wheel', $xeTable.triggerBodyWheelEvent);
|
|
1850
1754
|
}
|
|
1851
|
-
internalData.cvCacheMaps = {};
|
|
1852
|
-
internalData.prevDragRow = null;
|
|
1853
|
-
internalData.prevDragCol = null;
|
|
1854
1755
|
if (this.$resize) {
|
|
1855
1756
|
this.$resize.disconnect();
|
|
1856
1757
|
}
|
|
1857
1758
|
this.closeFilter();
|
|
1858
1759
|
this.closeMenu();
|
|
1859
|
-
this.preventEvent(null, 'beforeDestroy');
|
|
1860
|
-
},
|
|
1861
|
-
destroyed() {
|
|
1862
|
-
const $xeTable = this;
|
|
1863
1760
|
globalEvents.off($xeTable, 'paste');
|
|
1864
1761
|
globalEvents.off($xeTable, 'copy');
|
|
1865
1762
|
globalEvents.off($xeTable, 'cut');
|
|
@@ -1869,7 +1766,13 @@ export default {
|
|
|
1869
1766
|
globalEvents.off($xeTable, 'keydown');
|
|
1870
1767
|
globalEvents.off($xeTable, 'resize');
|
|
1871
1768
|
globalEvents.off($xeTable, 'contextmenu');
|
|
1769
|
+
this.preventEvent(null, 'beforeDestroy');
|
|
1770
|
+
},
|
|
1771
|
+
destroyed() {
|
|
1772
|
+
const $xeTable = this;
|
|
1773
|
+
const internalData = $xeTable;
|
|
1872
1774
|
this.preventEvent(null, 'destroyed');
|
|
1775
|
+
XEUtils.assign(internalData, createInternalData());
|
|
1873
1776
|
},
|
|
1874
1777
|
render(h) {
|
|
1875
1778
|
// 使用已安装的组件,如果未安装则不渲染
|
package/es/table/src/util.js
CHANGED
|
@@ -3,6 +3,122 @@ import { ColumnInfo } from './columnInfo';
|
|
|
3
3
|
import { isScale, isPx, queryElement } from '../../ui/src/dom';
|
|
4
4
|
import { warnLog, errLog } from '../../ui/src/log';
|
|
5
5
|
import { eqEmptyValue } from '../../ui/src/utils';
|
|
6
|
+
export function createInternalData() {
|
|
7
|
+
return {
|
|
8
|
+
tZindex: 0,
|
|
9
|
+
currKeyField: '',
|
|
10
|
+
isCurrDeepKey: false,
|
|
11
|
+
elemStore: {},
|
|
12
|
+
// 存放横向 X 虚拟滚动相关的信息
|
|
13
|
+
scrollXStore: {
|
|
14
|
+
preloadSize: 0,
|
|
15
|
+
offsetSize: 0,
|
|
16
|
+
visibleSize: 0,
|
|
17
|
+
visibleStartIndex: 0,
|
|
18
|
+
visibleEndIndex: 0,
|
|
19
|
+
startIndex: 0,
|
|
20
|
+
endIndex: 0
|
|
21
|
+
},
|
|
22
|
+
// 存放纵向 Y 虚拟滚动相关信息
|
|
23
|
+
scrollYStore: {
|
|
24
|
+
preloadSize: 0,
|
|
25
|
+
offsetSize: 0,
|
|
26
|
+
visibleSize: 0,
|
|
27
|
+
visibleStartIndex: 0,
|
|
28
|
+
visibleEndIndex: 0,
|
|
29
|
+
startIndex: 0,
|
|
30
|
+
endIndex: 0
|
|
31
|
+
},
|
|
32
|
+
// 表格宽度
|
|
33
|
+
tableWidth: 0,
|
|
34
|
+
// 表格高度
|
|
35
|
+
tableHeight: 0,
|
|
36
|
+
// 表头高度
|
|
37
|
+
headerHeight: 0,
|
|
38
|
+
// 表尾高度
|
|
39
|
+
footerHeight: 0,
|
|
40
|
+
customHeight: 0,
|
|
41
|
+
customMinHeight: 0,
|
|
42
|
+
customMaxHeight: 0,
|
|
43
|
+
// 当前 hover 行
|
|
44
|
+
hoverRow: null,
|
|
45
|
+
// 最后滚动位置
|
|
46
|
+
lastScrollLeft: 0,
|
|
47
|
+
lastScrollTop: 0,
|
|
48
|
+
// 单选框属性,已选中保留的行
|
|
49
|
+
radioReserveRow: null,
|
|
50
|
+
// 复选框属性,已选中保留的行集合
|
|
51
|
+
checkboxReserveRowMap: {},
|
|
52
|
+
// 行数据,已展开保留的行集合
|
|
53
|
+
rowExpandedReserveRowMap: {},
|
|
54
|
+
// 树结构数据,已展开保留的行集合
|
|
55
|
+
treeExpandedReserveRowMap: {},
|
|
56
|
+
// 树结构数据,不确定状态的集合
|
|
57
|
+
treeIndeterminateRowMaps: {},
|
|
58
|
+
// 列表完整数据、条件处理后
|
|
59
|
+
tableFullData: [],
|
|
60
|
+
afterFullData: [],
|
|
61
|
+
afterTreeFullData: [],
|
|
62
|
+
afterGroupFullData: [],
|
|
63
|
+
// 列表条件处理后数据集合
|
|
64
|
+
afterFullRowMaps: {},
|
|
65
|
+
// 树结构完整数据、条件处理后
|
|
66
|
+
tableFullTreeData: [],
|
|
67
|
+
// 行分组全量数据、条件处理后
|
|
68
|
+
tableFullGroupData: [],
|
|
69
|
+
tableSynchData: [],
|
|
70
|
+
tableSourceData: [],
|
|
71
|
+
// 收集的列配置(带分组)
|
|
72
|
+
collectColumn: [],
|
|
73
|
+
// 完整所有列(不带分组)
|
|
74
|
+
tableFullColumn: [],
|
|
75
|
+
// 渲染所有列
|
|
76
|
+
visibleColumn: [],
|
|
77
|
+
// 全量数据集(包括当前和已删除)
|
|
78
|
+
fullAllDataRowIdData: {},
|
|
79
|
+
// 数据集(仅当前)
|
|
80
|
+
fullDataRowIdData: {},
|
|
81
|
+
// 数据集(仅可视)
|
|
82
|
+
visibleDataRowIdData: {},
|
|
83
|
+
// 渲染中缓存数据
|
|
84
|
+
sourceDataRowIdData: {},
|
|
85
|
+
fullColumnIdData: {},
|
|
86
|
+
fullColumnFieldData: {},
|
|
87
|
+
// 合并单元格的数据
|
|
88
|
+
mergeBodyList: [],
|
|
89
|
+
mergeBodyMaps: {},
|
|
90
|
+
// 合并表尾的数据
|
|
91
|
+
mergeFooterList: [],
|
|
92
|
+
mergeFooterMaps: {},
|
|
93
|
+
// 已合并单元格数据集合
|
|
94
|
+
mergeBodyCellMaps: {},
|
|
95
|
+
// 已合并表尾数据集合
|
|
96
|
+
mergeFooterCellMaps: {},
|
|
97
|
+
// 已展开的行集合
|
|
98
|
+
rowExpandedMaps: {},
|
|
99
|
+
// 懒加载中的展开行的集合
|
|
100
|
+
rowExpandLazyLoadedMaps: {},
|
|
101
|
+
// 已展开的分组行
|
|
102
|
+
rowGroupExpandedMaps: {},
|
|
103
|
+
// 已展开树节点集合
|
|
104
|
+
treeExpandedMaps: {},
|
|
105
|
+
// 懒加载中的树节点的集合
|
|
106
|
+
treeExpandLazyLoadedMaps: {},
|
|
107
|
+
// 复选框属性,已选中的行集合
|
|
108
|
+
selectCheckboxMaps: {},
|
|
109
|
+
// 已标记的对象集
|
|
110
|
+
pendingRowMaps: {},
|
|
111
|
+
// 已新增的临时行
|
|
112
|
+
insertRowMaps: {},
|
|
113
|
+
// 已删除行
|
|
114
|
+
removeRowMaps: {},
|
|
115
|
+
cvCacheMaps: {},
|
|
116
|
+
inited: false,
|
|
117
|
+
tooltipTimeout: null,
|
|
118
|
+
initStatus: false,
|
|
119
|
+
isActivated: false
|
|
120
|
+
};
|
|
121
|
+
}
|
|
6
122
|
const getAllConvertColumns = (columns, parentColumn) => {
|
|
7
123
|
const result = [];
|
|
8
124
|
columns.forEach((column) => {
|
|
@@ -4,6 +4,11 @@ import { VxeUI } from '../../ui';
|
|
|
4
4
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
5
5
|
import { warnLog, errLog } from '../../ui/src/log';
|
|
6
6
|
const { getConfig, getIcon, getI18n, renderer, commands, createEvent, globalMixins, renderEmptyElement } = VxeUI;
|
|
7
|
+
function createInternalData() {
|
|
8
|
+
return {
|
|
9
|
+
connectTable: null
|
|
10
|
+
};
|
|
11
|
+
}
|
|
7
12
|
export default {
|
|
8
13
|
name: 'VxeToolbar',
|
|
9
14
|
mixins: [
|
|
@@ -53,9 +58,7 @@ export default {
|
|
|
53
58
|
connectFlag: 0,
|
|
54
59
|
columns: []
|
|
55
60
|
};
|
|
56
|
-
const internalData =
|
|
57
|
-
connectTable: null
|
|
58
|
-
};
|
|
61
|
+
const internalData = createInternalData();
|
|
59
62
|
return {
|
|
60
63
|
xID,
|
|
61
64
|
reactData,
|
|
@@ -787,6 +790,11 @@ export default {
|
|
|
787
790
|
}
|
|
788
791
|
}
|
|
789
792
|
},
|
|
793
|
+
destroyed() {
|
|
794
|
+
const $xeToolbar = this;
|
|
795
|
+
const internalData = $xeToolbar.internalData;
|
|
796
|
+
XEUtils.assign(internalData, createInternalData());
|
|
797
|
+
},
|
|
790
798
|
render(h) {
|
|
791
799
|
return this.renderVN(h);
|
|
792
800
|
}
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED