vxe-table 3.14.0-beta.8 → 3.14.0
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/grid/src/grid.js +75 -50
- package/es/locale/lang/ar-EG.js +7 -1
- package/es/locale/lang/de-DE.js +7 -1
- package/es/locale/lang/en-US.js +7 -1
- package/es/locale/lang/es-ES.js +7 -1
- package/es/locale/lang/fr-FR.js +7 -1
- package/es/locale/lang/hu-HU.js +7 -1
- package/es/locale/lang/hy-AM.js +7 -1
- package/es/locale/lang/id-ID.js +7 -1
- package/es/locale/lang/it-IT.js +7 -1
- package/es/locale/lang/ja-JP.js +7 -1
- package/es/locale/lang/ko-KR.js +7 -1
- package/es/locale/lang/nb-NO.js +7 -1
- package/es/locale/lang/pt-BR.js +7 -1
- package/es/locale/lang/ru-RU.js +7 -1
- package/es/locale/lang/th-TH.js +7 -1
- package/es/locale/lang/ug-CN.js +7 -1
- package/es/locale/lang/uk-UA.js +7 -1
- package/es/locale/lang/vi-VN.js +7 -1
- package/es/locale/lang/zh-CHT.js +7 -1
- package/es/locale/lang/zh-CN.js +7 -1
- package/es/style.css +1 -1
- package/es/table/module/custom/mixin.js +4 -2
- package/es/table/module/custom/panel.js +24 -23
- package/es/table/module/edit/mixin.js +17 -11
- package/es/table/module/export/export-panel.js +5 -4
- package/es/table/module/export/import-panel.js +8 -7
- package/es/table/module/export/mixin.js +30 -27
- package/es/table/module/filter/panel.js +21 -10
- package/es/table/module/keyboard/mixin.js +141 -41
- package/es/table/module/menu/mixin.js +6 -3
- package/es/table/module/menu/panel.js +7 -7
- package/es/table/module/validator/mixin.js +2 -2
- package/es/table/render/index.js +2 -2
- package/es/table/src/body.js +39 -20
- package/es/table/src/cell.js +27 -22
- package/es/table/src/column.js +11 -9
- package/es/table/src/columnInfo.js +6 -6
- package/es/table/src/footer.js +12 -7
- package/es/table/src/group.js +6 -5
- package/es/table/src/header.js +15 -9
- package/es/table/src/methods.js +773 -704
- package/es/table/src/props.js +4 -0
- package/es/table/src/table.js +85 -49
- package/es/table/src/util.js +55 -20
- package/es/toolbar/src/toolbar.js +3 -3
- package/es/ui/index.js +2 -1
- package/es/ui/src/log.js +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/grid/src/grid.js +82 -67
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +1590 -1249
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +7 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +7 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +7 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -1
- package/lib/locale/lang/es-ES.js +7 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +7 -1
- package/lib/locale/lang/fr-FR.js +7 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +7 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +7 -1
- package/lib/locale/lang/hy-AM.js +7 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +7 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +7 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +7 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +7 -1
- package/lib/locale/lang/ko-KR.js +7 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +7 -1
- package/lib/locale/lang/nb-NO.js +7 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +7 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +7 -1
- package/lib/locale/lang/ru-RU.js +7 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +7 -1
- package/lib/locale/lang/th-TH.js +7 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +7 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +7 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +7 -1
- package/lib/locale/lang/vi-VN.js +7 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +7 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CHT.umd.js +7 -1
- package/lib/locale/lang/zh-CN.js +7 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +7 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/mixin.js +5 -3
- package/lib/table/module/custom/mixin.min.js +1 -1
- package/lib/table/module/custom/panel.js +22 -29
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/mixin.js +19 -13
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/export-panel.js +5 -4
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/import-panel.js +8 -7
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/export/mixin.js +35 -34
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/filter/panel.js +16 -16
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +149 -47
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/module/menu/mixin.js +6 -3
- package/lib/table/module/menu/mixin.min.js +1 -1
- package/lib/table/module/menu/panel.js +7 -7
- package/lib/table/module/menu/panel.min.js +1 -1
- package/lib/table/module/validator/mixin.js +3 -3
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/render/index.js +3 -2
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +47 -20
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +39 -23
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +11 -9
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +6 -6
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +12 -5
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/group.js +6 -5
- package/lib/table/src/group.min.js +1 -1
- package/lib/table/src/header.js +16 -8
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +911 -830
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/props.js +4 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +93 -52
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +62 -21
- package/lib/table/src/util.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +3 -3
- package/lib/ui/index.js +2 -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 +2 -2
- package/packages/grid/src/grid.ts +88 -59
- package/packages/locale/lang/ar-EG.ts +7 -1
- package/packages/locale/lang/de-DE.ts +7 -1
- package/packages/locale/lang/en-US.ts +7 -1
- package/packages/locale/lang/es-ES.ts +7 -1
- package/packages/locale/lang/fr-FR.ts +7 -1
- package/packages/locale/lang/hu-HU.ts +7 -1
- package/packages/locale/lang/hy-AM.ts +7 -1
- package/packages/locale/lang/id-ID.ts +7 -1
- package/packages/locale/lang/it-IT.ts +7 -1
- package/packages/locale/lang/ja-JP.ts +7 -1
- package/packages/locale/lang/ko-KR.ts +7 -1
- package/packages/locale/lang/nb-NO.ts +7 -1
- package/packages/locale/lang/pt-BR.ts +7 -1
- package/packages/locale/lang/ru-RU.ts +7 -1
- package/packages/locale/lang/th-TH.ts +7 -1
- package/packages/locale/lang/ug-CN.ts +7 -1
- package/packages/locale/lang/uk-UA.ts +7 -1
- package/packages/locale/lang/vi-VN.ts +7 -1
- package/packages/locale/lang/zh-CHT.ts +7 -1
- package/packages/locale/lang/zh-CN.ts +7 -1
- package/packages/table/module/custom/mixin.ts +6 -3
- package/packages/table/module/custom/panel.ts +42 -37
- package/packages/table/module/edit/mixin.ts +20 -14
- package/packages/table/module/export/export-panel.ts +8 -5
- package/packages/table/module/export/import-panel.ts +11 -7
- package/packages/table/module/export/mixin.ts +37 -32
- package/packages/table/module/filter/panel.ts +25 -10
- package/packages/table/module/keyboard/mixin.ts +155 -49
- package/packages/table/module/menu/mixin.ts +12 -6
- package/packages/table/module/menu/panel.ts +10 -7
- package/packages/table/module/validator/mixin.ts +2 -2
- package/packages/table/render/index.ts +2 -2
- package/packages/table/src/body.ts +39 -20
- package/packages/table/src/cell.ts +27 -22
- package/packages/table/src/column.ts +14 -10
- package/packages/table/src/columnInfo.ts +9 -6
- package/packages/table/src/footer.ts +12 -7
- package/packages/table/src/group.ts +9 -5
- package/packages/table/src/header.ts +16 -9
- package/packages/table/src/methods.ts +854 -740
- package/packages/table/src/props.ts +16 -12
- package/packages/table/src/table.ts +99 -52
- package/packages/table/src/util.ts +63 -21
- package/packages/toolbar/src/toolbar.ts +3 -3
- package/packages/ui/index.ts +1 -0
- /package/es/{iconfont.1741333630357.ttf → iconfont.1742955973002.ttf} +0 -0
- /package/es/{iconfont.1741333630357.woff → iconfont.1742955973002.woff} +0 -0
- /package/es/{iconfont.1741333630357.woff2 → iconfont.1742955973002.woff2} +0 -0
- /package/lib/{iconfont.1741333630357.ttf → iconfont.1742955973002.ttf} +0 -0
- /package/lib/{iconfont.1741333630357.woff → iconfont.1742955973002.woff} +0 -0
- /package/lib/{iconfont.1741333630357.woff2 → iconfont.1742955973002.woff2} +0 -0
package/es/table/src/props.js
CHANGED
|
@@ -161,6 +161,8 @@ export default {
|
|
|
161
161
|
resizeConfig: Object,
|
|
162
162
|
// 列配置信息
|
|
163
163
|
columnConfig: Object,
|
|
164
|
+
// 当前列配置信息
|
|
165
|
+
currentColumnConfig: Object,
|
|
164
166
|
// 单元格配置信息
|
|
165
167
|
cellConfig: Object,
|
|
166
168
|
// 表头单元格配置信息
|
|
@@ -169,6 +171,8 @@ export default {
|
|
|
169
171
|
footerCellConfig: Object,
|
|
170
172
|
// 行配置信息
|
|
171
173
|
rowConfig: Object,
|
|
174
|
+
// 当前行配置信息
|
|
175
|
+
currentRowConfig: Object,
|
|
172
176
|
// 已废弃,被 rowDragConfig 替换
|
|
173
177
|
dragConfig: Object,
|
|
174
178
|
// 行拖拽排序配置项
|
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 {
|
|
4
|
+
import { createHandleGetRowId } from './util';
|
|
5
5
|
import { VxeUI } from '../../ui';
|
|
6
6
|
import methods from './methods';
|
|
7
7
|
import TableBodyComponent from './body';
|
|
@@ -27,14 +27,14 @@ const { getConfig, getIcon, getI18n, renderer, globalResize, globalEvents, globa
|
|
|
27
27
|
* 渲染浮固定列
|
|
28
28
|
* 分别渲染左边固定列和右边固定列
|
|
29
29
|
* 如果宽度足够情况下,则不需要渲染固定列
|
|
30
|
-
* @param {Function} h 创建 VNode 函数
|
|
31
|
-
* @param {Object} $xetable 表格实例
|
|
32
|
-
* @param {String} fixedType 固定列类型
|
|
33
30
|
*/
|
|
34
|
-
function renderFixed(h, $
|
|
35
|
-
const
|
|
31
|
+
function renderFixed(h, $xeTable, fixedType) {
|
|
32
|
+
const props = $xeTable;
|
|
33
|
+
const reactData = $xeTable;
|
|
34
|
+
const { showHeader, showFooter } = props;
|
|
35
|
+
const { tableData, tableColumn, tableGroupColumn, columnStore, footerTableData } = reactData;
|
|
36
36
|
const isFixedLeft = fixedType === 'left';
|
|
37
|
-
const fixedColumn = columnStore
|
|
37
|
+
const fixedColumn = isFixedLeft ? columnStore.leftList : columnStore.rightList;
|
|
38
38
|
return h('div', {
|
|
39
39
|
ref: isFixedLeft ? 'refLeftContainer' : 'refRightContainer',
|
|
40
40
|
class: `vxe-table--fixed-${fixedType}-wrapper`
|
|
@@ -46,19 +46,17 @@ function renderFixed(h, $xetable, fixedType) {
|
|
|
46
46
|
tableData,
|
|
47
47
|
tableColumn,
|
|
48
48
|
tableGroupColumn,
|
|
49
|
-
size: vSize,
|
|
50
49
|
fixedColumn
|
|
51
50
|
},
|
|
52
51
|
ref: `${fixedType}Header`
|
|
53
52
|
})
|
|
54
|
-
:
|
|
53
|
+
: renderEmptyElement($xeTable),
|
|
55
54
|
h(TableBodyComponent, {
|
|
56
55
|
props: {
|
|
57
56
|
fixedType,
|
|
58
57
|
tableData,
|
|
59
58
|
tableColumn,
|
|
60
|
-
fixedColumn
|
|
61
|
-
size: vSize
|
|
59
|
+
fixedColumn
|
|
62
60
|
},
|
|
63
61
|
ref: `${fixedType}Body`
|
|
64
62
|
}),
|
|
@@ -68,12 +66,11 @@ function renderFixed(h, $xetable, fixedType) {
|
|
|
68
66
|
footerTableData,
|
|
69
67
|
tableColumn,
|
|
70
68
|
fixedColumn,
|
|
71
|
-
fixedType
|
|
72
|
-
size: vSize
|
|
69
|
+
fixedType
|
|
73
70
|
},
|
|
74
71
|
ref: `${fixedType}Footer`
|
|
75
72
|
})
|
|
76
|
-
:
|
|
73
|
+
: renderEmptyElement($xeTable)
|
|
77
74
|
]);
|
|
78
75
|
}
|
|
79
76
|
function renderEmptyBody(h, _vm) {
|
|
@@ -193,6 +190,7 @@ function renderRowExpandedVNs(h, $xeTable) {
|
|
|
193
190
|
})
|
|
194
191
|
];
|
|
195
192
|
if (expandColumn) {
|
|
193
|
+
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
196
194
|
tableRowExpandedList.forEach((row) => {
|
|
197
195
|
const expandOpts = $xeTable.computeExpandOpts;
|
|
198
196
|
const { height: expandHeight, padding } = expandOpts;
|
|
@@ -200,7 +198,7 @@ function renderRowExpandedVNs(h, $xeTable) {
|
|
|
200
198
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
201
199
|
const { transform, seqMode } = treeOpts;
|
|
202
200
|
const cellStyle = {};
|
|
203
|
-
const rowid =
|
|
201
|
+
const rowid = handleGetRowId(row);
|
|
204
202
|
const rest = fullAllDataRowIdData[rowid];
|
|
205
203
|
let rowLevel = 0;
|
|
206
204
|
let seq = -1;
|
|
@@ -394,7 +392,6 @@ export default {
|
|
|
394
392
|
props: tableProps,
|
|
395
393
|
provide() {
|
|
396
394
|
return {
|
|
397
|
-
$xetable: this,
|
|
398
395
|
$xeTable: this,
|
|
399
396
|
xecolgroup: null
|
|
400
397
|
};
|
|
@@ -405,9 +402,6 @@ export default {
|
|
|
405
402
|
},
|
|
406
403
|
$xeGrid: {
|
|
407
404
|
default: null
|
|
408
|
-
},
|
|
409
|
-
$xegrid: {
|
|
410
|
-
default: null
|
|
411
405
|
}
|
|
412
406
|
},
|
|
413
407
|
data() {
|
|
@@ -446,8 +440,6 @@ export default {
|
|
|
446
440
|
isAllSelected: false,
|
|
447
441
|
// 复选框属性,有选中且非全选状态
|
|
448
442
|
isIndeterminate: false,
|
|
449
|
-
// 复选框属性,已选中的行集合
|
|
450
|
-
selectCheckboxMaps: {},
|
|
451
443
|
// 当前行
|
|
452
444
|
currentRow: null,
|
|
453
445
|
// 单选框属性,选中列
|
|
@@ -461,16 +453,6 @@ export default {
|
|
|
461
453
|
hasFixedColumn: false,
|
|
462
454
|
// 树节点列信息
|
|
463
455
|
treeNodeColumn: null,
|
|
464
|
-
// 已展开的行集合
|
|
465
|
-
rowExpandedMaps: {},
|
|
466
|
-
// 懒加载中的展开行的集合
|
|
467
|
-
rowExpandLazyLoadedMaps: {},
|
|
468
|
-
// 已展开树节点集合
|
|
469
|
-
treeExpandedMaps: {},
|
|
470
|
-
// 懒加载中的树节点的集合
|
|
471
|
-
treeExpandLazyLoadedMaps: {},
|
|
472
|
-
// 树节点不确定状态的集合
|
|
473
|
-
treeIndeterminateMaps: {},
|
|
474
456
|
// 合并单元格的对象集
|
|
475
457
|
mergeList: [],
|
|
476
458
|
// 合并表尾数据的对象集
|
|
@@ -487,8 +469,6 @@ export default {
|
|
|
487
469
|
upDataFlag: 0,
|
|
488
470
|
// 刷新列标识,当列的特定属性被改变时,触发表格刷新列
|
|
489
471
|
reColumnFlag: 0,
|
|
490
|
-
// 已标记的对象集
|
|
491
|
-
pendingRowMaps: {},
|
|
492
472
|
// 自定义列相关的信息
|
|
493
473
|
customStore: {
|
|
494
474
|
btnEl: null,
|
|
@@ -623,6 +603,10 @@ export default {
|
|
|
623
603
|
isHeader: false,
|
|
624
604
|
isFooter: false
|
|
625
605
|
},
|
|
606
|
+
rowExpandedFlag: 1,
|
|
607
|
+
treeExpandedFlag: 1,
|
|
608
|
+
updateCheckboxFlag: 1,
|
|
609
|
+
pendingRowFlag: 1,
|
|
626
610
|
rowHeightStore: {
|
|
627
611
|
default: 48,
|
|
628
612
|
medium: 44,
|
|
@@ -639,6 +623,7 @@ export default {
|
|
|
639
623
|
rowExpandHeightFlag: 1,
|
|
640
624
|
calcCellHeightFlag: 1,
|
|
641
625
|
resizeHeightFlag: 1,
|
|
626
|
+
resizeWidthFlag: 1,
|
|
642
627
|
isCustomStatus: false,
|
|
643
628
|
isDragRowMove: false,
|
|
644
629
|
dragRow: null,
|
|
@@ -745,28 +730,54 @@ export default {
|
|
|
745
730
|
return this.computeColumnOpts;
|
|
746
731
|
},
|
|
747
732
|
computeColumnOpts() {
|
|
748
|
-
|
|
733
|
+
const $xeTable = this;
|
|
734
|
+
const props = $xeTable;
|
|
735
|
+
return Object.assign({}, getConfig().table.columnConfig, props.columnConfig);
|
|
736
|
+
},
|
|
737
|
+
computeCurrentColumnOpts() {
|
|
738
|
+
const $xeTable = this;
|
|
739
|
+
const props = $xeTable;
|
|
740
|
+
return Object.assign({}, getConfig().table.currentColumnConfig, props.currentColumnConfig);
|
|
749
741
|
},
|
|
750
742
|
computeCellOpts() {
|
|
751
743
|
const $xeTable = this;
|
|
752
744
|
const props = $xeTable;
|
|
753
|
-
|
|
745
|
+
const cellOpts = Object.assign({}, getConfig().table.cellConfig, props.cellConfig);
|
|
746
|
+
if (cellOpts.height) {
|
|
747
|
+
cellOpts.height = XEUtils.toNumber(cellOpts.height);
|
|
748
|
+
}
|
|
749
|
+
return cellOpts;
|
|
754
750
|
},
|
|
755
751
|
computeHeaderCellOpts() {
|
|
756
752
|
const $xeTable = this;
|
|
757
753
|
const props = $xeTable;
|
|
758
|
-
|
|
754
|
+
const headerCellOpts = Object.assign({}, getConfig().table.headerCellConfig, props.headerCellConfig);
|
|
755
|
+
if (headerCellOpts.height) {
|
|
756
|
+
headerCellOpts.height = XEUtils.toNumber(headerCellOpts.height);
|
|
757
|
+
}
|
|
758
|
+
return headerCellOpts;
|
|
759
759
|
},
|
|
760
760
|
computeFooterCellOpts() {
|
|
761
761
|
const $xeTable = this;
|
|
762
762
|
const props = $xeTable;
|
|
763
|
-
|
|
763
|
+
const footerCellOpts = Object.assign({}, getConfig().table.footerCellConfig, props.footerCellConfig);
|
|
764
|
+
if (footerCellOpts.height) {
|
|
765
|
+
footerCellOpts.height = XEUtils.toNumber(footerCellOpts.height);
|
|
766
|
+
}
|
|
767
|
+
return footerCellOpts;
|
|
764
768
|
},
|
|
765
769
|
rowOpts() {
|
|
766
770
|
return this.computeRowOpts;
|
|
767
771
|
},
|
|
768
772
|
computeRowOpts() {
|
|
769
|
-
|
|
773
|
+
const $xeTable = this;
|
|
774
|
+
const props = $xeTable;
|
|
775
|
+
return Object.assign({}, getConfig().table.rowConfig, props.rowConfig);
|
|
776
|
+
},
|
|
777
|
+
computeCurrentRowOpts() {
|
|
778
|
+
const $xeTable = this;
|
|
779
|
+
const props = $xeTable;
|
|
780
|
+
return Object.assign({}, getConfig().table.currentRowConfig, props.currentRowConfig);
|
|
770
781
|
},
|
|
771
782
|
computeRowDragOpts() {
|
|
772
783
|
return Object.assign({}, getConfig().table.rowDragConfig, this.rowDragConfig);
|
|
@@ -790,25 +801,33 @@ export default {
|
|
|
790
801
|
return this.computeSeqOpts;
|
|
791
802
|
},
|
|
792
803
|
computeSeqOpts() {
|
|
793
|
-
|
|
804
|
+
const $xeTable = this;
|
|
805
|
+
const props = $xeTable;
|
|
806
|
+
return Object.assign({ startIndex: 0 }, getConfig().table.seqConfig, props.seqConfig);
|
|
794
807
|
},
|
|
795
808
|
radioOpts() {
|
|
796
809
|
return this.computeRadioOpts;
|
|
797
810
|
},
|
|
798
811
|
computeRadioOpts() {
|
|
799
|
-
|
|
812
|
+
const $xeTable = this;
|
|
813
|
+
const props = $xeTable;
|
|
814
|
+
return Object.assign({}, getConfig().table.radioConfig, props.radioConfig);
|
|
800
815
|
},
|
|
801
816
|
checkboxOpts() {
|
|
802
817
|
return this.computeCheckboxOpts;
|
|
803
818
|
},
|
|
804
819
|
computeCheckboxOpts() {
|
|
805
|
-
|
|
820
|
+
const $xeTable = this;
|
|
821
|
+
const props = $xeTable;
|
|
822
|
+
return Object.assign({}, getConfig().table.checkboxConfig, props.checkboxConfig);
|
|
806
823
|
},
|
|
807
824
|
tooltipOpts() {
|
|
808
825
|
return this.computeTooltipOpts;
|
|
809
826
|
},
|
|
810
827
|
computeTooltipOpts() {
|
|
811
|
-
|
|
828
|
+
const $xeTable = this;
|
|
829
|
+
const props = $xeTable;
|
|
830
|
+
return Object.assign({}, getConfig().tooltip, getConfig().table.tooltipConfig, props.tooltipConfig);
|
|
812
831
|
},
|
|
813
832
|
tipConfig() {
|
|
814
833
|
return Object.assign({}, this.tooltipOpts);
|
|
@@ -1014,12 +1033,15 @@ export default {
|
|
|
1014
1033
|
computeTableRowExpandedList() {
|
|
1015
1034
|
const $xeTable = this;
|
|
1016
1035
|
const reactData = $xeTable;
|
|
1017
|
-
const
|
|
1036
|
+
const internalData = $xeTable;
|
|
1037
|
+
const { rowExpandedFlag, tableData, expandColumn } = reactData;
|
|
1038
|
+
const { rowExpandedMaps } = internalData;
|
|
1039
|
+
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
1018
1040
|
const expandList = [];
|
|
1019
|
-
if (expandColumn) {
|
|
1041
|
+
if (expandColumn && rowExpandedFlag) {
|
|
1020
1042
|
const rowKeys = {};
|
|
1021
1043
|
tableData.forEach(row => {
|
|
1022
|
-
rowKeys[
|
|
1044
|
+
rowKeys[handleGetRowId(row)] = true;
|
|
1023
1045
|
});
|
|
1024
1046
|
XEUtils.each(rowExpandedMaps, (row, rowid) => {
|
|
1025
1047
|
if (rowKeys[rowid]) {
|
|
@@ -1256,13 +1278,15 @@ export default {
|
|
|
1256
1278
|
lastScrollTop: 0,
|
|
1257
1279
|
// 单选框属性,已选中保留的行
|
|
1258
1280
|
radioReserveRow: null,
|
|
1259
|
-
//
|
|
1281
|
+
// 复选框属性,已选中保留的行集合
|
|
1260
1282
|
checkboxReserveRowMap: {},
|
|
1261
|
-
//
|
|
1283
|
+
// 行数据,已展开保留的行集合
|
|
1262
1284
|
rowExpandedReserveRowMap: {},
|
|
1263
|
-
//
|
|
1285
|
+
// 树结构数据,已展开保留的行集合
|
|
1264
1286
|
treeExpandedReserveRowMap: {},
|
|
1265
|
-
//
|
|
1287
|
+
// 树结构数据,不确定状态的集合
|
|
1288
|
+
treeIndeterminateRowMaps: {},
|
|
1289
|
+
// 列表完整数据、条件处理后
|
|
1266
1290
|
tableFullData: [],
|
|
1267
1291
|
afterFullData: [],
|
|
1268
1292
|
// 列表条件处理后数据集合
|
|
@@ -1280,6 +1304,18 @@ export default {
|
|
|
1280
1304
|
fullColumnMap: new Map(),
|
|
1281
1305
|
fullColumnIdData: {},
|
|
1282
1306
|
fullColumnFieldData: {},
|
|
1307
|
+
// 已展开的行集合
|
|
1308
|
+
rowExpandedMaps: {},
|
|
1309
|
+
// 懒加载中的展开行的集合
|
|
1310
|
+
rowExpandLazyLoadedMaps: {},
|
|
1311
|
+
// 已展开树节点集合
|
|
1312
|
+
treeExpandedMaps: {},
|
|
1313
|
+
// 懒加载中的树节点的集合
|
|
1314
|
+
treeExpandLazyLoadedMaps: {},
|
|
1315
|
+
// 复选框属性,已选中的行集合
|
|
1316
|
+
selectCheckboxMaps: {},
|
|
1317
|
+
// 已标记的对象集
|
|
1318
|
+
pendingRowMaps: {},
|
|
1283
1319
|
swYSize: 0,
|
|
1284
1320
|
swYInterval: 0,
|
|
1285
1321
|
swYTotal: 0
|
package/es/table/src/util.js
CHANGED
|
@@ -97,27 +97,55 @@ export function getRowkey($xeTable) {
|
|
|
97
97
|
return `${props.rowId || rowOpts.keyField || '_X_ROW_KEY'}`;
|
|
98
98
|
}
|
|
99
99
|
// 行主键 value
|
|
100
|
-
export function getRowid($
|
|
101
|
-
const rowid = XEUtils.get(row, getRowkey($
|
|
100
|
+
export function getRowid($xeTable, row) {
|
|
101
|
+
const rowid = XEUtils.get(row, getRowkey($xeTable));
|
|
102
102
|
return encodeRowid(rowid);
|
|
103
103
|
}
|
|
104
|
+
export function createHandleUpdateRowId($xeTable) {
|
|
105
|
+
const rowKey = getRowkey($xeTable);
|
|
106
|
+
const isDeepKey = rowKey.indexOf('.') > -1;
|
|
107
|
+
const updateRId = isDeepKey ? updateDeepRowKey : updateFastRowKey;
|
|
108
|
+
return {
|
|
109
|
+
rowKey,
|
|
110
|
+
handleUpdateRowId(row) {
|
|
111
|
+
return row ? updateRId(row, rowKey) : null;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
export function createHandleGetRowId($xeTable) {
|
|
116
|
+
const rowKey = getRowkey($xeTable);
|
|
117
|
+
const isDeepKey = rowKey.indexOf('.') > -1;
|
|
118
|
+
const getRId = isDeepKey ? getDeepRowIdByKey : getFastRowIdByKey;
|
|
119
|
+
return {
|
|
120
|
+
rowKey,
|
|
121
|
+
handleGetRowId(row) {
|
|
122
|
+
return row ? getRId(row, rowKey) : null;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
}
|
|
104
126
|
// 编码行主键
|
|
105
127
|
export function encodeRowid(rowVal) {
|
|
106
128
|
return XEUtils.eqNull(rowVal) ? '' : encodeURIComponent(rowVal);
|
|
107
129
|
}
|
|
108
|
-
|
|
109
|
-
|
|
130
|
+
function getDeepRowIdByKey(row, rowKey) {
|
|
131
|
+
return XEUtils.get(row, rowKey);
|
|
132
|
+
}
|
|
133
|
+
export function updateDeepRowKey(row, rowKey) {
|
|
134
|
+
let rowid = getDeepRowIdByKey(row, rowKey);
|
|
110
135
|
if (eqEmptyValue(rowid)) {
|
|
111
136
|
rowid = getRowUniqueId();
|
|
112
|
-
XEUtils.set(row,
|
|
137
|
+
XEUtils.set(row, rowKey, rowid);
|
|
113
138
|
}
|
|
114
139
|
return rowid;
|
|
115
140
|
}
|
|
116
|
-
|
|
117
|
-
|
|
141
|
+
function getFastRowIdByKey(row, rowKey) {
|
|
142
|
+
return row[rowKey];
|
|
143
|
+
}
|
|
144
|
+
export function updateFastRowKey(row, rowKey) {
|
|
145
|
+
let rowid = getFastRowIdByKey(row, rowKey);
|
|
118
146
|
if (eqEmptyValue(rowid)) {
|
|
119
147
|
rowid = getRowUniqueId();
|
|
120
|
-
row[
|
|
148
|
+
row[rowKey] = rowid;
|
|
121
149
|
}
|
|
122
150
|
return rowid;
|
|
123
151
|
}
|
|
@@ -160,34 +188,41 @@ export const handleRowidOrRow = ($xeTable, rowidOrRow) => {
|
|
|
160
188
|
};
|
|
161
189
|
// 组装列配置
|
|
162
190
|
export function assembleColumn(_vm) {
|
|
163
|
-
const
|
|
164
|
-
const
|
|
191
|
+
const $xeTable = _vm.$xeTable;
|
|
192
|
+
const reactData = $xeTable;
|
|
193
|
+
const { staticColumns } = reactData;
|
|
194
|
+
const { $el, $xeColumn, columnConfig } = _vm;
|
|
195
|
+
const groupConfig = $xeColumn ? $xeColumn.columnConfig : null;
|
|
165
196
|
if (groupConfig) {
|
|
166
|
-
if ($
|
|
167
|
-
errLog('vxe.error.groupTag', [`<vxe-table-colgroup title=${$
|
|
197
|
+
if ($xeColumn.$options._componentTag === 'vxe-table-column') {
|
|
198
|
+
errLog('vxe.error.groupTag', [`<vxe-table-colgroup title=${$xeColumn.title} ...>`, `<vxe-table-column title=${$xeColumn.title} ...>`]);
|
|
168
199
|
}
|
|
169
|
-
else if ($
|
|
170
|
-
warnLog('vxe.error.groupTag', [`<vxe-colgroup title=${$
|
|
200
|
+
else if ($xeColumn.$options._componentTag === 'vxe-column') {
|
|
201
|
+
warnLog('vxe.error.groupTag', [`<vxe-colgroup title=${$xeColumn.title} ...>`, `<vxe-column title=${$xeColumn.title} ...>`]);
|
|
171
202
|
}
|
|
172
203
|
if (!groupConfig.children) {
|
|
173
204
|
groupConfig.children = [];
|
|
174
205
|
}
|
|
175
|
-
groupConfig.children.splice(XEUtils.arrayIndexOf($
|
|
206
|
+
groupConfig.children.splice(XEUtils.arrayIndexOf($xeColumn.$el.children, $el), 0, columnConfig);
|
|
176
207
|
}
|
|
177
208
|
else {
|
|
178
|
-
|
|
209
|
+
staticColumns.splice(XEUtils.arrayIndexOf($xeTable.$refs.hideColumn.children, $el), 0, columnConfig);
|
|
179
210
|
}
|
|
180
211
|
}
|
|
181
212
|
// 销毁列
|
|
182
213
|
export function destroyColumn(_vm) {
|
|
183
|
-
const
|
|
184
|
-
const
|
|
214
|
+
const $xeTable = _vm.$xeTable;
|
|
215
|
+
const reactData = $xeTable;
|
|
216
|
+
const { staticColumns } = reactData;
|
|
217
|
+
const { columnConfig } = _vm;
|
|
218
|
+
const matchObj = XEUtils.findTree(staticColumns, column => column === columnConfig);
|
|
185
219
|
if (matchObj) {
|
|
186
220
|
matchObj.items.splice(matchObj.index, 1);
|
|
187
221
|
}
|
|
188
222
|
}
|
|
189
|
-
export function getRootColumn($
|
|
190
|
-
const
|
|
223
|
+
export function getRootColumn($xeTable, column) {
|
|
224
|
+
const internalData = $xeTable;
|
|
225
|
+
const { fullColumnIdData } = internalData;
|
|
191
226
|
if (!column) {
|
|
192
227
|
return null;
|
|
193
228
|
}
|
|
@@ -663,13 +663,13 @@ export default {
|
|
|
663
663
|
$xeToolbar.$nextTick(() => {
|
|
664
664
|
const { refresh } = props;
|
|
665
665
|
const refreshOpts = $xeToolbar.computeRefreshOpts;
|
|
666
|
-
const $
|
|
666
|
+
const $xeTable = this.fintTable();
|
|
667
667
|
const queryMethod = refreshOpts.queryMethod || refreshOpts.query;
|
|
668
668
|
if (refresh && !$xeGrid && !queryMethod) {
|
|
669
669
|
warnLog('vxe.error.notFunc', ['queryMethod']);
|
|
670
670
|
}
|
|
671
|
-
if ($
|
|
672
|
-
$
|
|
671
|
+
if ($xeTable) {
|
|
672
|
+
$xeTable.connect(this);
|
|
673
673
|
}
|
|
674
674
|
const customOpts = $xeToolbar.computeCustomOpts;
|
|
675
675
|
if (customOpts.isFooter) {
|
package/es/ui/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VxeUI } from '@vxe-ui/core';
|
|
2
2
|
import { getFuncText } from './src/utils';
|
|
3
|
-
export const version = "3.14.0
|
|
3
|
+
export const version = "3.14.0";
|
|
4
4
|
VxeUI.version = version;
|
|
5
5
|
VxeUI.tableVersion = version;
|
|
6
6
|
VxeUI.setConfig({
|
|
@@ -124,6 +124,7 @@ VxeUI.setConfig({
|
|
|
124
124
|
// remote: false,
|
|
125
125
|
// filterMethod: null,
|
|
126
126
|
// destroyOnClose: false,
|
|
127
|
+
// isEvery: false,
|
|
127
128
|
showIcon: true
|
|
128
129
|
},
|
|
129
130
|
treeConfig: {
|
package/es/ui/src/log.js
CHANGED