vxe-table 4.19.17 → 4.19.18
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/dist/all.esm.js +40 -29
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- 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/module/custom/panel.js +5 -2
- package/es/table/src/columnInfo.js +6 -6
- package/es/table/src/emits.js +4 -4
- package/es/table/src/footer.js +5 -5
- package/es/table/src/header.js +10 -8
- package/es/table/src/table.js +8 -2
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +987 -964
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/panel.js +5 -2
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/src/columnInfo.js +6 -0
- package/lib/table/src/emits.js +9 -1
- package/lib/table/src/footer.js +5 -4
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +12 -8
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +3 -2
- package/lib/table/src/table.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 +3 -3
- package/packages/table/module/custom/panel.ts +5 -2
- package/packages/table/src/footer.ts +5 -5
- package/packages/table/src/header.ts +10 -8
- package/packages/table/src/table.ts +6 -1
- package/packages/table/src/util.ts +2 -16
- package/styles/theme/dark.scss +1 -1
- package/styles/variable.scss +1 -1
- /package/es/{iconfont.1781876895482.ttf → iconfont.1782186482222.ttf} +0 -0
- /package/es/{iconfont.1781876895482.woff → iconfont.1782186482222.woff} +0 -0
- /package/es/{iconfont.1781876895482.woff2 → iconfont.1782186482222.woff2} +0 -0
- /package/lib/{iconfont.1781876895482.ttf → iconfont.1782186482222.ttf} +0 -0
- /package/lib/{iconfont.1781876895482.woff → iconfont.1782186482222.woff} +0 -0
- /package/lib/{iconfont.1781876895482.woff2 → iconfont.1782186482222.woff2} +0 -0
package/lib/index.umd.js
CHANGED
|
@@ -3301,8 +3301,8 @@ function getFuncText(content, args) {
|
|
|
3301
3301
|
function formatText(value, placeholder) {
|
|
3302
3302
|
return '' + (isEmptyValue(value) ? placeholder ? getConfig().emptyCell : '' : value);
|
|
3303
3303
|
}
|
|
3304
|
-
/**
|
|
3305
|
-
* 判断值为:'' | null | undefined 时都属于空值
|
|
3304
|
+
/**
|
|
3305
|
+
* 判断值为:'' | null | undefined 时都属于空值
|
|
3306
3306
|
*/
|
|
3307
3307
|
function eqEmptyValue(cellValue) {
|
|
3308
3308
|
return cellValue === '' || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(cellValue);
|
|
@@ -3314,7 +3314,7 @@ function getDefaultConfig(val1, def1) {
|
|
|
3314
3314
|
/* unused harmony import specifier */ var VxeUI;
|
|
3315
3315
|
|
|
3316
3316
|
|
|
3317
|
-
const version = "4.19.
|
|
3317
|
+
const version = "4.19.18";
|
|
3318
3318
|
core_.VxeUI.version = version;
|
|
3319
3319
|
core_.VxeUI.tableVersion = version;
|
|
3320
3320
|
core_.VxeUI.setConfig({
|
|
@@ -3709,114 +3709,114 @@ const clipboard = core_.VxeUI.clipboard;
|
|
|
3709
3709
|
const log = core_.VxeUI.log;
|
|
3710
3710
|
const hooks = core_.VxeUI.hooks;
|
|
3711
3711
|
const use = core_.VxeUI.use;
|
|
3712
|
-
/**
|
|
3713
|
-
* 已废弃
|
|
3714
|
-
* @deprecated
|
|
3712
|
+
/**
|
|
3713
|
+
* 已废弃
|
|
3714
|
+
* @deprecated
|
|
3715
3715
|
*/
|
|
3716
3716
|
const setup = options => {
|
|
3717
3717
|
return core_.VxeUI.setConfig(options);
|
|
3718
3718
|
};
|
|
3719
3719
|
core_.VxeUI.setup = setup;
|
|
3720
|
-
/**
|
|
3721
|
-
* 已废弃
|
|
3722
|
-
* @deprecated
|
|
3720
|
+
/**
|
|
3721
|
+
* 已废弃
|
|
3722
|
+
* @deprecated
|
|
3723
3723
|
*/
|
|
3724
3724
|
const config = options => {
|
|
3725
3725
|
return core_.VxeUI.setConfig(options);
|
|
3726
3726
|
};
|
|
3727
3727
|
core_.VxeUI.config = config;
|
|
3728
|
-
/**
|
|
3729
|
-
* 已废弃
|
|
3730
|
-
* @deprecated
|
|
3728
|
+
/**
|
|
3729
|
+
* 已废弃
|
|
3730
|
+
* @deprecated
|
|
3731
3731
|
*/
|
|
3732
3732
|
const t = (key, args) => {
|
|
3733
3733
|
return core_.VxeUI.getI18n(key, args);
|
|
3734
3734
|
};
|
|
3735
3735
|
core_.VxeUI.t = t;
|
|
3736
|
-
/**
|
|
3737
|
-
* 已废弃
|
|
3738
|
-
* @deprecated
|
|
3736
|
+
/**
|
|
3737
|
+
* 已废弃
|
|
3738
|
+
* @deprecated
|
|
3739
3739
|
*/
|
|
3740
3740
|
const _t = (content, args) => {
|
|
3741
3741
|
return getFuncText(content, args);
|
|
3742
3742
|
};
|
|
3743
3743
|
core_.VxeUI._t = _t;
|
|
3744
|
-
/**
|
|
3745
|
-
* 已废弃,兼容老版本
|
|
3746
|
-
* @deprecated
|
|
3744
|
+
/**
|
|
3745
|
+
* 已废弃,兼容老版本
|
|
3746
|
+
* @deprecated
|
|
3747
3747
|
*/
|
|
3748
3748
|
const VXETable = core_.VxeUI;
|
|
3749
|
-
/**
|
|
3750
|
-
* 已废弃,兼容老版本
|
|
3751
|
-
* @deprecated
|
|
3749
|
+
/**
|
|
3750
|
+
* 已废弃,兼容老版本
|
|
3751
|
+
* @deprecated
|
|
3752
3752
|
*/
|
|
3753
3753
|
const saveFile = options => {
|
|
3754
3754
|
return core_.VxeUI.saveFile(options);
|
|
3755
3755
|
};
|
|
3756
|
-
/**
|
|
3757
|
-
* 已废弃,兼容老版本
|
|
3758
|
-
* @deprecated
|
|
3756
|
+
/**
|
|
3757
|
+
* 已废弃,兼容老版本
|
|
3758
|
+
* @deprecated
|
|
3759
3759
|
*/
|
|
3760
3760
|
const readFile = options => {
|
|
3761
3761
|
return core_.VxeUI.readFile(options);
|
|
3762
3762
|
};
|
|
3763
|
-
/**
|
|
3764
|
-
* 已废弃,兼容老版本
|
|
3765
|
-
* @deprecated
|
|
3763
|
+
/**
|
|
3764
|
+
* 已废弃,兼容老版本
|
|
3765
|
+
* @deprecated
|
|
3766
3766
|
*/
|
|
3767
3767
|
const print = options => {
|
|
3768
3768
|
return core_.VxeUI.print(options);
|
|
3769
3769
|
};
|
|
3770
|
-
/**
|
|
3771
|
-
* 已废弃,兼容老版本
|
|
3772
|
-
* @deprecated
|
|
3770
|
+
/**
|
|
3771
|
+
* 已废弃,兼容老版本
|
|
3772
|
+
* @deprecated
|
|
3773
3773
|
*/
|
|
3774
3774
|
const modal = {
|
|
3775
|
-
/**
|
|
3776
|
-
* 已废弃,兼容老版本
|
|
3777
|
-
* @deprecated
|
|
3775
|
+
/**
|
|
3776
|
+
* 已废弃,兼容老版本
|
|
3777
|
+
* @deprecated
|
|
3778
3778
|
*/
|
|
3779
3779
|
get(id) {
|
|
3780
3780
|
return core_.VxeUI.modal.get(id);
|
|
3781
3781
|
},
|
|
3782
|
-
/**
|
|
3783
|
-
* 已废弃,兼容老版本
|
|
3784
|
-
* @deprecated
|
|
3782
|
+
/**
|
|
3783
|
+
* 已废弃,兼容老版本
|
|
3784
|
+
* @deprecated
|
|
3785
3785
|
*/
|
|
3786
3786
|
close(id) {
|
|
3787
3787
|
return core_.VxeUI.modal.close(id);
|
|
3788
3788
|
},
|
|
3789
|
-
/**
|
|
3790
|
-
* 已废弃,兼容老版本
|
|
3791
|
-
* @deprecated
|
|
3789
|
+
/**
|
|
3790
|
+
* 已废弃,兼容老版本
|
|
3791
|
+
* @deprecated
|
|
3792
3792
|
*/
|
|
3793
3793
|
open(options) {
|
|
3794
3794
|
return core_.VxeUI.modal.open(options);
|
|
3795
3795
|
},
|
|
3796
|
-
/**
|
|
3797
|
-
* 已废弃,兼容老版本
|
|
3798
|
-
* @deprecated
|
|
3796
|
+
/**
|
|
3797
|
+
* 已废弃,兼容老版本
|
|
3798
|
+
* @deprecated
|
|
3799
3799
|
*/
|
|
3800
3800
|
alert(content, title, options) {
|
|
3801
3801
|
return core_.VxeUI.modal.alert(content, title, options);
|
|
3802
3802
|
},
|
|
3803
|
-
/**
|
|
3804
|
-
* 已废弃,兼容老版本
|
|
3805
|
-
* @deprecated
|
|
3803
|
+
/**
|
|
3804
|
+
* 已废弃,兼容老版本
|
|
3805
|
+
* @deprecated
|
|
3806
3806
|
*/
|
|
3807
3807
|
confirm(content, title, options) {
|
|
3808
3808
|
return core_.VxeUI.modal.confirm(content, title, options);
|
|
3809
3809
|
},
|
|
3810
|
-
/**
|
|
3811
|
-
* 已废弃,兼容老版本
|
|
3812
|
-
* @deprecated
|
|
3810
|
+
/**
|
|
3811
|
+
* 已废弃,兼容老版本
|
|
3812
|
+
* @deprecated
|
|
3813
3813
|
*/
|
|
3814
3814
|
message(content, options) {
|
|
3815
3815
|
return core_.VxeUI.modal.message(content, options);
|
|
3816
3816
|
},
|
|
3817
|
-
/**
|
|
3818
|
-
* 已废弃,兼容老版本
|
|
3819
|
-
* @deprecated
|
|
3817
|
+
/**
|
|
3818
|
+
* 已废弃,兼容老版本
|
|
3819
|
+
* @deprecated
|
|
3820
3820
|
*/
|
|
3821
3821
|
notification(content, title, options) {
|
|
3822
3822
|
return core_.VxeUI.modal.notification(content, title, options);
|
|
@@ -3981,8 +3981,8 @@ function checkTargetElement(target, exEls, endEl) {
|
|
|
3981
3981
|
}
|
|
3982
3982
|
return false;
|
|
3983
3983
|
}
|
|
3984
|
-
/**
|
|
3985
|
-
* 检查触发源是否属于目标节点
|
|
3984
|
+
/**
|
|
3985
|
+
* 检查触发源是否属于目标节点
|
|
3986
3986
|
*/
|
|
3987
3987
|
function getEventTargetNode(evnt, container, queryCls, queryMethod) {
|
|
3988
3988
|
let targetElem;
|
|
@@ -4003,8 +4003,8 @@ function getEventTargetNode(evnt, container, queryCls, queryMethod) {
|
|
|
4003
4003
|
flag: false
|
|
4004
4004
|
};
|
|
4005
4005
|
}
|
|
4006
|
-
/**
|
|
4007
|
-
* 获取元素相对于 document 的位置
|
|
4006
|
+
/**
|
|
4007
|
+
* 获取元素相对于 document 的位置
|
|
4008
4008
|
*/
|
|
4009
4009
|
function getOffsetPos(elem, container) {
|
|
4010
4010
|
return getNodeOffset(elem, container, {
|
|
@@ -4101,7 +4101,7 @@ function wheelScrollTopTo(diffNum, cb) {
|
|
|
4101
4101
|
const {
|
|
4102
4102
|
log: log_log
|
|
4103
4103
|
} = core_.VxeUI;
|
|
4104
|
-
const tableVersion = `table v${"4.19.
|
|
4104
|
+
const tableVersion = `table v${"4.19.18"}`;
|
|
4105
4105
|
function createComponentLog(name) {
|
|
4106
4106
|
const uiVersion = core_.VxeUI.uiVersion ? `ui v${core_.VxeUI.uiVersion}` : '';
|
|
4107
4107
|
const ganttVersion = core_.VxeUI.ganttVersion ? `gantt v${core_.VxeUI.ganttVersion}` : '';
|
|
@@ -4284,10 +4284,14 @@ class ColumnInfo {
|
|
|
4284
4284
|
colSpan: 1,
|
|
4285
4285
|
// 数据排序
|
|
4286
4286
|
order: null,
|
|
4287
|
+
// 用于记录排序类型,升序和倒序
|
|
4287
4288
|
sortTime: 0,
|
|
4289
|
+
// 用于多列的先后顺序
|
|
4288
4290
|
// 列排序
|
|
4289
4291
|
sortNumber: 0,
|
|
4292
|
+
// 用于记录自定义列顺序
|
|
4290
4293
|
renderSortNumber: 0,
|
|
4294
|
+
// 用于记录自定义列顺序
|
|
4291
4295
|
renderAggFn: '',
|
|
4292
4296
|
renderAggDigits: null,
|
|
4293
4297
|
renderAggFormat: null,
|
|
@@ -4298,8 +4302,10 @@ class ColumnInfo {
|
|
|
4298
4302
|
renderResizeWidth: 0,
|
|
4299
4303
|
renderAutoWidth: 0,
|
|
4300
4304
|
resizeWidth: 0,
|
|
4305
|
+
// 手动调整
|
|
4301
4306
|
renderLeft: 0,
|
|
4302
4307
|
renderArgs: [],
|
|
4308
|
+
// 渲染参数可用于扩展
|
|
4303
4309
|
model: {},
|
|
4304
4310
|
renderHeader: renderHeader || colConfs.renderHeader,
|
|
4305
4311
|
renderCell: renderCell || colConfs.renderCell,
|
|
@@ -4909,8 +4915,8 @@ function restoreScrollLocation($xeTable, scrollLeft, scrollTop) {
|
|
|
4909
4915
|
function getRowUniqueId() {
|
|
4910
4916
|
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId('row_');
|
|
4911
4917
|
}
|
|
4912
|
-
/**
|
|
4913
|
-
* 生成行的唯一主键
|
|
4918
|
+
/**
|
|
4919
|
+
* 生成行的唯一主键
|
|
4914
4920
|
*/
|
|
4915
4921
|
function createRowId(rowOpts, row, keyField) {
|
|
4916
4922
|
const {
|
|
@@ -5091,8 +5097,8 @@ function getCalcHeight(height) {
|
|
|
5091
5097
|
}
|
|
5092
5098
|
return height || 0;
|
|
5093
5099
|
}
|
|
5094
|
-
/**
|
|
5095
|
-
* 列宽拖动最大宽度
|
|
5100
|
+
/**
|
|
5101
|
+
* 列宽拖动最大宽度
|
|
5096
5102
|
*/
|
|
5097
5103
|
function getColReMaxWidth(params) {
|
|
5098
5104
|
const {
|
|
@@ -5139,8 +5145,8 @@ function getColReMaxWidth(params) {
|
|
|
5139
5145
|
}
|
|
5140
5146
|
return -1;
|
|
5141
5147
|
}
|
|
5142
|
-
/**
|
|
5143
|
-
* 列宽拖动最小宽度
|
|
5148
|
+
/**
|
|
5149
|
+
* 列宽拖动最小宽度
|
|
5144
5150
|
*/
|
|
5145
5151
|
function getColReMinWidth(params) {
|
|
5146
5152
|
const {
|
|
@@ -5946,8 +5952,8 @@ const Cell = {
|
|
|
5946
5952
|
}
|
|
5947
5953
|
return createColumn($xeTable, columnOpts, renConfs);
|
|
5948
5954
|
},
|
|
5949
|
-
/**
|
|
5950
|
-
* 列头标题
|
|
5955
|
+
/**
|
|
5956
|
+
* 列头标题
|
|
5951
5957
|
*/
|
|
5952
5958
|
renderHeaderTitle(params) {
|
|
5953
5959
|
const {
|
|
@@ -6049,14 +6055,14 @@ const Cell = {
|
|
|
6049
6055
|
childList,
|
|
6050
6056
|
childCount,
|
|
6051
6057
|
aggValue: null,
|
|
6052
|
-
/**
|
|
6053
|
-
* 已废弃
|
|
6054
|
-
* @deprecated
|
|
6058
|
+
/**
|
|
6059
|
+
* 已废弃
|
|
6060
|
+
* @deprecated
|
|
6055
6061
|
*/
|
|
6056
6062
|
children: childList,
|
|
6057
|
-
/**
|
|
6058
|
-
* 已废弃
|
|
6059
|
-
* @deprecated
|
|
6063
|
+
/**
|
|
6064
|
+
* 已废弃
|
|
6065
|
+
* @deprecated
|
|
6060
6066
|
*/
|
|
6061
6067
|
totalValue: childCount
|
|
6062
6068
|
};
|
|
@@ -6137,8 +6143,8 @@ const Cell = {
|
|
|
6137
6143
|
renderDefaultFooter(params) {
|
|
6138
6144
|
return getFooterContent(params);
|
|
6139
6145
|
},
|
|
6140
|
-
/**
|
|
6141
|
-
* 行分组
|
|
6146
|
+
/**
|
|
6147
|
+
* 行分组
|
|
6142
6148
|
*/
|
|
6143
6149
|
renderRowGroupBtn(params, cellVNodes) {
|
|
6144
6150
|
const {
|
|
@@ -6188,8 +6194,8 @@ const Cell = {
|
|
|
6188
6194
|
class: 'vxe-row-group-cell'
|
|
6189
6195
|
}, cellVNodes)]);
|
|
6190
6196
|
},
|
|
6191
|
-
/**
|
|
6192
|
-
* 树
|
|
6197
|
+
/**
|
|
6198
|
+
* 树
|
|
6193
6199
|
*/
|
|
6194
6200
|
renderTreeNodeBtn(params, cellVNodes) {
|
|
6195
6201
|
const {
|
|
@@ -6272,9 +6278,9 @@ const Cell = {
|
|
|
6272
6278
|
class: 'vxe-tree-cell'
|
|
6273
6279
|
}, cellVNodes)]);
|
|
6274
6280
|
},
|
|
6275
|
-
/**
|
|
6276
|
-
* 层级节点。
|
|
6277
|
-
* 行分组、树结构
|
|
6281
|
+
/**
|
|
6282
|
+
* 层级节点。
|
|
6283
|
+
* 行分组、树结构
|
|
6278
6284
|
*/
|
|
6279
6285
|
renderDeepNodeBtn(params, cellVNodes) {
|
|
6280
6286
|
const {
|
|
@@ -6308,8 +6314,8 @@ const Cell = {
|
|
|
6308
6314
|
}
|
|
6309
6315
|
return [Cell.renderTreeNodeBtn(params, cellVNodes)];
|
|
6310
6316
|
},
|
|
6311
|
-
/**
|
|
6312
|
-
* 序号
|
|
6317
|
+
/**
|
|
6318
|
+
* 序号
|
|
6313
6319
|
*/
|
|
6314
6320
|
renderSeqHeader(params) {
|
|
6315
6321
|
const {
|
|
@@ -6351,8 +6357,8 @@ const Cell = {
|
|
|
6351
6357
|
renderDeepIndexCell(params) {
|
|
6352
6358
|
return Cell.renderDeepNodeBtn(params, Cell.renderSeqCell(params));
|
|
6353
6359
|
},
|
|
6354
|
-
/**
|
|
6355
|
-
* 单选
|
|
6360
|
+
/**
|
|
6361
|
+
* 单选
|
|
6356
6362
|
*/
|
|
6357
6363
|
renderRadioHeader(params) {
|
|
6358
6364
|
const {
|
|
@@ -6448,8 +6454,8 @@ const Cell = {
|
|
|
6448
6454
|
renderDeepRadioCell(params) {
|
|
6449
6455
|
return Cell.renderDeepNodeBtn(params, Cell.renderRadioCell(params));
|
|
6450
6456
|
},
|
|
6451
|
-
/**
|
|
6452
|
-
* 多选
|
|
6457
|
+
/**
|
|
6458
|
+
* 多选
|
|
6453
6459
|
*/
|
|
6454
6460
|
renderCheckboxHeader(params) {
|
|
6455
6461
|
const {
|
|
@@ -6734,8 +6740,8 @@ const Cell = {
|
|
|
6734
6740
|
renderDeepSelectionCellByProp(params) {
|
|
6735
6741
|
return Cell.renderDeepNodeBtn(params, Cell.renderCheckboxCellByProp(params));
|
|
6736
6742
|
},
|
|
6737
|
-
/**
|
|
6738
|
-
* 展开行
|
|
6743
|
+
/**
|
|
6744
|
+
* 展开行
|
|
6739
6745
|
*/
|
|
6740
6746
|
renderExpandCell(params) {
|
|
6741
6747
|
const {
|
|
@@ -6828,8 +6834,8 @@ const Cell = {
|
|
|
6828
6834
|
}
|
|
6829
6835
|
return [];
|
|
6830
6836
|
},
|
|
6831
|
-
/**
|
|
6832
|
-
* HTML 标签
|
|
6837
|
+
/**
|
|
6838
|
+
* HTML 标签
|
|
6833
6839
|
*/
|
|
6834
6840
|
renderHTMLCell(params) {
|
|
6835
6841
|
const {
|
|
@@ -6851,14 +6857,14 @@ const Cell = {
|
|
|
6851
6857
|
renderDeepHTMLCell(params) {
|
|
6852
6858
|
return Cell.renderDeepNodeBtn(params, Cell.renderHTMLCell(params));
|
|
6853
6859
|
},
|
|
6854
|
-
/**
|
|
6855
|
-
* 排序和筛选
|
|
6860
|
+
/**
|
|
6861
|
+
* 排序和筛选
|
|
6856
6862
|
*/
|
|
6857
6863
|
renderSortAndFilterHeader(params) {
|
|
6858
6864
|
return renderHeaderCellBaseVNs(params, Cell.renderHeaderTitle(params).concat(Cell.renderSortIcon(params).concat(Cell.renderFilterIcon(params))));
|
|
6859
6865
|
},
|
|
6860
|
-
/**
|
|
6861
|
-
* 排序
|
|
6866
|
+
/**
|
|
6867
|
+
* 排序
|
|
6862
6868
|
*/
|
|
6863
6869
|
renderSortHeader(params) {
|
|
6864
6870
|
return renderHeaderCellBaseVNs(params, Cell.renderHeaderTitle(params).concat(Cell.renderSortIcon(params)));
|
|
@@ -6912,8 +6918,8 @@ const Cell = {
|
|
|
6912
6918
|
}
|
|
6913
6919
|
return [];
|
|
6914
6920
|
},
|
|
6915
|
-
/**
|
|
6916
|
-
* 筛选
|
|
6921
|
+
/**
|
|
6922
|
+
* 筛选
|
|
6917
6923
|
*/
|
|
6918
6924
|
renderFilterHeader(params) {
|
|
6919
6925
|
return renderHeaderCellBaseVNs(params, Cell.renderHeaderTitle(params).concat(Cell.renderFilterIcon(params)));
|
|
@@ -6955,8 +6961,8 @@ const Cell = {
|
|
|
6955
6961
|
}
|
|
6956
6962
|
return [];
|
|
6957
6963
|
},
|
|
6958
|
-
/**
|
|
6959
|
-
* 可编辑
|
|
6964
|
+
/**
|
|
6965
|
+
* 可编辑
|
|
6960
6966
|
*/
|
|
6961
6967
|
renderEditHeader(params) {
|
|
6962
6968
|
const {
|
|
@@ -7491,17 +7497,17 @@ const tableProps = {
|
|
|
7491
7497
|
type: Boolean,
|
|
7492
7498
|
default: () => props_getConfig().table.highlightHoverRow
|
|
7493
7499
|
},
|
|
7494
|
-
/**
|
|
7495
|
-
* (即将废弃)是否要高亮当前选中列
|
|
7496
|
-
* @deprecated
|
|
7500
|
+
/**
|
|
7501
|
+
* (即将废弃)是否要高亮当前选中列
|
|
7502
|
+
* @deprecated
|
|
7497
7503
|
*/
|
|
7498
7504
|
highlightCurrentColumn: {
|
|
7499
7505
|
type: Boolean,
|
|
7500
7506
|
default: () => props_getConfig().table.highlightCurrentColumn
|
|
7501
7507
|
},
|
|
7502
|
-
/**
|
|
7503
|
-
* (即将废弃)鼠标移到列是否要高亮显示
|
|
7504
|
-
* @deprecated
|
|
7508
|
+
/**
|
|
7509
|
+
* (即将废弃)鼠标移到列是否要高亮显示
|
|
7510
|
+
* @deprecated
|
|
7505
7511
|
*/
|
|
7506
7512
|
highlightHoverColumn: {
|
|
7507
7513
|
type: Boolean,
|
|
@@ -7571,19 +7577,19 @@ const tableProps = {
|
|
|
7571
7577
|
default: () => props_getConfig().table.showFooterOverflow
|
|
7572
7578
|
},
|
|
7573
7579
|
/** 高级属性 */
|
|
7574
|
-
/**
|
|
7575
|
-
* (即将废弃)columnKey 已废弃,被 column-config.useKey 替换
|
|
7576
|
-
* @deprecated
|
|
7580
|
+
/**
|
|
7581
|
+
* (即将废弃)columnKey 已废弃,被 column-config.useKey 替换
|
|
7582
|
+
* @deprecated
|
|
7577
7583
|
*/
|
|
7578
7584
|
columnKey: Boolean,
|
|
7579
|
-
/**
|
|
7580
|
-
* (即将废弃)rowKey 已废弃,被 row-config.useKey 替换
|
|
7581
|
-
* @deprecated
|
|
7585
|
+
/**
|
|
7586
|
+
* (即将废弃)rowKey 已废弃,被 row-config.useKey 替换
|
|
7587
|
+
* @deprecated
|
|
7582
7588
|
*/
|
|
7583
7589
|
rowKey: Boolean,
|
|
7584
|
-
/**
|
|
7585
|
-
* (即将废弃)rowId 已废弃,被 row-config.keyField 替换
|
|
7586
|
-
* @deprecated
|
|
7590
|
+
/**
|
|
7591
|
+
* (即将废弃)rowId 已废弃,被 row-config.keyField 替换
|
|
7592
|
+
* @deprecated
|
|
7587
7593
|
*/
|
|
7588
7594
|
rowId: {
|
|
7589
7595
|
type: String,
|
|
@@ -7623,16 +7629,16 @@ const tableProps = {
|
|
|
7623
7629
|
aggregateConfig: Object,
|
|
7624
7630
|
// 聚合函数计算精度配置项
|
|
7625
7631
|
aggregateAccuracyConfig: Object,
|
|
7626
|
-
/**
|
|
7627
|
-
* 已废弃,被 aggregateConfig 替换
|
|
7628
|
-
* @deprecated
|
|
7632
|
+
/**
|
|
7633
|
+
* 已废弃,被 aggregateConfig 替换
|
|
7634
|
+
* @deprecated
|
|
7629
7635
|
*/
|
|
7630
7636
|
rowGroupConfig: Object,
|
|
7631
7637
|
// 当前行配置项
|
|
7632
7638
|
currentRowConfig: Object,
|
|
7633
|
-
/**
|
|
7634
|
-
* 已废弃,被 rowDragConfig 替换
|
|
7635
|
-
* @deprecated
|
|
7639
|
+
/**
|
|
7640
|
+
* 已废弃,被 rowDragConfig 替换
|
|
7641
|
+
* @deprecated
|
|
7636
7642
|
*/
|
|
7637
7643
|
dragConfig: Object,
|
|
7638
7644
|
// 行拖拽排序配置项
|
|
@@ -7695,14 +7701,14 @@ const tableProps = {
|
|
|
7695
7701
|
emptyRender: Object,
|
|
7696
7702
|
// 自定义列配置项
|
|
7697
7703
|
customConfig: Object,
|
|
7698
|
-
/**
|
|
7699
|
-
* (即将废弃)横向虚拟滚动配置项
|
|
7700
|
-
* @deprecated
|
|
7704
|
+
/**
|
|
7705
|
+
* (即将废弃)横向虚拟滚动配置项
|
|
7706
|
+
* @deprecated
|
|
7701
7707
|
*/
|
|
7702
7708
|
scrollX: Object,
|
|
7703
|
-
/**
|
|
7704
|
-
* (即将废弃)纵向虚拟滚动配置项
|
|
7705
|
-
* @deprecated
|
|
7709
|
+
/**
|
|
7710
|
+
* (即将废弃)纵向虚拟滚动配置项
|
|
7711
|
+
* @deprecated
|
|
7706
7712
|
*/
|
|
7707
7713
|
scrollY: Object,
|
|
7708
7714
|
// 横向虚拟滚动配置项
|
|
@@ -7747,7 +7753,15 @@ const gridProps = {
|
|
|
7747
7753
|
}
|
|
7748
7754
|
};
|
|
7749
7755
|
;// ./packages/table/src/emits.ts
|
|
7750
|
-
const tableEmits = ['ready', 'init-rendered', 'data-rendered', 'update:data', 'keydown-start', 'keydown', 'keydown-end', 'paste', 'copy', 'cut', 'undo', 'redo', 'context-menu', 'columns-change', 'data-change', 'footer-data-change', 'current-change',
|
|
7756
|
+
const tableEmits = ['ready', 'init-rendered', 'data-rendered', 'update:data', 'keydown-start', 'keydown', 'keydown-end', 'paste', 'copy', 'cut', 'undo', 'redo', 'context-menu', 'columns-change', 'data-change', 'footer-data-change', 'current-change',
|
|
7757
|
+
// 已废弃
|
|
7758
|
+
'current-row-change', 'current-row-disabled', 'current-column-change', 'current-column-disabled', 'radio-change', 'checkbox-change', 'checkbox-all', 'checkbox-range-start', 'checkbox-range-change', 'checkbox-range-end', 'checkbox-range-select', 'cell-click', 'cell-dblclick', 'cell-menu', 'cell-mouseenter', 'cell-mouseleave', 'cell-selected', 'cell-delete-value', 'cell-backspace-value', 'header-cell-click', 'header-cell-dblclick', 'header-cell-menu', 'footer-cell-click', 'footer-cell-dblclick', 'footer-cell-menu', 'clear-merge', 'sort-change', 'clear-sort', 'clear-all-sort', 'filter-change', 'filter-visible', 'clear-filter', 'clear-all-filter', 'resizable-change',
|
|
7759
|
+
// 废弃
|
|
7760
|
+
'column-resizable-change', 'row-resizable-change', 'toggle-row-group-expand', 'toggle-row-expand', 'toggle-tree-expand', 'menu-click', 'edit-closed', 'row-dragstart', 'row-dragover', 'row-dragend', 'row-remove-dragend', 'row-insert-dragend', 'column-dragstart', 'column-dragover', 'column-dragend', 'enter-append-row', 'tab-append-row', 'edit-actived',
|
|
7761
|
+
// 废弃
|
|
7762
|
+
'edit-activated', 'edit-disabled', 'valid-error', 'scroll', 'scroll-boundary', 'custom', 'custom-visible-change', 'custom-visible-all', 'custom-fixed-change', 'custom-sort-change', 'change-fnr',
|
|
7763
|
+
// 废弃
|
|
7764
|
+
'open-fnr', 'show-fnr', 'hide-fnr', 'fnr-change', 'fnr-find', 'fnr-find-all', 'fnr-replace', 'fnr-replace-all', 'cell-area-copy', 'cell-area-cut', 'cell-area-paste', 'cell-area-merge', 'clear-cell-area-selection', 'clear-cell-area-merge', 'header-cell-area-selection', 'cell-area-selection-invalid', 'cell-area-selection-start', 'cell-area-selection-drag', 'cell-area-selection-end', 'cell-area-extension-start', 'cell-area-extension-drag', 'cell-area-extension-end', 'cell-area-extension-fill', 'cell-area-selection-all-start', 'cell-area-selection-all-end', 'cell-area-arrows-start', 'cell-area-arrows-end', 'cell-area-fill-copy', 'active-cell-change-start', 'active-cell-change-end'];
|
|
7751
7765
|
;// ./packages/grid/src/emits.ts
|
|
7752
7766
|
|
|
7753
7767
|
const gridEmits = [...tableEmits, 'page-change', 'form-submit', 'form-submit-invalid', 'form-reset', 'form-collapse', 'form-toggle-collapse', 'proxy-query', 'proxy-delete', 'proxy-save', 'toolbar-button-click', 'toolbar-tool-click', 'zoom'];
|
|
@@ -7760,8 +7774,8 @@ var es_iterator_to_array = __webpack_require__(1806);
|
|
|
7760
7774
|
|
|
7761
7775
|
const rowMoveCls = 'row--drag-move';
|
|
7762
7776
|
const colMoveClass = 'col--drag-move';
|
|
7763
|
-
/**
|
|
7764
|
-
* 上下拖拽
|
|
7777
|
+
/**
|
|
7778
|
+
* 上下拖拽
|
|
7765
7779
|
*/
|
|
7766
7780
|
function moveRowAnimateToTb(elemList, offsetTop) {
|
|
7767
7781
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(elemList, trEl => {
|
|
@@ -7781,8 +7795,8 @@ function clearRowAnimate(elem, clss) {
|
|
|
7781
7795
|
}
|
|
7782
7796
|
}, 500);
|
|
7783
7797
|
}
|
|
7784
|
-
/**
|
|
7785
|
-
* 左右拖拽
|
|
7798
|
+
/**
|
|
7799
|
+
* 左右拖拽
|
|
7786
7800
|
*/
|
|
7787
7801
|
function moveColAnimateToLr(elemList, offsetLeft) {
|
|
7788
7802
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(elemList, trEl => {
|
|
@@ -7950,8 +7964,8 @@ const renderType = 'body';
|
|
|
7950
7964
|
}
|
|
7951
7965
|
return [];
|
|
7952
7966
|
};
|
|
7953
|
-
/**
|
|
7954
|
-
* 渲染列
|
|
7967
|
+
/**
|
|
7968
|
+
* 渲染列
|
|
7955
7969
|
*/
|
|
7956
7970
|
const renderTdColumn = (seq, rowid, fixedType, isOptimizeMode, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) => {
|
|
7957
7971
|
const $xeGrid = $xeTable.xeGrid;
|
|
@@ -8766,8 +8780,8 @@ const renderType = 'body';
|
|
|
8766
8780
|
border: 0,
|
|
8767
8781
|
xvm: isOptimizeMode ? '1' : null
|
|
8768
8782
|
}, [
|
|
8769
|
-
/**
|
|
8770
|
-
* 列宽
|
|
8783
|
+
/**
|
|
8784
|
+
* 列宽
|
|
8771
8785
|
*/
|
|
8772
8786
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('colgroup', {
|
|
8773
8787
|
ref: refBodyColgroup
|
|
@@ -8780,8 +8794,8 @@ const renderType = 'body';
|
|
|
8780
8794
|
}
|
|
8781
8795
|
});
|
|
8782
8796
|
})),
|
|
8783
|
-
/**
|
|
8784
|
-
* 内容
|
|
8797
|
+
/**
|
|
8798
|
+
* 内容
|
|
8785
8799
|
*/
|
|
8786
8800
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tbody', {
|
|
8787
8801
|
ref: refBodyTBody
|
|
@@ -8909,7 +8923,7 @@ const header_renderType = 'header';
|
|
|
8909
8923
|
}, null);
|
|
8910
8924
|
});
|
|
8911
8925
|
};
|
|
8912
|
-
const renderRows = (isGroup, isOptimizeMode, headerGroups,
|
|
8926
|
+
const renderRows = (isGroup, isOptimizeMode, headerGroups, _rowIndex, cols) => {
|
|
8913
8927
|
const $xeGrid = $xeTable.xeGrid;
|
|
8914
8928
|
const $xeGantt = $xeTable.xeGantt;
|
|
8915
8929
|
const {
|
|
@@ -8953,7 +8967,7 @@ const header_renderType = 'header';
|
|
|
8953
8967
|
isCrossDrag,
|
|
8954
8968
|
isPeerDrag
|
|
8955
8969
|
} = columnDragOpts;
|
|
8956
|
-
const isLastRow =
|
|
8970
|
+
const isLastRow = _rowIndex === headerGroups.length - 1;
|
|
8957
8971
|
return cols.map((column, $columnIndex) => {
|
|
8958
8972
|
const {
|
|
8959
8973
|
type,
|
|
@@ -8990,7 +9004,9 @@ const header_renderType = 'header';
|
|
|
8990
9004
|
$table: $xeTable,
|
|
8991
9005
|
$grid: $xeGrid,
|
|
8992
9006
|
$gantt: $xeGantt,
|
|
8993
|
-
|
|
9007
|
+
rowIndex: _rowIndex,
|
|
9008
|
+
_rowIndex,
|
|
9009
|
+
$rowIndex: _rowIndex,
|
|
8994
9010
|
column,
|
|
8995
9011
|
columnIndex,
|
|
8996
9012
|
$columnIndex,
|
|
@@ -9012,7 +9028,7 @@ const header_renderType = 'header';
|
|
|
9012
9028
|
thAttrs.rowspan = column.rowSpan > 1 ? column.rowSpan : null;
|
|
9013
9029
|
}
|
|
9014
9030
|
if (mergeHeadFlag && mergeHeaderList.length && (showCustomHeader || isLastRow)) {
|
|
9015
|
-
const spanRest = mergeHeaderCellMaps[`${
|
|
9031
|
+
const spanRest = mergeHeaderCellMaps[`${_rowIndex}:${showCustomHeader ? $columnIndex : _columnIndex}`];
|
|
9016
9032
|
if (spanRest) {
|
|
9017
9033
|
const {
|
|
9018
9034
|
rowspan,
|
|
@@ -9113,8 +9129,8 @@ const header_renderType = 'header';
|
|
|
9113
9129
|
colid,
|
|
9114
9130
|
class: 'vxe-cell--wrapper vxe-header-cell--wrapper'
|
|
9115
9131
|
}, column.renderHeader(cellParams))]),
|
|
9116
|
-
/**
|
|
9117
|
-
* 列宽拖动
|
|
9132
|
+
/**
|
|
9133
|
+
* 列宽拖动
|
|
9118
9134
|
*/
|
|
9119
9135
|
!fixedHiddenColumn && showResizable && (!showCustomHeader || isLastRow) ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
9120
9136
|
class: 'vxe-cell--col-resizable',
|
|
@@ -9247,18 +9263,20 @@ const header_renderType = 'header';
|
|
|
9247
9263
|
headerRowStyle
|
|
9248
9264
|
} = tableProps;
|
|
9249
9265
|
const floatingFilterOpts = computeFloatingFilterOpts.value;
|
|
9250
|
-
const rowVNs = headerGroups.map((cols,
|
|
9266
|
+
const rowVNs = headerGroups.map((cols, _rowIndex) => {
|
|
9251
9267
|
const params = {
|
|
9252
9268
|
$table: $xeTable,
|
|
9253
|
-
|
|
9269
|
+
rowIndex: _rowIndex,
|
|
9270
|
+
_rowIndex,
|
|
9271
|
+
$rowIndex: _rowIndex,
|
|
9254
9272
|
fixed: fixedType,
|
|
9255
9273
|
type: header_renderType
|
|
9256
9274
|
};
|
|
9257
9275
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tr', {
|
|
9258
|
-
key:
|
|
9276
|
+
key: _rowIndex,
|
|
9259
9277
|
class: ['vxe-header--row', headerRowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(headerRowClassName) ? headerRowClassName(params) : headerRowClassName : ''],
|
|
9260
9278
|
style: headerRowStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle : null
|
|
9261
|
-
}, renderRows(isGroup, isOptimizeMode, headerGroups,
|
|
9279
|
+
}, renderRows(isGroup, isOptimizeMode, headerGroups, _rowIndex, cols));
|
|
9262
9280
|
});
|
|
9263
9281
|
if (floatingFilterOpts.enabled) {
|
|
9264
9282
|
rowVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tr', {
|
|
@@ -9355,8 +9373,8 @@ const header_renderType = 'header';
|
|
|
9355
9373
|
border: 0,
|
|
9356
9374
|
xvm: isOptimizeMode ? '1' : null
|
|
9357
9375
|
}, [
|
|
9358
|
-
/**
|
|
9359
|
-
* 列宽
|
|
9376
|
+
/**
|
|
9377
|
+
* 列宽
|
|
9360
9378
|
*/
|
|
9361
9379
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('colgroup', {
|
|
9362
9380
|
ref: refHeaderColgroup
|
|
@@ -9369,8 +9387,8 @@ const header_renderType = 'header';
|
|
|
9369
9387
|
}
|
|
9370
9388
|
});
|
|
9371
9389
|
})),
|
|
9372
|
-
/**
|
|
9373
|
-
* 头部
|
|
9390
|
+
/**
|
|
9391
|
+
* 头部
|
|
9374
9392
|
*/
|
|
9375
9393
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('thead', {
|
|
9376
9394
|
ref: refHeaderTHead
|
|
@@ -9685,8 +9703,8 @@ const footer_renderType = 'footer';
|
|
|
9685
9703
|
colid,
|
|
9686
9704
|
class: 'vxe-cell--wrapper vxe-footer-cell--wrapper'
|
|
9687
9705
|
}, column.renderFooter(cellParams))]),
|
|
9688
|
-
/**
|
|
9689
|
-
* 列宽拖动
|
|
9706
|
+
/**
|
|
9707
|
+
* 列宽拖动
|
|
9690
9708
|
*/
|
|
9691
9709
|
!fixedHiddenColumn && showResizable && isAllColumnDrag ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
9692
9710
|
class: ['vxe-cell--col-resizable', {
|
|
@@ -9706,21 +9724,22 @@ const footer_renderType = 'footer';
|
|
|
9706
9724
|
footerRowClassName,
|
|
9707
9725
|
footerRowStyle
|
|
9708
9726
|
} = tableProps;
|
|
9709
|
-
return footerTableData.map((row,
|
|
9710
|
-
const
|
|
9727
|
+
return footerTableData.map((row, _rowIndex) => {
|
|
9728
|
+
const $rowIndex = _rowIndex;
|
|
9711
9729
|
const rowParams = {
|
|
9712
9730
|
$table: $xeTable,
|
|
9713
9731
|
row,
|
|
9732
|
+
rowIndex: _rowIndex,
|
|
9714
9733
|
_rowIndex,
|
|
9715
9734
|
$rowIndex,
|
|
9716
9735
|
fixed: fixedType,
|
|
9717
9736
|
type: footer_renderType
|
|
9718
9737
|
};
|
|
9719
9738
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tr', {
|
|
9720
|
-
key:
|
|
9739
|
+
key: _rowIndex,
|
|
9721
9740
|
class: ['vxe-footer--row', footerRowClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''],
|
|
9722
9741
|
style: footerRowStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle : null
|
|
9723
|
-
}, renderRows(isOptimizeMode, renderColumnList, footerTableData, row,
|
|
9742
|
+
}, renderRows(isOptimizeMode, renderColumnList, footerTableData, row, _rowIndex, _rowIndex));
|
|
9724
9743
|
});
|
|
9725
9744
|
};
|
|
9726
9745
|
const renderVN = () => {
|
|
@@ -9797,8 +9816,8 @@ const footer_renderType = 'footer';
|
|
|
9797
9816
|
border: 0,
|
|
9798
9817
|
xvm: isOptimizeMode ? '1' : null
|
|
9799
9818
|
}, [
|
|
9800
|
-
/**
|
|
9801
|
-
* 列宽
|
|
9819
|
+
/**
|
|
9820
|
+
* 列宽
|
|
9802
9821
|
*/
|
|
9803
9822
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('colgroup', {
|
|
9804
9823
|
ref: refFooterColgroup
|
|
@@ -9811,8 +9830,8 @@ const footer_renderType = 'footer';
|
|
|
9811
9830
|
}
|
|
9812
9831
|
});
|
|
9813
9832
|
})),
|
|
9814
|
-
/**
|
|
9815
|
-
* 底部
|
|
9833
|
+
/**
|
|
9834
|
+
* 底部
|
|
9816
9835
|
*/
|
|
9817
9836
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tfoot', {
|
|
9818
9837
|
ref: refFooterTFoot
|
|
@@ -10946,8 +10965,11 @@ function panel_createInternalData() {
|
|
|
10946
10965
|
const resizeParams = {
|
|
10947
10966
|
$table: $xeTable,
|
|
10948
10967
|
column,
|
|
10949
|
-
columnIndex:
|
|
10950
|
-
$columnIndex:
|
|
10968
|
+
columnIndex: $xeTable.getColumnIndex(column),
|
|
10969
|
+
$columnIndex: $xeTable.getVMColumnIndex(column),
|
|
10970
|
+
_columnIndex: $xeTable.getVTColumnIndex(column),
|
|
10971
|
+
rowIndex: -1,
|
|
10972
|
+
_rowIndex: -1,
|
|
10951
10973
|
$rowIndex: -1
|
|
10952
10974
|
};
|
|
10953
10975
|
if (reMinWidth) {
|
|
@@ -11336,8 +11358,8 @@ const {
|
|
|
11336
11358
|
filterStore.isAllSelected = value;
|
|
11337
11359
|
filterStore.isIndeterminate = false;
|
|
11338
11360
|
};
|
|
11339
|
-
/*************************
|
|
11340
|
-
* Publish methods
|
|
11361
|
+
/*************************
|
|
11362
|
+
* Publish methods
|
|
11341
11363
|
*************************/
|
|
11342
11364
|
// 确认筛选
|
|
11343
11365
|
const confirmFilter = evnt => {
|
|
@@ -11353,10 +11375,10 @@ const {
|
|
|
11353
11375
|
const changeRadioOption = (evnt, checked, item) => {
|
|
11354
11376
|
$xeTable.handleFilterChangeRadioOption(evnt, checked, item);
|
|
11355
11377
|
};
|
|
11356
|
-
/**
|
|
11357
|
-
* 重置筛选
|
|
11358
|
-
* 当筛选面板中的重置按钮被按下时触发
|
|
11359
|
-
* @param {Event} evnt 事件
|
|
11378
|
+
/**
|
|
11379
|
+
* 重置筛选
|
|
11380
|
+
* 当筛选面板中的重置按钮被按下时触发
|
|
11381
|
+
* @param {Event} evnt 事件
|
|
11360
11382
|
*/
|
|
11361
11383
|
const resetFilter = evnt => {
|
|
11362
11384
|
const {
|
|
@@ -11385,8 +11407,8 @@ const {
|
|
|
11385
11407
|
resetFilter(evnt);
|
|
11386
11408
|
}
|
|
11387
11409
|
};
|
|
11388
|
-
/*************************
|
|
11389
|
-
* Publish methods
|
|
11410
|
+
/*************************
|
|
11411
|
+
* Publish methods
|
|
11390
11412
|
*************************/
|
|
11391
11413
|
const filterPanelMethods = {
|
|
11392
11414
|
changeRadioOption,
|
|
@@ -12554,9 +12576,9 @@ hook_hooks.add('tableFilterModule', {
|
|
|
12554
12576
|
let left = 0;
|
|
12555
12577
|
let top = 0;
|
|
12556
12578
|
let maxHeight = 0;
|
|
12557
|
-
/**
|
|
12558
|
-
* 是否显示筛选按钮图标
|
|
12559
|
-
* 如果不存在图标,则相对单元格居中显示
|
|
12579
|
+
/**
|
|
12580
|
+
* 是否显示筛选按钮图标
|
|
12581
|
+
* 如果不存在图标,则相对单元格居中显示
|
|
12560
12582
|
*/
|
|
12561
12583
|
if (transfer) {
|
|
12562
12584
|
left = btnRect.left - centerWidth + scrollLeft;
|
|
@@ -12612,14 +12634,14 @@ hook_hooks.add('tableFilterModule', {
|
|
|
12612
12634
|
visible: filterStore.visible
|
|
12613
12635
|
}, evnt);
|
|
12614
12636
|
},
|
|
12615
|
-
/**
|
|
12616
|
-
* 点击筛选事件
|
|
12617
|
-
* 当筛选图标被点击时触发
|
|
12618
|
-
* 更新选项是否全部状态
|
|
12619
|
-
* 打开筛选面板
|
|
12620
|
-
* @param {Event} evnt 事件
|
|
12621
|
-
* @param {ColumnInfo} column 列配置
|
|
12622
|
-
* @param {Object} params 参数
|
|
12637
|
+
/**
|
|
12638
|
+
* 点击筛选事件
|
|
12639
|
+
* 当筛选图标被点击时触发
|
|
12640
|
+
* 更新选项是否全部状态
|
|
12641
|
+
* 打开筛选面板
|
|
12642
|
+
* @param {Event} evnt 事件
|
|
12643
|
+
* @param {ColumnInfo} column 列配置
|
|
12644
|
+
* @param {Object} params 参数
|
|
12623
12645
|
*/
|
|
12624
12646
|
triggerFilterEvent(evnt, column, params) {
|
|
12625
12647
|
const {
|
|
@@ -12728,9 +12750,9 @@ hook_hooks.add('tableFilterModule', {
|
|
|
12728
12750
|
setTimeout(() => $xeTable.recalculate(), 50);
|
|
12729
12751
|
});
|
|
12730
12752
|
},
|
|
12731
|
-
/**
|
|
12732
|
-
* 确认筛选
|
|
12733
|
-
* 当筛选面板中的确定按钮被按下时触发
|
|
12753
|
+
/**
|
|
12754
|
+
* 确认筛选
|
|
12755
|
+
* 当筛选面板中的确定按钮被按下时触发
|
|
12734
12756
|
*/
|
|
12735
12757
|
confirmFilterEvent(evnt, column) {
|
|
12736
12758
|
if (column) {
|
|
@@ -12794,9 +12816,9 @@ hook_hooks.add('tableFilterModule', {
|
|
|
12794
12816
|
$xeTable.confirmFilterEvent(evnt, column);
|
|
12795
12817
|
}
|
|
12796
12818
|
},
|
|
12797
|
-
/**
|
|
12798
|
-
* 重置筛选
|
|
12799
|
-
* 当筛选面板中的重置按钮被按下时触发
|
|
12819
|
+
/**
|
|
12820
|
+
* 重置筛选
|
|
12821
|
+
* 当筛选面板中的重置按钮被按下时触发
|
|
12800
12822
|
*/
|
|
12801
12823
|
handleFilterResetFilter(evnt, column) {
|
|
12802
12824
|
if (column) {
|
|
@@ -12811,9 +12833,9 @@ hook_hooks.add('tableFilterModule', {
|
|
|
12811
12833
|
}
|
|
12812
12834
|
};
|
|
12813
12835
|
const filterMethods = {
|
|
12814
|
-
/**
|
|
12815
|
-
* 手动弹出筛选面板
|
|
12816
|
-
* @param column
|
|
12836
|
+
/**
|
|
12837
|
+
* 手动弹出筛选面板
|
|
12838
|
+
* @param column
|
|
12817
12839
|
*/
|
|
12818
12840
|
openFilter(fieldOrColumn) {
|
|
12819
12841
|
const column = handleFieldOrColumn($xeTable, fieldOrColumn);
|
|
@@ -12862,10 +12884,10 @@ hook_hooks.add('tableFilterModule', {
|
|
|
12862
12884
|
}
|
|
12863
12885
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
12864
12886
|
},
|
|
12865
|
-
/**
|
|
12866
|
-
* 修改筛选条件列表
|
|
12867
|
-
* @param {ColumnInfo} fieldOrColumn 列或字段名
|
|
12868
|
-
* @param {Array} options 选项
|
|
12887
|
+
/**
|
|
12888
|
+
* 修改筛选条件列表
|
|
12889
|
+
* @param {ColumnInfo} fieldOrColumn 列或字段名
|
|
12890
|
+
* @param {Array} options 选项
|
|
12869
12891
|
*/
|
|
12870
12892
|
setFilter(fieldOrColumn, options, isUpdate) {
|
|
12871
12893
|
const {
|
|
@@ -12884,10 +12906,10 @@ hook_hooks.add('tableFilterModule', {
|
|
|
12884
12906
|
}
|
|
12885
12907
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
12886
12908
|
},
|
|
12887
|
-
/**
|
|
12888
|
-
* 清空指定列的筛选条件
|
|
12889
|
-
* 如果为空则清空所有列的筛选条件
|
|
12890
|
-
* @param {String} fieldOrColumn 列或字段名
|
|
12909
|
+
/**
|
|
12910
|
+
* 清空指定列的筛选条件
|
|
12911
|
+
* 如果为空则清空所有列的筛选条件
|
|
12912
|
+
* @param {String} fieldOrColumn 列或字段名
|
|
12891
12913
|
*/
|
|
12892
12914
|
clearFilter(fieldOrColumn) {
|
|
12893
12915
|
const {
|
|
@@ -13065,8 +13087,8 @@ menu_hook_hooks.add('tableMenuModule', {
|
|
|
13065
13087
|
const $xeGGWrapper = $xeGrid || $xeGantt;
|
|
13066
13088
|
let menuMethods = {};
|
|
13067
13089
|
let menuPrivateMethods = {};
|
|
13068
|
-
/**
|
|
13069
|
-
* 显示快捷菜单
|
|
13090
|
+
/**
|
|
13091
|
+
* 显示快捷菜单
|
|
13070
13092
|
*/
|
|
13071
13093
|
const handleOpenMenuEvent = (evnt, type, params) => {
|
|
13072
13094
|
const {
|
|
@@ -13173,8 +13195,8 @@ menu_hook_hooks.add('tableMenuModule', {
|
|
|
13173
13195
|
$xeTable.closeFilter();
|
|
13174
13196
|
};
|
|
13175
13197
|
menuMethods = {
|
|
13176
|
-
/**
|
|
13177
|
-
* 关闭快捷菜单
|
|
13198
|
+
/**
|
|
13199
|
+
* 关闭快捷菜单
|
|
13178
13200
|
*/
|
|
13179
13201
|
closeMenu() {
|
|
13180
13202
|
Object.assign(reactData.ctxMenuStore, {
|
|
@@ -13187,8 +13209,8 @@ menu_hook_hooks.add('tableMenuModule', {
|
|
|
13187
13209
|
}
|
|
13188
13210
|
};
|
|
13189
13211
|
menuPrivateMethods = {
|
|
13190
|
-
/**
|
|
13191
|
-
* 处理菜单的移动
|
|
13212
|
+
/**
|
|
13213
|
+
* 处理菜单的移动
|
|
13192
13214
|
*/
|
|
13193
13215
|
moveCtxMenu(evnt, ctxMenuStore, property, hasOper, operRest, menuList) {
|
|
13194
13216
|
let selectItem;
|
|
@@ -13221,8 +13243,8 @@ menu_hook_hooks.add('tableMenuModule', {
|
|
|
13221
13243
|
}
|
|
13222
13244
|
},
|
|
13223
13245
|
handleOpenMenuEvent,
|
|
13224
|
-
/**
|
|
13225
|
-
* 快捷菜单事件处理
|
|
13246
|
+
/**
|
|
13247
|
+
* 快捷菜单事件处理
|
|
13226
13248
|
*/
|
|
13227
13249
|
handleGlobalContextmenuEvent(evnt) {
|
|
13228
13250
|
const $xeGrid = $xeTable.xeGrid;
|
|
@@ -13394,8 +13416,8 @@ menu_hook_hooks.add('tableMenuModule', {
|
|
|
13394
13416
|
}
|
|
13395
13417
|
ctxMenuStore.selectChild = null;
|
|
13396
13418
|
},
|
|
13397
|
-
/**
|
|
13398
|
-
* 快捷菜单点击事件
|
|
13419
|
+
/**
|
|
13420
|
+
* 快捷菜单点击事件
|
|
13399
13421
|
*/
|
|
13400
13422
|
ctxMenuLinkEvent(evnt, menu) {
|
|
13401
13423
|
const $xeGrid = $xeTable.xeGrid;
|
|
@@ -14178,19 +14200,19 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14178
14200
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
14179
14201
|
};
|
|
14180
14202
|
editMethods = {
|
|
14181
|
-
/**
|
|
14182
|
-
* 往表格中插入临时数据
|
|
14183
|
-
*
|
|
14184
|
-
* @param {*} records
|
|
14203
|
+
/**
|
|
14204
|
+
* 往表格中插入临时数据
|
|
14205
|
+
*
|
|
14206
|
+
* @param {*} records
|
|
14185
14207
|
*/
|
|
14186
14208
|
insert(records) {
|
|
14187
14209
|
return handleInsertRowAt(records, null);
|
|
14188
14210
|
},
|
|
14189
|
-
/**
|
|
14190
|
-
* 往表格指定行中插入临时数据
|
|
14191
|
-
* 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标节点顶部
|
|
14192
|
-
* 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标节点底部
|
|
14193
|
-
* 如果 row 为有效行则插入到该行的位置,如果为树结构,则有插入到效的目标节点该行的位置
|
|
14211
|
+
/**
|
|
14212
|
+
* 往表格指定行中插入临时数据
|
|
14213
|
+
* 如果 row 为空则从插入到顶部,如果为树结构,则插入到目标节点顶部
|
|
14214
|
+
* 如果 row 为 -1 则从插入到底部,如果为树结构,则插入到目标节点底部
|
|
14215
|
+
* 如果 row 为有效行则插入到该行的位置,如果为树结构,则有插入到效的目标节点该行的位置
|
|
14194
14216
|
*/
|
|
14195
14217
|
insertAt(records, targetRowOrRowid) {
|
|
14196
14218
|
return handleInsertRowAt(records, targetRowOrRowid);
|
|
@@ -14208,11 +14230,11 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14208
14230
|
insertChildNextAt(records, parentRowOrParentId, targetRow) {
|
|
14209
14231
|
return handleInsertChildRowAt(records, parentRowOrParentId, targetRow, true);
|
|
14210
14232
|
},
|
|
14211
|
-
/**
|
|
14212
|
-
* 删除指定行数据
|
|
14213
|
-
* 如果传 row 则删除一行
|
|
14214
|
-
* 如果传 rows 则删除多行
|
|
14215
|
-
* 如果为空则删除所有
|
|
14233
|
+
/**
|
|
14234
|
+
* 删除指定行数据
|
|
14235
|
+
* 如果传 row 则删除一行
|
|
14236
|
+
* 如果传 rows 则删除多行
|
|
14237
|
+
* 如果为空则删除所有
|
|
14216
14238
|
*/
|
|
14217
14239
|
remove(rows) {
|
|
14218
14240
|
const {
|
|
@@ -14371,8 +14393,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14371
14393
|
};
|
|
14372
14394
|
});
|
|
14373
14395
|
},
|
|
14374
|
-
/**
|
|
14375
|
-
* 删除复选框选中的数据
|
|
14396
|
+
/**
|
|
14397
|
+
* 删除复选框选中的数据
|
|
14376
14398
|
*/
|
|
14377
14399
|
removeCheckboxRow() {
|
|
14378
14400
|
return editMethods.remove($xeTable.getCheckboxRecords()).then(params => {
|
|
@@ -14380,8 +14402,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14380
14402
|
return params;
|
|
14381
14403
|
});
|
|
14382
14404
|
},
|
|
14383
|
-
/**
|
|
14384
|
-
* 删除单选框选中的数据
|
|
14405
|
+
/**
|
|
14406
|
+
* 删除单选框选中的数据
|
|
14385
14407
|
*/
|
|
14386
14408
|
removeRadioRow() {
|
|
14387
14409
|
const radioRecord = $xeTable.getRadioRecord();
|
|
@@ -14390,8 +14412,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14390
14412
|
return params;
|
|
14391
14413
|
});
|
|
14392
14414
|
},
|
|
14393
|
-
/**
|
|
14394
|
-
* 删除当前行选中的数据
|
|
14415
|
+
/**
|
|
14416
|
+
* 删除当前行选中的数据
|
|
14395
14417
|
*/
|
|
14396
14418
|
removeCurrentRow() {
|
|
14397
14419
|
const currentRecord = $xeTable.getCurrentRecord();
|
|
@@ -14400,8 +14422,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14400
14422
|
return params;
|
|
14401
14423
|
});
|
|
14402
14424
|
},
|
|
14403
|
-
/**
|
|
14404
|
-
* 获取表格数据集,包含新增、删除、修改、标记
|
|
14425
|
+
/**
|
|
14426
|
+
* 获取表格数据集,包含新增、删除、修改、标记
|
|
14405
14427
|
*/
|
|
14406
14428
|
getRecordset() {
|
|
14407
14429
|
const removeRecords = editMethods.getRemoveRecords();
|
|
@@ -14418,8 +14440,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14418
14440
|
pendingRecords
|
|
14419
14441
|
};
|
|
14420
14442
|
},
|
|
14421
|
-
/**
|
|
14422
|
-
* 获取新增的临时数据
|
|
14443
|
+
/**
|
|
14444
|
+
* 获取新增的临时数据
|
|
14423
14445
|
*/
|
|
14424
14446
|
getInsertRecords() {
|
|
14425
14447
|
const {
|
|
@@ -14434,8 +14456,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14434
14456
|
});
|
|
14435
14457
|
return insertRecords;
|
|
14436
14458
|
},
|
|
14437
|
-
/**
|
|
14438
|
-
* 获取已删除的数据
|
|
14459
|
+
/**
|
|
14460
|
+
* 获取已删除的数据
|
|
14439
14461
|
*/
|
|
14440
14462
|
getRemoveRecords() {
|
|
14441
14463
|
const {
|
|
@@ -14447,10 +14469,10 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14447
14469
|
});
|
|
14448
14470
|
return removeRecords;
|
|
14449
14471
|
},
|
|
14450
|
-
/**
|
|
14451
|
-
* 获取更新数据
|
|
14452
|
-
* 只精准匹配 row 的更改
|
|
14453
|
-
* 如果是树表格,子节点更改状态不会影响父节点的更新状态
|
|
14472
|
+
/**
|
|
14473
|
+
* 获取更新数据
|
|
14474
|
+
* 只精准匹配 row 的更改
|
|
14475
|
+
* 如果是树表格,子节点更改状态不会影响父节点的更新状态
|
|
14454
14476
|
*/
|
|
14455
14477
|
getUpdateRecords() {
|
|
14456
14478
|
const {
|
|
@@ -14526,8 +14548,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14526
14548
|
}
|
|
14527
14549
|
return null;
|
|
14528
14550
|
},
|
|
14529
|
-
/**
|
|
14530
|
-
* 获取选中的单元格
|
|
14551
|
+
/**
|
|
14552
|
+
* 获取选中的单元格
|
|
14531
14553
|
*/
|
|
14532
14554
|
getSelectedCell() {
|
|
14533
14555
|
const {
|
|
@@ -14550,14 +14572,14 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14550
14572
|
hook_warnLog('vxe.error.delFunc', ['clearActived', 'clearEdit']);
|
|
14551
14573
|
return $xeTable.clearEdit(row);
|
|
14552
14574
|
},
|
|
14553
|
-
/**
|
|
14554
|
-
* 清除激活的编辑
|
|
14575
|
+
/**
|
|
14576
|
+
* 清除激活的编辑
|
|
14555
14577
|
*/
|
|
14556
14578
|
clearEdit(row) {
|
|
14557
14579
|
return handleClearEdit(null, row);
|
|
14558
14580
|
},
|
|
14559
|
-
/**
|
|
14560
|
-
* 清除所选中源状态
|
|
14581
|
+
/**
|
|
14582
|
+
* 清除所选中源状态
|
|
14561
14583
|
*/
|
|
14562
14584
|
clearSelected() {
|
|
14563
14585
|
const {
|
|
@@ -14576,9 +14598,9 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14576
14598
|
// 即将废弃
|
|
14577
14599
|
return $xeTable.isEditByRow(row);
|
|
14578
14600
|
},
|
|
14579
|
-
/**
|
|
14580
|
-
* 判断行是否为激活编辑状态
|
|
14581
|
-
* @param {Row} row 行对象
|
|
14601
|
+
/**
|
|
14602
|
+
* 判断行是否为激活编辑状态
|
|
14603
|
+
* @param {Row} row 行对象
|
|
14582
14604
|
*/
|
|
14583
14605
|
isEditByRow(row) {
|
|
14584
14606
|
const {
|
|
@@ -14591,8 +14613,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14591
14613
|
// 即将废弃
|
|
14592
14614
|
return editMethods.setEditRow(row);
|
|
14593
14615
|
},
|
|
14594
|
-
/**
|
|
14595
|
-
* 激活行编辑
|
|
14616
|
+
/**
|
|
14617
|
+
* 激活行编辑
|
|
14596
14618
|
*/
|
|
14597
14619
|
setEditRow(row, fieldOrColumn, options) {
|
|
14598
14620
|
const {
|
|
@@ -14616,8 +14638,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14616
14638
|
// 即将废弃
|
|
14617
14639
|
return editMethods.setEditCell(row, fieldOrColumn);
|
|
14618
14640
|
},
|
|
14619
|
-
/**
|
|
14620
|
-
* 激活单元格编辑
|
|
14641
|
+
/**
|
|
14642
|
+
* 激活单元格编辑
|
|
14621
14643
|
*/
|
|
14622
14644
|
setEditCell(row, fieldOrColumn, options) {
|
|
14623
14645
|
return handleEditCell(row, fieldOrColumn, Object.assign({
|
|
@@ -14625,8 +14647,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14625
14647
|
isPos: true
|
|
14626
14648
|
}, options));
|
|
14627
14649
|
},
|
|
14628
|
-
/**
|
|
14629
|
-
* 只对 trigger=dblclick 有效,选中单元格
|
|
14650
|
+
/**
|
|
14651
|
+
* 只对 trigger=dblclick 有效,选中单元格
|
|
14630
14652
|
*/
|
|
14631
14653
|
setSelectCell(row, fieldOrColumn) {
|
|
14632
14654
|
const {
|
|
@@ -14652,8 +14674,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14652
14674
|
}
|
|
14653
14675
|
};
|
|
14654
14676
|
editPrivateMethods = {
|
|
14655
|
-
/**
|
|
14656
|
-
* 处理激活编辑
|
|
14677
|
+
/**
|
|
14678
|
+
* 处理激活编辑
|
|
14657
14679
|
*/
|
|
14658
14680
|
handleEdit(params, evnt, options) {
|
|
14659
14681
|
return handleEditActive(params, evnt, Object.assign({
|
|
@@ -14661,20 +14683,20 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14661
14683
|
isPos: true
|
|
14662
14684
|
}, options));
|
|
14663
14685
|
},
|
|
14664
|
-
/**
|
|
14665
|
-
* @deprecated
|
|
14686
|
+
/**
|
|
14687
|
+
* @deprecated
|
|
14666
14688
|
*/
|
|
14667
14689
|
handleActived(params, evnt) {
|
|
14668
14690
|
return editPrivateMethods.handleEdit(params, evnt);
|
|
14669
14691
|
},
|
|
14670
|
-
/**
|
|
14671
|
-
* 处理取消编辑
|
|
14672
|
-
* @param evnt
|
|
14673
|
-
* @returns
|
|
14692
|
+
/**
|
|
14693
|
+
* 处理取消编辑
|
|
14694
|
+
* @param evnt
|
|
14695
|
+
* @returns
|
|
14674
14696
|
*/
|
|
14675
14697
|
handleClearEdit,
|
|
14676
|
-
/**
|
|
14677
|
-
* 处理聚焦
|
|
14698
|
+
/**
|
|
14699
|
+
* 处理聚焦
|
|
14678
14700
|
*/
|
|
14679
14701
|
handleFocus(params) {
|
|
14680
14702
|
const {
|
|
@@ -14736,8 +14758,8 @@ edit_hook_hooks.add('tableEditModule', {
|
|
|
14736
14758
|
}
|
|
14737
14759
|
}
|
|
14738
14760
|
},
|
|
14739
|
-
/**
|
|
14740
|
-
* 处理选中源
|
|
14761
|
+
/**
|
|
14762
|
+
* 处理选中源
|
|
14741
14763
|
*/
|
|
14742
14764
|
handleSelected(params, evnt) {
|
|
14743
14765
|
const {
|
|
@@ -15301,14 +15323,14 @@ export_hook_hooks.add('tableExportModule', {
|
|
|
15301
15323
|
childList,
|
|
15302
15324
|
childCount,
|
|
15303
15325
|
aggValue: null,
|
|
15304
|
-
/**
|
|
15305
|
-
* 已废弃
|
|
15306
|
-
* @deprecated
|
|
15326
|
+
/**
|
|
15327
|
+
* 已废弃
|
|
15328
|
+
* @deprecated
|
|
15307
15329
|
*/
|
|
15308
15330
|
children: childList,
|
|
15309
|
-
/**
|
|
15310
|
-
* 已废弃
|
|
15311
|
-
* @deprecated
|
|
15331
|
+
/**
|
|
15332
|
+
* 已废弃
|
|
15333
|
+
* @deprecated
|
|
15312
15334
|
*/
|
|
15313
15335
|
totalValue: childCount
|
|
15314
15336
|
};
|
|
@@ -16348,11 +16370,11 @@ export_hook_hooks.add('tableExportModule', {
|
|
|
16348
16370
|
return Promise.resolve();
|
|
16349
16371
|
};
|
|
16350
16372
|
const exportMethods = {
|
|
16351
|
-
/**
|
|
16352
|
-
* 导出文件,支持 csv/html/xml/txt
|
|
16353
|
-
* 如果是树表格,则默认是导出所有节点
|
|
16354
|
-
* 如果是启用了虚拟滚动,则只能导出数据源,可以配合 dataFilterMethod 函数转换数据
|
|
16355
|
-
* @param {Object} options 参数
|
|
16373
|
+
/**
|
|
16374
|
+
* 导出文件,支持 csv/html/xml/txt
|
|
16375
|
+
* 如果是树表格,则默认是导出所有节点
|
|
16376
|
+
* 如果是启用了虚拟滚动,则只能导出数据源,可以配合 dataFilterMethod 函数转换数据
|
|
16377
|
+
* @param {Object} options 参数
|
|
16356
16378
|
*/
|
|
16357
16379
|
exportData(options) {
|
|
16358
16380
|
const $xeGrid = $xeTable.xeGrid;
|
|
@@ -17536,8 +17558,8 @@ const {
|
|
|
17536
17558
|
validators: hook_validators,
|
|
17537
17559
|
hooks: validator_hook_hooks
|
|
17538
17560
|
} = core_.VxeUI;
|
|
17539
|
-
/**
|
|
17540
|
-
* 校验规则
|
|
17561
|
+
/**
|
|
17562
|
+
* 校验规则
|
|
17541
17563
|
*/
|
|
17542
17564
|
class Rule {
|
|
17543
17565
|
constructor(rule) {
|
|
@@ -17553,9 +17575,9 @@ class Rule {
|
|
|
17553
17575
|
maxWidth: rule.maxWidth
|
|
17554
17576
|
});
|
|
17555
17577
|
}
|
|
17556
|
-
/**
|
|
17557
|
-
* 获取校验不通过的消息
|
|
17558
|
-
* 支持国际化翻译
|
|
17578
|
+
/**
|
|
17579
|
+
* 获取校验不通过的消息
|
|
17580
|
+
* 支持国际化翻译
|
|
17559
17581
|
*/
|
|
17560
17582
|
get content() {
|
|
17561
17583
|
return getFuncText(this.$options.content || this.$options.message);
|
|
@@ -17687,8 +17709,8 @@ validator_hook_hooks.add('tableValidatorModule', {
|
|
|
17687
17709
|
} = $xeTable.getComputeMaps();
|
|
17688
17710
|
let validatorMethods = {};
|
|
17689
17711
|
let validatorPrivateMethods = {};
|
|
17690
|
-
/**
|
|
17691
|
-
* 聚焦到校验通过的单元格并弹出校验错误提示
|
|
17712
|
+
/**
|
|
17713
|
+
* 聚焦到校验通过的单元格并弹出校验错误提示
|
|
17692
17714
|
*/
|
|
17693
17715
|
const handleValidError = params => {
|
|
17694
17716
|
return new Promise(resolve => {
|
|
@@ -17719,14 +17741,14 @@ validator_hook_hooks.add('tableValidatorModule', {
|
|
|
17719
17741
|
}
|
|
17720
17742
|
return validErrMaps;
|
|
17721
17743
|
};
|
|
17722
|
-
/**
|
|
17723
|
-
* 对表格数据进行校验
|
|
17724
|
-
* 如果不指定数据,则默认只校验临时变动的数据,例如新增或修改
|
|
17725
|
-
* 如果传 true 则校验当前表格数据
|
|
17726
|
-
* 如果传 row 指定行记录,则只验证传入的行
|
|
17727
|
-
* 如果传 rows 为多行记录,则只验证传入的行
|
|
17728
|
-
* 如果只传 callback 否则默认验证整个表格数据
|
|
17729
|
-
* 返回 Promise 对象,或者使用回调方式
|
|
17744
|
+
/**
|
|
17745
|
+
* 对表格数据进行校验
|
|
17746
|
+
* 如果不指定数据,则默认只校验临时变动的数据,例如新增或修改
|
|
17747
|
+
* 如果传 true 则校验当前表格数据
|
|
17748
|
+
* 如果传 row 指定行记录,则只验证传入的行
|
|
17749
|
+
* 如果传 rows 为多行记录,则只验证传入的行
|
|
17750
|
+
* 如果只传 callback 否则默认验证整个表格数据
|
|
17751
|
+
* 返回 Promise 对象,或者使用回调方式
|
|
17730
17752
|
*/
|
|
17731
17753
|
const beginValidate = (rows, cols, cb, isFull) => {
|
|
17732
17754
|
const validRest = {};
|
|
@@ -17866,10 +17888,10 @@ validator_hook_hooks.add('tableValidatorModule', {
|
|
|
17866
17888
|
scrollToView(firstErrParams.cell);
|
|
17867
17889
|
handleValidError(firstErrParams).then(finish);
|
|
17868
17890
|
};
|
|
17869
|
-
/**
|
|
17870
|
-
* 当校验不通过时
|
|
17871
|
-
* 将表格滚动到可视区
|
|
17872
|
-
* 由于提示信息至少需要占一行,定位向上偏移一行
|
|
17891
|
+
/**
|
|
17892
|
+
* 当校验不通过时
|
|
17893
|
+
* 将表格滚动到可视区
|
|
17894
|
+
* 由于提示信息至少需要占一行,定位向上偏移一行
|
|
17873
17895
|
*/
|
|
17874
17896
|
if (validOpts.autoPos === false) {
|
|
17875
17897
|
finish();
|
|
@@ -17890,8 +17912,8 @@ validator_hook_hooks.add('tableValidatorModule', {
|
|
|
17890
17912
|
});
|
|
17891
17913
|
};
|
|
17892
17914
|
validatorMethods = {
|
|
17893
|
-
/**
|
|
17894
|
-
* 完整校验行,和 validate 的区别就是会给有效数据中的每一行进行校验
|
|
17915
|
+
/**
|
|
17916
|
+
* 完整校验行,和 validate 的区别就是会给有效数据中的每一行进行校验
|
|
17895
17917
|
*/
|
|
17896
17918
|
fullValidate(rows, cb) {
|
|
17897
17919
|
if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(cb)) {
|
|
@@ -17899,14 +17921,14 @@ validator_hook_hooks.add('tableValidatorModule', {
|
|
|
17899
17921
|
}
|
|
17900
17922
|
return beginValidate(rows, null, cb, true);
|
|
17901
17923
|
},
|
|
17902
|
-
/**
|
|
17903
|
-
* 快速校验行,如果存在记录不通过的记录,则返回不再继续校验(异步校验除外)
|
|
17924
|
+
/**
|
|
17925
|
+
* 快速校验行,如果存在记录不通过的记录,则返回不再继续校验(异步校验除外)
|
|
17904
17926
|
*/
|
|
17905
17927
|
validate(rows, cb) {
|
|
17906
17928
|
return beginValidate(rows, null, cb);
|
|
17907
17929
|
},
|
|
17908
|
-
/**
|
|
17909
|
-
* 完整校验单元格,和 validateField 的区别就是会给有效数据中的每一行进行校验
|
|
17930
|
+
/**
|
|
17931
|
+
* 完整校验单元格,和 validateField 的区别就是会给有效数据中的每一行进行校验
|
|
17910
17932
|
*/
|
|
17911
17933
|
fullValidateField(rows, fieldOrColumn) {
|
|
17912
17934
|
const colList = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn) ? fieldOrColumn : fieldOrColumn ? [fieldOrColumn] : []).map(column => handleFieldOrColumn($xeTable, column));
|
|
@@ -17915,8 +17937,8 @@ validator_hook_hooks.add('tableValidatorModule', {
|
|
|
17915
17937
|
}
|
|
17916
17938
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
|
|
17917
17939
|
},
|
|
17918
|
-
/**
|
|
17919
|
-
* 快速校验单元格,如果存在记录不通过的记录,则返回不再继续校验(异步校验除外)
|
|
17940
|
+
/**
|
|
17941
|
+
* 快速校验单元格,如果存在记录不通过的记录,则返回不再继续校验(异步校验除外)
|
|
17920
17942
|
*/
|
|
17921
17943
|
validateField(rows, fieldOrColumn) {
|
|
17922
17944
|
const colList = (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn) ? fieldOrColumn : fieldOrColumn ? [fieldOrColumn] : []).map(column => handleFieldOrColumn($xeTable, column));
|
|
@@ -17972,19 +17994,19 @@ validator_hook_hooks.add('tableValidatorModule', {
|
|
|
17972
17994
|
}
|
|
17973
17995
|
};
|
|
17974
17996
|
validatorPrivateMethods = {
|
|
17975
|
-
/**
|
|
17976
|
-
* 校验数据
|
|
17977
|
-
* 按表格行、列顺序依次校验(同步或异步)
|
|
17978
|
-
* 校验规则根据索引顺序依次校验,如果是异步则会等待校验完成才会继续校验下一列
|
|
17979
|
-
* 如果校验失败则,触发回调或者Promise<不通过列的错误消息>
|
|
17980
|
-
* 如果是传回调方式这返回一个校验不通过列的错误消息
|
|
17981
|
-
*
|
|
17982
|
-
* rule 配置:
|
|
17983
|
-
* required=Boolean 是否必填
|
|
17984
|
-
* min=Number 最小长度
|
|
17985
|
-
* max=Number 最大长度
|
|
17986
|
-
* validator=Function({ cellValue, rule, rules, row, column, rowIndex, columnIndex }) 自定义校验,接收一个 Promise
|
|
17987
|
-
* trigger=blur|change 触发方式(除非特殊场景,否则默认为空就行)
|
|
17997
|
+
/**
|
|
17998
|
+
* 校验数据
|
|
17999
|
+
* 按表格行、列顺序依次校验(同步或异步)
|
|
18000
|
+
* 校验规则根据索引顺序依次校验,如果是异步则会等待校验完成才会继续校验下一列
|
|
18001
|
+
* 如果校验失败则,触发回调或者Promise<不通过列的错误消息>
|
|
18002
|
+
* 如果是传回调方式这返回一个校验不通过列的错误消息
|
|
18003
|
+
*
|
|
18004
|
+
* rule 配置:
|
|
18005
|
+
* required=Boolean 是否必填
|
|
18006
|
+
* min=Number 最小长度
|
|
18007
|
+
* max=Number 最大长度
|
|
18008
|
+
* validator=Function({ cellValue, rule, rules, row, column, rowIndex, columnIndex }) 自定义校验,接收一个 Promise
|
|
18009
|
+
* trigger=blur|change 触发方式(除非特殊场景,否则默认为空就行)
|
|
17988
18010
|
*/
|
|
17989
18011
|
validCellRules(validType, row, column, val) {
|
|
17990
18012
|
const $xeGrid = $xeTable.xeGrid;
|
|
@@ -18092,8 +18114,8 @@ validator_hook_hooks.add('tableValidatorModule', {
|
|
|
18092
18114
|
}
|
|
18093
18115
|
return false;
|
|
18094
18116
|
},
|
|
18095
|
-
/**
|
|
18096
|
-
* 触发校验
|
|
18117
|
+
/**
|
|
18118
|
+
* 触发校验
|
|
18097
18119
|
*/
|
|
18098
18120
|
triggerValidate(type) {
|
|
18099
18121
|
const {
|
|
@@ -18144,8 +18166,8 @@ validator_hook_hooks.add('tableValidatorModule', {
|
|
|
18144
18166
|
}
|
|
18145
18167
|
return Promise.resolve();
|
|
18146
18168
|
},
|
|
18147
|
-
/**
|
|
18148
|
-
* 弹出校验错误提示
|
|
18169
|
+
/**
|
|
18170
|
+
* 弹出校验错误提示
|
|
18149
18171
|
*/
|
|
18150
18172
|
showValidTooltip(params) {
|
|
18151
18173
|
const {
|
|
@@ -18770,9 +18792,9 @@ function getFormatDate(value, props, defaultFormat) {
|
|
|
18770
18792
|
function getLabelFormatDate(value, props) {
|
|
18771
18793
|
return getFormatDate(value, props, render_getI18n(`vxe.input.date.labelFormat.${props.type || 'date'}`));
|
|
18772
18794
|
}
|
|
18773
|
-
/**
|
|
18774
|
-
* 已废弃
|
|
18775
|
-
* @deprecated
|
|
18795
|
+
/**
|
|
18796
|
+
* 已废弃
|
|
18797
|
+
* @deprecated
|
|
18776
18798
|
*/
|
|
18777
18799
|
function getOldComponentName(name) {
|
|
18778
18800
|
return `vxe-${name.replace('$', '')}`;
|
|
@@ -18782,9 +18804,9 @@ function getDefaultComponent({
|
|
|
18782
18804
|
}) {
|
|
18783
18805
|
return getComponent(name);
|
|
18784
18806
|
}
|
|
18785
|
-
/**
|
|
18786
|
-
* 已废弃
|
|
18787
|
-
* @deprecated
|
|
18807
|
+
/**
|
|
18808
|
+
* 已废弃
|
|
18809
|
+
* @deprecated
|
|
18788
18810
|
*/
|
|
18789
18811
|
function getOldComponent({
|
|
18790
18812
|
name
|
|
@@ -18861,12 +18883,12 @@ function getCellLabelVNs(renderOpts, params, cellLabel, opts) {
|
|
|
18861
18883
|
class: 'vxe-cell--placeholder'
|
|
18862
18884
|
}, formatText(getFuncText(placeholder), 1))] : formatText(cellLabel, 1))];
|
|
18863
18885
|
}
|
|
18864
|
-
/**
|
|
18865
|
-
* 原生事件处理
|
|
18866
|
-
* @param renderOpts
|
|
18867
|
-
* @param params
|
|
18868
|
-
* @param modelFunc
|
|
18869
|
-
* @param changeFunc
|
|
18886
|
+
/**
|
|
18887
|
+
* 原生事件处理
|
|
18888
|
+
* @param renderOpts
|
|
18889
|
+
* @param params
|
|
18890
|
+
* @param modelFunc
|
|
18891
|
+
* @param changeFunc
|
|
18870
18892
|
*/
|
|
18871
18893
|
function getNativeElementOns(renderOpts, params, eFns) {
|
|
18872
18894
|
const {
|
|
@@ -18919,12 +18941,12 @@ function getNativeElementOns(renderOpts, params, eFns) {
|
|
|
18919
18941
|
}
|
|
18920
18942
|
const blurEvent = 'blur';
|
|
18921
18943
|
const clearEvent = 'clear';
|
|
18922
|
-
/**
|
|
18923
|
-
* 组件事件处理
|
|
18924
|
-
* @param renderOpts
|
|
18925
|
-
* @param params
|
|
18926
|
-
* @param modelFunc
|
|
18927
|
-
* @param changeFunc
|
|
18944
|
+
/**
|
|
18945
|
+
* 组件事件处理
|
|
18946
|
+
* @param renderOpts
|
|
18947
|
+
* @param params
|
|
18948
|
+
* @param modelFunc
|
|
18949
|
+
* @param changeFunc
|
|
18928
18950
|
*/
|
|
18929
18951
|
function getComponentOns(renderOpts, params, eFns, eventOns) {
|
|
18930
18952
|
const {
|
|
@@ -19141,9 +19163,9 @@ function getNativeFilterOns(renderOpts, params, option) {
|
|
|
19141
19163
|
}
|
|
19142
19164
|
});
|
|
19143
19165
|
}
|
|
19144
|
-
/**
|
|
19145
|
-
* 单元格可编辑渲染-原生的标签
|
|
19146
|
-
* input、textarea、select
|
|
19166
|
+
/**
|
|
19167
|
+
* 单元格可编辑渲染-原生的标签
|
|
19168
|
+
* input、textarea、select
|
|
19147
19169
|
*/
|
|
19148
19170
|
function nativeEditRender(renderOpts, params) {
|
|
19149
19171
|
const {
|
|
@@ -19204,9 +19226,9 @@ function radioAndCheckboxGroupEditRender(renderOpts, params) {
|
|
|
19204
19226
|
...getEditOns(renderOpts, params)
|
|
19205
19227
|
})];
|
|
19206
19228
|
}
|
|
19207
|
-
/**
|
|
19208
|
-
* 已废弃
|
|
19209
|
-
* @deprecated
|
|
19229
|
+
/**
|
|
19230
|
+
* 已废弃
|
|
19231
|
+
* @deprecated
|
|
19210
19232
|
*/
|
|
19211
19233
|
function oldEditRender(renderOpts, params) {
|
|
19212
19234
|
const {
|
|
@@ -19219,9 +19241,9 @@ function oldEditRender(renderOpts, params) {
|
|
|
19219
19241
|
...getEditOns(renderOpts, params)
|
|
19220
19242
|
})];
|
|
19221
19243
|
}
|
|
19222
|
-
/**
|
|
19223
|
-
* 已废弃
|
|
19224
|
-
* @deprecated
|
|
19244
|
+
/**
|
|
19245
|
+
* 已废弃
|
|
19246
|
+
* @deprecated
|
|
19225
19247
|
*/
|
|
19226
19248
|
function oldButtonEditRender(renderOpts, params) {
|
|
19227
19249
|
return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(getComponent('vxe-button'), {
|
|
@@ -19229,9 +19251,9 @@ function oldButtonEditRender(renderOpts, params) {
|
|
|
19229
19251
|
...getComponentOns(renderOpts, params)
|
|
19230
19252
|
})];
|
|
19231
19253
|
}
|
|
19232
|
-
/**
|
|
19233
|
-
* 已废弃
|
|
19234
|
-
* @deprecated
|
|
19254
|
+
/**
|
|
19255
|
+
* 已废弃
|
|
19256
|
+
* @deprecated
|
|
19235
19257
|
*/
|
|
19236
19258
|
function oldButtonsEditRender(renderOpts, params) {
|
|
19237
19259
|
const {
|
|
@@ -19256,8 +19278,8 @@ function renderNativeOptgroups(renderOpts, params, renderOptionsMethods) {
|
|
|
19256
19278
|
}
|
|
19257
19279
|
return [];
|
|
19258
19280
|
}
|
|
19259
|
-
/**
|
|
19260
|
-
* 渲染原生的 option 标签
|
|
19281
|
+
/**
|
|
19282
|
+
* 渲染原生的 option 标签
|
|
19261
19283
|
*/
|
|
19262
19284
|
function renderNativeOptions(options, renderOpts, params) {
|
|
19263
19285
|
const {
|
|
@@ -19330,9 +19352,9 @@ function defaultFilterOptions() {
|
|
|
19330
19352
|
data: null
|
|
19331
19353
|
}];
|
|
19332
19354
|
}
|
|
19333
|
-
/**
|
|
19334
|
-
* 已废弃
|
|
19335
|
-
* @deprecated
|
|
19355
|
+
/**
|
|
19356
|
+
* 已废弃
|
|
19357
|
+
* @deprecated
|
|
19336
19358
|
*/
|
|
19337
19359
|
function oldFilterRender(renderOpts, params) {
|
|
19338
19360
|
const {
|
|
@@ -19418,9 +19440,9 @@ function defaultTableOrTreeSelectEditRender(renderOpts, params) {
|
|
|
19418
19440
|
...getEditOns(renderOpts, params)
|
|
19419
19441
|
})];
|
|
19420
19442
|
}
|
|
19421
|
-
/**
|
|
19422
|
-
* 已废弃
|
|
19423
|
-
* @deprecated
|
|
19443
|
+
/**
|
|
19444
|
+
* 已废弃
|
|
19445
|
+
* @deprecated
|
|
19424
19446
|
*/
|
|
19425
19447
|
function oldSelectEditRender(renderOpts, params) {
|
|
19426
19448
|
const {
|
|
@@ -19722,8 +19744,8 @@ function handleSetTreeSelectValue(renderOpts, params) {
|
|
|
19722
19744
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, field, cellValue);
|
|
19723
19745
|
}
|
|
19724
19746
|
}
|
|
19725
|
-
/**
|
|
19726
|
-
* 表格 - 渲染器
|
|
19747
|
+
/**
|
|
19748
|
+
* 表格 - 渲染器
|
|
19727
19749
|
*/
|
|
19728
19750
|
render_renderer.mixin({
|
|
19729
19751
|
input: {
|
|
@@ -20226,9 +20248,9 @@ render_renderer.mixin({
|
|
|
20226
20248
|
})];
|
|
20227
20249
|
}
|
|
20228
20250
|
},
|
|
20229
|
-
/**
|
|
20230
|
-
* 已废弃,被 FormatSelect 替换
|
|
20231
|
-
* @deprecated
|
|
20251
|
+
/**
|
|
20252
|
+
* 已废弃,被 FormatSelect 替换
|
|
20253
|
+
* @deprecated
|
|
20232
20254
|
*/
|
|
20233
20255
|
formatOption: {
|
|
20234
20256
|
renderTableDefault(renderOpts, params) {
|
|
@@ -20322,9 +20344,9 @@ render_renderer.mixin({
|
|
|
20322
20344
|
tableCellPasteMethod: handleSetTreeSelectValue,
|
|
20323
20345
|
tableExportMethod: handleExportTreeSelectMethod
|
|
20324
20346
|
},
|
|
20325
|
-
/**
|
|
20326
|
-
* 已废弃,被 FormatTreeSelect 替换
|
|
20327
|
-
* @deprecated
|
|
20347
|
+
/**
|
|
20348
|
+
* 已废弃,被 FormatTreeSelect 替换
|
|
20349
|
+
* @deprecated
|
|
20328
20350
|
*/
|
|
20329
20351
|
formatTree: {
|
|
20330
20352
|
renderTableDefault(renderOpts, params) {
|
|
@@ -20692,10 +20714,10 @@ render_renderer.mixin({
|
|
|
20692
20714
|
;// ./packages/table/src/table.ts
|
|
20693
20715
|
const{warnLog: table_warnLog,errLog: table_errLog}=createComponentLog('table');const{getConfig: table_getConfig,getIcon: table_getIcon,getI18n: table_getI18n,renderer: table_renderer,formats: table_formats,createEvent,globalResize: table_globalResize,interceptor: table_interceptor,hooks: table_hooks,globalEvents: table_globalEvents,GLOBAL_EVENT_KEYS: table_GLOBAL_EVENT_KEYS,useFns,renderEmptyElement: table_renderEmptyElement}=core_.VxeUI;const supportMaxRow=5e6;const customStorageKey='VXE_CUSTOM_STORE';const maxYHeight=5e6;const maxXWidth=5e6;const table_sourceType='table';let crossTableDragRowObj=null;/* harmony default export */ var table = (defineVxeComponent({name:'VxeTable',props:tableProps,emits:tableEmits,setup(props,context){const{slots,emit}=context;const xID=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();const browseObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();// 使用已安装的组件,如果未安装则不渲染
|
|
20694
20716
|
const VxeUILoadingComponent=core_.VxeUI.getComponent('VxeLoading');const VxeUITooltipComponent=core_.VxeUI.getComponent('VxeTooltip');const $xeModal=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeModal',null);const $xeTabs=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeTabs',null);const $xeParentTable=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeTable',null);const $xeSplitter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeSplitter',null);const $xeGrid=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeGrid',null);const $xeGantt=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeGantt',null);const $xeGGWrapper=$xeGrid||$xeGantt;const{computeSize}=useFns.useSize(props);const crossTableDragRowInfo=getCrossTableDragRowInfo();const reactData=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(createReactData());const internalData=createInternalData();let tableMethods={};let tablePrivateMethods={};const refElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refVarElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refCommTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refValidTooltip=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableFilter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableCustom=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableViewportElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableLeftFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightHeader=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightBody=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTableRightFooter=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refTeleportWrapper=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refPopupWrapperElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refCustomContainerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refLeftContainer=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRightContainer=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refColResizeBar=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowResizeBar=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refEmptyPlaceholder=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragTipElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragRowLineElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refDragColLineElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowExpandElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refRowExpandYSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXVirtualElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYVirtualElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXHandleElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXLeftCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXRightCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYHandleElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYTopCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXWrapperElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYWrapperElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYBottomCornerElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollXSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();const refScrollYSpaceElem=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();let $xeToolbar;const computeTableId=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{id}=props;if(id){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(id)){return`${id({$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt})||''}`;}return`${id}`;}return'';});const computeRowField=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const rowOpts=computeRowOpts.value;return`${props.rowId||rowOpts.keyField||'_X_ROW_KEY'}`;});const computeValidOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const opts=Object.assign({},table_getConfig().table.validConfig,props.validConfig);// 兼容老版本
|
|
20695
|
-
if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(opts.showMessage)){opts.showErrorMessage=opts.showMessage;}return opts;});/**
|
|
20696
|
-
* @deprecated
|
|
20697
|
-
*/const computeSXOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const virtualXOpts=computeVirtualXOpts.value;return virtualXOpts;});const computeScrollXThreshold=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const virtualXOpts=computeVirtualXOpts.value;const{threshold}=virtualXOpts;if(threshold){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(threshold);}return 0;});/**
|
|
20698
|
-
* @deprecated
|
|
20717
|
+
if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(opts.showMessage)){opts.showErrorMessage=opts.showMessage;}return opts;});/**
|
|
20718
|
+
* @deprecated
|
|
20719
|
+
*/const computeSXOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const virtualXOpts=computeVirtualXOpts.value;return virtualXOpts;});const computeScrollXThreshold=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const virtualXOpts=computeVirtualXOpts.value;const{threshold}=virtualXOpts;if(threshold){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(threshold);}return 0;});/**
|
|
20720
|
+
* @deprecated
|
|
20699
20721
|
*/const computeSYOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const virtualYOpts=computeVirtualYOpts.value;return virtualYOpts;});const computeVirtualXOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{virtualXConfig,scrollX}=props;const globalVirtualXConfig=table_getConfig().table.virtualXConfig;const globalScrollX=table_getConfig().table.scrollX;if(virtualXConfig){return Object.assign({},globalVirtualXConfig,virtualXConfig);}if(scrollX){// 已废弃,保留兼容
|
|
20700
20722
|
return Object.assign({},globalScrollX,scrollX);}if(globalVirtualXConfig){return Object.assign({},globalVirtualXConfig,virtualXConfig);}// 已废弃,保留兼容
|
|
20701
20723
|
return Object.assign({},globalScrollX,scrollX);});const computeVirtualYOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{virtualYConfig,scrollY}=props;const globalVirtualYConfig=table_getConfig().table.virtualYConfig;const globalScrollY=table_getConfig().table.scrollY;if(virtualYConfig){return Object.assign({},globalVirtualYConfig,virtualYConfig);}if(scrollY){// 已废弃,保留兼容
|
|
@@ -20723,25 +20745,25 @@ val=144;}}else{val=defMinHeight;}}}let num=0;if(val){if(val==='100%'||val==='aut
|
|
|
20723
20745
|
if(isCustomResizable&&resizableData||isCustomSort&&sortData||isCustomVisible&&visibleData||isCustomFixed&&fixedData||isCustomAggGroup&&aggGroupData||isCustomAggFunc&&aggFuncData){const sortColMaps={};if(isCustomSort&&sortData){// 转换兼容老版本数据,即将废弃兼容
|
|
20724
20746
|
if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(sortData)){const sortRests=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(sortData,(index,colKey)=>{sortRests.push({key:colKey,index});});sortData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(sortRests,{field:'index',order:'asc'}).map(item=>({k:item.key}));}let colNum=1;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sortData,(sObj,index,sOjs,path,pSObj)=>{sortColMaps[sObj.k]={key:sObj.k,sNum:colNum++,pKey:pSObj?pSObj.k:null};},{children:'c'});}const colKeyMaps={};const allCols=[];const aggGroupConfs=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const colKey=column.getKey();// 支持一级
|
|
20725
20747
|
if(!parentColumn){if(isCustomFixed&&fixedData&&fixedData[colKey]!==undefined){column.fixed=fixedData[colKey];}}if(isCustomResizable&&resizableData&&external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(resizableData[colKey])){column.resizeWidth=resizableData[colKey];}if(isCustomVisible&&visibleData&&external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(visibleData[colKey])){column.visible=visibleData[colKey];}if(isCustomAggFunc&&aggFuncData&&(aggregateConfig||rowGroupConfig)&&aggFuncData[colKey]){column.aggFunc=aggFuncData[colKey];}if(isCustomAggGroup&&aggGroupData&&aggGroupData[colKey]){aggGroupConfs.push({field:column.field});}colKeyMaps[colKey]=column;allCols.push(column);});if((aggregateConfig||rowGroupConfig)&&aggGroupConfs.length){const groupRest=handleGroupData(internalData.tableFullData,aggGroupConfs);internalData.tableFullTreeData=[];internalData.tableFullGroupData=groupRest.treeData;reactData.isRowGroupStatus=true;reactData.rowGroupList=aggGroupConfs;$xeTable.cacheRowMap(false);}// 如果自定义了顺序
|
|
20726
|
-
if(isCustomSort&&sortData){allCols.forEach(column=>{const colKey=column.getKey();const scItem=sortColMaps[colKey];if(scItem){const parentColumn=scItem.pKey?colKeyMaps[scItem.pKey]:null;column.parentId=parentColumn?parentColumn.id:null;column.renderSortNumber=scItem.sNum;}});const newCollectCols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(allCols,'renderSortNumber'),{key:'id',parentKey:'parentId',children:'children'});internalData.collectColumn=newCollectCols;internalData.tableFullColumn=getColumnList(newCollectCols);reactData.updateColFlag++;}reactData.isCustomStatus=true;}else{reactData.isCustomStatus=false;}};/**
|
|
20727
|
-
* 还原自定义列操作状态
|
|
20728
|
-
*/const restoreCustomStorage=()=>{const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{storage,restoreStore,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=Object.assign({},isAllCustom?{}:storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggGroup=hangleStorageDefaultValue(storageOpts.aggGroup,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);if(storage&&(customConfig?isEnableConf(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggGroup||isCustomAggFunc)){if(!tableId){table_errLog('vxe.error.reqProp',['id']);return;}const storeData=getCustomStorageMap(tableId);if(restoreStore){return Promise.resolve(restoreStore({$table:$xeTable,id:tableId,type:'restore',storeData})).then(storeData=>{if(!storeData){return;}return handleCustomRestore(storeData);}).catch(e=>e);}else{return handleCustomRestore(storeData);}}};const updateColumnAllOverflow=()=>{const{showOverflow}=props;const{isGroup}=reactData;const{fullAllDataRowIdData,tableFullColumn,collectColumn}=internalData;let isAllOverflow=!!showOverflow;const handleFunc=column=>{if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,handleFunc);}else{tableFullColumn.forEach(handleFunc);}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData,rowRest=>{rowRest.height=0;});reactData.isAllOverflow=isAllOverflow;};/**
|
|
20729
|
-
* 更新数据列的 Map
|
|
20730
|
-
* 牺牲数据组装的耗时,用来换取使用过程中的流畅
|
|
20748
|
+
if(isCustomSort&&sortData){allCols.forEach(column=>{const colKey=column.getKey();const scItem=sortColMaps[colKey];if(scItem){const parentColumn=scItem.pKey?colKeyMaps[scItem.pKey]:null;column.parentId=parentColumn?parentColumn.id:null;column.renderSortNumber=scItem.sNum;}});const newCollectCols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(allCols,'renderSortNumber'),{key:'id',parentKey:'parentId',children:'children'});internalData.collectColumn=newCollectCols;internalData.tableFullColumn=getColumnList(newCollectCols);reactData.updateColFlag++;}reactData.isCustomStatus=true;}else{reactData.isCustomStatus=false;}};/**
|
|
20749
|
+
* 还原自定义列操作状态
|
|
20750
|
+
*/const restoreCustomStorage=()=>{const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{storage,restoreStore,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=Object.assign({},isAllCustom?{}:storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggGroup=hangleStorageDefaultValue(storageOpts.aggGroup,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);if(storage&&(customConfig?isEnableConf(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggGroup||isCustomAggFunc)){if(!tableId){table_errLog('vxe.error.reqProp',['id']);return;}const storeData=getCustomStorageMap(tableId);if(restoreStore){return Promise.resolve(restoreStore({$table:$xeTable,id:tableId,type:'restore',storeData})).then(storeData=>{if(!storeData){return;}return handleCustomRestore(storeData);}).catch(e=>e);}else{return handleCustomRestore(storeData);}}};const updateColumnAllOverflow=()=>{const{showOverflow}=props;const{isGroup}=reactData;const{fullAllDataRowIdData,tableFullColumn,collectColumn}=internalData;let isAllOverflow=!!showOverflow;const handleFunc=column=>{if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,handleFunc);}else{tableFullColumn.forEach(handleFunc);}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData,rowRest=>{rowRest.height=0;});reactData.isAllOverflow=isAllOverflow;};/**
|
|
20751
|
+
* 更新数据列的 Map
|
|
20752
|
+
* 牺牲数据组装的耗时,用来换取使用过程中的流畅
|
|
20731
20753
|
*/const cacheColumnMap=()=>{const{treeConfig,showOverflow}=props;const{tableFullColumn,collectColumn}=internalData;const fullColIdData=internalData.fullColumnIdData={};const fullColFieldData=internalData.fullColumnFieldData={};const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const virtualYOpts=computeVirtualYOpts.value;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=computeCustomOpts.value;const treeOpts=computeTreeOpts.value;const{storage}=customOpts;const rowOpts=computeRowOpts.value;const isGroup=collectColumn.some(hasChildrenList);let isAllOverflow=!!showOverflow;let rowGroupColumn;let expandColumn;let treeNodeColumn;let checkboxColumn;let radioColumn;let htmlColumn;let hasFixed;const handleFunc=(column,index,items,path,parentColumn)=>{const{id:colid,field,fixed,type,treeNode,rowGroupNode}=column;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};if(field){if(fullColFieldData[field]){table_errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}else{if(storage&&!type){table_errLog('vxe.error.reqSupportProp',['storage',`[${type?`type=${type}`:`title=${column.getTitle()}`}]field=?`]);}if(columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){table_errLog('vxe.error.reqSupportProp',['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag',`${column.getTitle()||type||''} -> field=?`]);}}if(!hasFixed&&fixed){hasFixed=fixed;}if(!htmlColumn&&type==='html'){htmlColumn=column;}if(treeNode){if(treeNodeColumn){table_warnLog('vxe.error.colRepet',['tree-node',treeNode]);}if(!treeNodeColumn){treeNodeColumn=column;}}if(rowGroupNode){if(treeNodeColumn){table_warnLog('vxe.error.colRepet',['row-group-node',rowGroupNode]);}if(!rowGroupColumn){rowGroupColumn=column;}}if(type==='expand'){if(expandColumn){table_warnLog('vxe.error.colRepet',['type',type]);}if(!expandColumn){expandColumn=column;}}if(type==='checkbox'){if(checkboxColumn){table_warnLog('vxe.error.colRepet',['type',type]);}if(!checkboxColumn){checkboxColumn=column;}}else if(type==='radio'){if(radioColumn){table_warnLog('vxe.error.colRepet',['type',type]);}if(!radioColumn){radioColumn=column;}}if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}if(fullColIdData[colid]){table_errLog('vxe.error.colRepet',['colId',colid]);}fullColIdData[colid]=rest;};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn,nodes)=>{column.level=nodes.length;handleFunc(column,index,items,path,parentColumn);});}else{tableFullColumn.forEach(handleFunc);}if(expandColumn){if(expandOpts.mode!=='fixed'&&virtualYOpts.enabled){table_warnLog('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandOpts.mode!=='fixed'&&mouseOpts.area){table_errLog('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(expandOpts.mode!=='inside'&&treeConfig&&!treeOpts.transform){table_errLog('vxe.error.notConflictProp',['tree-config.transform=false','expand-config.mode=inside']);}// if (props.spanMethod) {
|
|
20732
20754
|
// warnLog('vxe.error.notSupportProp', ['column.type=expand', 'span-method', 'span-method=null'])
|
|
20733
20755
|
// }
|
|
20734
20756
|
}if(htmlColumn){if(!columnOpts.useKey){table_errLog('vxe.error.notSupportProp',['column.type=html','column-config.useKey=false','column-config.useKey=true']);}if(!rowOpts.useKey){table_errLog('vxe.error.notSupportProp',['column.type=html','row-config.useKey=false','row-config.useKey=true']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.checkboxColumn=checkboxColumn;reactData.radioColumn=radioColumn;reactData.isAllOverflow=isAllOverflow;};const updateHeight=()=>{internalData.customHeight=calcTableHeight('height');internalData.customMinHeight=calcTableHeight('minHeight');internalData.customMaxHeight=calcTableHeight('maxHeight');// 如果启用虚拟滚动,纠正高度
|
|
20735
|
-
if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHeight||internalData.customMaxHeight)){internalData.customHeight=300;}};/**
|
|
20736
|
-
* 计算自适应列宽
|
|
20737
|
-
*/const calcColumnAutoWidth=(column,wrapperEl)=>{const{scrollYLoad}=reactData;const columnOpts=computeColumnOpts.value;const{autoOptions}=columnOpts;const{isCalcHeader,isCalcBody,isCalcFooter}=autoOptions||{};const querySelections=[];if(isCalcHeader){querySelections.push(`.vxe-header-cell--wrapper[colid="${column.id}"]`);}if(isCalcBody){querySelections.push(`.vxe-body-cell--wrapper[colid="${column.id}"]`);}if(isCalcFooter){querySelections.push(`.vxe-footer-cell--wrapper[colid="${column.id}"]`);}const cellElemList=querySelections.length?wrapperEl.querySelectorAll(querySelections.join(',')):[];let leftRightPadding=0;const firstCellEl=cellElemList[0];if(firstCellEl&&firstCellEl.parentElement){const cellStyle=getComputedStyle(firstCellEl.parentElement);leftRightPadding=Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingLeft)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingRight));}let colWidth=(scrollYLoad?column.renderAutoWidth:0)-leftRightPadding;for(let i=0;i<cellElemList.length;i++){const celEl=cellElemList[i];colWidth=Math.max(colWidth,celEl?Math.ceil(celEl.scrollWidth)+4:0);}return colWidth+leftRightPadding;};/**
|
|
20738
|
-
* 自适应列宽
|
|
20739
|
-
*/const calcCellWidth=()=>{const autoWidthColumnList=computeAutoWidthColumnList.value;const{fullColumnIdData}=internalData;const el=refElem.value;if(el){el.setAttribute('data-calc-col','Y');autoWidthColumnList.forEach(column=>{const colid=column.id;const colRest=fullColumnIdData[colid];const colWidth=calcColumnAutoWidth(column,el);if(colRest){colRest.width=Math.max(colWidth,colRest.width);}column.renderAutoWidth=colWidth;});$xeTable.analyColumnWidth();el.removeAttribute('data-calc-col');}};/**
|
|
20740
|
-
* 列宽算法,计算单元格列宽,动态分配可用剩余空间
|
|
20741
|
-
* 支持 px、%、固定 混合分配
|
|
20742
|
-
* 支持动态列表调整分配
|
|
20743
|
-
* 支持自动分配偏移量
|
|
20744
|
-
* 支持 width=60 width=60px width=10% min-width=60 min-width=60px min-width=10%
|
|
20757
|
+
if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHeight||internalData.customMaxHeight)){internalData.customHeight=300;}};/**
|
|
20758
|
+
* 计算自适应列宽
|
|
20759
|
+
*/const calcColumnAutoWidth=(column,wrapperEl)=>{const{scrollYLoad}=reactData;const columnOpts=computeColumnOpts.value;const{autoOptions}=columnOpts;const{isCalcHeader,isCalcBody,isCalcFooter}=autoOptions||{};const querySelections=[];if(isCalcHeader){querySelections.push(`.vxe-header-cell--wrapper[colid="${column.id}"]`);}if(isCalcBody){querySelections.push(`.vxe-body-cell--wrapper[colid="${column.id}"]`);}if(isCalcFooter){querySelections.push(`.vxe-footer-cell--wrapper[colid="${column.id}"]`);}const cellElemList=querySelections.length?wrapperEl.querySelectorAll(querySelections.join(',')):[];let leftRightPadding=0;const firstCellEl=cellElemList[0];if(firstCellEl&&firstCellEl.parentElement){const cellStyle=getComputedStyle(firstCellEl.parentElement);leftRightPadding=Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingLeft)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingRight));}let colWidth=(scrollYLoad?column.renderAutoWidth:0)-leftRightPadding;for(let i=0;i<cellElemList.length;i++){const celEl=cellElemList[i];colWidth=Math.max(colWidth,celEl?Math.ceil(celEl.scrollWidth)+4:0);}return colWidth+leftRightPadding;};/**
|
|
20760
|
+
* 自适应列宽
|
|
20761
|
+
*/const calcCellWidth=()=>{const autoWidthColumnList=computeAutoWidthColumnList.value;const{fullColumnIdData}=internalData;const el=refElem.value;if(el){el.setAttribute('data-calc-col','Y');autoWidthColumnList.forEach(column=>{const colid=column.id;const colRest=fullColumnIdData[colid];const colWidth=calcColumnAutoWidth(column,el);if(colRest){colRest.width=Math.max(colWidth,colRest.width);}column.renderAutoWidth=colWidth;});$xeTable.analyColumnWidth();el.removeAttribute('data-calc-col');}};/**
|
|
20762
|
+
* 列宽算法,计算单元格列宽,动态分配可用剩余空间
|
|
20763
|
+
* 支持 px、%、固定 混合分配
|
|
20764
|
+
* 支持动态列表调整分配
|
|
20765
|
+
* 支持自动分配偏移量
|
|
20766
|
+
* 支持 width=60 width=60px width=10% min-width=60 min-width=60px min-width=10%
|
|
20745
20767
|
*/const autoCellWidth=()=>{const{elemStore}=internalData;const bodyWrapperElem=getRefElem(elemStore['main-body-wrapper']);if(!bodyWrapperElem){return;}const yHandleEl=refScrollYHandleElem.value;if(!yHandleEl){return;}const xHandleEl=refScrollXHandleElem.value;if(!xHandleEl){return;}const columnOpts=computeColumnOpts.value;let tWidth=0;const minCellWidth=40;// 列宽最少限制 40px
|
|
20746
20768
|
const bodyWidth=bodyWrapperElem.clientWidth;let remainWidth=bodyWidth;let meanWidth=remainWidth/100;const{fit}=props;const{columnStore}=reactData;const{resizeList,pxMinList,autoMinList,pxList,scaleList,scaleMinList,autoList,remainList}=columnStore;const parseColumnMaxWidth=column=>{const maxWidth=column.maxWidth||columnOpts.maxWidth;if(maxWidth&&maxWidth!=='auto'){if(isScale(maxWidth)){return Math.floor(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(maxWidth)*meanWidth);}return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(maxWidth);}return 0;};// 最小宽
|
|
20747
20769
|
pxMinList.forEach(column=>{let miWidth=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(column.minWidth);const mxWidth=parseColumnMaxWidth(column);if(mxWidth){miWidth=Math.min(miWidth,mxWidth);}tWidth+=miWidth;column.renderWidth=miWidth;});// 最小自适应
|
|
@@ -20751,23 +20773,23 @@ scaleList.forEach(column=>{let sfWidth=Math.floor(external_root_XEUtils_commonjs
|
|
|
20751
20773
|
pxList.forEach(column=>{let pWidth=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(column.width);const mxWidth=parseColumnMaxWidth(column);if(mxWidth){pWidth=Math.min(pWidth,mxWidth);}tWidth+=pWidth;column.renderWidth=pWidth;});// 自适应宽
|
|
20752
20774
|
autoList.forEach(column=>{let aWidth=Math.max(60,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(column.renderAutoWidth));const mxWidth=parseColumnMaxWidth(column);if(mxWidth){aWidth=Math.min(aWidth,mxWidth);}tWidth+=aWidth;column.renderWidth=aWidth;});// 调整了列宽
|
|
20753
20775
|
resizeList.forEach(column=>{const reWidth=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(column.resizeWidth);tWidth+=reWidth;column.renderWidth=reWidth;});const zoomColumnList=scaleMinList.concat(pxMinList).concat(autoMinList).filter(column=>!parseColumnMaxWidth(column));remainWidth-=tWidth;meanWidth=remainWidth>0?Math.floor(remainWidth/(zoomColumnList.length+remainList.length)):0;if(fit){if(remainWidth>0){zoomColumnList.forEach(column=>{tWidth+=meanWidth;column.renderWidth+=meanWidth;});}}else{meanWidth=minCellWidth;}// 剩余均分
|
|
20754
|
-
remainList.forEach(column=>{const width=Math.max(meanWidth,minCellWidth);column.renderWidth=width;tWidth+=width;});if(fit){/**
|
|
20755
|
-
* 偏移量算法
|
|
20756
|
-
* 如果所有列足够放的情况下,从最后动态列开始分配
|
|
20757
|
-
* 排除已设置 max-width
|
|
20758
|
-
*/const dynamicList=scaleList.concat(scaleMinList).concat(pxMinList).concat(autoMinList).concat(remainList).filter(column=>!parseColumnMaxWidth(column));let dynamicSize=dynamicList.length-1;if(dynamicSize>0){let i=bodyWidth-tWidth;if(i>0){while(i>0&&dynamicSize>=0){i--;dynamicList[dynamicSize--].renderWidth++;}tWidth=bodyWidth;}}}reactData.scrollXWidth=tWidth;reactData.resizeWidthFlag++;updateColumnOffsetLeft();updateHeight();};/**
|
|
20759
|
-
* 计算自适应行高
|
|
20760
|
-
*/const calcCellAutoHeight=(rowid,rowRest,wrapperEl)=>{const{fullCellHeightMaps}=internalData;let chRest=fullCellHeightMaps[rowid];if(!chRest){chRest={};fullCellHeightMaps[rowid]=chRest;}const wrapperElemList=wrapperEl.querySelectorAll(`.vxe-cell--wrapper[rowid="${rowRest.rowid}"]`);let firstCellStyle=null;let topBottomPadding=0;let changeCH=false;for(let i=0;i<wrapperElemList.length;i++){const wrapperElem=wrapperElemList[i];const cellElem=wrapperElem.parentElement;const cellStyle=cellElem.style;const orHeight=cellStyle.height;const colid=wrapperElem.getAttribute('colid')||'';cellStyle.height='';if(!firstCellStyle){firstCellStyle=getComputedStyle(cellElem);topBottomPadding=firstCellStyle?Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(firstCellStyle.paddingTop)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(firstCellStyle.paddingBottom)):0;}const cellHeight=wrapperElem?wrapperElem.clientHeight:0;const colHeight=Math.ceil(cellHeight+topBottomPadding);if(chRest[colid]!==colHeight){changeCH=true;chRest[colid]=colHeight;}cellStyle.height=orHeight;}const cellMaxHeight=getRowMaxHeight(chRest,changeCH);return cellMaxHeight;};/**
|
|
20761
|
-
* 自适应行高
|
|
20762
|
-
*/const calcCellHeight=()=>{const{treeConfig}=props;const{tableData,isAllOverflow,scrollYLoad,scrollXLoad}=reactData;const{fullAllDataRowIdData}=internalData;const el=refElem.value;if(!el||!el.clientWidth){return;}const treeOpts=computeTreeOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;if(!isAllOverflow&&(scrollYLoad||scrollXLoad||treeConfig&&treeOpts.showLine)){const{handleGetRowId}=createHandleGetRowId($xeTable);el.setAttribute('data-calc-row','Y');tableData.forEach(row=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const reHeight=calcCellAutoHeight(rowid,rowRest,el);rowRest.height=Math.max(defaultRowHeight,reHeight);}el.removeAttribute('data-calc-row');});reactData.calcCellHeightFlag++;}};const getOrderField=column=>{const{isRowGroupStatus}=reactData;const{sortBy,sortType,aggFunc}=column;return isRowGroupStatus&&aggFunc?row=>{if(row.isAggregate){const aggData=row.aggData;const currAggData=aggData?aggData[column.field]:null;return currAggData?currAggData.value:null;}let cellValue;if(sortBy){cellValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(sortBy)?sortBy({row,column}):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,sortBy);}else{cellValue=$xeTable.getCellLabel(row,column);}if(!sortType||sortType==='auto'){return (0,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_.isNaN)(cellValue)?cellValue:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='number'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='string'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(cellValue);}return cellValue;}:row=>{let cellValue;if(sortBy){cellValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(sortBy)?sortBy({row,column}):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,sortBy);}else{cellValue=$xeTable.getCellLabel(row,column);}if(!sortType||sortType==='auto'){return (0,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_.isNaN)(cellValue)?cellValue:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='number'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='string'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(cellValue);}return cellValue;};};const updateAfterTreeIndex=()=>{const{fullDataRowIdData,fullAllDataRowIdData,afterFullData,afterTreeFullData}=internalData;const treeOpts=computeTreeOpts.value;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const fullMaps={};let rowNum=0;const{handleGetRowId}=createHandleGetRowId($xeTable);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData,(row,index,items,path)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];const seq=path.map((num,i)=>i%2===0?Number(num)+1:'.').join('');if(rowRest){rowRest.seq=seq;rowRest._seq=rowNum;rowRest.treeIndex=index;rowRest._tIndex=rowNum;}else{const rest={row,rowid,_seq:rowNum,seq,index:-1,$index:-1,_index:-1,treeIndex:-1,_tIndex:rowNum,items:[],parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullAllDataRowIdData[rowid]=rest;fullDataRowIdData[rowid]=rest;}rowNum++;fullMaps[rowid]=row;},{children:transform?mapChildrenField:childrenField});if(transform){afterFullData.forEach((row,index)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest._index=index;}});}internalData.afterFullRowMaps=fullMaps;};const updateAfterListIndex=()=>{const{afterFullData,fullDataRowIdData,fullAllDataRowIdData}=internalData;const{handleGetRowId}=createHandleGetRowId($xeTable);const fullMaps={};let rowNum=0;afterFullData.forEach((row,index)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];const seq=index+1;if(rowRest){rowRest.seq=seq;rowRest._seq=rowNum;rowRest._index=index;}else{const rest={row,rowid,_seq:rowNum,seq,index:-1,$index:-1,_index:index,treeIndex:-1,_tIndex:-1,items:[],parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullAllDataRowIdData[rowid]=rest;fullDataRowIdData[rowid]=rest;}rowNum++;fullMaps[rowid]=row;});internalData.afterFullRowMaps=fullMaps;};/**
|
|
20763
|
-
* 预编译
|
|
20764
|
-
* 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
|
|
20765
|
-
*/const updateAfterDataIndex=()=>{const{treeConfig}=props;if(treeConfig){updateAfterTreeIndex();}else{updateAfterListIndex();}};/**
|
|
20766
|
-
* 如果为虚拟树、行分组、则将树结构拍平
|
|
20767
|
-
* @returns
|
|
20768
|
-
*/const handleVirtualTreeToList=()=>{const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{fullAllDataRowIdData,treeExpandedMaps,rowGroupExpandedMaps}=internalData;const aggregateOpts=computeAggregateOpts.value;const treeOpts=computeTreeOpts.value;const{handleGetRowId}=createHandleGetRowId($xeTable);const fullData=[];const expandMaps={};if(treeConfig&&treeOpts.transform){const childrenField=treeOpts.children||treeOpts.childrenField;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(internalData.afterTreeFullData,(row,index,items,path,parentRow)=>{const rowid=handleGetRowId(row);const parentRowid=handleGetRowId(parentRow);if(!parentRow||expandMaps[parentRowid]&&treeExpandedMaps[parentRowid]){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest._index=fullData.length;}expandMaps[rowid]=1;fullData.push(row);}},{children:childrenField});internalData.afterFullData=fullData;updateScrollYStatus(fullData);return fullData;}else if(isRowGroupStatus){const{childrenField}=aggregateOpts;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(internalData.afterGroupFullData,(row,index,items,path,parentRow)=>{const rowid=handleGetRowId(row);const parentRowid=handleGetRowId(parentRow);if(!parentRow||expandMaps[parentRowid]&&rowGroupExpandedMaps[parentRowid]){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest._index=fullData.length;}expandMaps[rowid]=1;fullData.push(row);}},{children:childrenField});internalData.afterFullData=fullData;updateScrollYStatus(fullData);return fullData;}return internalData.afterFullData;};/**
|
|
20769
|
-
* 编译处理后全量的表格数据
|
|
20770
|
-
* 如果存在筛选条件,继续处理
|
|
20776
|
+
remainList.forEach(column=>{const width=Math.max(meanWidth,minCellWidth);column.renderWidth=width;tWidth+=width;});if(fit){/**
|
|
20777
|
+
* 偏移量算法
|
|
20778
|
+
* 如果所有列足够放的情况下,从最后动态列开始分配
|
|
20779
|
+
* 排除已设置 max-width
|
|
20780
|
+
*/const dynamicList=scaleList.concat(scaleMinList).concat(pxMinList).concat(autoMinList).concat(remainList).filter(column=>!parseColumnMaxWidth(column));let dynamicSize=dynamicList.length-1;if(dynamicSize>0){let i=bodyWidth-tWidth;if(i>0){while(i>0&&dynamicSize>=0){i--;dynamicList[dynamicSize--].renderWidth++;}tWidth=bodyWidth;}}}reactData.scrollXWidth=tWidth;reactData.resizeWidthFlag++;updateColumnOffsetLeft();updateHeight();};/**
|
|
20781
|
+
* 计算自适应行高
|
|
20782
|
+
*/const calcCellAutoHeight=(rowid,rowRest,wrapperEl)=>{const{fullCellHeightMaps}=internalData;let chRest=fullCellHeightMaps[rowid];if(!chRest){chRest={};fullCellHeightMaps[rowid]=chRest;}const wrapperElemList=wrapperEl.querySelectorAll(`.vxe-cell--wrapper[rowid="${rowRest.rowid}"]`);let firstCellStyle=null;let topBottomPadding=0;let changeCH=false;for(let i=0;i<wrapperElemList.length;i++){const wrapperElem=wrapperElemList[i];const cellElem=wrapperElem.parentElement;const cellStyle=cellElem.style;const orHeight=cellStyle.height;const colid=wrapperElem.getAttribute('colid')||'';cellStyle.height='';if(!firstCellStyle){firstCellStyle=getComputedStyle(cellElem);topBottomPadding=firstCellStyle?Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(firstCellStyle.paddingTop)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(firstCellStyle.paddingBottom)):0;}const cellHeight=wrapperElem?wrapperElem.clientHeight:0;const colHeight=Math.ceil(cellHeight+topBottomPadding);if(chRest[colid]!==colHeight){changeCH=true;chRest[colid]=colHeight;}cellStyle.height=orHeight;}const cellMaxHeight=getRowMaxHeight(chRest,changeCH);return cellMaxHeight;};/**
|
|
20783
|
+
* 自适应行高
|
|
20784
|
+
*/const calcCellHeight=()=>{const{treeConfig}=props;const{tableData,isAllOverflow,scrollYLoad,scrollXLoad}=reactData;const{fullAllDataRowIdData}=internalData;const el=refElem.value;if(!el||!el.clientWidth){return;}const treeOpts=computeTreeOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;if(!isAllOverflow&&(scrollYLoad||scrollXLoad||treeConfig&&treeOpts.showLine)){const{handleGetRowId}=createHandleGetRowId($xeTable);el.setAttribute('data-calc-row','Y');tableData.forEach(row=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const reHeight=calcCellAutoHeight(rowid,rowRest,el);rowRest.height=Math.max(defaultRowHeight,reHeight);}el.removeAttribute('data-calc-row');});reactData.calcCellHeightFlag++;}};const getOrderField=column=>{const{isRowGroupStatus}=reactData;const{sortBy,sortType,aggFunc}=column;return isRowGroupStatus&&aggFunc?row=>{if(row.isAggregate){const aggData=row.aggData;const currAggData=aggData?aggData[column.field]:null;return currAggData?currAggData.value:null;}let cellValue;if(sortBy){cellValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(sortBy)?sortBy({row,column}):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,sortBy);}else{cellValue=$xeTable.getCellLabel(row,column);}if(!sortType||sortType==='auto'){return (0,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_.isNaN)(cellValue)?cellValue:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='number'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='string'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(cellValue);}return cellValue;}:row=>{let cellValue;if(sortBy){cellValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(sortBy)?sortBy({row,column}):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,sortBy);}else{cellValue=$xeTable.getCellLabel(row,column);}if(!sortType||sortType==='auto'){return (0,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_.isNaN)(cellValue)?cellValue:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='number'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellValue);}else if(sortType==='string'){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(cellValue);}return cellValue;};};const updateAfterTreeIndex=()=>{const{fullDataRowIdData,fullAllDataRowIdData,afterFullData,afterTreeFullData}=internalData;const treeOpts=computeTreeOpts.value;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const fullMaps={};let rowNum=0;const{handleGetRowId}=createHandleGetRowId($xeTable);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData,(row,index,items,path)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];const seq=path.map((num,i)=>i%2===0?Number(num)+1:'.').join('');if(rowRest){rowRest.seq=seq;rowRest._seq=rowNum;rowRest.treeIndex=index;rowRest._tIndex=rowNum;}else{const rest={row,rowid,_seq:rowNum,seq,index:-1,$index:-1,_index:-1,treeIndex:-1,_tIndex:rowNum,items:[],parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullAllDataRowIdData[rowid]=rest;fullDataRowIdData[rowid]=rest;}rowNum++;fullMaps[rowid]=row;},{children:transform?mapChildrenField:childrenField});if(transform){afterFullData.forEach((row,index)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest._index=index;}});}internalData.afterFullRowMaps=fullMaps;};const updateAfterListIndex=()=>{const{afterFullData,fullDataRowIdData,fullAllDataRowIdData}=internalData;const{handleGetRowId}=createHandleGetRowId($xeTable);const fullMaps={};let rowNum=0;afterFullData.forEach((row,index)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];const seq=index+1;if(rowRest){rowRest.seq=seq;rowRest._seq=rowNum;rowRest._index=index;}else{const rest={row,rowid,_seq:rowNum,seq,index:-1,$index:-1,_index:index,treeIndex:-1,_tIndex:-1,items:[],parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullAllDataRowIdData[rowid]=rest;fullDataRowIdData[rowid]=rest;}rowNum++;fullMaps[rowid]=row;});internalData.afterFullRowMaps=fullMaps;};/**
|
|
20785
|
+
* 预编译
|
|
20786
|
+
* 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
|
|
20787
|
+
*/const updateAfterDataIndex=()=>{const{treeConfig}=props;if(treeConfig){updateAfterTreeIndex();}else{updateAfterListIndex();}};/**
|
|
20788
|
+
* 如果为虚拟树、行分组、则将树结构拍平
|
|
20789
|
+
* @returns
|
|
20790
|
+
*/const handleVirtualTreeToList=()=>{const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{fullAllDataRowIdData,treeExpandedMaps,rowGroupExpandedMaps}=internalData;const aggregateOpts=computeAggregateOpts.value;const treeOpts=computeTreeOpts.value;const{handleGetRowId}=createHandleGetRowId($xeTable);const fullData=[];const expandMaps={};if(treeConfig&&treeOpts.transform){const childrenField=treeOpts.children||treeOpts.childrenField;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(internalData.afterTreeFullData,(row,index,items,path,parentRow)=>{const rowid=handleGetRowId(row);const parentRowid=handleGetRowId(parentRow);if(!parentRow||expandMaps[parentRowid]&&treeExpandedMaps[parentRowid]){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest._index=fullData.length;}expandMaps[rowid]=1;fullData.push(row);}},{children:childrenField});internalData.afterFullData=fullData;updateScrollYStatus(fullData);return fullData;}else if(isRowGroupStatus){const{childrenField}=aggregateOpts;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(internalData.afterGroupFullData,(row,index,items,path,parentRow)=>{const rowid=handleGetRowId(row);const parentRowid=handleGetRowId(parentRow);if(!parentRow||expandMaps[parentRowid]&&rowGroupExpandedMaps[parentRowid]){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest._index=fullData.length;}expandMaps[rowid]=1;fullData.push(row);}},{children:childrenField});internalData.afterFullData=fullData;updateScrollYStatus(fullData);return fullData;}return internalData.afterFullData;};/**
|
|
20791
|
+
* 编译处理后全量的表格数据
|
|
20792
|
+
* 如果存在筛选条件,继续处理
|
|
20771
20793
|
*/const updateAfterFullData=()=>{const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullColumn,tableFullData,tableFullTreeData,tableFullGroupData}=internalData;const filterOpts=computeFilterOpts.value;const sortOpts=computeSortOpts.value;const aggregateOpts=computeAggregateOpts.value;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const{transform,rowField,parentField,mapChildrenField}=treeOpts;const{isEvery,remote:allRemoteFilter,filterMethod:allFilterMethod,isDeep:isFilterDeep}=filterOpts;const{remote:allRemoteSort,sortMethod:allSortMethod,multiple:sortMultiple,chronological,isDeep:isSortDeep}=sortOpts;let tableData=[];let tableTree=[];// 处理数据
|
|
20772
20794
|
if(!allRemoteFilter||!allRemoteSort){const filterColumns=[];let orderColumns=[];tableFullColumn.forEach(column=>{const{field,sortable,order,filters}=column;if(!allRemoteFilter&&filters&&filters.length){const valueList=[];const itemList=[];filters.forEach(item=>{if(item.checked){itemList.push(item);valueList.push(item.value);}});if(itemList.length){filterColumns.push({column,valueList,itemList});}}if(!allRemoteSort&&sortable&&order){orderColumns.push({column,field,property:field,order:order,sortTime:column.sortTime});}});if(sortMultiple&&chronological&&orderColumns.length>1){orderColumns=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(orderColumns,'sortTime');}// 处理筛选
|
|
20773
20795
|
// 支持单列、多列、组合筛选
|
|
@@ -20788,44 +20810,44 @@ let renderColumnList=tableColumn;const isOptimizeMode=isHeaderRenderOptimize;if(
|
|
|
20788
20810
|
if(isOptimizeMode){renderColumnList=fixedColumn||[];}}}const tWidth=renderColumnList.reduce((previous,column)=>previous+column.renderWidth,0);if(fixedType){if(isGroup){if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}else{if(isOptimizeMode){if(wrapperElem){wrapperElem.style.width=tWidth?`${tWidth}px`:'';}}else{if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}}}if(currScrollElem){currScrollElem.style.height=`${tHeaderHeight}px`;}if(tableElem){tableElem.style.width=tWidth?`${tWidth}px`:'';}}else if(layout==='body'){if(currScrollElem){currScrollElem.style.maxHeight=customMaxHeight?`${bodyMaxHeight}px`:'';currScrollElem.style.height=customHeight?`${tbHeight}px`:'';currScrollElem.style.minHeight=`${bodyMinHeight}px`;}// 如果是固定列
|
|
20789
20811
|
if(fixedWrapperElem){if(wrapperElem){wrapperElem.style.top=`${tHeaderHeight}px`;}fixedWrapperElem.style.height=`${customHeight>0?customHeight:tableHeight+tHeaderHeight+tFooterHeight+osbHeight}px`;fixedWrapperElem.style.width=`${fixedColumn.reduce((previous,column)=>previous+column.renderWidth,0)}px`;}let renderColumnList=tableColumn;const isOptimizeMode=isBodyRenderOptimize;if(fixedType){renderColumnList=visibleColumn;if(isOptimizeMode){renderColumnList=fixedColumn||[];}}const tWidth=renderColumnList.reduce((previous,column)=>previous+column.renderWidth,0);if(fixedType){if(isOptimizeMode){if(wrapperElem){wrapperElem.style.width=tWidth?`${tWidth}px`:'';}}else{if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}}if(tableElem){tableElem.style.width=tWidth?`${tWidth}px`:'';// 兼容性处理
|
|
20790
20812
|
tableElem.style.paddingRight=osbWidth&&fixedType&&(browseObj.firefox||browseObj.safari)?`${osbWidth}px`:'';}const emptyBlockElem=getRefElem(elemStore[`${name}-${layout}-emptyBlock`]);if(emptyBlockElem){emptyBlockElem.style.width=tWidth?`${tWidth}px`:'';}}else if(layout==='footer'){let renderColumnList=tableColumn;const isOptimizeMode=isFooterRenderOptimize;if(!isOptimizeMode||!isColLoading&&(fixedType||!overflowX)){renderColumnList=visibleColumn;}if(fixedType){if(isOptimizeMode){renderColumnList=fixedColumn||[];}}const tWidth=renderColumnList.reduce((previous,column)=>previous+column.renderWidth,0);if(fixedType){if(isOptimizeMode){if(wrapperElem){wrapperElem.style.width=tWidth?`${tWidth}px`:'';}}else{if(wrapperElem){wrapperElem.style.width=scrollXWidth?`${scrollXWidth}px`:'';}}}if(currScrollElem){currScrollElem.style.height=`${tFooterHeight}px`;// 如果是固定列
|
|
20791
|
-
if(fixedWrapperElem){if(wrapperElem){wrapperElem.style.top=`${customHeight>0?customHeight-tFooterHeight-osbHeight:tableHeight+tHeaderHeight}px`;}}}if(tableElem){tableElem.style.width=tWidth?`${tWidth}px`:'';}}});});if(currentRow){$xeTable.setCurrentRow(currentRow);}if(mouseConfig&&mouseOpts.selected&&editStore.selected.row&&editStore.selected.column){$xeTable.addCellSelectedClass();}if($xeGanttView&&$xeGanttView.handleUpdateStyle){$xeGanttView.handleUpdateStyle();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};const checkValidate=type=>{if($xeTable.triggerValidate){return $xeTable.triggerValidate(type);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};/**
|
|
20792
|
-
* 当单元格发生改变时
|
|
20793
|
-
* 如果存在规则,则校验
|
|
20794
|
-
*/const handleChangeCell=(evnt,params)=>{checkValidate('blur').catch(e=>e).then(()=>{$xeTable.handleEdit(params,evnt).then(()=>checkValidate('change')).catch(e=>e);});};const handleDefaultSort=()=>{const{sortConfig}=props;if(sortConfig){const sortOpts=computeSortOpts.value;let{defaultSort}=sortOpts;if(defaultSort){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(defaultSort)){defaultSort=[defaultSort];}if(defaultSort.length){(sortConfig.multiple?defaultSort:defaultSort.slice(0,1)).forEach((item,index)=>{const{field,order}=item;if(field&&order){const column=$xeTable.getColumnByField(field);if(column&&column.sortable){column.order=order;column.sortTime=Date.now()+index;}}});if(!sortOpts.remote){$xeTable.handleTableData(true).then(updateStyle);}}}}};/**
|
|
20795
|
-
* 处理默认勾选
|
|
20796
|
-
*/const handleDefaultSelectionChecked=()=>{const{checkboxConfig}=props;if(checkboxConfig){const{fullDataRowIdData}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkAll,checkRowKeys}=checkboxOpts;if(checkAll){handleCheckedAllCheckboxRow(true,true);}else if(checkRowKeys){const defSelection=[];checkRowKeys.forEach(rowid=>{if(fullDataRowIdData[rowid]){defSelection.push(fullDataRowIdData[rowid].row);}});handleCheckedCheckboxRow(defSelection,true,true);}}};/**
|
|
20797
|
-
* 处理单选框默认勾选
|
|
20798
|
-
*/const handleDefaultRadioChecked=()=>{const{radioConfig}=props;if(radioConfig){const{fullDataRowIdData}=internalData;const radioOpts=computeRadioOpts.value;const{checkRowKey:rowid,reserve}=radioOpts;if(rowid){if(fullDataRowIdData[rowid]){handleCheckedRadioRow(fullDataRowIdData[rowid].row,true);}if(reserve){const rowkey=getRowkey($xeTable);internalData.radioReserveRow={[rowkey]:rowid};}}}};/**
|
|
20799
|
-
* 处理默认展开行
|
|
20813
|
+
if(fixedWrapperElem){if(wrapperElem){wrapperElem.style.top=`${customHeight>0?customHeight-tFooterHeight-osbHeight:tableHeight+tHeaderHeight}px`;}}}if(tableElem){tableElem.style.width=tWidth?`${tWidth}px`:'';}}});});if(currentRow){$xeTable.setCurrentRow(currentRow);}if(mouseConfig&&mouseOpts.selected&&editStore.selected.row&&editStore.selected.column){$xeTable.addCellSelectedClass();}if($xeGanttView&&$xeGanttView.handleUpdateStyle){$xeGanttView.handleUpdateStyle();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};const checkValidate=type=>{if($xeTable.triggerValidate){return $xeTable.triggerValidate(type);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};/**
|
|
20814
|
+
* 当单元格发生改变时
|
|
20815
|
+
* 如果存在规则,则校验
|
|
20816
|
+
*/const handleChangeCell=(evnt,params)=>{checkValidate('blur').catch(e=>e).then(()=>{$xeTable.handleEdit(params,evnt).then(()=>checkValidate('change')).catch(e=>e);});};const handleDefaultSort=()=>{const{sortConfig}=props;if(sortConfig){const sortOpts=computeSortOpts.value;let{defaultSort}=sortOpts;if(defaultSort){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(defaultSort)){defaultSort=[defaultSort];}if(defaultSort.length){(sortConfig.multiple?defaultSort:defaultSort.slice(0,1)).forEach((item,index)=>{const{field,order}=item;if(field&&order){const column=$xeTable.getColumnByField(field);if(column&&column.sortable){column.order=order;column.sortTime=Date.now()+index;}}});if(!sortOpts.remote){$xeTable.handleTableData(true).then(updateStyle);}}}}};/**
|
|
20817
|
+
* 处理默认勾选
|
|
20818
|
+
*/const handleDefaultSelectionChecked=()=>{const{checkboxConfig}=props;if(checkboxConfig){const{fullDataRowIdData}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkAll,checkRowKeys}=checkboxOpts;if(checkAll){handleCheckedAllCheckboxRow(true,true);}else if(checkRowKeys){const defSelection=[];checkRowKeys.forEach(rowid=>{if(fullDataRowIdData[rowid]){defSelection.push(fullDataRowIdData[rowid].row);}});handleCheckedCheckboxRow(defSelection,true,true);}}};/**
|
|
20819
|
+
* 处理单选框默认勾选
|
|
20820
|
+
*/const handleDefaultRadioChecked=()=>{const{radioConfig}=props;if(radioConfig){const{fullDataRowIdData}=internalData;const radioOpts=computeRadioOpts.value;const{checkRowKey:rowid,reserve}=radioOpts;if(rowid){if(fullDataRowIdData[rowid]){handleCheckedRadioRow(fullDataRowIdData[rowid].row,true);}if(reserve){const rowkey=getRowkey($xeTable);internalData.radioReserveRow={[rowkey]:rowid};}}}};/**
|
|
20821
|
+
* 处理默认展开行
|
|
20800
20822
|
*/const handleDefaultRowExpand=()=>{const{expandConfig}=props;if(expandConfig){const{fullDataRowIdData}=internalData;const expandOpts=computeExpandOpts.value;const{expandAll,expandRowKeys}=expandOpts;if(expandAll){$xeTable.setAllRowExpand(true);}else if(expandRowKeys){const defExpandeds=[];expandRowKeys.forEach(rowid=>{if(fullDataRowIdData[rowid]){defExpandeds.push(fullDataRowIdData[rowid].row);}});$xeTable.setRowExpand(defExpandeds,true);}}};const handleRadioReserveRow=row=>{const radioOpts=computeRadioOpts.value;if(radioOpts.reserve){internalData.radioReserveRow=row;}};const handleCheckboxReserveRow=(row,checked)=>{const{checkboxReserveRowMap}=internalData;const checkboxOpts=computeCheckboxOpts.value;if(checkboxOpts.reserve){const rowid=getRowid($xeTable,row);if(checked){checkboxReserveRowMap[rowid]=row;}else if(checkboxReserveRowMap[rowid]){delete checkboxReserveRowMap[rowid];}}};const handleCheckedRadioRow=(row,isForce)=>{const radioOpts=computeRadioOpts.value;const{checkMethod}=radioOpts;if(row&&(isForce||!checkMethod||checkMethod({$table:$xeTable,row}))){reactData.selectRadioRow=row;handleRadioReserveRow(row);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};const handleCheckedCheckboxRow=(rows,value,isForce)=>{if(rows&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}$xeTable.handleBatchSelectRows(rows,!!value,isForce);$xeTable.checkSelectionStatus();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};const handleCheckedAllCheckboxRow=(checked,isForce)=>{const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{afterFullData,afterTreeFullData,afterGroupFullData,checkboxReserveRowMap,selectCheckboxMaps}=internalData;const treeOpts=computeTreeOpts.value;const aggregateOpts=computeAggregateOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const checkboxOpts=computeCheckboxOpts.value;const{checkField,reserve,checkMethod}=checkboxOpts;const{handleGetRowId}=createHandleGetRowId($xeTable);// indeterminateField 仅支持读取
|
|
20801
|
-
const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;const selectRowMaps={};/**
|
|
20802
|
-
* 绑定属性方式(有污染)
|
|
20803
|
-
* 必须在行数据存在对应的属性,否则将不响应
|
|
20823
|
+
const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;const selectRowMaps={};/**
|
|
20824
|
+
* 绑定属性方式(有污染)
|
|
20825
|
+
* 必须在行数据存在对应的属性,否则将不响应
|
|
20804
20826
|
*/if(checkField){const checkValFn=row=>{if(isForce||!checkMethod||checkMethod({$table:$xeTable,row})){if(checked){selectRowMaps[handleGetRowId(row)]=row;}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,checkField,checked);}if((treeConfig||isRowGroupStatus)&&indeterminateField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,indeterminateField,false);}};// 如果存在选中方法
|
|
20805
20827
|
// 如果方法成立,则更新值,否则忽略该数据
|
|
20806
|
-
if(treeConfig||isRowGroupStatus){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData,checkValFn,{children:childrenField});}else{afterFullData.forEach(checkValFn);}}else{/**
|
|
20807
|
-
* 默认方式(无污染)
|
|
20808
|
-
* 无需任何属性,直接绑定
|
|
20809
|
-
*/if(isRowGroupStatus){if(checked){/**
|
|
20810
|
-
* 如果是行分组勾选
|
|
20811
|
-
* 如果方法成立,则添加到临时集合中
|
|
20812
|
-
*/external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterGroupFullData,row=>{if(isForce||!checkMethod||checkMethod({$table:$xeTable,row})){const rowid=handleGetRowId(row);selectRowMaps[rowid]=row;}},{children:aggregateOpts.mapChildrenField});}else{/**
|
|
20813
|
-
* 如果是树取消
|
|
20814
|
-
* 如果方法成立,则不添加到临时集合中
|
|
20815
|
-
*/if(!isForce&&checkMethod){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterGroupFullData,row=>{const rowid=handleGetRowId(row);if(checkMethod({$table:$xeTable,row})?false:selectCheckboxMaps[rowid]){selectRowMaps[rowid]=row;}},{children:aggregateOpts.mapChildrenField});}}}else if(treeConfig){if(checked){/**
|
|
20816
|
-
* 如果是树勾选
|
|
20817
|
-
* 如果方法成立,则添加到临时集合中
|
|
20818
|
-
*/external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData,row=>{if(isForce||!checkMethod||checkMethod({$table:$xeTable,row})){const rowid=handleGetRowId(row);selectRowMaps[rowid]=row;}},{children:childrenField});}else{/**
|
|
20819
|
-
* 如果是树取消
|
|
20820
|
-
* 如果方法成立,则不添加到临时集合中
|
|
20821
|
-
*/if(!isForce&&checkMethod){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData,row=>{const rowid=handleGetRowId(row);if(checkMethod({$table:$xeTable,row})?false:selectCheckboxMaps[rowid]){selectRowMaps[rowid]=row;}},{children:childrenField});}}}else{if(checked){/**
|
|
20822
|
-
* 如果是行勾选
|
|
20823
|
-
* 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
|
|
20824
|
-
* 如果不存在选中方法,则添加所有数据到临时集合中
|
|
20825
|
-
*/if(!isForce&&checkMethod){afterFullData.forEach(row=>{const rowid=handleGetRowId(row);if(selectCheckboxMaps[rowid]||checkMethod({$table:$xeTable,row})){selectRowMaps[rowid]=row;}});}else{afterFullData.forEach(row=>{const rowid=handleGetRowId(row);selectRowMaps[rowid]=row;});}}else{/**
|
|
20826
|
-
* 如果是行取消
|
|
20827
|
-
* 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
|
|
20828
|
-
* 如果不存在选中方法,无需处理,临时集合默认为空
|
|
20828
|
+
if(treeConfig||isRowGroupStatus){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData,checkValFn,{children:childrenField});}else{afterFullData.forEach(checkValFn);}}else{/**
|
|
20829
|
+
* 默认方式(无污染)
|
|
20830
|
+
* 无需任何属性,直接绑定
|
|
20831
|
+
*/if(isRowGroupStatus){if(checked){/**
|
|
20832
|
+
* 如果是行分组勾选
|
|
20833
|
+
* 如果方法成立,则添加到临时集合中
|
|
20834
|
+
*/external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterGroupFullData,row=>{if(isForce||!checkMethod||checkMethod({$table:$xeTable,row})){const rowid=handleGetRowId(row);selectRowMaps[rowid]=row;}},{children:aggregateOpts.mapChildrenField});}else{/**
|
|
20835
|
+
* 如果是树取消
|
|
20836
|
+
* 如果方法成立,则不添加到临时集合中
|
|
20837
|
+
*/if(!isForce&&checkMethod){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterGroupFullData,row=>{const rowid=handleGetRowId(row);if(checkMethod({$table:$xeTable,row})?false:selectCheckboxMaps[rowid]){selectRowMaps[rowid]=row;}},{children:aggregateOpts.mapChildrenField});}}}else if(treeConfig){if(checked){/**
|
|
20838
|
+
* 如果是树勾选
|
|
20839
|
+
* 如果方法成立,则添加到临时集合中
|
|
20840
|
+
*/external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData,row=>{if(isForce||!checkMethod||checkMethod({$table:$xeTable,row})){const rowid=handleGetRowId(row);selectRowMaps[rowid]=row;}},{children:childrenField});}else{/**
|
|
20841
|
+
* 如果是树取消
|
|
20842
|
+
* 如果方法成立,则不添加到临时集合中
|
|
20843
|
+
*/if(!isForce&&checkMethod){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeFullData,row=>{const rowid=handleGetRowId(row);if(checkMethod({$table:$xeTable,row})?false:selectCheckboxMaps[rowid]){selectRowMaps[rowid]=row;}},{children:childrenField});}}}else{if(checked){/**
|
|
20844
|
+
* 如果是行勾选
|
|
20845
|
+
* 如果存在选中方法且成立或者本身已勾选,则添加到临时集合中
|
|
20846
|
+
* 如果不存在选中方法,则添加所有数据到临时集合中
|
|
20847
|
+
*/if(!isForce&&checkMethod){afterFullData.forEach(row=>{const rowid=handleGetRowId(row);if(selectCheckboxMaps[rowid]||checkMethod({$table:$xeTable,row})){selectRowMaps[rowid]=row;}});}else{afterFullData.forEach(row=>{const rowid=handleGetRowId(row);selectRowMaps[rowid]=row;});}}else{/**
|
|
20848
|
+
* 如果是行取消
|
|
20849
|
+
* 如果方法成立,则不添加到临时集合中;如果方法不成立则判断当前是否已勾选,如果已被勾选则添加到新集合中
|
|
20850
|
+
* 如果不存在选中方法,无需处理,临时集合默认为空
|
|
20829
20851
|
*/if(!isForce&&checkMethod){afterFullData.forEach(row=>{const rowid=handleGetRowId(row);if(checkMethod({$table:$xeTable,row})?false:selectCheckboxMaps[rowid]){selectRowMaps[rowid]=row;}});}}}}if(reserve){if(checked){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectRowMaps,(row,rowid)=>{checkboxReserveRowMap[rowid]=row;});}else{afterFullData.forEach(row=>handleCheckboxReserveRow(row,false));}}reactData.updateCheckboxFlag++;internalData.selectCheckboxMaps=checkField?{}:selectRowMaps;reactData.isAllSelected=checked;reactData.isIndeterminate=false;internalData.treeIndeterminateRowMaps={};$xeTable.checkSelectionStatus();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};// 还原展开、选中等相关状态
|
|
20830
20852
|
const handleReserveStatus=()=>{const{treeConfig}=props;const{expandColumn,selectRadioRow}=reactData;const{fullDataRowIdData,fullAllDataRowIdData,radioReserveRow,selectCheckboxMaps,treeExpandedMaps,rowExpandedMaps,currentRow}=internalData;const expandOpts=computeExpandOpts.value;const treeOpts=computeTreeOpts.value;const radioOpts=computeRadioOpts.value;const checkboxOpts=computeCheckboxOpts.value;// 单选框
|
|
20831
20853
|
if(selectRadioRow&&!fullAllDataRowIdData[getRowid($xeTable,selectRadioRow)]){reactData.selectRadioRow=null;// 刷新单选行状态
|
|
@@ -20839,8 +20861,8 @@ internalData.rowExpandedMaps=expandColumn?getRecoverRowMaps(rowExpandedMaps):{};
|
|
|
20839
20861
|
reactData.rowExpandedFlag++;// 还原保留状态
|
|
20840
20862
|
if(expandColumn&&expandOpts.reserve){$xeTable.setRowExpand(handleReserveRow(internalData.rowExpandedReserveRowMap),true);}// 树展开
|
|
20841
20863
|
internalData.treeExpandedMaps=treeConfig?getRecoverRowMaps(treeExpandedMaps):{};// 刷新树展开状态
|
|
20842
|
-
reactData.treeExpandedFlag++;if(treeConfig&&treeOpts.reserve){$xeTable.setTreeExpand(handleReserveRow(internalData.treeExpandedReserveRowMap),true);}};/**
|
|
20843
|
-
* 处理默认展开树节点
|
|
20864
|
+
reactData.treeExpandedFlag++;if(treeConfig&&treeOpts.reserve){$xeTable.setTreeExpand(handleReserveRow(internalData.treeExpandedReserveRowMap),true);}};/**
|
|
20865
|
+
* 处理默认展开树节点
|
|
20844
20866
|
*/const handleDefaultTreeExpand=()=>{const{treeConfig}=props;if(treeConfig){const{fullAllDataRowIdData}=internalData;const treeOpts=computeTreeOpts.value;const{expandAll,expandRowKeys}=treeOpts;if(expandAll){$xeTable.setAllTreeExpand(true);}else if(expandRowKeys){const defExpandeds=[];expandRowKeys.forEach(rowid=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){defExpandeds.push(rowRest.row);}});$xeTable.setTreeExpand(defExpandeds,true);}}};const handleAsyncTreeExpandChilds=row=>{const treeOpts=computeTreeOpts.value;const checkboxOpts=computeCheckboxOpts.value;const{transform,loadMethod}=treeOpts;const{checkStrictly}=checkboxOpts;return new Promise(resolve=>{if(loadMethod){const{fullAllDataRowIdData,treeExpandLazyLoadedMaps}=internalData;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];treeExpandLazyLoadedMaps[rowid]=row;Promise.resolve(loadMethod({$table:$xeTable,row})).then(childRecords=>{if(rowRest){rowRest.treeLoaded=true;}if(treeExpandLazyLoadedMaps[rowid]){delete treeExpandLazyLoadedMaps[rowid];}if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(childRecords)){childRecords=[];}if(childRecords){return $xeTable.loadTreeChildren(row,childRecords).then(childRows=>{const{treeExpandedMaps}=internalData;if(childRows.length&&!treeExpandedMaps[rowid]){treeExpandedMaps[rowid]=row;}reactData.treeExpandedFlag++;// 如果当前节点已选中,则展开后子节点也被选中
|
|
20845
20867
|
if(!checkStrictly&&$xeTable.isCheckedByCheckboxRow(row)){handleCheckedCheckboxRow(childRows,true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{if(transform){$xeTable.handleTableData();updateAfterDataIndex();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}});});}}).catch(()=>{const{treeExpandLazyLoadedMaps}=internalData;if(rowRest){rowRest.treeLoaded=false;}if(treeExpandLazyLoadedMaps[rowid]){delete treeExpandLazyLoadedMaps[rowid];}}).finally(()=>{reactData.treeExpandedFlag++;(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>$xeTable.recalculate()).then(()=>resolve());});}else{resolve();}});};const handleTreeExpandReserve=(row,expanded)=>{const{treeExpandedReserveRowMap}=internalData;const treeOpts=computeTreeOpts.value;if(treeOpts.reserve){const rowid=getRowid($xeTable,row);if(expanded){treeExpandedReserveRowMap[rowid]=row;}else if(treeExpandedReserveRowMap[rowid]){delete treeExpandedReserveRowMap[rowid];}}};const handleAsyncRowExpand=row=>{return new Promise(resolve=>{const expandOpts=computeExpandOpts.value;const{loadMethod}=expandOpts;if(loadMethod){const{fullAllDataRowIdData,rowExpandLazyLoadedMaps}=internalData;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];rowExpandLazyLoadedMaps[rowid]=row;loadMethod({$table:$xeTable,row,rowIndex:$xeTable.getRowIndex(row),$rowIndex:$xeTable.getVMRowIndex(row)}).then(()=>{const{rowExpandedMaps}=internalData;if(rowRest){rowRest.expandLoaded=true;}rowExpandedMaps[rowid]=row;reactData.rowExpandedFlag++;}).catch(()=>{if(rowRest){rowRest.expandLoaded=false;}}).finally(()=>{const{rowExpandLazyLoadedMaps}=internalData;if(rowExpandLazyLoadedMaps[rowid]){delete rowExpandLazyLoadedMaps[rowid];}reactData.rowExpandedFlag++;(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>$xeTable.recalculate()).then(()=>$xeTable.updateCellAreas()).then(()=>resolve());});}else{resolve();}});};const handleRowExpandReserve=(row,expanded)=>{const{rowExpandedReserveRowMap}=internalData;const expandOpts=computeExpandOpts.value;if(expandOpts.reserve){const rowid=getRowid($xeTable,row);if(expanded){rowExpandedReserveRowMap[rowid]=row;}else if(rowExpandedReserveRowMap[rowid]){delete rowExpandedReserveRowMap[rowid];}}};const handleDefaultMergeCells=()=>{const{mergeCells}=props;if(mergeCells){$xeTable.setMergeCells(mergeCells);}};const handleDefaultMergeHeaderItems=()=>{const{mergeHeaderCells}=props;if(mergeHeaderCells){$xeTable.setMergeHeaderCells(mergeHeaderCells);}};const handleDefaultMergeFooterItems=()=>{const{mergeFooterCells,mergeFooterItems}=props;const mFooterCells=mergeFooterCells||mergeFooterItems;if(mFooterCells){$xeTable.setMergeFooterCells(mFooterCells);}};// 计算可视渲染相关数据
|
|
20846
20868
|
const computeScrollLoad=()=>{return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{const{scrollXLoad,scrollYLoad}=reactData;const{scrollXStore,scrollYStore}=internalData;const virtualYOpts=computeVirtualYOpts.value;const virtualXOpts=computeVirtualXOpts.value;// 计算 X 逻辑
|
|
@@ -20849,16 +20871,16 @@ const rowHeight=computeRowHeight();scrollYStore.rowHeight=rowHeight;// 已废弃
|
|
|
20849
20871
|
reactData.rowHeight=rowHeight;const{toVisibleIndex:toYVisibleIndex,visibleSize:visibleYSize}=handleVirtualYVisible();if(scrollYLoad){const offsetYSize=Math.max(0,virtualYOpts.oSize?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualYOpts.oSize):0);scrollYStore.preloadSize=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualYOpts.preSize);scrollYStore.offsetSize=offsetYSize;scrollYStore.visibleSize=visibleYSize;scrollYStore.endIndex=Math.max(scrollYStore.startIndex+visibleYSize+offsetYSize,scrollYStore.endIndex);scrollYStore.visibleStartIndex=Math.max(scrollYStore.startIndex,toYVisibleIndex);scrollYStore.visibleEndIndex=Math.min(scrollYStore.endIndex,toYVisibleIndex+visibleYSize);$xeTable.updateScrollYData().then(()=>{loadScrollYData();});}else{$xeTable.updateScrollYSpace();}});};const calcScrollbar=()=>{const{scrollXWidth,scrollYHeight}=reactData;const{elemStore}=internalData;const scrollbarOpts=computeScrollbarOpts.value;const el=refElem.value;if(!el||!el.clientWidth){return;}const bodyWrapperElem=getRefElem(elemStore['main-body-wrapper']);const headerTableElem=getRefElem(elemStore['main-header-table']);const footerTableElem=getRefElem(elemStore['main-footer-table']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;let overflowY=false;let overflowX=false;if(bodyWrapperElem){overflowY=scrollYHeight>bodyWrapperElem.clientHeight;if(yHandleEl){reactData.scrollbarWidth=scrollbarOpts.width||yHandleEl.offsetWidth-yHandleEl.clientWidth||14;}reactData.overflowY=overflowY;overflowX=scrollXWidth>bodyWrapperElem.clientWidth;if(xHandleEl){reactData.scrollbarHeight=scrollbarOpts.height||xHandleEl.offsetHeight-xHandleEl.clientHeight||14;}const hHeight=headerTableElem?headerTableElem.clientHeight:0;const fHeight=footerTableElem?footerTableElem.clientHeight:0;internalData.tableHeight=bodyWrapperElem.offsetHeight;internalData.tHeaderHeight=hHeight;internalData.tFooterHeight=fHeight;reactData.overflowX=overflowX;reactData.parentHeight=Math.max(hHeight+fHeight+20,$xeTable.getParentHeight());}if(overflowX){$xeTable.checkScrolling();}};const handleRecalculateStyle=(reFull,reWidth,reHeight)=>{const el=refElem.value;if(!el||!el.clientWidth){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}const varEl=refVarElem.value;if(varEl){const[defEl,mediumEl,smallEl,miniEl]=varEl.children;calcVarRowHeightConfig('default',defEl);calcVarRowHeightConfig('medium',mediumEl);calcVarRowHeightConfig('small',smallEl);calcVarRowHeightConfig('mini',miniEl);}if(reWidth){calcCellWidth();}if(reFull){autoCellWidth();}calcScrollbar();updateStyle();updateRowExpandStyle();if(reFull){updateTreeLineStyle();}internalData.rceRunTime=Date.now();return computeScrollLoad().then(()=>{// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
|
|
20850
20872
|
if(reWidth){calcCellWidth();}if(reFull){autoCellWidth();}if(reHeight){calcCellHeight();}updateStyle();calcScrollbar();if(reFull){updateRowOffsetTop();}updateRowExpandStyle();if(reFull){updateTreeLineStyle();}internalData.rceRunTime=Date.now();if(reFull){return computeScrollLoad();}});};const defaultMinRunDelay=50;const handleLazyRecalculate=(reFull,reWidth,reHeight,options)=>{const minRunDelay=(options?options.minRunDelay:defaultMinRunDelay)||defaultMinRunDelay;return new Promise(resolve=>{const $xeGanttView=internalData.xeGanttView;const{customStore}=reactData;const{rceTimeout,rceRunTime}=internalData;const resizeOpts=computeResizeOpts.value;let rceDelay=internalData.rceDelay;// 如果在500毫秒内频繁执行,则执行次数减缓
|
|
20851
20873
|
if(rceRunTime&&rceRunTime>Date.now()-500){rceDelay+=50;}else{rceDelay=0;}internalData.rceDelay=rceDelay;const refreshDelay=resizeOpts.refreshDelay||30;const reDelay=rceDelay+refreshDelay;const el=refElem.value;if(el&&el.clientWidth){autoCellWidth();updateRowExpandStyle();}if(customStore.visible&&$xeTable.handleCustomStyle){$xeTable.handleCustomStyle();}if(rceTimeout){clearTimeout(rceTimeout);// 多少毫秒内至少执行一次
|
|
20852
|
-
if(rceRunTime&&rceRunTime+minRunDelay<Date.now()){resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}else{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{resolve();});}}else{resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}internalData.rceTimeout=setTimeout(()=>{internalData.rceTimeout=undefined;handleRecalculateStyle(reFull,reWidth,reHeight);if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}},reDelay);});};const handleResizeEvent=()=>{if(internalData.rsePending){return;}internalData.rsePending=true;handleLazyRecalculate(true,true,true,{minRunDelay:200}).then(()=>{internalData.rsePending=false;}).catch(()=>{internalData.rsePending=false;});};const handleUpdateAggValues=()=>{const{visibleColumn}=internalData;const aggCols=[];visibleColumn.forEach(column=>{if(column.aggFunc){aggCols.push(column);}});reactData.aggHandleAggColumns=aggCols;};const handleUpdateRowGroup=groupFields=>{const aggGroupFields=[];const aggGroupConfs=[];if(groupFields){(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(groupFields)?groupFields:[groupFields]).forEach(field=>{aggGroupFields.push(field);aggGroupConfs.push({field});});}reactData.rowGroupList=aggGroupConfs;reactData.aggHandleFields=aggGroupFields;handleUpdateAggValues();};const handleeGroupSummary=aggList=>{const{fullColumnFieldData}=internalData;const aggregateOpts=computeAggregateOpts.value;const aggFuncColumns=computeAggFuncColumns.value;const{mapChildrenField}=aggregateOpts;const aggCalcMethod=aggregateOpts.calcValuesMethod||aggregateOpts.countMethod||aggregateOpts.aggregateMethod;if(mapChildrenField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(aggList,aggRow=>{let count=0;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(aggRow[mapChildrenField],row=>{if(row.isAggregate){count+=row.childCount||0;}else{count++;}});aggRow.childCount=count;});if($xeTable.handlePivotTableAggData){$xeTable.handlePivotTableAggData(aggList);}else{if(aggFuncColumns.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(aggList,aggRow=>{const aggDtObj={};const aggData=aggRow.aggData;const groupField=aggRow.groupField;const groupContent=aggRow.groupContent;const childList=mapChildrenField?aggRow[mapChildrenField]||[]:[];const childCount=aggRow.childCount;const colRest=fullColumnFieldData[groupField]||{};aggFuncColumns.forEach(column=>{const{field}=column;const currAggData=aggData?aggData[field]:null;const ctParams={$table:$xeTable,groupField,groupColumn:colRest?colRest.column:null,column,groupValue:groupContent,childList,childCount,aggValue:currAggData?currAggData.value:0,/**
|
|
20853
|
-
* 已废弃
|
|
20854
|
-
* @deprecated
|
|
20855
|
-
*/children:childList,/**
|
|
20856
|
-
* 已废弃
|
|
20857
|
-
* @deprecated
|
|
20874
|
+
if(rceRunTime&&rceRunTime+minRunDelay<Date.now()){resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}else{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{resolve();});}}else{resolve(handleRecalculateStyle(reFull,reWidth,reHeight));}if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}internalData.rceTimeout=setTimeout(()=>{internalData.rceTimeout=undefined;handleRecalculateStyle(reFull,reWidth,reHeight);if($xeGanttView&&$xeGanttView.handleLazyRecalculate){$xeGanttView.handleLazyRecalculate();}},reDelay);});};const handleResizeEvent=()=>{if(internalData.rsePending){return;}internalData.rsePending=true;handleLazyRecalculate(true,true,true,{minRunDelay:200}).then(()=>{internalData.rsePending=false;}).catch(()=>{internalData.rsePending=false;});};const handleUpdateAggValues=()=>{const{visibleColumn}=internalData;const aggCols=[];visibleColumn.forEach(column=>{if(column.aggFunc){aggCols.push(column);}});reactData.aggHandleAggColumns=aggCols;};const handleUpdateRowGroup=groupFields=>{const aggGroupFields=[];const aggGroupConfs=[];if(groupFields){(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(groupFields)?groupFields:[groupFields]).forEach(field=>{aggGroupFields.push(field);aggGroupConfs.push({field});});}reactData.rowGroupList=aggGroupConfs;reactData.aggHandleFields=aggGroupFields;handleUpdateAggValues();};const handleeGroupSummary=aggList=>{const{fullColumnFieldData}=internalData;const aggregateOpts=computeAggregateOpts.value;const aggFuncColumns=computeAggFuncColumns.value;const{mapChildrenField}=aggregateOpts;const aggCalcMethod=aggregateOpts.calcValuesMethod||aggregateOpts.countMethod||aggregateOpts.aggregateMethod;if(mapChildrenField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(aggList,aggRow=>{let count=0;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(aggRow[mapChildrenField],row=>{if(row.isAggregate){count+=row.childCount||0;}else{count++;}});aggRow.childCount=count;});if($xeTable.handlePivotTableAggData){$xeTable.handlePivotTableAggData(aggList);}else{if(aggFuncColumns.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(aggList,aggRow=>{const aggDtObj={};const aggData=aggRow.aggData;const groupField=aggRow.groupField;const groupContent=aggRow.groupContent;const childList=mapChildrenField?aggRow[mapChildrenField]||[]:[];const childCount=aggRow.childCount;const colRest=fullColumnFieldData[groupField]||{};aggFuncColumns.forEach(column=>{const{field}=column;const currAggData=aggData?aggData[field]:null;const ctParams={$table:$xeTable,groupField,groupColumn:colRest?colRest.column:null,column,groupValue:groupContent,childList,childCount,aggValue:currAggData?currAggData.value:0,/**
|
|
20875
|
+
* 已废弃
|
|
20876
|
+
* @deprecated
|
|
20877
|
+
*/children:childList,/**
|
|
20878
|
+
* 已废弃
|
|
20879
|
+
* @deprecated
|
|
20858
20880
|
*/totalValue:childCount};let aggVal=0;// 如果下层同时也是分组
|
|
20859
|
-
if(childList.length&&childList[0].isAggregate){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(childList,row=>{if(row.isAggregate){const currAggData=row.aggData[field];if(currAggData){aggVal+=currAggData.value;}}});}else{aggVal=aggCalcMethod?aggCalcMethod(ctParams):aggRow.childCount;}aggDtObj[field]={type:'count',value:aggVal,label:aggVal};});aggRow.aggData=aggDtObj;});}}}};const updateGroupData=()=>{const{aggregateConfig,rowGroupConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullGroupData}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;if((aggregateConfig||rowGroupConfig)&&isRowGroupStatus){const aggList=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullGroupData,row=>{if(row.isAggregate){aggList.push(row);}},{children:mapChildrenField});handleeGroupSummary(aggList);}};const handleGroupData=(list,rowGroups,isCombinedField)=>{let fullData=list;let treeData=list;if(rowGroups){const aggregateOpts=computeAggregateOpts.value;const{rowField,parentField,separator,childrenField,mapChildrenField}=aggregateOpts;const rowOpts=computeRowOpts.value;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;const rgItem=rowGroups[0];if(rgItem&&rowField&&parentField&&childrenField&&mapChildrenField){fullData=[];treeData=[];const groupField=rgItem.field;const groupColumn=$xeTable.getColumnByField(groupField);const groupMaps={};const groupCombinedMaps={};const aggList=[];const rowkey=getRowkey($xeTable);list.forEach(row=>{const cellValue=groupColumn?$xeTable.getCellLabel(row,groupColumn):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,groupField);let groupValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(cellValue)?'':cellValue;if(isCombinedField){const groupVals=[groupValue];rowGroups.slice(1).forEach(ogItem=>{const ogField=ogItem.field;const ogColumn=$xeTable.getColumnByField(ogField);const ocValue=ogColumn?$xeTable.getCellLabel(row,ogColumn):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,ogField);const ogValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(ocValue)?'':ocValue;groupValue+=(separator||' / ')+ogValue;groupVals.push(ogValue);});if(!groupCombinedMaps[groupValue]){groupCombinedMaps[groupValue]=groupVals;}}let childList=groupMaps[groupValue];if(!childList){childList=[];groupMaps[groupValue]=childList;}if(row.isAggregate){row.isAggregate=undefined;}childList.push(row);});if(isCombinedField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().objectEach(groupMaps,(childList,groupValue)=>{const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupCombineds:groupCombinedMaps[groupValue],groupField,childCount:0,[rowField]:getRowUniqueId(),[parentField]:null,[childrenField]:childList,[mapChildrenField]:childList};aggRow[rowkey]=createRowId(rowOpts,aggRow,rowkey);if(checkField){aggRow[checkField]=false;}if(indeterminateField){aggRow[indeterminateField]=false;}aggList.push(aggRow);treeData.push(aggRow);fullData.push(aggRow);});}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().objectEach(groupMaps,(childList,groupValue)=>{const{fullData:childFullData,treeData:childTreeData}=handleGroupData(childList,rowGroups.slice(1));const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupCombineds:[],groupField,childCount:0,[rowField]:getRowUniqueId(),[parentField]:null,[childrenField]:childTreeData,[mapChildrenField]:childTreeData};aggRow[rowkey]=createRowId(rowOpts,aggRow,rowkey);if(checkField){aggRow[checkField]=false;}if(indeterminateField){aggRow[indeterminateField]=false;}aggList.push(aggRow);treeData.push(aggRow);fullData.push(aggRow);if(childFullData.length){fullData.push(...childFullData);}});}handleeGroupSummary(aggList);}}return{treeData,fullData};};const initGroupData=(list,rowGroups)=>{const aggregateOpts=computeAggregateOpts.value;const{mode}=aggregateOpts;const isCombinedField=mode==='combined';const groupRest=handleGroupData(list,rowGroups,isCombinedField);return groupRest;};const initData=()=>{const{data}=props;loadTableData(data||[],true,true).then(()=>{if(data&&data.length){internalData.inited=true;internalData.initStatus=true;handleLoadDefaults();}handleInitDefaults();updateStyle();if(!reactData.isAllOverflow){calcCellHeight();updateRowOffsetTop();}});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{dispatchEvent('ready',{},null);});};/**
|
|
20860
|
-
* 加载表格数据
|
|
20861
|
-
* @param {Array} datas 数据
|
|
20881
|
+
if(childList.length&&childList[0].isAggregate){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(childList,row=>{if(row.isAggregate){const currAggData=row.aggData[field];if(currAggData){aggVal+=currAggData.value;}}});}else{aggVal=aggCalcMethod?aggCalcMethod(ctParams):aggRow.childCount;}aggDtObj[field]={type:'count',value:aggVal,label:aggVal};});aggRow.aggData=aggDtObj;});}}}};const updateGroupData=()=>{const{aggregateConfig,rowGroupConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullGroupData}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;if((aggregateConfig||rowGroupConfig)&&isRowGroupStatus){const aggList=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullGroupData,row=>{if(row.isAggregate){aggList.push(row);}},{children:mapChildrenField});handleeGroupSummary(aggList);}};const handleGroupData=(list,rowGroups,isCombinedField)=>{let fullData=list;let treeData=list;if(rowGroups){const aggregateOpts=computeAggregateOpts.value;const{rowField,parentField,separator,childrenField,mapChildrenField}=aggregateOpts;const rowOpts=computeRowOpts.value;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;const rgItem=rowGroups[0];if(rgItem&&rowField&&parentField&&childrenField&&mapChildrenField){fullData=[];treeData=[];const groupField=rgItem.field;const groupColumn=$xeTable.getColumnByField(groupField);const groupMaps={};const groupCombinedMaps={};const aggList=[];const rowkey=getRowkey($xeTable);list.forEach(row=>{const cellValue=groupColumn?$xeTable.getCellLabel(row,groupColumn):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,groupField);let groupValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(cellValue)?'':cellValue;if(isCombinedField){const groupVals=[groupValue];rowGroups.slice(1).forEach(ogItem=>{const ogField=ogItem.field;const ogColumn=$xeTable.getColumnByField(ogField);const ocValue=ogColumn?$xeTable.getCellLabel(row,ogColumn):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,ogField);const ogValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(ocValue)?'':ocValue;groupValue+=(separator||' / ')+ogValue;groupVals.push(ogValue);});if(!groupCombinedMaps[groupValue]){groupCombinedMaps[groupValue]=groupVals;}}let childList=groupMaps[groupValue];if(!childList){childList=[];groupMaps[groupValue]=childList;}if(row.isAggregate){row.isAggregate=undefined;}childList.push(row);});if(isCombinedField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().objectEach(groupMaps,(childList,groupValue)=>{const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupCombineds:groupCombinedMaps[groupValue],groupField,childCount:0,[rowField]:getRowUniqueId(),[parentField]:null,[childrenField]:childList,[mapChildrenField]:childList};aggRow[rowkey]=createRowId(rowOpts,aggRow,rowkey);if(checkField){aggRow[checkField]=false;}if(indeterminateField){aggRow[indeterminateField]=false;}aggList.push(aggRow);treeData.push(aggRow);fullData.push(aggRow);});}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().objectEach(groupMaps,(childList,groupValue)=>{const{fullData:childFullData,treeData:childTreeData}=handleGroupData(childList,rowGroups.slice(1));const aggRow={isAggregate:true,aggData:{},groupContent:groupValue,groupCombineds:[],groupField,childCount:0,[rowField]:getRowUniqueId(),[parentField]:null,[childrenField]:childTreeData,[mapChildrenField]:childTreeData};aggRow[rowkey]=createRowId(rowOpts,aggRow,rowkey);if(checkField){aggRow[checkField]=false;}if(indeterminateField){aggRow[indeterminateField]=false;}aggList.push(aggRow);treeData.push(aggRow);fullData.push(aggRow);if(childFullData.length){fullData.push(...childFullData);}});}handleeGroupSummary(aggList);}}return{treeData,fullData};};const initGroupData=(list,rowGroups)=>{const aggregateOpts=computeAggregateOpts.value;const{mode}=aggregateOpts;const isCombinedField=mode==='combined';const groupRest=handleGroupData(list,rowGroups,isCombinedField);return groupRest;};const initData=()=>{const{data}=props;loadTableData(data||[],true,true).then(()=>{if(data&&data.length){internalData.inited=true;internalData.initStatus=true;handleLoadDefaults();}handleInitDefaults();updateStyle();if(!reactData.isAllOverflow){calcCellHeight();updateRowOffsetTop();}});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{dispatchEvent('ready',{},null);});};/**
|
|
20882
|
+
* 加载表格数据
|
|
20883
|
+
* @param {Array} datas 数据
|
|
20862
20884
|
*/const loadTableData=(datas,isReload,isReset)=>{const{keepSource,treeConfig,rowGroupConfig,aggregateConfig}=props;const{rowGroupList,scrollYLoad:oldScrollYLoad}=reactData;const{initStatus,scrollYStore,scrollXStore,lastScrollLeft,lastScrollTop}=internalData;const rowOpts=computeRowOpts.value;const treeOpts=computeTreeOpts.value;const expandOpts=computeExpandOpts.value;const{transform}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;let treeData=[];let fullData=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(datas?datas.slice(0):[]);// 转为响应式数据
|
|
20863
20885
|
if(fullData.length>supportMaxRow){table_errLog('vxe.error.errMaxRow',[supportMaxRow]);}if(treeConfig&&rowGroupList.length){table_errLog('vxe.error.noTree',['aggregate-config']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}if(rowOpts.drag&&rowGroupList.length){table_errLog('vxe.error.errConflicts',['row-config.drag','aggregate-config']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}let isRGroup=false;if(treeConfig){if(transform){// 树结构自动转换
|
|
20864
20886
|
if(!treeOpts.rowField){table_errLog('vxe.error.reqProp',['tree-config.rowField']);}if(!treeOpts.parentField){table_errLog('vxe.error.reqProp',['tree-config.parentField']);}if(!childrenField){table_errLog('vxe.error.reqProp',['tree-config.childrenField']);}if(!treeOpts.mapChildrenField){table_errLog('vxe.error.reqProp',['tree-config.mapChildrenField']);}if(childrenField===treeOpts.mapChildrenField){table_errLog('vxe.error.errConflicts',['tree-config.childrenField','tree-config.mapChildrenField']);}// fullData.forEach(row => {
|
|
@@ -20888,12 +20910,12 @@ if(!(props.height||props.maxHeight)){table_errLog('vxe.error.reqSupportProp',['v
|
|
|
20888
20910
|
}handleReserveStatus();$xeTable.checkSelectionStatus();$xeTable.dispatchEvent('data-change',{visibleColumn:internalData.visibleColumn,visibleData:internalData.afterFullData},null);return new Promise(resolve=>{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>handleRecalculateStyle(false,false,false)).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();}).then(()=>{let targetScrollLeft=lastScrollLeft;let targetScrollTop=lastScrollTop;const virtualXOpts=computeVirtualXOpts.value;const virtualYOpts=computeVirtualYOpts.value;// 是否在更新数据之后自动滚动重置滚动条
|
|
20889
20911
|
if(virtualXOpts.scrollToLeftOnChange){targetScrollLeft=0;}if(virtualYOpts.scrollToTopOnChange){targetScrollTop=0;}reactData.isRowLoading=false;handleRecalculateStyle(false,false,false);updateTreeLineStyle();syncGanttScrollYStatus();// 如果是自动行高,特殊情况需调用 recalculate 手动刷新
|
|
20890
20912
|
if(!props.showOverflow){setTimeout(()=>{handleLazyRecalculate(false,true,true);setTimeout(()=>handleLazyRecalculate(false,true,true),3000);},2000);}// 是否变更虚拟滚动
|
|
20891
|
-
if(oldScrollYLoad===sYLoad){restoreScrollLocation($xeTable,targetScrollLeft,targetScrollTop).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();updateTreeLineStyle();(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>resolve());});}else{setTimeout(()=>{restoreScrollLocation($xeTable,targetScrollLeft,targetScrollTop).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();updateTreeLineStyle();(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>resolve());});});}});}).then(()=>{if(initStatus){dispatchEvent('data-rendered',{isReload,visibleColumn:internalData.visibleColumn,visibleData:internalData.afterFullData},null);}else{dispatchEvent('init-rendered',{visibleColumn:internalData.visibleColumn,visibleData:internalData.afterFullData},null);}});});};/**
|
|
20892
|
-
* 处理数据加载默认行为
|
|
20893
|
-
* 默认执行一次,除非被重置
|
|
20894
|
-
*/const handleLoadDefaults=()=>{handleDefaultSelectionChecked();handleDefaultRadioChecked();handleDefaultRowExpand();handleDefaultTreeExpand();handleDefaultRowGroupExpand();handleDefaultMergeCells();handleDefaultMergeHeaderItems();handleDefaultMergeFooterItems();(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{setTimeout(()=>$xeTable.recalculate());});};/**
|
|
20895
|
-
* 处理初始化的默认行为
|
|
20896
|
-
* 只会执行一次
|
|
20913
|
+
if(oldScrollYLoad===sYLoad){restoreScrollLocation($xeTable,targetScrollLeft,targetScrollTop).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();updateTreeLineStyle();(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>resolve());});}else{setTimeout(()=>{restoreScrollLocation($xeTable,targetScrollLeft,targetScrollTop).then(()=>{handleRecalculateStyle(false,true,true);updateRowOffsetTop();updateTreeLineStyle();(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>resolve());});});}});}).then(()=>{if(initStatus){dispatchEvent('data-rendered',{isReload,visibleColumn:internalData.visibleColumn,visibleData:internalData.afterFullData},null);}else{dispatchEvent('init-rendered',{visibleColumn:internalData.visibleColumn,visibleData:internalData.afterFullData},null);}});});};/**
|
|
20914
|
+
* 处理数据加载默认行为
|
|
20915
|
+
* 默认执行一次,除非被重置
|
|
20916
|
+
*/const handleLoadDefaults=()=>{handleDefaultSelectionChecked();handleDefaultRadioChecked();handleDefaultRowExpand();handleDefaultTreeExpand();handleDefaultRowGroupExpand();handleDefaultMergeCells();handleDefaultMergeHeaderItems();handleDefaultMergeFooterItems();(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{setTimeout(()=>$xeTable.recalculate());});};/**
|
|
20917
|
+
* 处理初始化的默认行为
|
|
20918
|
+
* 只会执行一次
|
|
20897
20919
|
*/const handleInitDefaults=()=>{handleDefaultSort();};const handleTableColumn=()=>{const{scrollXLoad}=reactData;const{visibleColumn,scrollXStore,fullColumnIdData}=internalData;const tableColumn=scrollXLoad?visibleColumn.slice(scrollXStore.startIndex,scrollXStore.endIndex):visibleColumn.slice(0);tableColumn.forEach((column,$index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest.$index=$index;}});reactData.tableColumn=tableColumn;};const handleUpdateColumn=()=>{const columnList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(internalData.collectColumn,'renderSortNumber');internalData.collectColumn=columnList;const tFullColumn=getColumnList(columnList);internalData.tableFullColumn=tFullColumn;reactData.updateColFlag++;cacheColumnMap();};const loadScrollXData=()=>{const{isScrollXBig}=reactData;const{mergeBodyList,mergeFooterList,mergeBodyRowMaps,scrollXStore}=internalData;const{preloadSize,startIndex,endIndex,offsetSize}=scrollXStore;const{toVisibleIndex,visibleSize}=handleVirtualXVisible();const offsetItem={startIndex:Math.max(0,isScrollXBig?toVisibleIndex-1:toVisibleIndex-1-offsetSize-preloadSize),endIndex:isScrollXBig?toVisibleIndex+visibleSize:toVisibleIndex+visibleSize+offsetSize+preloadSize};scrollXStore.visibleStartIndex=toVisibleIndex-1;scrollXStore.visibleEndIndex=toVisibleIndex+visibleSize+1;calculateMergerOffsetIndex(mergeBodyList.concat(mergeFooterList),mergeBodyRowMaps,offsetItem,'col');const{startIndex:offsetStartIndex,endIndex:offsetEndIndex}=offsetItem;if(toVisibleIndex<=startIndex||toVisibleIndex>=endIndex-visibleSize-1){if(startIndex!==offsetStartIndex||endIndex!==offsetEndIndex){scrollXStore.startIndex=offsetStartIndex;scrollXStore.endIndex=offsetEndIndex;$xeTable.updateScrollXData();}}$xeTable.closeTooltip();};const parseColumns=isReset=>{// const { showOverflow } = props
|
|
20898
20920
|
// const rowOpts = computeRowOpts.value
|
|
20899
20921
|
const leftList=[];const centerList=[];const rightList=[];const{isGroup,columnStore}=reactData;const{collectColumn,tableFullColumn,scrollXStore,fullColumnIdData}=internalData;// 如果是分组表头,如果子列全部被隐藏,则根列也隐藏
|
|
@@ -20917,385 +20939,386 @@ if(props.spanMethod){table_warnLog('vxe.error.scrollErrProp',['span-method']);}i
|
|
|
20917
20939
|
// 如果列被设置为固定,则清除合并状态
|
|
20918
20940
|
if(visibleColumn.length!==internalData.visibleColumn.length||!internalData.visibleColumn.every((column,index)=>column===visibleColumn[index])){$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();}visibleColumn.forEach((column,index)=>{const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest._index=index;}});handleTableColumn();handleUpdateAggValues();if(isReset){updateColumnOffsetLeft();return $xeTable.updateFooter().then(()=>{return $xeTable.recalculate();}).then(()=>{$xeTable.updateCellAreas();return $xeTable.recalculate();});}return $xeTable.updateFooter();};const initColumnHierarchy=()=>{const{collectColumn}=internalData;const fullColIdData={};const fullColFieldData={};let sortIndex=1;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const{id:colid,field}=column;const parentId=parentColumn?parentColumn.id:null;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};column.parentId=parentId;column.defaultParentId=parentId;column.sortNumber=sortIndex;column.renderSortNumber=sortIndex;sortIndex++;if(field){if(fullColFieldData[field]){table_errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}fullColIdData[colid]=rest;});internalData.fullColumnIdData=fullColIdData;internalData.fullColumnFieldData=fullColFieldData;};const buildColumnInfo=()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;const expandOpts=computeExpandOpts.value;cacheColumnMap();parseColumns(true).then(()=>{if(reactData.scrollXLoad){loadScrollXData();}});$xeTable.clearHeaderFormatterCache();$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.handleAggregateSummaryData();if((scrollXLoad||scrollYLoad)&&expandColumn&&expandOpts.mode!=='fixed'){table_warnLog('vxe.error.scrollErrProp',['column.type=expand']);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{if($xeToolbar){$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}if($xeTable.handleUpdateCustomColumn){$xeTable.handleUpdateCustomColumn();}const columnOpts=computeColumnOpts.value;if(props.showCustomHeader&&reactData.isGroup&&(columnOpts.resizable||props.resizable)){table_warnLog('vxe.error.notConflictProp',['show-custom-header & colgroup','column-config.resizable=false']);}reactData.isColLoading=false;return handleLazyRecalculate(false,true,true);});};const handleInitColumn=collectColumn=>{internalData.collectColumn=collectColumn;const tFullColumn=getColumnList(collectColumn);internalData.tableFullColumn=tFullColumn;reactData.updateColFlag++;reactData.isColLoading=true;initColumnHierarchy();return Promise.resolve(restoreCustomStorage()).then(()=>{return buildColumnInfo();});};const updateScrollXStatus=fullColumn=>{const virtualXOpts=computeVirtualXOpts.value;const allCols=fullColumn||internalData.tableFullColumn;// 如果gt为0,则总是启用
|
|
20919
20941
|
const scrollXLoad=!!virtualXOpts.enabled&&virtualXOpts.gt>-1&&(virtualXOpts.gt===0||virtualXOpts.gt<allCols.length);reactData.scrollXLoad=scrollXLoad;return scrollXLoad;};const syncGanttScrollYStatus=()=>{const $xeGanttView=internalData.xeGanttView;if($xeGanttView&&$xeGanttView.handleUpdateSYStatus){$xeGanttView.handleUpdateSYStatus(reactData.scrollYLoad);}};const updateScrollYStatus=fullData=>{const{treeConfig}=props;const virtualYOpts=computeVirtualYOpts.value;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;const allList=fullData||internalData.tableFullData;// 如果gt为0,则总是启用
|
|
20920
|
-
let scrollYLoad=!!virtualYOpts.enabled&&virtualYOpts.gt>-1&&(virtualYOpts.gt===0||virtualYOpts.gt<allList.length);if(scrollYLoad&&treeConfig&&!transform){table_errLog('vxe.error.notSupportProp',['[table] virtual-y-config.enabled=true','tree-config.transform=false','tree-config.transform=true']);scrollYLoad=false;}reactData.scrollYLoad=scrollYLoad;syncGanttScrollYStatus();return scrollYLoad;};/**
|
|
20921
|
-
* 展开与收起树节点
|
|
20922
|
-
* @param rows
|
|
20923
|
-
* @param expanded
|
|
20924
|
-
* @returns
|
|
20942
|
+
let scrollYLoad=!!virtualYOpts.enabled&&virtualYOpts.gt>-1&&(virtualYOpts.gt===0||virtualYOpts.gt<allList.length);if(scrollYLoad&&treeConfig&&!transform){table_errLog('vxe.error.notSupportProp',['[table] virtual-y-config.enabled=true','tree-config.transform=false','tree-config.transform=true']);scrollYLoad=false;}reactData.scrollYLoad=scrollYLoad;syncGanttScrollYStatus();return scrollYLoad;};/**
|
|
20943
|
+
* 展开与收起树节点
|
|
20944
|
+
* @param rows
|
|
20945
|
+
* @param expanded
|
|
20946
|
+
* @returns
|
|
20925
20947
|
*/const handleBaseTreeExpand=(rows,expanded)=>{const{treeNodeColumn}=reactData;const{fullAllDataRowIdData,tableFullTreeData,treeExpandedMaps,treeExpandLazyLoadedMaps}=internalData;const treeOpts=computeTreeOpts.value;const{reserve,lazy,accordion,toggleMethod}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const result=[];const columnIndex=$xeTable.getColumnIndex(treeNodeColumn);const $columnIndex=$xeTable.getVMColumnIndex(treeNodeColumn);const{handleGetRowId}=createHandleGetRowId($xeTable);let validRows=toggleMethod?rows.filter(row=>toggleMethod({$table:$xeTable,expanded,column:treeNodeColumn,columnIndex,$columnIndex,row})):rows;if(accordion){validRows=validRows.length?[validRows[validRows.length-1]]:[];// 同一级只能展开一个
|
|
20926
20948
|
const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullTreeData,item=>item===validRows[0],{children:childrenField});if(matchObj){matchObj.items.forEach(item=>{const rowid=handleGetRowId(item);if(treeExpandedMaps[rowid]){delete treeExpandedMaps[rowid];}});}}if(expanded){validRows.forEach(row=>{const rowid=handleGetRowId(row);if(!treeExpandedMaps[rowid]){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const isLoad=lazy&&row[hasChildField]&&!rowRest.treeLoaded&&!treeExpandLazyLoadedMaps[rowid];// 是否使用懒加载
|
|
20927
|
-
if(isLoad){result.push(handleAsyncTreeExpandChilds(row));}else{if(row[childrenField]&&row[childrenField].length){treeExpandedMaps[rowid]=row;}}}}});}else{validRows.forEach(item=>{const rowid=handleGetRowId(item);if(treeExpandedMaps[rowid]){delete treeExpandedMaps[rowid];}});}if(reserve){validRows.forEach(row=>handleTreeExpandReserve(row,expanded));}reactData.treeExpandedFlag++;return Promise.all(result).then(()=>{updateTreeLineStyle();return $xeTable.recalculate();});};/**
|
|
20928
|
-
* 虚拟树的展开与收起
|
|
20929
|
-
* @param rows
|
|
20930
|
-
* @param expanded
|
|
20931
|
-
* @returns
|
|
20932
|
-
*/const handleVirtualTreeExpand=(rows,expanded)=>{const{lastScrollLeft,lastScrollTop}=internalData;return handleBaseTreeExpand(rows,expanded).then(()=>{handleVirtualTreeToList();$xeTable.handleTableData();reactData.treeExpandedFlag++;updateAfterDataIndex();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}).then(()=>{return handleRecalculateStyle(true,true,true);}).then(()=>{restoreScrollLocation($xeTable,lastScrollLeft,lastScrollTop);updateTreeLineStyle();setTimeout(()=>{$xeTable.updateCellAreas();},30);});};/**
|
|
20933
|
-
* 展开与收起行分组节点
|
|
20934
|
-
* @param rows
|
|
20935
|
-
* @param expanded
|
|
20936
|
-
* @returns
|
|
20949
|
+
if(isLoad){result.push(handleAsyncTreeExpandChilds(row));}else{if(row[childrenField]&&row[childrenField].length){treeExpandedMaps[rowid]=row;}}}}});}else{validRows.forEach(item=>{const rowid=handleGetRowId(item);if(treeExpandedMaps[rowid]){delete treeExpandedMaps[rowid];}});}if(reserve){validRows.forEach(row=>handleTreeExpandReserve(row,expanded));}reactData.treeExpandedFlag++;return Promise.all(result).then(()=>{updateTreeLineStyle();return $xeTable.recalculate();});};/**
|
|
20950
|
+
* 虚拟树的展开与收起
|
|
20951
|
+
* @param rows
|
|
20952
|
+
* @param expanded
|
|
20953
|
+
* @returns
|
|
20954
|
+
*/const handleVirtualTreeExpand=(rows,expanded)=>{const{lastScrollLeft,lastScrollTop}=internalData;return handleBaseTreeExpand(rows,expanded).then(()=>{handleVirtualTreeToList();$xeTable.handleTableData();reactData.treeExpandedFlag++;updateAfterDataIndex();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}).then(()=>{return handleRecalculateStyle(true,true,true);}).then(()=>{restoreScrollLocation($xeTable,lastScrollLeft,lastScrollTop);updateTreeLineStyle();setTimeout(()=>{$xeTable.updateCellAreas();},30);});};/**
|
|
20955
|
+
* 展开与收起行分组节点
|
|
20956
|
+
* @param rows
|
|
20957
|
+
* @param expanded
|
|
20958
|
+
* @returns
|
|
20937
20959
|
*/const handleRowGroupBaseExpand=(rows,expanded)=>{const{fullAllDataRowIdData,tableFullGroupData,rowGroupExpandedMaps}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField,accordion}=aggregateOpts;const{handleGetRowId}=createHandleGetRowId($xeTable);let validRows=rows;if(mapChildrenField){if(accordion){validRows=validRows.length?[validRows[validRows.length-1]]:[];// 同一级只能展开一个
|
|
20938
|
-
const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullGroupData,item=>getRowid($xeTable,item)===getRowid($xeTable,validRows[0]),{children:mapChildrenField});if(matchObj){matchObj.items.forEach(item=>{const rowid=handleGetRowId(item);if(rowGroupExpandedMaps[rowid]){delete rowGroupExpandedMaps[rowid];}});}}if(expanded){validRows.forEach(row=>{const rowid=handleGetRowId(row);if(!rowGroupExpandedMaps[rowid]){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){if(row[mapChildrenField]&&row[mapChildrenField].length){rowGroupExpandedMaps[rowid]=row;}}}});}else{validRows.forEach(item=>{const rowid=handleGetRowId(item);if(rowGroupExpandedMaps[rowid]){delete rowGroupExpandedMaps[rowid];}});}}reactData.rowGroupExpandedFlag++;return $xeTable.recalculate();};/**
|
|
20939
|
-
* 行分组的展开与收起
|
|
20940
|
-
* @param rows
|
|
20941
|
-
* @param expanded
|
|
20942
|
-
* @returns
|
|
20943
|
-
*/const handleRowGroupVirtualExpand=(rows,expanded)=>{return handleRowGroupBaseExpand(rows,expanded).then(()=>{handleVirtualTreeToList();$xeTable.handleTableData();reactData.rowGroupExpandedFlag++;updateAfterDataIndex();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}).then(()=>{return handleLazyRecalculate(true,true,true);}).then(()=>{setTimeout(()=>{$xeTable.updateCellAreas();},30);});};/**
|
|
20944
|
-
* 处理默认展开分组行
|
|
20945
|
-
*/const handleDefaultRowGroupExpand=()=>{const{isRowGroupStatus}=reactData;if(isRowGroupStatus){const aggregateOpts=computeAggregateOpts.value;const{expandAll,expandGroupFields}=aggregateOpts;if(expandAll){$xeTable.setAllRowGroupExpand(true);}else if(expandGroupFields&&expandGroupFields.length){$xeTable.setRowGroupExpandByField(expandGroupFields,true);}}};const handleCheckAllEvent=(evnt,value)=>{handleCheckedAllCheckboxRow(value);if(evnt){dispatchEvent('checkbox-all',{records:()=>$xeTable.getCheckboxRecords(),reserves:()=>$xeTable.getCheckboxReserveRecords(),indeterminates:()=>$xeTable.getCheckboxIndeterminateRecords(),checked:value},evnt);}};/**
|
|
20946
|
-
* 纵向 Y 可视渲染处理
|
|
20960
|
+
const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullGroupData,item=>getRowid($xeTable,item)===getRowid($xeTable,validRows[0]),{children:mapChildrenField});if(matchObj){matchObj.items.forEach(item=>{const rowid=handleGetRowId(item);if(rowGroupExpandedMaps[rowid]){delete rowGroupExpandedMaps[rowid];}});}}if(expanded){validRows.forEach(row=>{const rowid=handleGetRowId(row);if(!rowGroupExpandedMaps[rowid]){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){if(row[mapChildrenField]&&row[mapChildrenField].length){rowGroupExpandedMaps[rowid]=row;}}}});}else{validRows.forEach(item=>{const rowid=handleGetRowId(item);if(rowGroupExpandedMaps[rowid]){delete rowGroupExpandedMaps[rowid];}});}}reactData.rowGroupExpandedFlag++;return $xeTable.recalculate();};/**
|
|
20961
|
+
* 行分组的展开与收起
|
|
20962
|
+
* @param rows
|
|
20963
|
+
* @param expanded
|
|
20964
|
+
* @returns
|
|
20965
|
+
*/const handleRowGroupVirtualExpand=(rows,expanded)=>{return handleRowGroupBaseExpand(rows,expanded).then(()=>{handleVirtualTreeToList();$xeTable.handleTableData();reactData.rowGroupExpandedFlag++;updateAfterDataIndex();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}).then(()=>{return handleLazyRecalculate(true,true,true);}).then(()=>{setTimeout(()=>{$xeTable.updateCellAreas();},30);});};/**
|
|
20966
|
+
* 处理默认展开分组行
|
|
20967
|
+
*/const handleDefaultRowGroupExpand=()=>{const{isRowGroupStatus}=reactData;if(isRowGroupStatus){const aggregateOpts=computeAggregateOpts.value;const{expandAll,expandGroupFields}=aggregateOpts;if(expandAll){$xeTable.setAllRowGroupExpand(true);}else if(expandGroupFields&&expandGroupFields.length){$xeTable.setRowGroupExpandByField(expandGroupFields,true);}}};const handleCheckAllEvent=(evnt,value)=>{handleCheckedAllCheckboxRow(value);if(evnt){dispatchEvent('checkbox-all',{records:()=>$xeTable.getCheckboxRecords(),reserves:()=>$xeTable.getCheckboxReserveRecords(),indeterminates:()=>$xeTable.getCheckboxIndeterminateRecords(),checked:value},evnt);}};/**
|
|
20968
|
+
* 纵向 Y 可视渲染处理
|
|
20947
20969
|
*/const loadScrollYData=()=>{const{isAllOverflow,isScrollYBig}=reactData;const{mergeBodyList,mergeBodyColMaps,scrollYStore}=internalData;const{preloadSize,startIndex,endIndex,offsetSize}=scrollYStore;const autoOffsetYSize=isAllOverflow?offsetSize:offsetSize+1;const{toVisibleIndex,visibleSize}=handleVirtualYVisible();const offsetItem={startIndex:Math.max(0,isScrollYBig?toVisibleIndex-1:toVisibleIndex-1-offsetSize-preloadSize),endIndex:isScrollYBig?toVisibleIndex+visibleSize:toVisibleIndex+visibleSize+autoOffsetYSize+preloadSize};scrollYStore.visibleStartIndex=toVisibleIndex-1;scrollYStore.visibleEndIndex=toVisibleIndex+visibleSize+1;calculateMergerOffsetIndex(mergeBodyList,mergeBodyColMaps,offsetItem,'row');const{startIndex:offsetStartIndex,endIndex:offsetEndIndex}=offsetItem;if(toVisibleIndex<=startIndex||toVisibleIndex>=endIndex-visibleSize-1){if(startIndex!==offsetStartIndex||endIndex!==offsetEndIndex){scrollYStore.startIndex=offsetStartIndex;scrollYStore.endIndex=offsetEndIndex;$xeTable.updateScrollYData();}}};const createGetRowCacheProp=prop=>{return function(row){const{fullAllDataRowIdData}=internalData;if(row){const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return rowRest[prop];}}return-1;};};const createGetColumnCacheProp=prop=>{return function(column){const{fullColumnIdData}=internalData;if(column){const colRest=fullColumnIdData[column.id];if(colRest){return colRest[prop];}}return-1;};};const lazyScrollXData=()=>{const{lxTimeout,lxRunTime,scrollXStore}=internalData;const{visibleSize}=scrollXStore;const fpsTime=visibleSize>26?26:visibleSize>16?14:6;if(lxTimeout){clearTimeout(lxTimeout);}if(!lxRunTime||lxRunTime+fpsTime<Date.now()){internalData.lxRunTime=Date.now();loadScrollXData();}internalData.lxTimeout=setTimeout(()=>{internalData.lxTimeout=undefined;internalData.lxRunTime=undefined;loadScrollXData();},fpsTime);};const lazyScrollYData=()=>{const{lyTimeout,lyRunTime,scrollYStore}=internalData;const{visibleSize}=scrollYStore;const fpsTime=visibleSize>30?32:visibleSize>20?18:8;if(lyTimeout){clearTimeout(lyTimeout);}if(!lyRunTime||lyRunTime+fpsTime<Date.now()){internalData.lyRunTime=Date.now();loadScrollYData();}internalData.lyTimeout=setTimeout(()=>{internalData.lyTimeout=undefined;internalData.lyRunTime=undefined;loadScrollYData();},fpsTime);};const handleSyncScroll=(isRollX,isRollY)=>{const{scrollXLoad,scrollYLoad,isAllOverflow}=reactData;internalData.lcsRunTime=Date.now();internalData.lcsTimeout=undefined;internalData.intoRunScroll=false;internalData.inVirtualScroll=false;internalData.inWheelScroll=false;internalData.inHeaderScroll=false;internalData.inBodyScroll=false;internalData.inFooterScroll=false;reactData.lazScrollLoading=false;internalData.scrollRenderType='';let xRest=null;let yRest=null;if(!isAllOverflow){calcCellHeight();updateRowOffsetTop();}if(isRollX&&scrollXLoad){xRest=$xeTable.updateScrollXData();}if(isRollY&&scrollYLoad){yRest=$xeTable.updateScrollYData().then(()=>{if(!isAllOverflow){calcCellHeight();updateRowOffsetTop();}return $xeTable.updateScrollYSpace();});}updateRowExpandStyle();return Promise.all([xRest,yRest,scrollXLoad||scrollYLoad?$xeTable.updateCellAreas():null]);};const checkLastSyncScroll=(isRollX,isRollY)=>{const{lcsTimeout}=internalData;reactData.lazScrollLoading=true;if(lcsTimeout){clearTimeout(lcsTimeout);}internalData.lcsTimeout=setTimeout(()=>{handleSyncScroll(isRollX,isRollY).then(()=>{if(reactData.scrollXLoad||reactData.scrollYLoad){(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{updateRowExpandStyle();if(!internalData.lcsTimeout){handleSyncScroll(isRollX,isRollY);}});}});},240);};const getWheelSpeed=lastScrollTime=>{let multiple=1;const currTime=Date.now();if(lastScrollTime+25>currTime){multiple=1.18;}else if(lastScrollTime+30>currTime){multiple=1.15;}else if(lastScrollTime+40>currTime){multiple=1.12;}else if(lastScrollTime+55>currTime){multiple=1.09;}else if(lastScrollTime+75>currTime){multiple=1.06;}else if(lastScrollTime+100>currTime){multiple=1.03;}return multiple;};const syncGanttScrollTop=scrollTop=>{const $xeGanttView=internalData.xeGanttView;if($xeGanttView){const ganttInternalData=$xeGanttView.internalData;const{elemStore:ganttElemStore}=ganttInternalData;const ganttBodyScrollElem=getRefElem(ganttElemStore['main-body-scroll']);if(ganttBodyScrollElem){ganttBodyScrollElem.scrollTop=scrollTop;}}};const dispatchEvent=(type,params,evnt)=>{emit(type,createEvent(evnt,{$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt},params));};const handleScrollToRowColumn=(fieldOrColumn,row,options)=>{const{fullColumnIdData}=internalData;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column&&fullColumnIdData[column.id]){return colToVisible($xeTable,options?options.colAlign!==false:true,column,row);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};const handleUpdateResize=()=>{const el=refElem.value;if(el&&el.clientWidth&&el.clientHeight){$xeTable.recalculate();}};const handleUpdateColResize=(evnt,params)=>{$xeTable.analyColumnWidth();$xeTable.recalculate().then(()=>{$xeTable.saveCustomStore('update:width');$xeTable.refreshScroll().then(()=>{$xeTable.updateCellAreas();});$xeTable.dispatchEvent('column-resizable-change',params,evnt);// 已废弃 resizable-change
|
|
20948
20970
|
$xeTable.dispatchEvent('resizable-change',params,evnt);setTimeout(()=>{$xeTable.recalculate(true);},300);});};const handleUpdateRowResize=(evnt,params)=>{reactData.resizeHeightFlag++;$xeTable.recalculate().then(()=>{$xeTable.refreshScroll().then(()=>{$xeTable.updateCellAreas();});$xeTable.dispatchEvent('row-resizable-change',params,evnt);setTimeout(()=>{$xeTable.recalculate(true);},300);});};const updateColumnOffsetLeft=()=>{const{visibleColumn,fullColumnIdData}=internalData;const el=refElem.value;if(!el||!el.clientWidth){return;}let offsetLeft=0;for(let cIndex=0,rLen=visibleColumn.length;cIndex<rLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest.oLeft=offsetLeft;}offsetLeft+=column.renderWidth;}};const updateRowOffsetTop=()=>{const{expandColumn}=reactData;const{afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const el=refElem.value;if(!el||!el.clientWidth){return;}const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const{handleGetRowId}=createHandleGetRowId($xeTable);let offsetTop=0;for(let rIndex=0,rLen=afterFullData.length;rIndex<rLen;rIndex++){const row=afterFullData[rIndex];const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};rowRest.oTop=offsetTop;offsetTop+=rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;// 是否展开行
|
|
20949
|
-
if(expandColumn&&rowExpandedMaps[rowid]){offsetTop+=rowRest.expandHeight||expandOpts.height||0;}}};/**
|
|
20950
|
-
* 更新展开行样式
|
|
20951
|
-
*/const updateRowExpandStyle=()=>{const{expandColumn,scrollYLoad,scrollYTop,isScrollYBig}=reactData;const el=refElem.value;if(!el||!el.clientWidth){return;}const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const{mode}=expandOpts;if(expandColumn&&mode==='fixed'){const{elemStore,fullAllDataRowIdData}=internalData;const rowExpandEl=refRowExpandElem.value;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){let isUpdateHeight=false;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(rowExpandEl.children,reEl=>{const expandEl=reEl;const rowid=expandEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const expandHeight=expandEl.offsetHeight;const trEl=bodyScrollElem.querySelector(`.vxe-body--row[rowid="${rowid}"]`);let offsetTop=0;if(scrollYLoad){if(isScrollYBig&&trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}else{offsetTop=rowRest.oTop+(rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight);}}else{if(trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}}if(isScrollYBig){offsetTop+=scrollYTop;}expandEl.style.top=toCssUnit(offsetTop);if(!isUpdateHeight){if(rowRest.expandHeight!==expandHeight){isUpdateHeight=true;}}rowRest.expandHeight=expandHeight;}});if(isUpdateHeight){reactData.rowExpandHeightFlag++;(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{updateRowOffsetTop();});}}}};/**
|
|
20952
|
-
* 更新树连接线样式
|
|
20953
|
-
*/const updateTreeLineStyle=()=>{const{treeConfig}=props;if(!treeConfig){return;}const{tableData}=reactData;const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const el=refElem.value;if(!el||!el.clientWidth){return;}const cellOpts=computeCellOpts.value;const rowOpts=computeRowOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const treeOpts=computeTreeOpts.value;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const{handleGetRowId}=createHandleGetRowId($xeTable);const expParentList=[];const handleNodeRow=(row,rIndex,rows)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};const childList=row[transform?mapChildrenField:childrenField];const prevRow=rows[rIndex-1]||null;const nextRow=rows[rIndex+1]||null;if(childList&&childList.length&&treeExpandedMaps[rowid]){expParentList.push({row,prevRow,nextRow});childList.forEach((childRow,crIndex)=>{const childRowid=handleGetRowId(childRow);if(treeExpandedMaps[childRowid]){handleNodeRow(childRow,crIndex,childList);}});}else{if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=getCellRestHeight(nextRowRest,cellOpts,rowOpts,defaultRowHeight);rowRest.oHeight=currCellHeight;rowRest.lineHeight=Math.floor(currCellHeight/2+nextCellHeight/2);}else{rowRest.oHeight=0;rowRest.lineHeight=0;}}};tableData.forEach((row,rIndex)=>{handleNodeRow(row,rIndex,tableData);});external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastArrayEach(expParentList,({row,nextRow})=>{const rowid=handleGetRowId(row);const childList=row[transform?mapChildrenField:childrenField];const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);let countOffsetHeight=currCellHeight;let countLineHeight=0;childList.forEach(childRow=>{const childRowid=handleGetRowId(childRow);const childRowRest=fullAllDataRowIdData[childRowid]||{};const childList=childRow[transform?mapChildrenField:childrenField];if(treeExpandedMaps[childRowid]&&childList&&childList.length){countOffsetHeight+=childRowRest.oHeight||0;countLineHeight+=childRowRest.oHeight||0;}else{const cellHeight=getCellRestHeight(childRowRest,cellOpts,rowOpts,defaultRowHeight);childRowRest.oHeight=cellHeight;childRowRest.lineHeight=cellHeight;countOffsetHeight+=cellHeight;countLineHeight+=cellHeight;}});if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=getCellRestHeight(nextRowRest,cellOpts,rowOpts,defaultRowHeight);countOffsetHeight+=currCellHeight;countLineHeight+=Math.floor(currCellHeight/2+nextCellHeight/2);}rowRest.lineHeight=countLineHeight;rowRest.oHeight=countOffsetHeight;}});};const handleRowExpandScroll=()=>{const{elemStore}=internalData;const rowExpandEl=refRowExpandElem.value;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){rowExpandEl.scrollTop=bodyScrollElem.scrollTop;}};const handleColumnVisible=visible=>{return function(fieldOrColumn){let status=false;const cols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn)?fieldOrColumn:[fieldOrColumn];cols.forEach(item=>{const column=handleFieldOrColumn($xeTable,item);if(column){if(column.children&&column.children.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([column],item=>{item.visible=visible;item.renderVisible=visible;});}else{column.visible=visible;column.renderVisible=visible;}if(!status){status=true;}}});if(status){return $xeTable.handleCustom();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};};tableMethods={dispatchEvent,getEl(){return refElem.value;},/**
|
|
20954
|
-
* 重置表格的一切数据状态
|
|
20955
|
-
*/clearAll(){return clearTableAllStatus($xeTable);},/**
|
|
20956
|
-
* 同步 data 数据(即将废弃)
|
|
20957
|
-
* 如果用了该方法,那么组件将不再记录增删改的状态,只能自行实现对应逻辑
|
|
20958
|
-
* 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
|
|
20959
|
-
*/syncData(){table_errLog('vxe.error.delFunc',['syncData','getData']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{reactData.tableData=[];emit('update:data',internalData.tableFullData);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();});},/**
|
|
20960
|
-
* 手动处理数据,用于手动排序与筛选
|
|
20961
|
-
* 对于手动更改了排序、筛选...等条件后需要重新处理数据时可能会用到
|
|
20971
|
+
if(expandColumn&&rowExpandedMaps[rowid]){offsetTop+=rowRest.expandHeight||expandOpts.height||0;}}};/**
|
|
20972
|
+
* 更新展开行样式
|
|
20973
|
+
*/const updateRowExpandStyle=()=>{const{expandColumn,scrollYLoad,scrollYTop,isScrollYBig}=reactData;const el=refElem.value;if(!el||!el.clientWidth){return;}const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const{mode}=expandOpts;if(expandColumn&&mode==='fixed'){const{elemStore,fullAllDataRowIdData}=internalData;const rowExpandEl=refRowExpandElem.value;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){let isUpdateHeight=false;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(rowExpandEl.children,reEl=>{const expandEl=reEl;const rowid=expandEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const expandHeight=expandEl.offsetHeight;const trEl=bodyScrollElem.querySelector(`.vxe-body--row[rowid="${rowid}"]`);let offsetTop=0;if(scrollYLoad){if(isScrollYBig&&trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}else{offsetTop=rowRest.oTop+(rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight);}}else{if(trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}}if(isScrollYBig){offsetTop+=scrollYTop;}expandEl.style.top=toCssUnit(offsetTop);if(!isUpdateHeight){if(rowRest.expandHeight!==expandHeight){isUpdateHeight=true;}}rowRest.expandHeight=expandHeight;}});if(isUpdateHeight){reactData.rowExpandHeightFlag++;(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{updateRowOffsetTop();});}}}};/**
|
|
20974
|
+
* 更新树连接线样式
|
|
20975
|
+
*/const updateTreeLineStyle=()=>{const{treeConfig}=props;if(!treeConfig){return;}const{tableData}=reactData;const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const el=refElem.value;if(!el||!el.clientWidth){return;}const cellOpts=computeCellOpts.value;const rowOpts=computeRowOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const treeOpts=computeTreeOpts.value;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const{handleGetRowId}=createHandleGetRowId($xeTable);const expParentList=[];const handleNodeRow=(row,rIndex,rows)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};const childList=row[transform?mapChildrenField:childrenField];const prevRow=rows[rIndex-1]||null;const nextRow=rows[rIndex+1]||null;if(childList&&childList.length&&treeExpandedMaps[rowid]){expParentList.push({row,prevRow,nextRow});childList.forEach((childRow,crIndex)=>{const childRowid=handleGetRowId(childRow);if(treeExpandedMaps[childRowid]){handleNodeRow(childRow,crIndex,childList);}});}else{if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=getCellRestHeight(nextRowRest,cellOpts,rowOpts,defaultRowHeight);rowRest.oHeight=currCellHeight;rowRest.lineHeight=Math.floor(currCellHeight/2+nextCellHeight/2);}else{rowRest.oHeight=0;rowRest.lineHeight=0;}}};tableData.forEach((row,rIndex)=>{handleNodeRow(row,rIndex,tableData);});external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastArrayEach(expParentList,({row,nextRow})=>{const rowid=handleGetRowId(row);const childList=row[transform?mapChildrenField:childrenField];const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);let countOffsetHeight=currCellHeight;let countLineHeight=0;childList.forEach(childRow=>{const childRowid=handleGetRowId(childRow);const childRowRest=fullAllDataRowIdData[childRowid]||{};const childList=childRow[transform?mapChildrenField:childrenField];if(treeExpandedMaps[childRowid]&&childList&&childList.length){countOffsetHeight+=childRowRest.oHeight||0;countLineHeight+=childRowRest.oHeight||0;}else{const cellHeight=getCellRestHeight(childRowRest,cellOpts,rowOpts,defaultRowHeight);childRowRest.oHeight=cellHeight;childRowRest.lineHeight=cellHeight;countOffsetHeight+=cellHeight;countLineHeight+=cellHeight;}});if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=getCellRestHeight(nextRowRest,cellOpts,rowOpts,defaultRowHeight);countOffsetHeight+=currCellHeight;countLineHeight+=Math.floor(currCellHeight/2+nextCellHeight/2);}rowRest.lineHeight=countLineHeight;rowRest.oHeight=countOffsetHeight;}});};const handleRowExpandScroll=()=>{const{elemStore}=internalData;const rowExpandEl=refRowExpandElem.value;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){rowExpandEl.scrollTop=bodyScrollElem.scrollTop;}};const handleColumnVisible=visible=>{return function(fieldOrColumn){let status=false;const cols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn)?fieldOrColumn:[fieldOrColumn];cols.forEach(item=>{const column=handleFieldOrColumn($xeTable,item);if(column){if(column.children&&column.children.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([column],item=>{item.visible=visible;item.renderVisible=visible;});}else{column.visible=visible;column.renderVisible=visible;}if(!status){status=true;}}});if(status){return $xeTable.handleCustom();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};};tableMethods={dispatchEvent,getEl(){return refElem.value;},/**
|
|
20976
|
+
* 重置表格的一切数据状态
|
|
20977
|
+
*/clearAll(){return clearTableAllStatus($xeTable);},/**
|
|
20978
|
+
* 同步 data 数据(即将废弃)
|
|
20979
|
+
* 如果用了该方法,那么组件将不再记录增删改的状态,只能自行实现对应逻辑
|
|
20980
|
+
* 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
|
|
20981
|
+
*/syncData(){table_errLog('vxe.error.delFunc',['syncData','getData']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{reactData.tableData=[];emit('update:data',internalData.tableFullData);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();});},/**
|
|
20982
|
+
* 手动处理数据,用于手动排序与筛选
|
|
20983
|
+
* 对于手动更改了排序、筛选...等条件后需要重新处理数据时可能会用到
|
|
20962
20984
|
*/updateData(){const{scrollXLoad,scrollYLoad}=reactData;return $xeTable.handleTableData(true).then(()=>{$xeTable.updateFooter();if(scrollXLoad||scrollYLoad){if(scrollXLoad){$xeTable.updateScrollXSpace();}if(scrollYLoad){$xeTable.updateScrollYSpace();}return $xeTable.refreshScroll();}}).then(()=>{$xeTable.updateCellAreas();return handleLazyRecalculate(true,true,true);}).then(()=>{// 存在滚动行为未结束情况
|
|
20963
|
-
setTimeout(()=>handleLazyRecalculate(false,true,true),50);});},/**
|
|
20964
|
-
* 重新加载数据,不会清空表格状态
|
|
20965
|
-
* @param {Array} datas 数据
|
|
20966
|
-
*/loadData(datas){const{initStatus}=internalData;return loadTableData(datas,false,false).then(()=>{internalData.inited=true;internalData.initStatus=true;if(!initStatus){handleLoadDefaults();}return handleLazyRecalculate(false,true,true);});},/**
|
|
20967
|
-
* 重新加载数据,会清空表格状态
|
|
20968
|
-
* @param {Array} datas 数据
|
|
20969
|
-
*/reloadData(datas){return $xeTable.clearAll().then(()=>{internalData.inited=true;internalData.initStatus=true;return loadTableData(datas,true,true);}).then(()=>{handleLoadDefaults();return handleLazyRecalculate(false,true,true);});},/**
|
|
20970
|
-
* 修改行数据
|
|
20971
|
-
*/setRow(rows,record){if(rows&&record){let rest=rows;if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rest=[rows];}const rowkey=getRowkey($xeTable);rest.forEach(row=>{const rowid=getRowid($xeTable,row);const newRecord=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(Object.assign({},record),true);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(newRecord,rowkey,rowid);Object.assign(row,newRecord);});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
20972
|
-
* 局部加载行数据并恢复到初始状态
|
|
20973
|
-
* 对于行数据需要局部更改的场景中可能会用到
|
|
20974
|
-
* @param {Row} row 行对象
|
|
20975
|
-
* @param {Object} record 新数据
|
|
20976
|
-
* @param {String} field 字段名
|
|
20977
|
-
*/reloadRow(row,record,field){const{keepSource}=props;const{tableData}=reactData;const{sourceDataRowIdData}=internalData;if(keepSource){if($xeTable.isAggregateRecord(row)){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}const rowkey=getRowkey($xeTable);const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,rowkey);const oRow=sourceDataRowIdData[rowid];if(oRow&&row){if(field){const newValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record||row,field),true);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,field,newValue);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(oRow,field,newValue);}else{const newRecord=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(Object.assign({},record),true);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(newRecord,rowkey,rowid);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().destructuring(oRow,Object.assign(row,newRecord));}}reactData.tableData=tableData.slice(0);}else{table_errLog('vxe.error.reqProp',['keep-source']);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},getParams(){return props.params;},/**
|
|
20978
|
-
* 用于树结构,给行数据加载子节点
|
|
20979
|
-
*/loadTreeChildren(row,childRecords){const{keepSource}=props;const{tableSourceData,fullDataRowIdData,fullAllDataRowIdData,sourceDataRowIdData}=internalData;const treeOpts=computeTreeOpts.value;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const parentRest=fullAllDataRowIdData[getRowid($xeTable,row)];const parentLevel=parentRest?parentRest.level:0;return $xeTable.createData(childRecords).then(rows=>{if(keepSource){const rowid=getRowid($xeTable,row);const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableSourceData,item=>rowid===getRowid($xeTable,item),{children:childrenField});if(matchObj){matchObj.item[childrenField]=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(rows,true);}rows.forEach(childRow=>{const rowid=getRowid($xeTable,childRow);sourceDataRowIdData[rowid]=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(childRow,true);});}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(rows,(childRow,index,items,path,parentItem,nodes)=>{const rowid=getRowid($xeTable,childRow);const parentRow=parentItem||parentRest.row;const rest={row:childRow,rowid,_seq:-1,seq:-1,index,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items,parent:parentRow,level:parentLevel+nodes.length,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdData[rowid]=rest;fullAllDataRowIdData[rowid]=rest;},{children:childrenField});row[childrenField]=rows;if(transform){row[mapChildrenField]=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(rows,false);}updateAfterDataIndex();return rows;});},/**
|
|
20980
|
-
* 加载列配置
|
|
20981
|
-
* 对于表格列需要重载、局部递增场景下可能会用到
|
|
20982
|
-
* @param {ColumnInfo} columns 列配置
|
|
20985
|
+
setTimeout(()=>handleLazyRecalculate(false,true,true),50);});},/**
|
|
20986
|
+
* 重新加载数据,不会清空表格状态
|
|
20987
|
+
* @param {Array} datas 数据
|
|
20988
|
+
*/loadData(datas){const{initStatus}=internalData;return loadTableData(datas,false,false).then(()=>{internalData.inited=true;internalData.initStatus=true;if(!initStatus){handleLoadDefaults();}return handleLazyRecalculate(false,true,true);});},/**
|
|
20989
|
+
* 重新加载数据,会清空表格状态
|
|
20990
|
+
* @param {Array} datas 数据
|
|
20991
|
+
*/reloadData(datas){return $xeTable.clearAll().then(()=>{internalData.inited=true;internalData.initStatus=true;return loadTableData(datas,true,true);}).then(()=>{handleLoadDefaults();return handleLazyRecalculate(false,true,true);});},/**
|
|
20992
|
+
* 修改行数据
|
|
20993
|
+
*/setRow(rows,record){if(rows&&record){let rest=rows;if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rest=[rows];}const rowkey=getRowkey($xeTable);rest.forEach(row=>{const rowid=getRowid($xeTable,row);const newRecord=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(Object.assign({},record),true);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(newRecord,rowkey,rowid);Object.assign(row,newRecord);});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
20994
|
+
* 局部加载行数据并恢复到初始状态
|
|
20995
|
+
* 对于行数据需要局部更改的场景中可能会用到
|
|
20996
|
+
* @param {Row} row 行对象
|
|
20997
|
+
* @param {Object} record 新数据
|
|
20998
|
+
* @param {String} field 字段名
|
|
20999
|
+
*/reloadRow(row,record,field){const{keepSource}=props;const{tableData}=reactData;const{sourceDataRowIdData}=internalData;if(keepSource){if($xeTable.isAggregateRecord(row)){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}const rowkey=getRowkey($xeTable);const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,rowkey);const oRow=sourceDataRowIdData[rowid];if(oRow&&row){if(field){const newValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record||row,field),true);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,field,newValue);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(oRow,field,newValue);}else{const newRecord=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(Object.assign({},record),true);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(newRecord,rowkey,rowid);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().destructuring(oRow,Object.assign(row,newRecord));}}reactData.tableData=tableData.slice(0);}else{table_errLog('vxe.error.reqProp',['keep-source']);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},getParams(){return props.params;},/**
|
|
21000
|
+
* 用于树结构,给行数据加载子节点
|
|
21001
|
+
*/loadTreeChildren(row,childRecords){const{keepSource}=props;const{tableSourceData,fullDataRowIdData,fullAllDataRowIdData,sourceDataRowIdData}=internalData;const treeOpts=computeTreeOpts.value;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const parentRest=fullAllDataRowIdData[getRowid($xeTable,row)];const parentLevel=parentRest?parentRest.level:0;return $xeTable.createData(childRecords).then(rows=>{if(keepSource){const rowid=getRowid($xeTable,row);const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableSourceData,item=>rowid===getRowid($xeTable,item),{children:childrenField});if(matchObj){matchObj.item[childrenField]=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(rows,true);}rows.forEach(childRow=>{const rowid=getRowid($xeTable,childRow);sourceDataRowIdData[rowid]=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(childRow,true);});}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(rows,(childRow,index,items,path,parentItem,nodes)=>{const rowid=getRowid($xeTable,childRow);const parentRow=parentItem||parentRest.row;const rest={row:childRow,rowid,_seq:-1,seq:-1,index,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items,parent:parentRow,level:parentLevel+nodes.length,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdData[rowid]=rest;fullAllDataRowIdData[rowid]=rest;},{children:childrenField});row[childrenField]=rows;if(transform){row[mapChildrenField]=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(rows,false);}updateAfterDataIndex();return rows;});},/**
|
|
21002
|
+
* 加载列配置
|
|
21003
|
+
* 对于表格列需要重载、局部递增场景下可能会用到
|
|
21004
|
+
* @param {ColumnInfo} columns 列配置
|
|
20983
21005
|
*/loadColumn(columns){const{lastScrollLeft,lastScrollTop}=internalData;const collectColumn=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().mapTree(columns,column=>(0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(cell.createColumn($xeTable,column)));return handleInitColumn(collectColumn).then(()=>{let targetScrollLeft=lastScrollLeft;let targetScrollTop=lastScrollTop;const virtualXOpts=computeVirtualXOpts.value;const virtualYOpts=computeVirtualYOpts.value;// 是否在更新数据之后自动滚动重置滚动条
|
|
20984
|
-
if(virtualXOpts.scrollToLeftOnChange){targetScrollLeft=0;}if(virtualYOpts.scrollToTopOnChange){targetScrollTop=0;}restoreScrollLocation($xeTable,targetScrollLeft,targetScrollTop);});},/**
|
|
20985
|
-
* 加载列配置并恢复到初始状态
|
|
20986
|
-
* 对于表格列需要重载、局部递增场景下可能会用到
|
|
20987
|
-
* @param {ColumnInfo} columns 列配置
|
|
20988
|
-
*/reloadColumn(columns){return $xeTable.clearAll().then(()=>{return $xeTable.loadColumn(columns);});},/**
|
|
20989
|
-
* 根据 tr 元素获取对应的 row 信息
|
|
20990
|
-
* @param {Element} tr 元素
|
|
20991
|
-
*/getRowNode(tr){if(tr){const{fullAllDataRowIdData}=internalData;const rowid=tr.getAttribute('rowid');if(rowid){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return{rowid:rowRest.rowid,item:rowRest.row,index:rowRest.index,items:rowRest.items,parent:rowRest.parent};}}}return null;},/**
|
|
20992
|
-
* 根据 th/td 元素获取对应的 column 信息
|
|
20993
|
-
* @param {Element} cell 元素
|
|
20994
|
-
*/getColumnNode(cell){if(cell){const{fullColumnIdData}=internalData;const colid=cell.getAttribute('colid');if(colid){const colRest=fullColumnIdData[colid];if(colRest){return{colid:colRest.colid,item:colRest.column,index:colRest.index,items:colRest.items,parent:colRest.parent};}}}return null;},/**
|
|
20995
|
-
* 根据 row 获取序号
|
|
20996
|
-
* @param {Row} row 行对象
|
|
20997
|
-
*/getRowSeq:createGetRowCacheProp('seq'),/**
|
|
20998
|
-
* 根据 row 获取相对于 data 中的索引
|
|
20999
|
-
* @param {Row} row 行对象
|
|
21000
|
-
*/getRowIndex:createGetRowCacheProp('index'),/**
|
|
21001
|
-
* 根据 row 获取相对于当前数据中的索引
|
|
21002
|
-
* @param {Row} row 行对象
|
|
21003
|
-
*/getVTRowIndex:createGetRowCacheProp('_index'),/**
|
|
21004
|
-
* 根据 row 获取渲染中的虚拟索引
|
|
21005
|
-
* @param {Row} row 行对象
|
|
21006
|
-
*/getVMRowIndex:createGetRowCacheProp('$index'),/**
|
|
21007
|
-
* 根据 column 获取相对于 columns 中的索引
|
|
21008
|
-
* @param {ColumnInfo} column 列配置
|
|
21009
|
-
*/getColumnIndex:createGetColumnCacheProp('index'),/**
|
|
21010
|
-
* 根据 column 获取相对于当前表格列中的索引
|
|
21011
|
-
* @param {ColumnInfo} column 列配置
|
|
21012
|
-
*/getVTColumnIndex:createGetColumnCacheProp('_index'),/**
|
|
21013
|
-
* 根据 column 获取渲染中的虚拟索引
|
|
21014
|
-
* @param {ColumnInfo} column 列配置
|
|
21015
|
-
*/getVMColumnIndex:createGetColumnCacheProp('$index'),/**
|
|
21016
|
-
* 创建 data 对象
|
|
21017
|
-
* 对于某些特殊场景可能会用到,会自动对数据的字段名进行检测,如果不存在就自动定义
|
|
21018
|
-
* @param {Array} records 新数据
|
|
21019
|
-
*/createData(records){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)($xeTable.defineField(records));});},/**
|
|
21020
|
-
* 创建 Row|Rows 对象
|
|
21021
|
-
* 对于某些特殊场景需要对数据进行手动插入时可能会用到
|
|
21022
|
-
* @param {Array/Object} records 新数据
|
|
21023
|
-
*/createRow(records){const isArr=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(records);if(!isArr){records=[records||{}];}return $xeTable.createData(records).then(rows=>isArr?rows:rows[0]);},/**
|
|
21024
|
-
* 还原数据
|
|
21025
|
-
* 如果不传任何参数,则还原整个表格
|
|
21026
|
-
* 如果传 row 则还原一行
|
|
21027
|
-
* 如果传 rows 则还原多行
|
|
21028
|
-
* 如果还额外传了 field 则还原指定的单元格数据
|
|
21029
|
-
*/revertData(rows,field){const{keepSource,treeConfig}=props;const{fullAllDataRowIdData,fullDataRowIdData,tableSourceData,sourceDataRowIdData,tableFullData,afterFullData,removeRowMaps}=internalData;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;const{handleGetRowId}=createHandleGetRowId($xeTable);if(!keepSource){table_errLog('vxe.error.reqProp',['keep-source']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}let targetRows=rows;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){targetRows=[rows];}}else{targetRows=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArray($xeTable.getUpdateRecords());}let reDelFlag=false;if(targetRows.length){targetRows.forEach(item=>{const rowid=handleGetRowId(item);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const row=rowRest.row;if(!$xeTable.isInsertByRow(row)){const oRow=sourceDataRowIdData[rowid];if(oRow&&row){if(field){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,field,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(oRow,field),true));}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().destructuring(row,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(oRow,true));}if(!fullDataRowIdData[rowid]&&$xeTable.isRemoveByRow(row)){if(removeRowMaps[rowid]){delete removeRowMaps[rowid];}tableFullData.unshift(row);afterFullData.unshift(row);reDelFlag=true;}}}}});}if(rows){if(reDelFlag){reactData.removeRowFlag++;$xeTable.updateFooter();$xeTable.cacheRowMap(false);$xeTable.handleTableData(treeConfig&&transform);if(!(treeConfig&&transform)){$xeTable.updateAfterDataIndex();}$xeTable.checkSelectionStatus();if(reactData.scrollYLoad){$xeTable.updateScrollYSpace();}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{$xeTable.updateCellAreas();return handleLazyRecalculate(false,true,true);});}return $xeTable.reloadData(tableSourceData);},/**
|
|
21030
|
-
* 清空单元格内容
|
|
21031
|
-
* 如果不创参数,则清空整个表格内容
|
|
21032
|
-
* 如果传 row 则清空一行内容
|
|
21033
|
-
* 如果传 rows 则清空多行内容
|
|
21034
|
-
* 如果还额外传了 field 则清空指定单元格内容
|
|
21035
|
-
* @param {Array/Row} rows 行数据
|
|
21036
|
-
* @param {String} field 字段名
|
|
21006
|
+
if(virtualXOpts.scrollToLeftOnChange){targetScrollLeft=0;}if(virtualYOpts.scrollToTopOnChange){targetScrollTop=0;}restoreScrollLocation($xeTable,targetScrollLeft,targetScrollTop);});},/**
|
|
21007
|
+
* 加载列配置并恢复到初始状态
|
|
21008
|
+
* 对于表格列需要重载、局部递增场景下可能会用到
|
|
21009
|
+
* @param {ColumnInfo} columns 列配置
|
|
21010
|
+
*/reloadColumn(columns){return $xeTable.clearAll().then(()=>{return $xeTable.loadColumn(columns);});},/**
|
|
21011
|
+
* 根据 tr 元素获取对应的 row 信息
|
|
21012
|
+
* @param {Element} tr 元素
|
|
21013
|
+
*/getRowNode(tr){if(tr){const{fullAllDataRowIdData}=internalData;const rowid=tr.getAttribute('rowid');if(rowid){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return{rowid:rowRest.rowid,item:rowRest.row,index:rowRest.index,items:rowRest.items,parent:rowRest.parent};}}}return null;},/**
|
|
21014
|
+
* 根据 th/td 元素获取对应的 column 信息
|
|
21015
|
+
* @param {Element} cell 元素
|
|
21016
|
+
*/getColumnNode(cell){if(cell){const{fullColumnIdData}=internalData;const colid=cell.getAttribute('colid');if(colid){const colRest=fullColumnIdData[colid];if(colRest){return{colid:colRest.colid,item:colRest.column,index:colRest.index,items:colRest.items,parent:colRest.parent};}}}return null;},/**
|
|
21017
|
+
* 根据 row 获取序号
|
|
21018
|
+
* @param {Row} row 行对象
|
|
21019
|
+
*/getRowSeq:createGetRowCacheProp('seq'),/**
|
|
21020
|
+
* 根据 row 获取相对于 data 中的索引
|
|
21021
|
+
* @param {Row} row 行对象
|
|
21022
|
+
*/getRowIndex:createGetRowCacheProp('index'),/**
|
|
21023
|
+
* 根据 row 获取相对于当前数据中的索引
|
|
21024
|
+
* @param {Row} row 行对象
|
|
21025
|
+
*/getVTRowIndex:createGetRowCacheProp('_index'),/**
|
|
21026
|
+
* 根据 row 获取渲染中的虚拟索引
|
|
21027
|
+
* @param {Row} row 行对象
|
|
21028
|
+
*/getVMRowIndex:createGetRowCacheProp('$index'),/**
|
|
21029
|
+
* 根据 column 获取相对于 columns 中的索引
|
|
21030
|
+
* @param {ColumnInfo} column 列配置
|
|
21031
|
+
*/getColumnIndex:createGetColumnCacheProp('index'),/**
|
|
21032
|
+
* 根据 column 获取相对于当前表格列中的索引
|
|
21033
|
+
* @param {ColumnInfo} column 列配置
|
|
21034
|
+
*/getVTColumnIndex:createGetColumnCacheProp('_index'),/**
|
|
21035
|
+
* 根据 column 获取渲染中的虚拟索引
|
|
21036
|
+
* @param {ColumnInfo} column 列配置
|
|
21037
|
+
*/getVMColumnIndex:createGetColumnCacheProp('$index'),/**
|
|
21038
|
+
* 创建 data 对象
|
|
21039
|
+
* 对于某些特殊场景可能会用到,会自动对数据的字段名进行检测,如果不存在就自动定义
|
|
21040
|
+
* @param {Array} records 新数据
|
|
21041
|
+
*/createData(records){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)($xeTable.defineField(records));});},/**
|
|
21042
|
+
* 创建 Row|Rows 对象
|
|
21043
|
+
* 对于某些特殊场景需要对数据进行手动插入时可能会用到
|
|
21044
|
+
* @param {Array/Object} records 新数据
|
|
21045
|
+
*/createRow(records){const isArr=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(records);if(!isArr){records=[records||{}];}return $xeTable.createData(records).then(rows=>isArr?rows:rows[0]);},/**
|
|
21046
|
+
* 还原数据
|
|
21047
|
+
* 如果不传任何参数,则还原整个表格
|
|
21048
|
+
* 如果传 row 则还原一行
|
|
21049
|
+
* 如果传 rows 则还原多行
|
|
21050
|
+
* 如果还额外传了 field 则还原指定的单元格数据
|
|
21051
|
+
*/revertData(rows,field){const{keepSource,treeConfig}=props;const{fullAllDataRowIdData,fullDataRowIdData,tableSourceData,sourceDataRowIdData,tableFullData,afterFullData,removeRowMaps}=internalData;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;const{handleGetRowId}=createHandleGetRowId($xeTable);if(!keepSource){table_errLog('vxe.error.reqProp',['keep-source']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}let targetRows=rows;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){targetRows=[rows];}}else{targetRows=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArray($xeTable.getUpdateRecords());}let reDelFlag=false;if(targetRows.length){targetRows.forEach(item=>{const rowid=handleGetRowId(item);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const row=rowRest.row;if(!$xeTable.isInsertByRow(row)){const oRow=sourceDataRowIdData[rowid];if(oRow&&row){if(field){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,field,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(oRow,field),true));}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().destructuring(row,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(oRow,true));}if(!fullDataRowIdData[rowid]&&$xeTable.isRemoveByRow(row)){if(removeRowMaps[rowid]){delete removeRowMaps[rowid];}tableFullData.unshift(row);afterFullData.unshift(row);reDelFlag=true;}}}}});}if(rows){if(reDelFlag){reactData.removeRowFlag++;$xeTable.updateFooter();$xeTable.cacheRowMap(false);$xeTable.handleTableData(treeConfig&&transform);if(!(treeConfig&&transform)){$xeTable.updateAfterDataIndex();}$xeTable.checkSelectionStatus();if(reactData.scrollYLoad){$xeTable.updateScrollYSpace();}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{$xeTable.updateCellAreas();return handleLazyRecalculate(false,true,true);});}return $xeTable.reloadData(tableSourceData);},/**
|
|
21052
|
+
* 清空单元格内容
|
|
21053
|
+
* 如果不创参数,则清空整个表格内容
|
|
21054
|
+
* 如果传 row 则清空一行内容
|
|
21055
|
+
* 如果传 rows 则清空多行内容
|
|
21056
|
+
* 如果还额外传了 field 则清空指定单元格内容
|
|
21057
|
+
* @param {Array/Row} rows 行数据
|
|
21058
|
+
* @param {String} field 字段名
|
|
21037
21059
|
*/clearData(rows,field){const{tableFullData,visibleColumn}=internalData;if(!arguments.length){rows=tableFullData;}else if(rows&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}if(field){rows.forEach(row=>external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row,field,null));}else{rows.forEach(row=>{visibleColumn.forEach(column=>{if(column.field){setCellValue(row,column,null);}});});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},effectCellData(row,column,options){const{fullCellStoreMaps}=internalData;const editOpts=computeEditOpts.value;const{key,isChanged,setValue,getResult}=options;const rowid=getRowid($xeTable,row);const colid=column.id;let rowStore=fullCellStoreMaps[rowid];const cellValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,column.field);const restParams={$table:$xeTable,row,rowid,column,colid,cellValue,oldValue:null};if(editOpts.cache===false&&key==='render_table_cell'){const rest=restParams;rest.cellResult=getResult?getResult(restParams):cellValue;return rest;}if(!rowStore){rowStore={};fullCellStoreMaps[rowid]=rowStore;}let cellStore=rowStore[colid];if(!cellStore){cellStore={value:undefined,result:{}};rowStore[colid]=cellStore;}const restData=rowStore[colid];const oldValue=restData.value;restParams.oldValue=oldValue;if(isChanged?!isChanged(restParams):oldValue!==cellValue){restData.value=setValue?setValue(restParams):cellValue;restData.result={};}const storeData=restData.result;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(storeData[key])){storeData[key]=getResult?getResult(restParams):cellValue;}const cellResult=storeData[key];const rest=restParams;rest.cellResult=cellResult;return rest;},getCellElement(row,fieldOrColumn){const{elemStore}=internalData;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const rowid=getRowid($xeTable,row);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);let bodyElem;if(column){if(column.fixed){if(column.fixed==='left'){if(leftScrollElem){bodyElem=leftScrollElem;}}else{if(rightScrollElem){bodyElem=rightScrollElem;}}}if(!bodyElem){bodyElem=bodyScrollElem;}if(bodyElem){return bodyElem.querySelector(`.vxe-body--row[rowid="${rowid}"] .${column.id}`);}}return null;},getCellLabel(row,fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{editConfig}=props;const{formatter,editRender,cellRender}=column;// formatter > tableCellFormatter
|
|
21038
21060
|
const renderOpts=formatter?null:editConfig&&isEnableConf(editRender)?editRender:isEnableConf(cellRender)?cellRender:null;const compConf=renderOpts?table_renderer.get(renderOpts.name):null;const tcFormatter=compConf?compConf.tableCellFormatter:null;const cellValue=getCellValue(row,column);let cellLabel=cellValue;if(formatter||tcFormatter){let formatData;const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);const colid=column.id;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){formatData=rowRest.formatData;if(!formatData){formatData=fullAllDataRowIdData[rowid].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===cellValue){return formatData[colid].label;}}}const formatParams={$table:$xeTable,cellValue,row,rowIndex:$xeTable.getRowIndex(row),column,columnIndex:$xeTable.getColumnIndex(column)};if(formatter){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(formatter)){const gFormatOpts=table_formats.get(formatter);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(formatter)){const gFormatOpts=table_formats.get(formatter[0]);const tcFormatMethod=gFormatOpts?gFormatOpts.tableCellFormatMethod||gFormatOpts.cellFormatMethod:null;cellLabel=tcFormatMethod?tcFormatMethod(formatParams,...formatter.slice(1)):'';}else{cellLabel=formatter(formatParams);}}else if(renderOpts&&tcFormatter){cellLabel=tcFormatter(renderOpts,formatParams);}if(formatData){formatData[colid]={value:cellValue,label:cellLabel};}}return cellLabel;},updateCellLabel(row,fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{fullAllDataRowIdData}=internalData;const rowid=getRowid($xeTable,row);if(rowid){const colid=column.id;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}}return $xeTable.getFooterCellLabel(row,column);},clearFormatterCache(isUpdate){const{tableData,tableColumn}=reactData;const{fullAllDataRowIdData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getCellLabel(row,column);});});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},getHeaderCellLabel(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{headerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let cellLabel=column.getTitle();if(headerFormatter){let formatData;const{headerFullDataColData}=internalData;const colid=column.id;let colRest=headerFullDataColData[colid];if(!colRest){colRest=headerFullDataColData[colid]={};}const formatObj=colRest.formatObj;if(formatObj&&formatObj.value===cellLabel){return formatObj.label;}const headFormatParams={$table:$xeTable,cellTitle:cellLabel,cellValue:cellLabel,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(headerFormatter)){const gFormatOpts=table_formats.get(headerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableHeaderCellFormatMethod:null;cellLabel=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(fcFormatMethod?fcFormatMethod(headFormatParams):'');}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(headerFormatter)){const gFormatOpts=table_formats.get(headerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableHeaderCellFormatMethod:null;cellLabel=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(fcFormatMethod?fcFormatMethod(headFormatParams,...headerFormatter.slice(1)):'');}else{cellLabel=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toValueString(headerFormatter(headFormatParams));}if(formatData){colRest.formatObj={value:cellLabel,label:cellLabel};}}return cellLabel;},updateHeaderCellLabel(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return'';}const{headerFullDataColData}=internalData;const colid=column.id;const colRest=headerFullDataColData[colid];if(colRest){colRest.formatObj=undefined;}return $xeTable.getHeaderCellLabel(column);},clearHeaderFormatterCache(isUpdate){const{tableColumn}=reactData;const{headerFullDataColData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(headerFullDataColData,colRest=>{if(colRest.formatObj){colRest.formatObj=undefined;}});if(isUpdate){tableColumn.forEach(column=>{$xeTable.getHeaderCellLabel(column);});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},getFooterCellLabel(row,fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{footerFormatter}=column;const _columnIndex=$xeTable.getVTColumnIndex(column);let itemValue='';// 兼容老模式
|
|
21039
|
-
if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(row)){itemValue=row[_columnIndex];}else{itemValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,column.field);}let cellLabel=itemValue;if(footerFormatter){let formatData;const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);let rowRest=null;if($rowIndex>-1){rowRest=footerFullDataRowData[$rowIndex];if(!rowRest){rowRest=footerFullDataRowData[$rowIndex]={};}formatData=rowRest.formatData;if(!formatData){formatData=footerFullDataRowData[$rowIndex].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===itemValue){return formatData[colid].label;}}}const footerFormatParams={$table:$xeTable,cellValue:itemValue,itemValue,row,items:row,$rowIndex,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(footerFormatter)){const gFormatOpts=table_formats.get(footerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(footerFormatter)){const gFormatOpts=table_formats.get(footerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams,...footerFormatter.slice(1)):'';}else{cellLabel=footerFormatter(footerFormatParams);}if(formatData){formatData[colid]={value:itemValue,label:cellLabel};}}return cellLabel;},updateFooterCellLabel(row,fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);const rowRest=footerFullDataRowData[$rowIndex];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}return $xeTable.getFooterCellLabel(row,column);},clearFooterFormatterCache(isUpdate){const{tableData,tableColumn}=reactData;const{footerFullDataRowData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(footerFullDataRowData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getFooterCellLabel(row,column);});});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21040
|
-
* 检查是否为临时行数据
|
|
21041
|
-
*/isInsertByRow(row){const rowid=getRowid($xeTable,row);return!!reactData.insertRowFlag&&!!internalData.insertRowMaps[rowid];},isRemoveByRow(row){const rowid=getRowid($xeTable,row);return!!reactData.removeRowFlag&&!!internalData.removeRowMaps[rowid];},/**
|
|
21042
|
-
* 删除所有新增的临时数据
|
|
21043
|
-
*/removeInsertRow(){const{insertRowMaps}=internalData;return $xeTable.remove(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().values(insertRowMaps));},/**
|
|
21044
|
-
* 检查行或列数据是否发生改变
|
|
21061
|
+
if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(row)){itemValue=row[_columnIndex];}else{itemValue=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,column.field);}let cellLabel=itemValue;if(footerFormatter){let formatData;const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);let rowRest=null;if($rowIndex>-1){rowRest=footerFullDataRowData[$rowIndex];if(!rowRest){rowRest=footerFullDataRowData[$rowIndex]={};}formatData=rowRest.formatData;if(!formatData){formatData=footerFullDataRowData[$rowIndex].formatData={};}if(rowRest&&formatData[colid]){if(formatData[colid].value===itemValue){return formatData[colid].label;}}}const footerFormatParams={$table:$xeTable,cellValue:itemValue,itemValue,row,items:row,$rowIndex,column,_columnIndex,columnIndex:$xeTable.getColumnIndex(column)};if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(footerFormatter)){const gFormatOpts=table_formats.get(footerFormatter);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams):'';}else if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(footerFormatter)){const gFormatOpts=table_formats.get(footerFormatter[0]);const fcFormatMethod=gFormatOpts?gFormatOpts.tableFooterCellFormatMethod:null;cellLabel=fcFormatMethod?fcFormatMethod(footerFormatParams,...footerFormatter.slice(1)):'';}else{cellLabel=footerFormatter(footerFormatParams);}if(formatData){formatData[colid]={value:itemValue,label:cellLabel};}}return cellLabel;},updateFooterCellLabel(row,fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(!column){return null;}const{footerTableData}=reactData;const{footerFullDataRowData}=internalData;const colid=column.id;const $rowIndex=footerTableData.indexOf(row);const rowRest=footerFullDataRowData[$rowIndex];if(rowRest){const formatData=rowRest.formatData;if(formatData){delete formatData[colid];}}return $xeTable.getFooterCellLabel(row,column);},clearFooterFormatterCache(isUpdate){const{tableData,tableColumn}=reactData;const{footerFullDataRowData}=internalData;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(footerFullDataRowData,rowRest=>{if(rowRest.formatData){rowRest.formatData=undefined;}});if(isUpdate){tableData.forEach(row=>{tableColumn.forEach(column=>{$xeTable.getFooterCellLabel(row,column);});});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21062
|
+
* 检查是否为临时行数据
|
|
21063
|
+
*/isInsertByRow(row){const rowid=getRowid($xeTable,row);return!!reactData.insertRowFlag&&!!internalData.insertRowMaps[rowid];},isRemoveByRow(row){const rowid=getRowid($xeTable,row);return!!reactData.removeRowFlag&&!!internalData.removeRowMaps[rowid];},/**
|
|
21064
|
+
* 删除所有新增的临时数据
|
|
21065
|
+
*/removeInsertRow(){const{insertRowMaps}=internalData;return $xeTable.remove(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().values(insertRowMaps));},/**
|
|
21066
|
+
* 检查行或列数据是否发生改变
|
|
21045
21067
|
*/isUpdateByRow(rowidOrRow,field){const{keepSource}=props;const{fullDataRowIdData,sourceDataRowIdData}=internalData;const keepFields=computeKeepFields.value;if(keepSource){const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowidOrRow)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(rowidOrRow)?rowidOrRow:getRowid($xeTable,rowidOrRow);const rowRest=fullDataRowIdData[rowid];// 新增的数据不需要检测
|
|
21046
|
-
if(!rowRest){return false;}const row=rowRest.row;const oRow=sourceDataRowIdData[rowid];if(oRow){if(arguments.length>1){return!eqCellValue(oRow,row,field);}for(let i=0;i<keepFields.length;i++){if(!eqCellValue(oRow,row,keepFields[i])){return true;}}}}return false;},/**
|
|
21047
|
-
* 获取表格的可视列,也可以指定索引获取列
|
|
21048
|
-
* @param {Number} columnIndex 索引
|
|
21049
|
-
*/getColumns(columnIndex){const{visibleColumn}=internalData;return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(columnIndex)?visibleColumn.slice(0):visibleColumn[columnIndex];},/**
|
|
21050
|
-
* 根据列获取列的唯一主键
|
|
21051
|
-
*/getColid(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);return column?column.id:null;},/**
|
|
21052
|
-
* 根据列的唯一主键获取列
|
|
21053
|
-
* @param {String} colid 列主键
|
|
21054
|
-
*/getColumnById(colid){const{fullColumnIdData}=internalData;return colid&&fullColumnIdData[colid]?fullColumnIdData[colid].column:null;},/**
|
|
21055
|
-
* 根据列的字段名获取列
|
|
21056
|
-
* @param {String} field 字段名
|
|
21057
|
-
*/getColumnByField(field){const fullColumnFieldData=internalData.fullColumnFieldData;return field&&fullColumnFieldData[field]?fullColumnFieldData[field].column:null;},getParentColumn(fieldOrColumn){const{fullColumnIdData}=internalData;const column=handleFieldOrColumn($xeTable,fieldOrColumn);return column&&column.parentId&&fullColumnIdData[column.parentId]?fullColumnIdData[column.parentId].column:null;},/**
|
|
21058
|
-
* 获取当前表格的列
|
|
21059
|
-
* 收集到的全量列、全量表头列、处理条件之后的全量表头列、当前渲染中的表头列
|
|
21060
|
-
*/getTableColumn(){return{collectColumn:internalData.collectColumn.slice(0),fullColumn:internalData.tableFullColumn.slice(0),visibleColumn:internalData.visibleColumn.slice(0),tableColumn:reactData.tableColumn.slice(0)};},/**
|
|
21061
|
-
* 移动列到指定列的位置
|
|
21062
|
-
* @param fieldOrColumn
|
|
21063
|
-
* @param targetFieldOrColumn
|
|
21064
|
-
* @param options
|
|
21065
|
-
*/moveColumnTo(fieldOrColumn,targetFieldOrColumn,options){const{fullColumnIdData,visibleColumn}=internalData;const{dragToChild,dragPos,isCrossDrag}=Object.assign({},options);const dragCol=handleFieldOrColumn($xeTable,fieldOrColumn);let prevDragCol=null;const colRest=dragCol?fullColumnIdData[dragCol.id]:null;let defPos='left';if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(targetFieldOrColumn)){if(colRest&&targetFieldOrColumn){let currList=colRest.items;let offsetIndex=colRest._index+targetFieldOrColumn;if(isCrossDrag){currList=visibleColumn;offsetIndex=colRest._index+targetFieldOrColumn;}if(offsetIndex>0&&offsetIndex<currList.length-1){prevDragCol=currList[offsetIndex];}if(targetFieldOrColumn>0){defPos='right';}}}else{prevDragCol=handleFieldOrColumn($xeTable,targetFieldOrColumn);const targetColRest=prevDragCol?fullColumnIdData[prevDragCol.id]:null;if(colRest&&targetColRest){if(targetColRest._index>colRest._index){defPos='right';}}}return $xeTable.handleColDragSwapEvent(null,true,dragCol,prevDragCol,dragPos||defPos,dragToChild===true);},/**
|
|
21066
|
-
* 移动行到指定行的位置
|
|
21067
|
-
* @param rowidOrRow
|
|
21068
|
-
* @param targetRowidOrRow
|
|
21069
|
-
* @param options
|
|
21070
|
-
*/moveRowTo(rowidOrRow,targetRowidOrRow,options){const{treeConfig}=props;const{fullAllDataRowIdData,afterFullData}=internalData;const{dragToChild,dragPos,isCrossDrag}=Object.assign({},options);const treeOpts=computeTreeOpts.value;const dragRow=handleRowidOrRow($xeTable,rowidOrRow);let prevDragRow=null;let defPos='top';const rowRest=dragRow?fullAllDataRowIdData[getRowid($xeTable,dragRow)]:null;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(targetRowidOrRow)){if(rowRest&&targetRowidOrRow){let currList=afterFullData;let offsetIndex=rowRest._index+targetRowidOrRow;if(treeConfig){currList=rowRest.items;if(treeOpts.transform){offsetIndex=rowRest.treeIndex+targetRowidOrRow;if(isCrossDrag){currList=afterFullData;offsetIndex=rowRest._index+targetRowidOrRow;}}}if(offsetIndex>=0&&offsetIndex<=currList.length-1){prevDragRow=currList[offsetIndex];}if(targetRowidOrRow>0){defPos='bottom';}}}else{prevDragRow=handleRowidOrRow($xeTable,targetRowidOrRow);const targetRowRest=prevDragRow?fullAllDataRowIdData[getRowid($xeTable,prevDragRow)]:null;if(rowRest&&targetRowRest){if(targetRowRest._index>rowRest._index){defPos='bottom';}}}const rest=$xeTable.handleRowDragSwapEvent(null,true,dragRow,prevDragRow,dragPos||defPos,dragToChild===true);return rest;},/**
|
|
21071
|
-
* 获取表格的全量列
|
|
21072
|
-
*/getFullColumns(){const{collectColumn}=internalData;return collectColumn.slice(0);},/**
|
|
21073
|
-
* 获取数据,和 data 的行为一致,也可以指定索引获取数据
|
|
21074
|
-
*/getData(rowIndex){const tableSynchData=props.data||internalData.tableSynchData;return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(rowIndex)?tableSynchData.slice(0):tableSynchData[rowIndex];},/**
|
|
21075
|
-
* 用于多选行,获取已选中的数据
|
|
21068
|
+
if(!rowRest){return false;}const row=rowRest.row;const oRow=sourceDataRowIdData[rowid];if(oRow){if(arguments.length>1){return!eqCellValue(oRow,row,field);}for(let i=0;i<keepFields.length;i++){if(!eqCellValue(oRow,row,keepFields[i])){return true;}}}}return false;},/**
|
|
21069
|
+
* 获取表格的可视列,也可以指定索引获取列
|
|
21070
|
+
* @param {Number} columnIndex 索引
|
|
21071
|
+
*/getColumns(columnIndex){const{visibleColumn}=internalData;return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(columnIndex)?visibleColumn.slice(0):visibleColumn[columnIndex];},/**
|
|
21072
|
+
* 根据列获取列的唯一主键
|
|
21073
|
+
*/getColid(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);return column?column.id:null;},/**
|
|
21074
|
+
* 根据列的唯一主键获取列
|
|
21075
|
+
* @param {String} colid 列主键
|
|
21076
|
+
*/getColumnById(colid){const{fullColumnIdData}=internalData;return colid&&fullColumnIdData[colid]?fullColumnIdData[colid].column:null;},/**
|
|
21077
|
+
* 根据列的字段名获取列
|
|
21078
|
+
* @param {String} field 字段名
|
|
21079
|
+
*/getColumnByField(field){const fullColumnFieldData=internalData.fullColumnFieldData;return field&&fullColumnFieldData[field]?fullColumnFieldData[field].column:null;},getParentColumn(fieldOrColumn){const{fullColumnIdData}=internalData;const column=handleFieldOrColumn($xeTable,fieldOrColumn);return column&&column.parentId&&fullColumnIdData[column.parentId]?fullColumnIdData[column.parentId].column:null;},/**
|
|
21080
|
+
* 获取当前表格的列
|
|
21081
|
+
* 收集到的全量列、全量表头列、处理条件之后的全量表头列、当前渲染中的表头列
|
|
21082
|
+
*/getTableColumn(){return{collectColumn:internalData.collectColumn.slice(0),fullColumn:internalData.tableFullColumn.slice(0),visibleColumn:internalData.visibleColumn.slice(0),tableColumn:reactData.tableColumn.slice(0)};},/**
|
|
21083
|
+
* 移动列到指定列的位置
|
|
21084
|
+
* @param fieldOrColumn
|
|
21085
|
+
* @param targetFieldOrColumn
|
|
21086
|
+
* @param options
|
|
21087
|
+
*/moveColumnTo(fieldOrColumn,targetFieldOrColumn,options){const{fullColumnIdData,visibleColumn}=internalData;const{dragToChild,dragPos,isCrossDrag}=Object.assign({},options);const dragCol=handleFieldOrColumn($xeTable,fieldOrColumn);let prevDragCol=null;const colRest=dragCol?fullColumnIdData[dragCol.id]:null;let defPos='left';if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(targetFieldOrColumn)){if(colRest&&targetFieldOrColumn){let currList=colRest.items;let offsetIndex=colRest._index+targetFieldOrColumn;if(isCrossDrag){currList=visibleColumn;offsetIndex=colRest._index+targetFieldOrColumn;}if(offsetIndex>0&&offsetIndex<currList.length-1){prevDragCol=currList[offsetIndex];}if(targetFieldOrColumn>0){defPos='right';}}}else{prevDragCol=handleFieldOrColumn($xeTable,targetFieldOrColumn);const targetColRest=prevDragCol?fullColumnIdData[prevDragCol.id]:null;if(colRest&&targetColRest){if(targetColRest._index>colRest._index){defPos='right';}}}return $xeTable.handleColDragSwapEvent(null,true,dragCol,prevDragCol,dragPos||defPos,dragToChild===true);},/**
|
|
21088
|
+
* 移动行到指定行的位置
|
|
21089
|
+
* @param rowidOrRow
|
|
21090
|
+
* @param targetRowidOrRow
|
|
21091
|
+
* @param options
|
|
21092
|
+
*/moveRowTo(rowidOrRow,targetRowidOrRow,options){const{treeConfig}=props;const{fullAllDataRowIdData,afterFullData}=internalData;const{dragToChild,dragPos,isCrossDrag}=Object.assign({},options);const treeOpts=computeTreeOpts.value;const dragRow=handleRowidOrRow($xeTable,rowidOrRow);let prevDragRow=null;let defPos='top';const rowRest=dragRow?fullAllDataRowIdData[getRowid($xeTable,dragRow)]:null;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(targetRowidOrRow)){if(rowRest&&targetRowidOrRow){let currList=afterFullData;let offsetIndex=rowRest._index+targetRowidOrRow;if(treeConfig){currList=rowRest.items;if(treeOpts.transform){offsetIndex=rowRest.treeIndex+targetRowidOrRow;if(isCrossDrag){currList=afterFullData;offsetIndex=rowRest._index+targetRowidOrRow;}}}if(offsetIndex>=0&&offsetIndex<=currList.length-1){prevDragRow=currList[offsetIndex];}if(targetRowidOrRow>0){defPos='bottom';}}}else{prevDragRow=handleRowidOrRow($xeTable,targetRowidOrRow);const targetRowRest=prevDragRow?fullAllDataRowIdData[getRowid($xeTable,prevDragRow)]:null;if(rowRest&&targetRowRest){if(targetRowRest._index>rowRest._index){defPos='bottom';}}}const rest=$xeTable.handleRowDragSwapEvent(null,true,dragRow,prevDragRow,dragPos||defPos,dragToChild===true);return rest;},/**
|
|
21093
|
+
* 获取表格的全量列
|
|
21094
|
+
*/getFullColumns(){const{collectColumn}=internalData;return collectColumn.slice(0);},/**
|
|
21095
|
+
* 获取数据,和 data 的行为一致,也可以指定索引获取数据
|
|
21096
|
+
*/getData(rowIndex){const tableSynchData=props.data||internalData.tableSynchData;return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(rowIndex)?tableSynchData.slice(0):tableSynchData[rowIndex];},/**
|
|
21097
|
+
* 用于多选行,获取已选中的数据
|
|
21076
21098
|
*/getCheckboxRecords(isFull){const{treeConfig}=props;const{updateCheckboxFlag}=reactData;const{tableFullData,afterFullData,tableFullTreeData,fullDataRowIdData,afterFullRowMaps,selectCheckboxMaps}=internalData;const treeOpts=computeTreeOpts.value;const checkboxOpts=computeCheckboxOpts.value;const{transform,mapChildrenField}=treeOpts;const{checkField}=checkboxOpts;const childrenField=treeOpts.children||treeOpts.childrenField;let rowList=[];if(updateCheckboxFlag){if(checkField){if(treeConfig){// 如果开启 transform 默认就是完整数据
|
|
21077
|
-
const currTableData=isFull?transform?tableFullTreeData:tableFullData:transform?tableFullTreeData:afterFullData;rowList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().filterTree(currTableData,row=>external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField),{children:transform?mapChildrenField:childrenField});}else{const currTableData=isFull?tableFullData:afterFullData;rowList=currTableData.filter(row=>external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField));}}else{const currMaps=isFull||treeConfig&&!transform?fullDataRowIdData:afterFullRowMaps;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps,(row,rowid)=>{if(currMaps[rowid]){rowList.push(fullDataRowIdData[rowid].row);}});}}return rowList;},/**
|
|
21078
|
-
* 只对 tree-config 有效,获取行的子级
|
|
21079
|
-
*/getTreeRowChildren(rowOrRowid){const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;const treeOpts=computeTreeOpts.value;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;if(rowOrRowid&&treeConfig){let rowid;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowOrRowid)){rowid=rowOrRowid;}else{rowid=getRowid($xeTable,rowOrRowid);}if(rowid){const rest=fullAllDataRowIdData[rowid];const row=rest?rest.row:null;if(row){return row[transform?mapChildrenField:childrenField]||[];}}}return[];},/**
|
|
21080
|
-
* 只对 tree-config 有效,用于树形结构,获取指定行的层级
|
|
21081
|
-
*/getTreeRowLevel(rowOrRowid){const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;if(rowOrRowid&&treeConfig){let rowid;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowOrRowid)){rowid=rowOrRowid;}else{rowid=getRowid($xeTable,rowOrRowid);}if(rowid){const rest=fullAllDataRowIdData[rowid];if(rest){return rest.level;}}}return-1;},/**
|
|
21082
|
-
* 只对 tree-config 有效,获取行的父级
|
|
21083
|
-
*/getTreeParentRow(rowOrRowid){const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;if(rowOrRowid&&treeConfig){let rowid;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowOrRowid)){rowid=rowOrRowid;}else{rowid=getRowid($xeTable,rowOrRowid);}if(rowid){const rest=fullAllDataRowIdData[rowid];if(rest){return rest.parent;}}}return null;},getParentRow(rowOrRowid){table_warnLog('vxe.error.delFunc',['getParentRow','getTreeParentRow']);return $xeTable.getTreeParentRow(rowOrRowid);},/**
|
|
21084
|
-
* 根据行的唯一主键获取行
|
|
21085
|
-
* @param {String/Number} rowid 行主键
|
|
21086
|
-
*/getRowById(cellValue){const{fullAllDataRowIdData}=internalData;const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(cellValue)?'':encodeURIComponent(cellValue||'');return fullAllDataRowIdData[rowid]?fullAllDataRowIdData[rowid].row:null;},/**
|
|
21087
|
-
* 根据行获取行的唯一主键
|
|
21088
|
-
* @param {Row} row 行对象
|
|
21089
|
-
*/getRowid(row){return getRowid($xeTable,row);},/**
|
|
21090
|
-
* 获取处理后的表格数据
|
|
21091
|
-
* 如果存在筛选条件,继续处理
|
|
21092
|
-
* 如果存在排序,继续处理
|
|
21093
|
-
*/getTableData(){const{tableData,footerTableData}=reactData;const{tableFullData,afterFullData,tableFullTreeData}=internalData;return{fullData:props.treeConfig?tableFullTreeData.slice(0):tableFullData.slice(0),visibleData:afterFullData.slice(0),tableData:tableData.slice(0),footerData:footerTableData.slice(0)};},/**
|
|
21094
|
-
* 获取表格的全量数据,如果是 tree-config 则返回带层级的树结构
|
|
21095
|
-
*/getFullData(){const{treeConfig}=props;const{tableFullData,tableFullTreeData}=internalData;if(treeConfig){return tableFullTreeData.slice(0);}return tableFullData.slice(0);},/**
|
|
21096
|
-
* 设置为固定列
|
|
21099
|
+
const currTableData=isFull?transform?tableFullTreeData:tableFullData:transform?tableFullTreeData:afterFullData;rowList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().filterTree(currTableData,row=>external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField),{children:transform?mapChildrenField:childrenField});}else{const currTableData=isFull?tableFullData:afterFullData;rowList=currTableData.filter(row=>external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField));}}else{const currMaps=isFull||treeConfig&&!transform?fullDataRowIdData:afterFullRowMaps;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps,(row,rowid)=>{if(currMaps[rowid]){rowList.push(fullDataRowIdData[rowid].row);}});}}return rowList;},/**
|
|
21100
|
+
* 只对 tree-config 有效,获取行的子级
|
|
21101
|
+
*/getTreeRowChildren(rowOrRowid){const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;const treeOpts=computeTreeOpts.value;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;if(rowOrRowid&&treeConfig){let rowid;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowOrRowid)){rowid=rowOrRowid;}else{rowid=getRowid($xeTable,rowOrRowid);}if(rowid){const rest=fullAllDataRowIdData[rowid];const row=rest?rest.row:null;if(row){return row[transform?mapChildrenField:childrenField]||[];}}}return[];},/**
|
|
21102
|
+
* 只对 tree-config 有效,用于树形结构,获取指定行的层级
|
|
21103
|
+
*/getTreeRowLevel(rowOrRowid){const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;if(rowOrRowid&&treeConfig){let rowid;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowOrRowid)){rowid=rowOrRowid;}else{rowid=getRowid($xeTable,rowOrRowid);}if(rowid){const rest=fullAllDataRowIdData[rowid];if(rest){return rest.level;}}}return-1;},/**
|
|
21104
|
+
* 只对 tree-config 有效,获取行的父级
|
|
21105
|
+
*/getTreeParentRow(rowOrRowid){const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;if(rowOrRowid&&treeConfig){let rowid;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowOrRowid)){rowid=rowOrRowid;}else{rowid=getRowid($xeTable,rowOrRowid);}if(rowid){const rest=fullAllDataRowIdData[rowid];if(rest){return rest.parent;}}}return null;},getParentRow(rowOrRowid){table_warnLog('vxe.error.delFunc',['getParentRow','getTreeParentRow']);return $xeTable.getTreeParentRow(rowOrRowid);},/**
|
|
21106
|
+
* 根据行的唯一主键获取行
|
|
21107
|
+
* @param {String/Number} rowid 行主键
|
|
21108
|
+
*/getRowById(cellValue){const{fullAllDataRowIdData}=internalData;const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(cellValue)?'':encodeURIComponent(cellValue||'');return fullAllDataRowIdData[rowid]?fullAllDataRowIdData[rowid].row:null;},/**
|
|
21109
|
+
* 根据行获取行的唯一主键
|
|
21110
|
+
* @param {Row} row 行对象
|
|
21111
|
+
*/getRowid(row){return getRowid($xeTable,row);},/**
|
|
21112
|
+
* 获取处理后的表格数据
|
|
21113
|
+
* 如果存在筛选条件,继续处理
|
|
21114
|
+
* 如果存在排序,继续处理
|
|
21115
|
+
*/getTableData(){const{tableData,footerTableData}=reactData;const{tableFullData,afterFullData,tableFullTreeData}=internalData;return{fullData:props.treeConfig?tableFullTreeData.slice(0):tableFullData.slice(0),visibleData:afterFullData.slice(0),tableData:tableData.slice(0),footerData:footerTableData.slice(0)};},/**
|
|
21116
|
+
* 获取表格的全量数据,如果是 tree-config 则返回带层级的树结构
|
|
21117
|
+
*/getFullData(){const{treeConfig}=props;const{tableFullData,tableFullTreeData}=internalData;if(treeConfig){return tableFullTreeData.slice(0);}return tableFullData.slice(0);},/**
|
|
21118
|
+
* 设置为固定列
|
|
21097
21119
|
*/setColumnFixed(fieldOrColumn,fixed){let status=false;const cols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn)?fieldOrColumn:[fieldOrColumn];const columnOpts=computeColumnOpts.value;const isMaxFixedColumn=computeIsMaxFixedColumn.value;for(let i=0;i<cols.length;i++){const item=cols[i];const column=handleFieldOrColumn($xeTable,item);const targetColumn=getRootColumn($xeTable,column);if(targetColumn&&targetColumn.fixed!==fixed){// 是否超过最大固定列数量
|
|
21098
|
-
if(!targetColumn.fixed&&isMaxFixedColumn){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:table_getI18n('vxe.table.maxFixedCol',[columnOpts.maxFixedSize])});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([targetColumn],column=>{column.fixed=fixed;column.renderFixed=fixed;});$xeTable.saveCustomStore('update:fixed');if(!status){status=true;}}}if(status){return $xeTable.refreshColumn();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21099
|
-
* 取消指定固定列
|
|
21100
|
-
*/clearColumnFixed(fieldOrColumn){let status=false;const cols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn)?fieldOrColumn:[fieldOrColumn];cols.forEach(item=>{const column=handleFieldOrColumn($xeTable,item);const targetColumn=getRootColumn($xeTable,column);if(targetColumn&&targetColumn.fixed){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([targetColumn],column=>{column.fixed=null;column.renderFixed=null;});$xeTable.saveCustomStore('update:fixed');if(!status){status=true;}}});if(status){return $xeTable.refreshColumn();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21101
|
-
* 隐藏指定列
|
|
21102
|
-
*/hideColumn:handleColumnVisible(false),/**
|
|
21103
|
-
* 显示指定列
|
|
21104
|
-
*/showColumn:handleColumnVisible(true),setColumnWidth(fieldOrColumn,width){const{elemStore}=internalData;let status=false;const cols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn)?fieldOrColumn:[fieldOrColumn];let cWidth=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(width);if(isScale(width)){const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const bodyWidth=bodyScrollElem?bodyScrollElem.clientWidth-1:0;cWidth=Math.floor(cWidth*bodyWidth);}if(cWidth){cols.forEach(item=>{const column=handleFieldOrColumn($xeTable,item);if(column){column.resizeWidth=cWidth;if(!status){status=true;}}});if(status){return $xeTable.refreshColumn().then(()=>{return{status};});}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return{status};});},getColumnWidth(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){return column.renderWidth;}return 0;},/**
|
|
21105
|
-
* 手动重置列的显示隐藏、列宽拖动的状态、固定列、排序列;
|
|
21106
|
-
* 如果为 true 则重置所有状态
|
|
21107
|
-
* 如果已关联工具栏,则会同步更新
|
|
21108
|
-
*/resetColumn(options){table_warnLog('vxe.error.delFunc',['resetColumn','resetCustom']);return $xeTable.resetCustom(options);},/**
|
|
21109
|
-
* 刷新列信息
|
|
21110
|
-
* 将固定的列左边、右边分别靠边
|
|
21111
|
-
* 如果传 true 则会检查列顺序并排序
|
|
21112
|
-
*/refreshColumn(initSort){if(initSort){handleUpdateColumn();}return parseColumns(true).then(()=>{return $xeTable.refreshScroll();}).then(()=>{return handleLazyRecalculate(false,true,true);});},setRowHeightConf(heightConf){const{fullAllDataRowIdData}=internalData;let status=false;if(heightConf){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(heightConf,(height,rowid)=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const rHeight=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(height);if(rHeight){rowRest.resizeHeight=rHeight;if(!status){status=true;}}}});if(status){internalData.isResizeCellHeight=true;reactData.resizeHeightFlag++;}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();return{status};});},getRowHeightConf(isFull){const{fullAllDataRowIdData,afterFullData}=internalData;const{handleGetRowId}=createHandleGetRowId($xeTable);const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const rest={};afterFullData.forEach(row=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const resizeHeight=rowRest.resizeHeight;if(resizeHeight||isFull){const currCellHeight=resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;rest[rowid]=currCellHeight;}}});return rest;},recalcRowHeight(rowOrId){const{fullAllDataRowIdData}=internalData;const rows=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rowOrId)?rowOrId:[rowOrId];const el=refElem.value;if(el){const{handleGetRowId}=createHandleGetRowId($xeTable);el.setAttribute('data-calc-row','Y');rows.forEach(row=>{const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(row)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(row)?row:handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.resizeHeight=calcCellAutoHeight(rowid,rowRest,el);}el.removeAttribute('data-calc-row');});reactData.calcCellHeightFlag++;}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},setRowHeight(rowOrId,height){const{fullAllDataRowIdData}=internalData;let status=false;const rows=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rowOrId)?rowOrId:[rowOrId];let rHeight=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(height);if(isScale(height)){const tableBody=refTableBody.value;const bodyElem=tableBody?tableBody.$el:null;const bodyHeight=bodyElem?bodyElem.clientHeight-1:0;rHeight=Math.floor(rHeight*bodyHeight);}if(rHeight){const{handleGetRowId}=createHandleGetRowId($xeTable);rows.forEach(row=>{const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(row)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(row)?row:handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.resizeHeight=rHeight;if(!status){status=true;}}});if(status){internalData.isResizeCellHeight=true;reactData.resizeHeightFlag++;}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return{status};});},getRowHeight(rowOrId){const{fullAllDataRowIdData}=internalData;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowOrId)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(rowOrId)?rowOrId:getRowid($xeTable,rowOrId);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;}return 0;},/**
|
|
21113
|
-
* 刷新滚动操作,手动同步滚动相关位置(对于某些特殊的操作,比如滚动条错位、固定列不同步)
|
|
21120
|
+
if(!targetColumn.fixed&&isMaxFixedColumn){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:table_getI18n('vxe.table.maxFixedCol',[columnOpts.maxFixedSize])});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([targetColumn],column=>{column.fixed=fixed;column.renderFixed=fixed;});$xeTable.saveCustomStore('update:fixed');if(!status){status=true;}}}if(status){return $xeTable.refreshColumn();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21121
|
+
* 取消指定固定列
|
|
21122
|
+
*/clearColumnFixed(fieldOrColumn){let status=false;const cols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn)?fieldOrColumn:[fieldOrColumn];cols.forEach(item=>{const column=handleFieldOrColumn($xeTable,item);const targetColumn=getRootColumn($xeTable,column);if(targetColumn&&targetColumn.fixed){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([targetColumn],column=>{column.fixed=null;column.renderFixed=null;});$xeTable.saveCustomStore('update:fixed');if(!status){status=true;}}});if(status){return $xeTable.refreshColumn();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21123
|
+
* 隐藏指定列
|
|
21124
|
+
*/hideColumn:handleColumnVisible(false),/**
|
|
21125
|
+
* 显示指定列
|
|
21126
|
+
*/showColumn:handleColumnVisible(true),setColumnWidth(fieldOrColumn,width){const{elemStore}=internalData;let status=false;const cols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn)?fieldOrColumn:[fieldOrColumn];let cWidth=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(width);if(isScale(width)){const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const bodyWidth=bodyScrollElem?bodyScrollElem.clientWidth-1:0;cWidth=Math.floor(cWidth*bodyWidth);}if(cWidth){cols.forEach(item=>{const column=handleFieldOrColumn($xeTable,item);if(column){column.resizeWidth=cWidth;if(!status){status=true;}}});if(status){return $xeTable.refreshColumn().then(()=>{return{status};});}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return{status};});},getColumnWidth(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){return column.renderWidth;}return 0;},/**
|
|
21127
|
+
* 手动重置列的显示隐藏、列宽拖动的状态、固定列、排序列;
|
|
21128
|
+
* 如果为 true 则重置所有状态
|
|
21129
|
+
* 如果已关联工具栏,则会同步更新
|
|
21130
|
+
*/resetColumn(options){table_warnLog('vxe.error.delFunc',['resetColumn','resetCustom']);return $xeTable.resetCustom(options);},/**
|
|
21131
|
+
* 刷新列信息
|
|
21132
|
+
* 将固定的列左边、右边分别靠边
|
|
21133
|
+
* 如果传 true 则会检查列顺序并排序
|
|
21134
|
+
*/refreshColumn(initSort){if(initSort){handleUpdateColumn();}return parseColumns(true).then(()=>{return $xeTable.refreshScroll();}).then(()=>{return handleLazyRecalculate(false,true,true);});},setRowHeightConf(heightConf){const{fullAllDataRowIdData}=internalData;let status=false;if(heightConf){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(heightConf,(height,rowid)=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const rHeight=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(height);if(rHeight){rowRest.resizeHeight=rHeight;if(!status){status=true;}}}});if(status){internalData.isResizeCellHeight=true;reactData.resizeHeightFlag++;}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();return{status};});},getRowHeightConf(isFull){const{fullAllDataRowIdData,afterFullData}=internalData;const{handleGetRowId}=createHandleGetRowId($xeTable);const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const rest={};afterFullData.forEach(row=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const resizeHeight=rowRest.resizeHeight;if(resizeHeight||isFull){const currCellHeight=resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;rest[rowid]=currCellHeight;}}});return rest;},recalcRowHeight(rowOrId){const{fullAllDataRowIdData}=internalData;const rows=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rowOrId)?rowOrId:[rowOrId];const el=refElem.value;if(el){const{handleGetRowId}=createHandleGetRowId($xeTable);el.setAttribute('data-calc-row','Y');rows.forEach(row=>{const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(row)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(row)?row:handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.resizeHeight=calcCellAutoHeight(rowid,rowRest,el);}el.removeAttribute('data-calc-row');});reactData.calcCellHeightFlag++;}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},setRowHeight(rowOrId,height){const{fullAllDataRowIdData}=internalData;let status=false;const rows=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rowOrId)?rowOrId:[rowOrId];let rHeight=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(height);if(isScale(height)){const tableBody=refTableBody.value;const bodyElem=tableBody?tableBody.$el:null;const bodyHeight=bodyElem?bodyElem.clientHeight-1:0;rHeight=Math.floor(rHeight*bodyHeight);}if(rHeight){const{handleGetRowId}=createHandleGetRowId($xeTable);rows.forEach(row=>{const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(row)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(row)?row:handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.resizeHeight=rHeight;if(!status){status=true;}}});if(status){internalData.isResizeCellHeight=true;reactData.resizeHeightFlag++;}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return{status};});},getRowHeight(rowOrId){const{fullAllDataRowIdData}=internalData;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const rowid=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowOrId)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(rowOrId)?rowOrId:getRowid($xeTable,rowOrId);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;}return 0;},/**
|
|
21135
|
+
* 刷新滚动操作,手动同步滚动相关位置(对于某些特殊的操作,比如滚动条错位、固定列不同步)
|
|
21114
21136
|
*/refreshScroll(){const{elemStore,lastScrollLeft,lastScrollTop}=internalData;const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;return new Promise(resolve=>{// 还原滚动条位置
|
|
21115
21137
|
if(lastScrollLeft||lastScrollTop){return restoreScrollLocation($xeTable,lastScrollLeft,lastScrollTop).then(()=>{// 存在滚动行为未结束情况
|
|
21116
21138
|
setTimeout(resolve,10);});}internalData.intoRunScroll=true;// 重置
|
|
21117
21139
|
setScrollTop(yHandleEl,lastScrollTop);setScrollTop(bodyScrollElem,lastScrollTop);setScrollTop(leftScrollElem,lastScrollTop);setScrollTop(rightScrollElem,lastScrollTop);setScrollLeft(xHandleEl,lastScrollLeft);setScrollLeft(bodyScrollElem,lastScrollLeft);setScrollLeft(headerScrollElem,lastScrollLeft);setScrollLeft(footerScrollElem,lastScrollLeft);// 存在滚动行为未结束情况
|
|
21118
|
-
setTimeout(()=>{internalData.intoRunScroll=false;resolve();},10);});},/**
|
|
21119
|
-
* 重新渲染布局
|
|
21120
|
-
* 刷新布局
|
|
21121
|
-
*/recalculate(reFull){const isForce=!!reFull;return handleLazyRecalculate(isForce,isForce,isForce);},openTooltip(target,content){const $commTip=refCommTooltip.value;if($commTip&&$commTip.open){return $commTip.open(target,content);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21122
|
-
* 关闭 tooltip
|
|
21123
|
-
*/closeTooltip(){const{tooltipStore}=reactData;const $tooltip=refTooltip.value;const $commTip=refCommTooltip.value;if(tooltipStore.visible){Object.assign(tooltipStore,{row:null,column:null,content:null,visible:false,type:null,currOpts:{}});if($tooltip&&$tooltip.close){$tooltip.close();}}if($commTip&&$commTip.close){$commTip.close();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21124
|
-
* 判断列头复选框是否被选中
|
|
21125
|
-
*/isAllCheckboxChecked(){return reactData.isAllSelected;},/**
|
|
21126
|
-
* 判断列头复选框是否被半选
|
|
21127
|
-
*/isAllCheckboxIndeterminate(){return!reactData.isAllSelected&&reactData.isIndeterminate;},/**
|
|
21128
|
-
* 获取复选框半选状态的行数据
|
|
21129
|
-
*/getCheckboxIndeterminateRecords(isFull){const{treeConfig}=props;const{fullDataRowIdData,treeIndeterminateRowMaps}=internalData;if(treeConfig){const fullRest=[];const defRest=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(treeIndeterminateRowMaps,(item,rowid)=>{if(item){fullRest.push(item);if(fullDataRowIdData[rowid]){defRest.push(item);}}});if(isFull){return fullRest;}return defRest;}return[];},/**
|
|
21130
|
-
* 用于多选行,设置行为选中状态,第二个参数为选中与否
|
|
21131
|
-
* @param {Array/Row} rows 行数据
|
|
21132
|
-
* @param {Boolean} value 是否选中
|
|
21133
|
-
*/setCheckboxRow(rows,checked){if(rows&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}return handleCheckedCheckboxRow(rows,checked,true);},setCheckboxRowKey(keys,checked){const{fullAllDataRowIdData}=internalData;if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(keys)){keys=[keys];}const rows=[];keys.forEach(rowid=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rows.push(rowRest.row);}});return handleCheckedCheckboxRow(rows,checked,true);},isCheckedByCheckboxRow(row){const{updateCheckboxFlag}=reactData;const{selectCheckboxMaps}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;if(checkField){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField);}return!!updateCheckboxFlag&&!!selectCheckboxMaps[getRowid($xeTable,row)];},isCheckedByCheckboxRowKey(rowid){const{updateCheckboxFlag}=reactData;const{fullAllDataRowIdData,selectCheckboxMaps}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;if(checkField){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rowRest.row,checkField);}return false;}return!!updateCheckboxFlag&&!!selectCheckboxMaps[rowid];},isIndeterminateByCheckboxRow(row){const{treeIndeterminateRowMaps}=internalData;return!!treeIndeterminateRowMaps[getRowid($xeTable,row)]&&!$xeTable.isCheckedByCheckboxRow(row);},isIndeterminateByCheckboxRowKey(rowid){const{treeIndeterminateRowMaps}=internalData;return!!treeIndeterminateRowMaps[rowid]&&!$xeTable.isCheckedByCheckboxRowKey(rowid);},/**
|
|
21134
|
-
* 多选,切换某一行的选中状态
|
|
21135
|
-
*/toggleCheckboxRow(row){const{selectCheckboxMaps}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;const checked=checkField?!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField):!selectCheckboxMaps[getRowid($xeTable,row)];$xeTable.handleBatchSelectRows([row],checked,true);$xeTable.checkSelectionStatus();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21136
|
-
* 用于多选行,设置所有行的选中状态
|
|
21137
|
-
* @param {Boolean} value 是否选中
|
|
21138
|
-
*/setAllCheckboxRow(value){return handleCheckedAllCheckboxRow(value,true);},/**
|
|
21139
|
-
* 获取单选框保留选中的行
|
|
21140
|
-
*/getRadioReserveRecord(isFull){const{treeConfig}=props;const{fullDataRowIdData,radioReserveRow,afterFullData}=internalData;const radioOpts=computeRadioOpts.value;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;if(radioOpts.reserve&&radioReserveRow){const rowid=getRowid($xeTable,radioReserveRow);if(isFull){if(!fullDataRowIdData[rowid]){return radioReserveRow;}}else{const rowkey=getRowkey($xeTable);if(treeConfig){const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData,row=>rowid===external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,rowkey),{children:childrenField});if(matchObj){return radioReserveRow;}}else{if(!afterFullData.some(row=>rowid===external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,rowkey))){return radioReserveRow;}}}}return null;},clearRadioReserve(){internalData.radioReserveRow=null;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21141
|
-
* 获取复选框保留选中的行
|
|
21142
|
-
*/getCheckboxReserveRecords(isFull){const{treeConfig}=props;const{afterFullData,fullDataRowIdData,checkboxReserveRowMap}=internalData;const checkboxOpts=computeCheckboxOpts.value;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const reserveSelection=[];if(checkboxOpts.reserve){const{handleGetRowId}=createHandleGetRowId($xeTable);const afterFullIdMaps={};if(treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData,row=>{afterFullIdMaps[handleGetRowId(row)]=1;},{children:childrenField});}else{afterFullData.forEach(row=>{afterFullIdMaps[handleGetRowId(row)]=1;});}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(checkboxReserveRowMap,(oldRow,oldRowid)=>{if(oldRow){if(isFull){if(!fullDataRowIdData[oldRowid]){reserveSelection.push(oldRow);}}else{if(!afterFullIdMaps[oldRowid]){reserveSelection.push(oldRow);}}}});}return reserveSelection;},clearCheckboxReserve(){internalData.checkboxReserveRowMap={};return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21143
|
-
* 多选,切换所有行的选中状态
|
|
21144
|
-
*/toggleAllCheckboxRow(){handleCheckAllEvent(null,!reactData.isAllSelected);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21145
|
-
* 用于多选行,手动清空用户的选择
|
|
21146
|
-
* 清空行为不管是否被禁用还是保留记录,都将彻底清空选中状态
|
|
21140
|
+
setTimeout(()=>{internalData.intoRunScroll=false;resolve();},10);});},/**
|
|
21141
|
+
* 重新渲染布局
|
|
21142
|
+
* 刷新布局
|
|
21143
|
+
*/recalculate(reFull){const isForce=!!reFull;return handleLazyRecalculate(isForce,isForce,isForce);},openTooltip(target,content){const $commTip=refCommTooltip.value;if($commTip&&$commTip.open){return $commTip.open(target,content);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21144
|
+
* 关闭 tooltip
|
|
21145
|
+
*/closeTooltip(){const{tooltipStore}=reactData;const $tooltip=refTooltip.value;const $commTip=refCommTooltip.value;if(tooltipStore.visible){Object.assign(tooltipStore,{row:null,column:null,content:null,visible:false,type:null,currOpts:{}});if($tooltip&&$tooltip.close){$tooltip.close();}}if($commTip&&$commTip.close){$commTip.close();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21146
|
+
* 判断列头复选框是否被选中
|
|
21147
|
+
*/isAllCheckboxChecked(){return reactData.isAllSelected;},/**
|
|
21148
|
+
* 判断列头复选框是否被半选
|
|
21149
|
+
*/isAllCheckboxIndeterminate(){return!reactData.isAllSelected&&reactData.isIndeterminate;},/**
|
|
21150
|
+
* 获取复选框半选状态的行数据
|
|
21151
|
+
*/getCheckboxIndeterminateRecords(isFull){const{treeConfig}=props;const{fullDataRowIdData,treeIndeterminateRowMaps}=internalData;if(treeConfig){const fullRest=[];const defRest=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(treeIndeterminateRowMaps,(item,rowid)=>{if(item){fullRest.push(item);if(fullDataRowIdData[rowid]){defRest.push(item);}}});if(isFull){return fullRest;}return defRest;}return[];},/**
|
|
21152
|
+
* 用于多选行,设置行为选中状态,第二个参数为选中与否
|
|
21153
|
+
* @param {Array/Row} rows 行数据
|
|
21154
|
+
* @param {Boolean} value 是否选中
|
|
21155
|
+
*/setCheckboxRow(rows,checked){if(rows&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}return handleCheckedCheckboxRow(rows,checked,true);},setCheckboxRowKey(keys,checked){const{fullAllDataRowIdData}=internalData;if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(keys)){keys=[keys];}const rows=[];keys.forEach(rowid=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rows.push(rowRest.row);}});return handleCheckedCheckboxRow(rows,checked,true);},isCheckedByCheckboxRow(row){const{updateCheckboxFlag}=reactData;const{selectCheckboxMaps}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;if(checkField){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField);}return!!updateCheckboxFlag&&!!selectCheckboxMaps[getRowid($xeTable,row)];},isCheckedByCheckboxRowKey(rowid){const{updateCheckboxFlag}=reactData;const{fullAllDataRowIdData,selectCheckboxMaps}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;if(checkField){const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(rowRest.row,checkField);}return false;}return!!updateCheckboxFlag&&!!selectCheckboxMaps[rowid];},isIndeterminateByCheckboxRow(row){const{treeIndeterminateRowMaps}=internalData;return!!treeIndeterminateRowMaps[getRowid($xeTable,row)]&&!$xeTable.isCheckedByCheckboxRow(row);},isIndeterminateByCheckboxRowKey(rowid){const{treeIndeterminateRowMaps}=internalData;return!!treeIndeterminateRowMaps[rowid]&&!$xeTable.isCheckedByCheckboxRowKey(rowid);},/**
|
|
21156
|
+
* 多选,切换某一行的选中状态
|
|
21157
|
+
*/toggleCheckboxRow(row){const{selectCheckboxMaps}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkField}=checkboxOpts;const checked=checkField?!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField):!selectCheckboxMaps[getRowid($xeTable,row)];$xeTable.handleBatchSelectRows([row],checked,true);$xeTable.checkSelectionStatus();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21158
|
+
* 用于多选行,设置所有行的选中状态
|
|
21159
|
+
* @param {Boolean} value 是否选中
|
|
21160
|
+
*/setAllCheckboxRow(value){return handleCheckedAllCheckboxRow(value,true);},/**
|
|
21161
|
+
* 获取单选框保留选中的行
|
|
21162
|
+
*/getRadioReserveRecord(isFull){const{treeConfig}=props;const{fullDataRowIdData,radioReserveRow,afterFullData}=internalData;const radioOpts=computeRadioOpts.value;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;if(radioOpts.reserve&&radioReserveRow){const rowid=getRowid($xeTable,radioReserveRow);if(isFull){if(!fullDataRowIdData[rowid]){return radioReserveRow;}}else{const rowkey=getRowkey($xeTable);if(treeConfig){const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData,row=>rowid===external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,rowkey),{children:childrenField});if(matchObj){return radioReserveRow;}}else{if(!afterFullData.some(row=>rowid===external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,rowkey))){return radioReserveRow;}}}}return null;},clearRadioReserve(){internalData.radioReserveRow=null;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21163
|
+
* 获取复选框保留选中的行
|
|
21164
|
+
*/getCheckboxReserveRecords(isFull){const{treeConfig}=props;const{afterFullData,fullDataRowIdData,checkboxReserveRowMap}=internalData;const checkboxOpts=computeCheckboxOpts.value;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const reserveSelection=[];if(checkboxOpts.reserve){const{handleGetRowId}=createHandleGetRowId($xeTable);const afterFullIdMaps={};if(treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData,row=>{afterFullIdMaps[handleGetRowId(row)]=1;},{children:childrenField});}else{afterFullData.forEach(row=>{afterFullIdMaps[handleGetRowId(row)]=1;});}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(checkboxReserveRowMap,(oldRow,oldRowid)=>{if(oldRow){if(isFull){if(!fullDataRowIdData[oldRowid]){reserveSelection.push(oldRow);}}else{if(!afterFullIdMaps[oldRowid]){reserveSelection.push(oldRow);}}}});}return reserveSelection;},clearCheckboxReserve(){internalData.checkboxReserveRowMap={};return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21165
|
+
* 多选,切换所有行的选中状态
|
|
21166
|
+
*/toggleAllCheckboxRow(){handleCheckAllEvent(null,!reactData.isAllSelected);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21167
|
+
* 用于多选行,手动清空用户的选择
|
|
21168
|
+
* 清空行为不管是否被禁用还是保留记录,都将彻底清空选中状态
|
|
21147
21169
|
*/clearCheckboxRow(){const{treeConfig}=props;const{tableFullData}=internalData;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const checkboxOpts=computeCheckboxOpts.value;const{checkField,reserve}=checkboxOpts;// indeterminateField 仅支持读取
|
|
21148
|
-
const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;if(checkField){const handleClearChecked=item=>{if(treeConfig&&indeterminateField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item,indeterminateField,false);}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item,checkField,false);};if(treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData,handleClearChecked,{children:childrenField});}else{tableFullData.forEach(handleClearChecked);}}if(reserve){tableFullData.forEach(row=>handleCheckboxReserveRow(row,false));}reactData.isAllSelected=false;reactData.isIndeterminate=false;internalData.selectCheckboxMaps={};internalData.treeIndeterminateRowMaps={};reactData.updateCheckboxFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21149
|
-
* 用于当前行,设置某一行为高亮状态
|
|
21150
|
-
* @param {Row} row 行对象
|
|
21170
|
+
const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;if(checkField){const handleClearChecked=item=>{if(treeConfig&&indeterminateField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item,indeterminateField,false);}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(item,checkField,false);};if(treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullData,handleClearChecked,{children:childrenField});}else{tableFullData.forEach(handleClearChecked);}}if(reserve){tableFullData.forEach(row=>handleCheckboxReserveRow(row,false));}reactData.isAllSelected=false;reactData.isIndeterminate=false;internalData.selectCheckboxMaps={};internalData.treeIndeterminateRowMaps={};reactData.updateCheckboxFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21171
|
+
* 用于当前行,设置某一行为高亮状态
|
|
21172
|
+
* @param {Row} row 行对象
|
|
21151
21173
|
*/setCurrentRow(row){const $xeGanttView=internalData.xeGanttView;const rowOpts=computeRowOpts.value;const el=refElem.value;$xeTable.clearCurrentRow();// $xeTable.clearCurrentColumn()
|
|
21152
|
-
internalData.currentRow=row;if(rowOpts.isCurrent||props.highlightCurrentRow){if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`[rowid="${getRowid($xeTable,row)}"]`),elem=>addClass(elem,'row--current'));}}if($xeGanttView&&$xeGanttView.handleUpdateCurrentRow){$xeGanttView.handleUpdateCurrentRow(row);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},isCheckedByRadioRow(row){const{selectRadioRow}=reactData;if(row&&selectRadioRow){return $xeTable.eqRow(selectRadioRow,row);}return false;},isCheckedByRadioRowKey(key){const{selectRadioRow}=reactData;if(selectRadioRow){return key===getRowid($xeTable,selectRadioRow);}return false;},/**
|
|
21153
|
-
* 用于单选行,设置某一行为选中状态
|
|
21154
|
-
* @param {Row} row 行对象
|
|
21155
|
-
*/setRadioRow(row){return handleCheckedRadioRow(row,true);},/**
|
|
21156
|
-
* 用于单选行,设置某一行为选中状态
|
|
21157
|
-
* @param key 行主键
|
|
21158
|
-
*/setRadioRowKey(rowid){const{fullAllDataRowIdData}=internalData;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return handleCheckedRadioRow(rowRest.row,true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21159
|
-
* 用于当前行,手动清空当前高亮的状态
|
|
21160
|
-
*/clearCurrentRow(){const $xeGanttView=internalData.xeGanttView;const el=refElem.value;internalData.currentRow=null;internalData.hoverRow=null;if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll('.row--current'),elem=>removeClass(elem,'row--current'));}if($xeGanttView&&$xeGanttView.handleUpdateCurrentRow){$xeGanttView.handleUpdateCurrentRow();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21161
|
-
* 用于单选行,手动清空用户的选择
|
|
21162
|
-
*/clearRadioRow(){reactData.selectRadioRow=null;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21163
|
-
* 用于当前行,获取当前行的数据
|
|
21164
|
-
*/getCurrentRecord(isFull){const{fullDataRowIdData,afterFullRowMaps,currentRow}=internalData;const rowOpts=computeRowOpts.value;if(rowOpts.isCurrent||props.highlightCurrentRow){const rowid=getRowid($xeTable,currentRow);if(isFull){if(fullDataRowIdData[rowid]){return currentRow;}}else{if(afterFullRowMaps[rowid]){return currentRow;}}}return null;},/**
|
|
21165
|
-
* 用于单选行,获取当已选中的数据
|
|
21166
|
-
*/getRadioRecord(isFull){const{fullDataRowIdData,afterFullRowMaps}=internalData;const{selectRadioRow}=reactData;if(selectRadioRow){const rowid=getRowid($xeTable,selectRadioRow);if(isFull){if(fullDataRowIdData[rowid]){return selectRadioRow;}}else{if(afterFullRowMaps[rowid]){return selectRadioRow;}}}return null;},getCurrentColumn(){const columnOpts=computeColumnOpts.value;return columnOpts.isCurrent||props.highlightCurrentColumn?reactData.currentColumn:null;},/**
|
|
21167
|
-
* 用于当前列,设置某列行为高亮状态
|
|
21174
|
+
internalData.currentRow=row;if(rowOpts.isCurrent||props.highlightCurrentRow){if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`[rowid="${getRowid($xeTable,row)}"]`),elem=>addClass(elem,'row--current'));}}if($xeGanttView&&$xeGanttView.handleUpdateCurrentRow){$xeGanttView.handleUpdateCurrentRow(row);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},isCheckedByRadioRow(row){const{selectRadioRow}=reactData;if(row&&selectRadioRow){return $xeTable.eqRow(selectRadioRow,row);}return false;},isCheckedByRadioRowKey(key){const{selectRadioRow}=reactData;if(selectRadioRow){return key===getRowid($xeTable,selectRadioRow);}return false;},/**
|
|
21175
|
+
* 用于单选行,设置某一行为选中状态
|
|
21176
|
+
* @param {Row} row 行对象
|
|
21177
|
+
*/setRadioRow(row){return handleCheckedRadioRow(row,true);},/**
|
|
21178
|
+
* 用于单选行,设置某一行为选中状态
|
|
21179
|
+
* @param key 行主键
|
|
21180
|
+
*/setRadioRowKey(rowid){const{fullAllDataRowIdData}=internalData;const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return handleCheckedRadioRow(rowRest.row,true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21181
|
+
* 用于当前行,手动清空当前高亮的状态
|
|
21182
|
+
*/clearCurrentRow(){const $xeGanttView=internalData.xeGanttView;const el=refElem.value;internalData.currentRow=null;internalData.hoverRow=null;if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll('.row--current'),elem=>removeClass(elem,'row--current'));}if($xeGanttView&&$xeGanttView.handleUpdateCurrentRow){$xeGanttView.handleUpdateCurrentRow();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21183
|
+
* 用于单选行,手动清空用户的选择
|
|
21184
|
+
*/clearRadioRow(){reactData.selectRadioRow=null;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21185
|
+
* 用于当前行,获取当前行的数据
|
|
21186
|
+
*/getCurrentRecord(isFull){const{fullDataRowIdData,afterFullRowMaps,currentRow}=internalData;const rowOpts=computeRowOpts.value;if(rowOpts.isCurrent||props.highlightCurrentRow){const rowid=getRowid($xeTable,currentRow);if(isFull){if(fullDataRowIdData[rowid]){return currentRow;}}else{if(afterFullRowMaps[rowid]){return currentRow;}}}return null;},/**
|
|
21187
|
+
* 用于单选行,获取当已选中的数据
|
|
21188
|
+
*/getRadioRecord(isFull){const{fullDataRowIdData,afterFullRowMaps}=internalData;const{selectRadioRow}=reactData;if(selectRadioRow){const rowid=getRowid($xeTable,selectRadioRow);if(isFull){if(fullDataRowIdData[rowid]){return selectRadioRow;}}else{if(afterFullRowMaps[rowid]){return selectRadioRow;}}}return null;},getCurrentColumn(){const columnOpts=computeColumnOpts.value;return columnOpts.isCurrent||props.highlightCurrentColumn?reactData.currentColumn:null;},/**
|
|
21189
|
+
* 用于当前列,设置某列行为高亮状态
|
|
21168
21190
|
*/setCurrentColumn(fieldOrColumn){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;const isMouseSelected=mouseConfig&&mouseOpts.selected;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){$xeTable.clearCurrentColumn();reactData.currentColumn=column;}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{// 更新状选中态
|
|
21169
|
-
if(isMouseSelected){$xeTable.addCellSelectedClass();}});},/**
|
|
21170
|
-
* 用于当前列,手动清空当前高亮的状态
|
|
21191
|
+
if(isMouseSelected){$xeTable.addCellSelectedClass();}});},/**
|
|
21192
|
+
* 用于当前列,手动清空当前高亮的状态
|
|
21171
21193
|
*/clearCurrentColumn(){reactData.currentColumn=null;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},setPendingRow(rows,status){const{handleGetRowId}=createHandleGetRowId($xeTable);const{pendingRowMaps}=internalData;if(rows&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}if(status){rows.forEach(row=>{const rowid=handleGetRowId(row);if(rowid&&!pendingRowMaps[rowid]){pendingRowMaps[rowid]=row;}});}else{rows.forEach(row=>{const rowid=handleGetRowId(row);if(rowid&&pendingRowMaps[rowid]){delete pendingRowMaps[rowid];}});}reactData.pendingRowFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},togglePendingRow(rows){const{handleGetRowId}=createHandleGetRowId($xeTable);const{pendingRowMaps}=internalData;if(rows&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}rows.forEach(row=>{const rowid=handleGetRowId(row);if(rowid){if(pendingRowMaps[rowid]){delete pendingRowMaps[rowid];}else{pendingRowMaps[rowid]=row;}}});reactData.pendingRowFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},hasPendingByRow(row){return $xeTable.isPendingByRow(row);},isPendingByRow(row){const{pendingRowMaps}=internalData;const rowid=getRowid($xeTable,row);return!!pendingRowMaps[rowid];},getPendingRecords(){const{fullAllDataRowIdData,pendingRowMaps}=internalData;const insertRecords=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(pendingRowMaps,(row,rowid)=>{if(fullAllDataRowIdData[rowid]){insertRecords.push(row);}});return insertRecords;},clearPendingRow(){internalData.pendingRowMaps={};reactData.pendingRowFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},sort(sortConfs,sortOrder){const sortOpts=computeSortOpts.value;const{multiple,remote,orders}=sortOpts;if(sortConfs){if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(sortConfs)){sortConfs=[{field:sortConfs,order:sortOrder}];}}if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(sortConfs)){sortConfs=[sortConfs];}if(sortConfs.length){if(!multiple){clearAllSort();}(multiple?sortConfs:[sortConfs[0]]).forEach((confs,index)=>{let{field,order}=confs;let column=field;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(field)){column=$xeTable.getColumnByField(field);}if(column&&column.sortable){if(orders&&orders.indexOf(order)===-1){order=getNextSortOrder(column);}if(column.order!==order){column.order=order;}column.sortTime=Date.now()+index;}});// 如果是服务端排序,则跳过本地排序处理
|
|
21172
|
-
if(!remote){$xeTable.handleTableData(true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();$xeTable.updateCellAreas();return updateStyle();});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},setSort(sortConfs,isUpdate){return handleSortEvent(null,sortConfs,isUpdate);},setSortByEvent(evnt,sortConfs){return handleSortEvent(evnt,sortConfs,true);},/**
|
|
21173
|
-
* 清空指定列的排序条件
|
|
21174
|
-
* 如果为空则清空所有列的排序条件
|
|
21175
|
-
* @param {String} fieldOrColumn 列或字段名
|
|
21176
|
-
*/clearSort(fieldOrColumn){const sortOpts=computeSortOpts.value;if(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){column.order=null;}}else{clearAllSort();}if(!sortOpts.remote){$xeTable.handleTableData(true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();return updateStyle();});},clearSortByEvent(evnt,fieldOrColumn){const{tableFullColumn}=internalData;const sortOpts=computeSortOpts.value;const{multiple}=sortOpts;const sortCols=[];let column=null;if(evnt){if(fieldOrColumn){column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){column.order=null;}}else{tableFullColumn.forEach(column=>{if(column.order){column.order=null;sortCols.push(column);}});}if(!sortOpts.remote){$xeTable.handleTableData(true);}if(!multiple){column=sortCols[0];}if(column){$xeTable.handleColumnSortEvent(evnt,column);}if(multiple&&sortCols.length){const params={$table:$xeTable,$event:evnt,cols:sortCols,sortList:[]};dispatchEvent('clear-all-sort',params,evnt);}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();return updateStyle();});},isSort(fieldOrColumn){if(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);return column?column.sortable&&!!column.order:false;}return $xeTable.getSortColumns().length>0;},getSortColumns(){const sortOpts=computeSortOpts.value;const{multiple,chronological}=sortOpts;const sortList=[];const{tableFullColumn}=internalData;tableFullColumn.forEach(column=>{const{field,order}=column;if(column.sortable&&order){sortList.push({column,field,property:field,order:order,sortTime:column.sortTime});}});if(multiple&&chronological&&sortList.length>1){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(sortList,'sortTime');}return sortList;},setFilterByEvent(evnt,fieldOrColumn,options){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column&&column.filters){column.filters=toFilters(options||[],column.id);return $xeTable.handleColumnConfirmFilter(column,evnt);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21177
|
-
* 关闭筛选
|
|
21178
|
-
* @param {Event} evnt 事件
|
|
21179
|
-
*/closeFilter(){const{filterStore}=reactData;const{column,visible}=filterStore;filterStore.isAllSelected=false;filterStore.isIndeterminate=false;filterStore.visible=false;if(visible){const field=column?column.field:null;dispatchEvent('filter-visible',{column,property:field,field,filterList:()=>$xeTable.getCheckedFilters(),visible:false},null);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21180
|
-
* 判断指定列是否为筛选状态,如果为空则判断所有列
|
|
21181
|
-
* @param {String} fieldOrColumn 字段名
|
|
21182
|
-
*/isActiveFilterByColumn(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){return column.filters&&column.filters.some(option=>option.checked);}return $xeTable.getCheckedFilters().length>0;},isFilter(fieldOrColumn){return $xeTable.isActiveFilterByColumn(fieldOrColumn);},clearFilterByEvent(evnt,fieldOrColumn){const{filterStore}=reactData;const{tableFullColumn}=internalData;const filterOpts=computeFilterOpts.value;const{multiple}=filterOpts;const filterCols=[];let column=null;if(fieldOrColumn){column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){$xeTable.handleClearFilter(column);}}else{tableFullColumn.forEach(column=>{if(column.filters){filterCols.push(column);$xeTable.handleClearFilter(column);}});}if(!fieldOrColumn||column!==filterStore.column){Object.assign(filterStore,{isAllSelected:false,isIndeterminate:false,style:null,options:[],column:null,multiple:false
|
|
21183
|
-
|
|
21184
|
-
*
|
|
21185
|
-
|
|
21186
|
-
|
|
21187
|
-
*
|
|
21194
|
+
if(!remote){$xeTable.handleTableData(true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();$xeTable.updateCellAreas();return updateStyle();});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},setSort(sortConfs,isUpdate){return handleSortEvent(null,sortConfs,isUpdate);},setSortByEvent(evnt,sortConfs){return handleSortEvent(evnt,sortConfs,true);},/**
|
|
21195
|
+
* 清空指定列的排序条件
|
|
21196
|
+
* 如果为空则清空所有列的排序条件
|
|
21197
|
+
* @param {String} fieldOrColumn 列或字段名
|
|
21198
|
+
*/clearSort(fieldOrColumn){const sortOpts=computeSortOpts.value;if(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){column.order=null;}}else{clearAllSort();}if(!sortOpts.remote){$xeTable.handleTableData(true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();return updateStyle();});},clearSortByEvent(evnt,fieldOrColumn){const{tableFullColumn}=internalData;const sortOpts=computeSortOpts.value;const{multiple}=sortOpts;const sortCols=[];let column=null;if(evnt){if(fieldOrColumn){column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){column.order=null;}}else{tableFullColumn.forEach(column=>{if(column.order){column.order=null;sortCols.push(column);}});}if(!sortOpts.remote){$xeTable.handleTableData(true);}if(!multiple){column=sortCols[0];}if(column){$xeTable.handleColumnSortEvent(evnt,column);}if(multiple&&sortCols.length){const params={$table:$xeTable,$event:evnt,cols:sortCols,sortList:[]};dispatchEvent('clear-all-sort',params,evnt);}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();return updateStyle();});},isSort(fieldOrColumn){if(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);return column?column.sortable&&!!column.order:false;}return $xeTable.getSortColumns().length>0;},getSortColumns(){const sortOpts=computeSortOpts.value;const{multiple,chronological}=sortOpts;const sortList=[];const{tableFullColumn}=internalData;tableFullColumn.forEach(column=>{const{field,order}=column;if(column.sortable&&order){sortList.push({column,field,property:field,order:order,sortTime:column.sortTime});}});if(multiple&&chronological&&sortList.length>1){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(sortList,'sortTime');}return sortList;},setFilterByEvent(evnt,fieldOrColumn,options){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column&&column.filters){column.filters=toFilters(options||[],column.id);return $xeTable.handleColumnConfirmFilter(column,evnt);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21199
|
+
* 关闭筛选
|
|
21200
|
+
* @param {Event} evnt 事件
|
|
21201
|
+
*/closeFilter(){const{filterStore}=reactData;const{column,visible}=filterStore;filterStore.isAllSelected=false;filterStore.isIndeterminate=false;filterStore.visible=false;if(visible){const field=column?column.field:null;dispatchEvent('filter-visible',{column,property:field,field,filterList:()=>$xeTable.getCheckedFilters(),visible:false},null);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21202
|
+
* 判断指定列是否为筛选状态,如果为空则判断所有列
|
|
21203
|
+
* @param {String} fieldOrColumn 字段名
|
|
21204
|
+
*/isActiveFilterByColumn(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){return column.filters&&column.filters.some(option=>option.checked);}return $xeTable.getCheckedFilters().length>0;},isFilter(fieldOrColumn){return $xeTable.isActiveFilterByColumn(fieldOrColumn);},clearFilterByEvent(evnt,fieldOrColumn){const{filterStore}=reactData;const{tableFullColumn}=internalData;const filterOpts=computeFilterOpts.value;const{multiple}=filterOpts;const filterCols=[];let column=null;if(fieldOrColumn){column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){$xeTable.handleClearFilter(column);}}else{tableFullColumn.forEach(column=>{if(column.filters){filterCols.push(column);$xeTable.handleClearFilter(column);}});}if(!fieldOrColumn||column!==filterStore.column){Object.assign(filterStore,{isAllSelected:false,isIndeterminate:false,style:null,options:[],column:null,multiple:false,// 选项是覅多选
|
|
21205
|
+
visible:false});}if(!filterOpts.remote){$xeTable.updateData();}if(!multiple){column=filterCols[0];}if(column){const filterList=()=>$xeTable.getCheckedFilters();const values=[];const datas=[];column.filters.forEach(item=>{if(item.checked){values.push(item.value);datas.push(item.data);}});const params={$table:$xeTable,$event:evnt,column,field:column.field,property:column.field,values,datas,filters:filterList,filterList};$xeTable.dispatchEvent('filter-change',params,evnt);$xeTable.dispatchEvent('clear-filter',params,evnt);}if(multiple&&filterCols.length){const params={$table:$xeTable,$event:evnt,cols:filterCols,filterList:[]};dispatchEvent('clear-all-filter',params,evnt);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21206
|
+
* 判断展开行是否懒加载完成
|
|
21207
|
+
* @param {Row} row 行对象
|
|
21208
|
+
*/isRowExpandLoaded(row){const{fullAllDataRowIdData}=internalData;const rowRest=fullAllDataRowIdData[getRowid($xeTable,row)];return rowRest&&!!rowRest.expandLoaded;},clearRowExpandLoaded(row){const{fullAllDataRowIdData,rowExpandLazyLoadedMaps}=internalData;const expandOpts=computeExpandOpts.value;const{lazy}=expandOpts;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(lazy&&rowRest){rowRest.expandLoaded=false;delete rowExpandLazyLoadedMaps[rowid];}reactData.rowExpandedFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21209
|
+
* 重新懒加载展开行,并展开内容
|
|
21210
|
+
* @param {Row} row 行对象
|
|
21188
21211
|
*/reloadRowExpand(row){const{rowExpandLazyLoadedMaps}=internalData;const expandOpts=computeExpandOpts.value;const{lazy}=expandOpts;const rowid=getRowid($xeTable,row);if(lazy&&!rowExpandLazyLoadedMaps[rowid]){$xeTable.clearRowExpandLoaded(row).then(()=>handleAsyncRowExpand(row));}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},reloadExpandContent(row){table_warnLog('vxe.error.delFunc',['reloadExpandContent','reloadRowExpand']);// 即将废弃
|
|
21189
|
-
return $xeTable.reloadRowExpand(row);},/**
|
|
21190
|
-
* 切换展开行
|
|
21191
|
-
*/toggleRowExpand(row){return $xeTable.setRowExpand(row,!$xeTable.isRowExpandByRow(row));},/**
|
|
21192
|
-
* 设置所有行的展开与否
|
|
21193
|
-
* @param {Boolean} expanded 是否展开
|
|
21194
|
-
*/setAllRowExpand(expanded){const treeOpts=computeTreeOpts.value;const{tableFullData,tableFullTreeData}=internalData;const childrenField=treeOpts.children||treeOpts.childrenField;let expandedRows=[];if(props.treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,row=>{expandedRows.push(row);},{children:childrenField});}else{expandedRows=tableFullData;}return $xeTable.setRowExpand(expandedRows,expanded);},/**
|
|
21195
|
-
* 设置展开行,二个参数设置这一行展开与否
|
|
21196
|
-
* 支持单行
|
|
21197
|
-
* 支持多行
|
|
21198
|
-
* @param {Array/Row} rows 行数据
|
|
21199
|
-
* @param {Boolean} expanded 是否展开
|
|
21212
|
+
return $xeTable.reloadRowExpand(row);},/**
|
|
21213
|
+
* 切换展开行
|
|
21214
|
+
*/toggleRowExpand(row){return $xeTable.setRowExpand(row,!$xeTable.isRowExpandByRow(row));},/**
|
|
21215
|
+
* 设置所有行的展开与否
|
|
21216
|
+
* @param {Boolean} expanded 是否展开
|
|
21217
|
+
*/setAllRowExpand(expanded){const treeOpts=computeTreeOpts.value;const{tableFullData,tableFullTreeData}=internalData;const childrenField=treeOpts.children||treeOpts.childrenField;let expandedRows=[];if(props.treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,row=>{expandedRows.push(row);},{children:childrenField});}else{expandedRows=tableFullData;}return $xeTable.setRowExpand(expandedRows,expanded);},/**
|
|
21218
|
+
* 设置展开行,二个参数设置这一行展开与否
|
|
21219
|
+
* 支持单行
|
|
21220
|
+
* 支持多行
|
|
21221
|
+
* @param {Array/Row} rows 行数据
|
|
21222
|
+
* @param {Boolean} expanded 是否展开
|
|
21200
21223
|
*/setRowExpand(rows,expanded){const{expandColumn}=reactData;let{fullAllDataRowIdData,rowExpandedMaps,rowExpandLazyLoadedMaps}=internalData;const{handleGetRowId}=createHandleGetRowId($xeTable);const expandOpts=computeExpandOpts.value;const{reserve,lazy,accordion,toggleMethod}=expandOpts;const lazyRests=[];const columnIndex=expandColumn?$xeTable.getColumnIndex(expandColumn):-1;const $columnIndex=expandColumn?$xeTable.getVMColumnIndex(expandColumn):-1;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}if(accordion){// 只能同时展开一个
|
|
21201
|
-
rowExpandedMaps={};internalData.rowExpandedMaps=rowExpandedMaps;rows=rows.slice(rows.length-1,rows.length);}const validRows=toggleMethod?rows.filter(row=>toggleMethod({$table:$xeTable,expanded,column:expandColumn,columnIndex,$columnIndex,row,rowIndex:$xeTable.getRowIndex(row),$rowIndex:$xeTable.getVMRowIndex(row)})):rows;if(expanded){validRows.forEach(row=>{const rowid=handleGetRowId(row);if(!rowExpandedMaps[rowid]){const rowRest=fullAllDataRowIdData[rowid];const isLoad=lazy&&!rowRest.expandLoaded&&!rowExpandLazyLoadedMaps[rowid];if(isLoad){lazyRests.push(handleAsyncRowExpand(row));}else{rowExpandedMaps[rowid]=row;}}});}else{validRows.forEach(item=>{const rowid=handleGetRowId(item);if(rowExpandedMaps[rowid]){delete rowExpandedMaps[rowid];}});}if(reserve){validRows.forEach(row=>handleRowExpandReserve(row,expanded));}}reactData.rowExpandedFlag++;return Promise.all(lazyRests).then(()=>(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)()).then(()=>handleLazyRecalculate(true,true,true)).then(()=>{updateRowOffsetTop();updateRowExpandStyle();handleRowExpandScroll();return $xeTable.updateCellAreas();});},/**
|
|
21202
|
-
* 判断行是否为展开状态
|
|
21203
|
-
* @param {Row} row 行对象
|
|
21224
|
+
rowExpandedMaps={};internalData.rowExpandedMaps=rowExpandedMaps;rows=rows.slice(rows.length-1,rows.length);}const validRows=toggleMethod?rows.filter(row=>toggleMethod({$table:$xeTable,expanded,column:expandColumn,columnIndex,$columnIndex,row,rowIndex:$xeTable.getRowIndex(row),$rowIndex:$xeTable.getVMRowIndex(row)})):rows;if(expanded){validRows.forEach(row=>{const rowid=handleGetRowId(row);if(!rowExpandedMaps[rowid]){const rowRest=fullAllDataRowIdData[rowid];const isLoad=lazy&&!rowRest.expandLoaded&&!rowExpandLazyLoadedMaps[rowid];if(isLoad){lazyRests.push(handleAsyncRowExpand(row));}else{rowExpandedMaps[rowid]=row;}}});}else{validRows.forEach(item=>{const rowid=handleGetRowId(item);if(rowExpandedMaps[rowid]){delete rowExpandedMaps[rowid];}});}if(reserve){validRows.forEach(row=>handleRowExpandReserve(row,expanded));}}reactData.rowExpandedFlag++;return Promise.all(lazyRests).then(()=>(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)()).then(()=>handleLazyRecalculate(true,true,true)).then(()=>{updateRowOffsetTop();updateRowExpandStyle();handleRowExpandScroll();return $xeTable.updateCellAreas();});},/**
|
|
21225
|
+
* 判断行是否为展开状态
|
|
21226
|
+
* @param {Row} row 行对象
|
|
21204
21227
|
*/isRowExpandByRow(row){const{rowExpandedFlag}=reactData;const{rowExpandedMaps}=internalData;const rowid=getRowid($xeTable,row);return!!rowExpandedFlag&&!!rowExpandedMaps[rowid];},isExpandByRow(row){// 已废弃
|
|
21205
|
-
table_warnLog('vxe.error.delFunc',['isExpandByRow','isRowExpandByRow']);return $xeTable.isRowExpandByRow(row);},/**
|
|
21206
|
-
* 手动清空展开行状态,数据会恢复成未展开的状态
|
|
21207
|
-
*/clearRowExpand(){const{tableFullData,scrollYStore}=internalData;const expandOpts=computeExpandOpts.value;const{reserve}=expandOpts;const expList=$xeTable.getRowExpandRecords();internalData.rowExpandedMaps={};if(reserve){tableFullData.forEach(row=>handleRowExpandReserve(row,false));}reactData.rowExpandedFlag++;scrollYStore.startIndex=0;scrollYStore.endIndex=1;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{if(expList.length){return handleLazyRecalculate(true,true,true);}}).then(()=>{updateRowOffsetTop();updateRowExpandStyle();handleRowExpandScroll();return $xeTable.updateCellAreas();});},clearRowExpandReserve(){internalData.rowExpandedReserveRowMap={};return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},getRowExpandRecords(){const rest=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(internalData.rowExpandedMaps,item=>{if(item){rest.push(item);}});return rest;},setRowGroups(fieldOrColumns){const{aggregateConfig,rowGroupConfig}=props;const aggregateOpts=computeAggregateOpts.value;const{maxGroupSize}=aggregateOpts;if(!(aggregateConfig||rowGroupConfig)){table_errLog('vxe.error.reqProp',['aggregate-config']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}const confList=fieldOrColumns?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumns)?fieldOrColumns:[fieldOrColumns]:[];if(maxGroupSize&&confList.length>maxGroupSize){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:table_getI18n('vxe.table.maxGroupCol',[maxGroupSize])});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}if(confList.length){handleUpdateRowGroup(confList.map(fieldOrColumn=>{return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(fieldOrColumn)?fieldOrColumn:fieldOrColumn.field;}));return loadTableData(internalData.tableSynchData,false,true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},getRowGroups(){const{aggregateConfig,rowGroupConfig}=props;const{fullColumnFieldData}=internalData;if(aggregateConfig||rowGroupConfig){const{rowGroupList}=reactData;return rowGroupList.map(({field})=>{const colRet=fullColumnFieldData[field];if(colRet){return colRet.column;}return{field};});}return[];},getRowGroupFields(){return $xeTable.getRowGroups().map(item=>item.field);},clearRowGroups(){const{aggregateConfig,rowGroupConfig}=props;if(!(aggregateConfig||rowGroupConfig)){table_errLog('vxe.error.reqProp',['aggregate-config']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}handleUpdateRowGroup([]);return loadTableData(internalData.tableSynchData,false,true);},isRowGroupRecord(row){table_warnLog('vxe.error.delFunc',['isRowGroupRecord','isAggregateRecord']);return $xeTable.isAggregateRecord(row);},isRowGroupExpandByRow(row){table_warnLog('vxe.error.delFunc',['isRowGroupExpandByRow','isAggregateExpandByRow']);return $xeTable.isAggregateExpandByRow(row);},isAggregateRecord(row){const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row.isAggregate;},getAggregateContentByRow(row){const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row&&row.isAggregate?row.groupContent:'';},getAggregateRowChildren(row){const aggregateOpts=computeAggregateOpts.value;const{childrenField,mapChildrenField}=aggregateOpts;const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row&&row.isAggregate&&childrenField&&mapChildrenField?row[mapChildrenField]||[]:[];},refreshAggregateCalcValues(){updateGroupData();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},isAggregateExpandByRow(row){const{rowGroupExpandedFlag}=reactData;const{rowGroupExpandedMaps}=internalData;return!!rowGroupExpandedFlag&&!!rowGroupExpandedMaps[getRowid($xeTable,row)];},setRowGroupExpand(rows,expanded){if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}return handleRowGroupVirtualExpand(rows,expanded);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},setRowGroupExpandByField(groupFields,expanded){const{isRowGroupStatus}=reactData;const aggregateOpts=computeAggregateOpts.value;const{childrenField}=aggregateOpts;if(groupFields){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(groupFields)){groupFields=[groupFields];}if(isRowGroupStatus){const rows=[];const gfKeys={};groupFields.forEach(groupField=>{gfKeys[groupField]=true;});external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(internalData.afterGroupFullData,row=>{if(row.isAggregate&&gfKeys[row.groupField]){rows.push(row);}},{children:childrenField});if(rows.length){return handleRowGroupVirtualExpand(rows,expanded);}}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},setAllRowGroupExpand(expanded){const{tableFullGroupData}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;const rgExpandedMaps={};if(expanded&&mapChildrenField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullGroupData,row=>{if(row[mapChildrenField]&&row[mapChildrenField].length){rgExpandedMaps[getRowid($xeTable,row)]=row;}},{children:mapChildrenField});}internalData.rowGroupExpandedMaps=rgExpandedMaps;handleVirtualTreeToList();$xeTable.handleTableData();updateAfterDataIndex();reactData.rowGroupExpandedFlag++;return handleLazyRecalculate(true,true,true);},clearRowGroupExpand(){internalData.rowGroupExpandedMaps={};handleVirtualTreeToList();$xeTable.handleTableData();updateAfterDataIndex();reactData.rowGroupExpandedFlag++;return handleLazyRecalculate(true,true,true);},getTreeExpandRecords(){const rest=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(internalData.treeExpandedMaps,item=>{if(item){rest.push(item);}});return rest;},/**
|
|
21208
|
-
* 判断树节点是否懒加载完成
|
|
21209
|
-
* @param {Row} row 行对象
|
|
21210
|
-
*/isTreeExpandLoaded(row){const{fullAllDataRowIdData}=internalData;const rowRest=fullAllDataRowIdData[getRowid($xeTable,row)];return rowRest&&!!rowRest.treeLoaded;},clearTreeExpandLoaded(rows){const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}rows.forEach(row=>{const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.treeLoaded=false;if(treeExpandedMaps[rowid]){delete treeExpandedMaps[rowid];}}});}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData,rowRest=>{rowRest.treeLoaded=false;});internalData.treeExpandedMaps={};}if(transform){handleVirtualTreeToList();$xeTable.handleTableData();}reactData.treeExpandedFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21211
|
-
* 重新懒加载树节点,并展开该节点
|
|
21212
|
-
* @param {Row} row 行对象
|
|
21228
|
+
table_warnLog('vxe.error.delFunc',['isExpandByRow','isRowExpandByRow']);return $xeTable.isRowExpandByRow(row);},/**
|
|
21229
|
+
* 手动清空展开行状态,数据会恢复成未展开的状态
|
|
21230
|
+
*/clearRowExpand(){const{tableFullData,scrollYStore}=internalData;const expandOpts=computeExpandOpts.value;const{reserve}=expandOpts;const expList=$xeTable.getRowExpandRecords();internalData.rowExpandedMaps={};if(reserve){tableFullData.forEach(row=>handleRowExpandReserve(row,false));}reactData.rowExpandedFlag++;scrollYStore.startIndex=0;scrollYStore.endIndex=1;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{if(expList.length){return handleLazyRecalculate(true,true,true);}}).then(()=>{updateRowOffsetTop();updateRowExpandStyle();handleRowExpandScroll();return $xeTable.updateCellAreas();});},clearRowExpandReserve(){internalData.rowExpandedReserveRowMap={};return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},getRowExpandRecords(){const rest=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(internalData.rowExpandedMaps,item=>{if(item){rest.push(item);}});return rest;},setRowGroups(fieldOrColumns){const{aggregateConfig,rowGroupConfig}=props;const aggregateOpts=computeAggregateOpts.value;const{maxGroupSize}=aggregateOpts;if(!(aggregateConfig||rowGroupConfig)){table_errLog('vxe.error.reqProp',['aggregate-config']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}const confList=fieldOrColumns?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumns)?fieldOrColumns:[fieldOrColumns]:[];if(maxGroupSize&&confList.length>maxGroupSize){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:table_getI18n('vxe.table.maxGroupCol',[maxGroupSize])});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}if(confList.length){handleUpdateRowGroup(confList.map(fieldOrColumn=>{return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(fieldOrColumn)?fieldOrColumn:fieldOrColumn.field;}));return loadTableData(internalData.tableSynchData,false,true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},getRowGroups(){const{aggregateConfig,rowGroupConfig}=props;const{fullColumnFieldData}=internalData;if(aggregateConfig||rowGroupConfig){const{rowGroupList}=reactData;return rowGroupList.map(({field})=>{const colRet=fullColumnFieldData[field];if(colRet){return colRet.column;}return{field};});}return[];},getRowGroupFields(){return $xeTable.getRowGroups().map(item=>item.field);},clearRowGroups(){const{aggregateConfig,rowGroupConfig}=props;if(!(aggregateConfig||rowGroupConfig)){table_errLog('vxe.error.reqProp',['aggregate-config']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}handleUpdateRowGroup([]);return loadTableData(internalData.tableSynchData,false,true);},isRowGroupRecord(row){table_warnLog('vxe.error.delFunc',['isRowGroupRecord','isAggregateRecord']);return $xeTable.isAggregateRecord(row);},isRowGroupExpandByRow(row){table_warnLog('vxe.error.delFunc',['isRowGroupExpandByRow','isAggregateExpandByRow']);return $xeTable.isAggregateExpandByRow(row);},isAggregateRecord(row){const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row.isAggregate;},getAggregateContentByRow(row){const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row&&row.isAggregate?row.groupContent:'';},getAggregateRowChildren(row){const aggregateOpts=computeAggregateOpts.value;const{childrenField,mapChildrenField}=aggregateOpts;const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row&&row.isAggregate&&childrenField&&mapChildrenField?row[mapChildrenField]||[]:[];},refreshAggregateCalcValues(){updateGroupData();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},isAggregateExpandByRow(row){const{rowGroupExpandedFlag}=reactData;const{rowGroupExpandedMaps}=internalData;return!!rowGroupExpandedFlag&&!!rowGroupExpandedMaps[getRowid($xeTable,row)];},setRowGroupExpand(rows,expanded){if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}return handleRowGroupVirtualExpand(rows,expanded);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},setRowGroupExpandByField(groupFields,expanded){const{isRowGroupStatus}=reactData;const aggregateOpts=computeAggregateOpts.value;const{childrenField}=aggregateOpts;if(groupFields){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(groupFields)){groupFields=[groupFields];}if(isRowGroupStatus){const rows=[];const gfKeys={};groupFields.forEach(groupField=>{gfKeys[groupField]=true;});external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(internalData.afterGroupFullData,row=>{if(row.isAggregate&&gfKeys[row.groupField]){rows.push(row);}},{children:childrenField});if(rows.length){return handleRowGroupVirtualExpand(rows,expanded);}}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},setAllRowGroupExpand(expanded){const{tableFullGroupData}=internalData;const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;const rgExpandedMaps={};if(expanded&&mapChildrenField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullGroupData,row=>{if(row[mapChildrenField]&&row[mapChildrenField].length){rgExpandedMaps[getRowid($xeTable,row)]=row;}},{children:mapChildrenField});}internalData.rowGroupExpandedMaps=rgExpandedMaps;handleVirtualTreeToList();$xeTable.handleTableData();updateAfterDataIndex();reactData.rowGroupExpandedFlag++;return handleLazyRecalculate(true,true,true);},clearRowGroupExpand(){internalData.rowGroupExpandedMaps={};handleVirtualTreeToList();$xeTable.handleTableData();updateAfterDataIndex();reactData.rowGroupExpandedFlag++;return handleLazyRecalculate(true,true,true);},getTreeExpandRecords(){const rest=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(internalData.treeExpandedMaps,item=>{if(item){rest.push(item);}});return rest;},/**
|
|
21231
|
+
* 判断树节点是否懒加载完成
|
|
21232
|
+
* @param {Row} row 行对象
|
|
21233
|
+
*/isTreeExpandLoaded(row){const{fullAllDataRowIdData}=internalData;const rowRest=fullAllDataRowIdData[getRowid($xeTable,row)];return rowRest&&!!rowRest.treeLoaded;},clearTreeExpandLoaded(rows){const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}rows.forEach(row=>{const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){rowRest.treeLoaded=false;if(treeExpandedMaps[rowid]){delete treeExpandedMaps[rowid];}}});}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(fullAllDataRowIdData,rowRest=>{rowRest.treeLoaded=false;});internalData.treeExpandedMaps={};}if(transform){handleVirtualTreeToList();$xeTable.handleTableData();}reactData.treeExpandedFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21234
|
+
* 重新懒加载树节点,并展开该节点
|
|
21235
|
+
* @param {Row} row 行对象
|
|
21213
21236
|
*/reloadTreeExpand(row){const{treeExpandLazyLoadedMaps}=internalData;const treeOpts=computeTreeOpts.value;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const{transform,lazy}=treeOpts;const rowid=getRowid($xeTable,row);if(lazy&&row[hasChildField]&&!treeExpandLazyLoadedMaps[rowid]){return $xeTable.clearTreeExpandLoaded(row).then(()=>{return handleAsyncTreeExpandChilds(row);}).then(()=>{if(transform){handleVirtualTreeToList();$xeTable.handleTableData();}reactData.treeExpandedFlag++;}).then(()=>{return $xeTable.recalculate();});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},reloadTreeChilds(row){table_warnLog('vxe.error.delFunc',['reloadTreeChilds','reloadTreeExpand']);// 即将废弃
|
|
21214
|
-
return $xeTable.reloadTreeExpand(row);},/**
|
|
21215
|
-
* 切换/展开树节点
|
|
21216
|
-
*/toggleTreeExpand(row){return $xeTable.setTreeExpand(row,!$xeTable.isTreeExpandByRow(row));},/**
|
|
21217
|
-
* 设置所有树节点的展开与否
|
|
21218
|
-
* @param {Boolean} expanded 是否展开
|
|
21219
|
-
*/setAllTreeExpand(expanded){const{tableFullTreeData}=internalData;const treeOpts=computeTreeOpts.value;const{transform,lazy}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const expandeds=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,row=>{const rowChildren=row[childrenField];if(lazy||rowChildren&&rowChildren.length){expandeds.push(row);}},{children:childrenField});return $xeTable.setTreeExpand(expandeds,expanded).then(()=>{if(transform){handleVirtualTreeToList();reactData.treeExpandedFlag++;return $xeTable.recalculate();}});},/**
|
|
21220
|
-
* 设置展开树形节点,二个参数设置这一行展开与否
|
|
21221
|
-
* 支持单行
|
|
21222
|
-
* 支持多行
|
|
21223
|
-
* @param {Array/Row} rows 行数据
|
|
21224
|
-
* @param {Boolean} expanded 是否展开
|
|
21237
|
+
return $xeTable.reloadTreeExpand(row);},/**
|
|
21238
|
+
* 切换/展开树节点
|
|
21239
|
+
*/toggleTreeExpand(row){return $xeTable.setTreeExpand(row,!$xeTable.isTreeExpandByRow(row));},/**
|
|
21240
|
+
* 设置所有树节点的展开与否
|
|
21241
|
+
* @param {Boolean} expanded 是否展开
|
|
21242
|
+
*/setAllTreeExpand(expanded){const{tableFullTreeData}=internalData;const treeOpts=computeTreeOpts.value;const{transform,lazy}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const expandeds=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,row=>{const rowChildren=row[childrenField];if(lazy||rowChildren&&rowChildren.length){expandeds.push(row);}},{children:childrenField});return $xeTable.setTreeExpand(expandeds,expanded).then(()=>{if(transform){handleVirtualTreeToList();reactData.treeExpandedFlag++;return $xeTable.recalculate();}});},/**
|
|
21243
|
+
* 设置展开树形节点,二个参数设置这一行展开与否
|
|
21244
|
+
* 支持单行
|
|
21245
|
+
* 支持多行
|
|
21246
|
+
* @param {Array/Row} rows 行数据
|
|
21247
|
+
* @param {Boolean} expanded 是否展开
|
|
21225
21248
|
*/setTreeExpand(rows,expanded){const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}if(rows.length){// 如果为虚拟树
|
|
21226
|
-
if(transform){return handleVirtualTreeExpand(rows,expanded);}else{return handleBaseTreeExpand(rows,expanded);}}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21227
|
-
* 判断行是否为树形节点展开状态
|
|
21228
|
-
* @param {Row} row 行对象
|
|
21229
|
-
*/isTreeExpandByRow(row){const{treeExpandedFlag}=reactData;const{treeExpandedMaps}=internalData;return!!treeExpandedFlag&&!!treeExpandedMaps[getRowid($xeTable,row)];},/**
|
|
21230
|
-
* 手动清空树形节点的展开状态,数据会恢复成未展开的状态
|
|
21231
|
-
*/clearTreeExpand(){const{tableFullTreeData}=internalData;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const{transform,reserve}=treeOpts;const expList=$xeTable.getTreeExpandRecords();internalData.treeExpandedMaps={};if(reserve){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,row=>handleTreeExpandReserve(row,false),{children:childrenField});}return $xeTable.handleTableData().then(()=>{if(transform){handleVirtualTreeToList();$xeTable.handleTableData();}reactData.treeExpandedFlag++;}).then(()=>{updateTreeLineStyle();if(expList.length){return $xeTable.recalculate();}});},clearTreeExpandReserve(){internalData.treeExpandedReserveRowMap={};return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21232
|
-
* 获取表格的滚动状态
|
|
21233
|
-
*/getScroll(){return $xeTable.getScrollData();},/**
|
|
21234
|
-
* 获取表格的滚动数据
|
|
21235
|
-
*/getScrollData(){const{scrollXLoad,scrollYLoad,scrollbarHeight,scrollbarWidth}=reactData;const{elemStore}=internalData;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const scrollTop=bodyScrollElem?bodyScrollElem.scrollTop:0;const scrollLeft=bodyScrollElem?bodyScrollElem.scrollLeft:0;const clientHeight=bodyScrollElem?bodyScrollElem.clientHeight:0;const clientWidth=bodyScrollElem?bodyScrollElem.clientWidth:0;const scrollHeight=bodyScrollElem?bodyScrollElem.scrollHeight:0;const scrollWidth=bodyScrollElem?bodyScrollElem.scrollWidth:0;const isTop=scrollTop<=0;const isBottom=scrollTop+clientHeight>=scrollHeight;const isLeft=scrollLeft<=0;const isRight=scrollLeft+clientWidth>=scrollWidth;return{virtualX:scrollXLoad,virtualY:scrollYLoad,isTop,isBottom,isLeft,isRight,scrollbarHeight,scrollbarWidth,scrollTop,scrollLeft,scrollHeight,scrollWidth,clientHeight,clientWidth};},/**
|
|
21236
|
-
* 如果有滚动条,则滚动到对应的位置
|
|
21237
|
-
*/scrollTo(scrollLeft,scrollTop){const{elemStore}=internalData;const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;internalData.intoRunScroll=true;if(scrollLeft){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollLeft)){scrollTop=scrollLeft.top;scrollLeft=scrollLeft.left;}}if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollLeft)){setScrollLeft(xHandleEl,scrollLeft);setScrollLeft(bodyScrollElem,scrollLeft);setScrollLeft(headerScrollElem,scrollLeft);setScrollLeft(footerScrollElem,scrollLeft);if(reactData.scrollXLoad){loadScrollXData();}}if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollTop)){setScrollTop(yHandleEl,scrollTop);setScrollTop(bodyScrollElem,scrollTop);setScrollTop(leftScrollElem,scrollTop);setScrollTop(rightScrollElem,scrollTop);if(reactData.scrollYLoad){loadScrollYData();}}return new Promise(resolve=>{setTimeout(()=>{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{internalData.intoRunScroll=false;resolve();});},reactData.scrollXLoad||reactData.scrollYLoad?30:0);});},/**
|
|
21238
|
-
* 如果有滚动条,则滚动到对应的行
|
|
21249
|
+
if(transform){return handleVirtualTreeExpand(rows,expanded);}else{return handleBaseTreeExpand(rows,expanded);}}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21250
|
+
* 判断行是否为树形节点展开状态
|
|
21251
|
+
* @param {Row} row 行对象
|
|
21252
|
+
*/isTreeExpandByRow(row){const{treeExpandedFlag}=reactData;const{treeExpandedMaps}=internalData;return!!treeExpandedFlag&&!!treeExpandedMaps[getRowid($xeTable,row)];},/**
|
|
21253
|
+
* 手动清空树形节点的展开状态,数据会恢复成未展开的状态
|
|
21254
|
+
*/clearTreeExpand(){const{tableFullTreeData}=internalData;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const{transform,reserve}=treeOpts;const expList=$xeTable.getTreeExpandRecords();internalData.treeExpandedMaps={};if(reserve){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,row=>handleTreeExpandReserve(row,false),{children:childrenField});}return $xeTable.handleTableData().then(()=>{if(transform){handleVirtualTreeToList();$xeTable.handleTableData();}reactData.treeExpandedFlag++;}).then(()=>{updateTreeLineStyle();if(expList.length){return $xeTable.recalculate();}});},clearTreeExpandReserve(){internalData.treeExpandedReserveRowMap={};return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21255
|
+
* 获取表格的滚动状态
|
|
21256
|
+
*/getScroll(){return $xeTable.getScrollData();},/**
|
|
21257
|
+
* 获取表格的滚动数据
|
|
21258
|
+
*/getScrollData(){const{scrollXLoad,scrollYLoad,scrollbarHeight,scrollbarWidth}=reactData;const{elemStore}=internalData;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const scrollTop=bodyScrollElem?bodyScrollElem.scrollTop:0;const scrollLeft=bodyScrollElem?bodyScrollElem.scrollLeft:0;const clientHeight=bodyScrollElem?bodyScrollElem.clientHeight:0;const clientWidth=bodyScrollElem?bodyScrollElem.clientWidth:0;const scrollHeight=bodyScrollElem?bodyScrollElem.scrollHeight:0;const scrollWidth=bodyScrollElem?bodyScrollElem.scrollWidth:0;const isTop=scrollTop<=0;const isBottom=scrollTop+clientHeight>=scrollHeight;const isLeft=scrollLeft<=0;const isRight=scrollLeft+clientWidth>=scrollWidth;return{virtualX:scrollXLoad,virtualY:scrollYLoad,isTop,isBottom,isLeft,isRight,scrollbarHeight,scrollbarWidth,scrollTop,scrollLeft,scrollHeight,scrollWidth,clientHeight,clientWidth};},/**
|
|
21259
|
+
* 如果有滚动条,则滚动到对应的位置
|
|
21260
|
+
*/scrollTo(scrollLeft,scrollTop){const{elemStore}=internalData;const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;internalData.intoRunScroll=true;if(scrollLeft){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollLeft)){scrollTop=scrollLeft.top;scrollLeft=scrollLeft.left;}}if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollLeft)){setScrollLeft(xHandleEl,scrollLeft);setScrollLeft(bodyScrollElem,scrollLeft);setScrollLeft(headerScrollElem,scrollLeft);setScrollLeft(footerScrollElem,scrollLeft);if(reactData.scrollXLoad){loadScrollXData();}}if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollTop)){setScrollTop(yHandleEl,scrollTop);setScrollTop(bodyScrollElem,scrollTop);setScrollTop(leftScrollElem,scrollTop);setScrollTop(rightScrollElem,scrollTop);if(reactData.scrollYLoad){loadScrollYData();}}return new Promise(resolve=>{setTimeout(()=>{(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{internalData.intoRunScroll=false;resolve();});},reactData.scrollXLoad||reactData.scrollYLoad?30:0);});},/**
|
|
21261
|
+
* 如果有滚动条,则滚动到对应的行
|
|
21239
21262
|
*/scrollToRow(rowOrRowid,fieldOrColumn,options){const{isAllOverflow,scrollYLoad,scrollXLoad}=reactData;const{fullAllDataRowIdData,_sToTime}=internalData;const rest=[];let row;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(rowOrRowid)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(rowOrRowid)){const rowid=rowOrRowid;const rowRest=rowid?fullAllDataRowIdData[rowid]:null;if(rowRest){row=rowRest.row;}}else{row=rowOrRowid;}if(row){if(props.treeConfig){rest.push($xeTable.scrollToTreeRow(row));}else{rest.push(rowToVisible($xeTable,row));}}if(fieldOrColumn){rest.push(handleScrollToRowColumn(fieldOrColumn,row,options));}if(_sToTime){clearTimeout(_sToTime);}return Promise.all(rest).then(()=>{if(row){if(!isAllOverflow&&(scrollYLoad||scrollXLoad)){calcCellHeight();calcCellWidth();// 可视区被渲染后位置被偏移
|
|
21240
|
-
internalData._sToTime=setTimeout(()=>{internalData._sToTime=undefined;if(scrollYLoad){if(props.treeConfig){$xeTable.scrollToTreeRow(row);}else{rowToVisible($xeTable,row);}}if(scrollXLoad&&fieldOrColumn){handleScrollToRowColumn(fieldOrColumn,row,options);}},350);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}});},/**
|
|
21241
|
-
* 如果有滚动条,则滚动到第一行
|
|
21242
|
-
*/scrollToStartRow(fieldOrColumn,options){const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[0],fieldOrColumn,options);},/**
|
|
21243
|
-
* 如果有滚动条,则滚动到最后一行
|
|
21244
|
-
*/scrollToEndRow(fieldOrColumn,options){const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[afterFullData.length-1],fieldOrColumn,options);},/**
|
|
21245
|
-
* 如果有滚动条,则滚动到对应的列
|
|
21246
|
-
*/scrollToColumn(fieldOrColumn,options){return handleScrollToRowColumn(fieldOrColumn,null,options);},/**
|
|
21247
|
-
* 如果有滚动条,则滚动到第一列
|
|
21248
|
-
*/scrollToStartColumn(options){const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[0],options);},/**
|
|
21249
|
-
* 如果有滚动条,则滚动到最后一列
|
|
21250
|
-
*/scrollToEndColumn(options){const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[visibleColumn.length-1],options);},/**
|
|
21251
|
-
* 手动清除滚动相关信息,还原到初始状态
|
|
21252
|
-
*/clearScroll(){const{elemStore,scrollXStore,scrollYStore}=internalData;const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;internalData.intoRunScroll=true;setScrollLeft(xHandleEl,0);setScrollLeft(bodyScrollElem,0);setScrollLeft(headerScrollElem,0);setScrollLeft(footerScrollElem,0);setScrollTop(yHandleEl,0);setScrollTop(bodyScrollElem,0);setScrollTop(leftScrollElem,0);setScrollTop(rightScrollElem,0);scrollXStore.startIndex=0;scrollXStore.visibleStartIndex=0;scrollXStore.endIndex=scrollXStore.visibleSize;scrollXStore.visibleEndIndex=scrollXStore.visibleSize;scrollYStore.startIndex=0;scrollYStore.visibleStartIndex=0;scrollYStore.endIndex=scrollYStore.visibleSize;scrollYStore.visibleEndIndex=scrollYStore.visibleSize;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{internalData.lastScrollLeft=0;internalData.lastScrollTop=0;internalData.intoRunScroll=false;});},/**
|
|
21253
|
-
* 更新表尾合计
|
|
21254
|
-
*/updateFooter(){const{showFooter,footerData,footerMethod}=props;const{visibleColumn,afterFullData}=internalData;let footData=[];if(showFooter&&footerData&&footerData.length){footData=footerData.slice(0);}else if(showFooter&&footerMethod){footData=visibleColumn.length?footerMethod({columns:visibleColumn,data:afterFullData,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}):[];}reactData.footerTableData=footData;$xeTable.clearFooterFormatterCache();$xeTable.handleUpdateFooterMerge();$xeTable.dispatchEvent('footer-data-change',{visibleColumn:internalData.visibleColumn,footData},null);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21255
|
-
* 更新列状态 updateStatus({ row, column }, cellValue)
|
|
21256
|
-
* 如果组件值 v-model 发生 change 时,调用改函数用于更新某一列编辑状态
|
|
21257
|
-
* 如果单元格配置了校验规则,则会进行校验
|
|
21258
|
-
*/updateStatus(slotParams,cellValue){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{const{editRules}=props;const{isActivated}=internalData;if(isActivated&&slotParams&&editRules){return $xeTable.handleCellRuleUpdateStatus('change',slotParams,cellValue);}});},/**
|
|
21259
|
-
* 设置合并单元格 [{ row: Row|number, column: ColumnInfo|number, rowspan: number, colspan: number }]
|
|
21260
|
-
*/setMergeCells(merges){if(props.spanMethod){table_errLog('vxe.error.errConflicts',['merge-cells','span-method']);}handleBodyMerge(merges);$xeTable.handleUpdateBodyMerge();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{const{expandColumn}=reactData;const{mergeBodyList}=internalData;if(expandColumn&&mergeBodyList.length){table_warnLog('vxe.error.errConflicts',['type=expand','merge-cells | span-method']);}$xeTable.updateCellAreas();return updateStyle();});},/**
|
|
21261
|
-
* 移除单元格合并 [{row:Row|number, col:ColumnInfo|number}]
|
|
21262
|
-
*/removeMergeCells(merges){if(props.spanMethod){table_errLog('vxe.error.errConflicts',['merge-cells','span-method']);}const rest=removeBodyMerges(merges);$xeTable.handleUpdateBodyMerge();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{$xeTable.updateCellAreas();updateStyle();return rest;});},/**
|
|
21263
|
-
* 获取所有被合并的单元格
|
|
21264
|
-
*/getMergeCells(){return internalData.mergeBodyList.slice(0);},/**
|
|
21265
|
-
* 清除所有单元格合并
|
|
21266
|
-
*/clearMergeCells(){internalData.mergeBodyList=[];internalData.mergeBodyMaps={};internalData.mergeBodyCellMaps={};internalData.mergeBodyRowMaps={};internalData.mergeBodyColMaps={};reactData.mergeBodyFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return updateStyle();});},setMergeHeaderCells(merges){handleHeaderMerge(merges);$xeTable.handleUpdateHeaderMerge();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return updateStyle();});},/**
|
|
21267
|
-
* 移除表头单元格合并 [{row:Row|number, col:ColumnInfo|number}]
|
|
21268
|
-
*/removeMergeHeaderCells(merges){const rest=removeHeaderMerges(merges);$xeTable.handleUpdateHeaderMerge();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateStyle();return rest;});},/**
|
|
21269
|
-
* 获取所有被合并的表头单元格
|
|
21270
|
-
*/getMergeHeaderCells(){return internalData.mergeHeaderList.slice(0);},/**
|
|
21271
|
-
* 清除所有表头单元格合并
|
|
21263
|
+
internalData._sToTime=setTimeout(()=>{internalData._sToTime=undefined;if(scrollYLoad){if(props.treeConfig){$xeTable.scrollToTreeRow(row);}else{rowToVisible($xeTable,row);}}if(scrollXLoad&&fieldOrColumn){handleScrollToRowColumn(fieldOrColumn,row,options);}},350);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}});},/**
|
|
21264
|
+
* 如果有滚动条,则滚动到第一行
|
|
21265
|
+
*/scrollToStartRow(fieldOrColumn,options){const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[0],fieldOrColumn,options);},/**
|
|
21266
|
+
* 如果有滚动条,则滚动到最后一行
|
|
21267
|
+
*/scrollToEndRow(fieldOrColumn,options){const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[afterFullData.length-1],fieldOrColumn,options);},/**
|
|
21268
|
+
* 如果有滚动条,则滚动到对应的列
|
|
21269
|
+
*/scrollToColumn(fieldOrColumn,options){return handleScrollToRowColumn(fieldOrColumn,null,options);},/**
|
|
21270
|
+
* 如果有滚动条,则滚动到第一列
|
|
21271
|
+
*/scrollToStartColumn(options){const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[0],options);},/**
|
|
21272
|
+
* 如果有滚动条,则滚动到最后一列
|
|
21273
|
+
*/scrollToEndColumn(options){const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[visibleColumn.length-1],options);},/**
|
|
21274
|
+
* 手动清除滚动相关信息,还原到初始状态
|
|
21275
|
+
*/clearScroll(){const{elemStore,scrollXStore,scrollYStore}=internalData;const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;internalData.intoRunScroll=true;setScrollLeft(xHandleEl,0);setScrollLeft(bodyScrollElem,0);setScrollLeft(headerScrollElem,0);setScrollLeft(footerScrollElem,0);setScrollTop(yHandleEl,0);setScrollTop(bodyScrollElem,0);setScrollTop(leftScrollElem,0);setScrollTop(rightScrollElem,0);scrollXStore.startIndex=0;scrollXStore.visibleStartIndex=0;scrollXStore.endIndex=scrollXStore.visibleSize;scrollXStore.visibleEndIndex=scrollXStore.visibleSize;scrollYStore.startIndex=0;scrollYStore.visibleStartIndex=0;scrollYStore.endIndex=scrollYStore.visibleSize;scrollYStore.visibleEndIndex=scrollYStore.visibleSize;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{internalData.lastScrollLeft=0;internalData.lastScrollTop=0;internalData.intoRunScroll=false;});},/**
|
|
21276
|
+
* 更新表尾合计
|
|
21277
|
+
*/updateFooter(){const{showFooter,footerData,footerMethod}=props;const{visibleColumn,afterFullData}=internalData;let footData=[];if(showFooter&&footerData&&footerData.length){footData=footerData.slice(0);}else if(showFooter&&footerMethod){footData=visibleColumn.length?footerMethod({columns:visibleColumn,data:afterFullData,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}):[];}reactData.footerTableData=footData;$xeTable.clearFooterFormatterCache();$xeTable.handleUpdateFooterMerge();$xeTable.dispatchEvent('footer-data-change',{visibleColumn:internalData.visibleColumn,footData},null);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21278
|
+
* 更新列状态 updateStatus({ row, column }, cellValue)
|
|
21279
|
+
* 如果组件值 v-model 发生 change 时,调用改函数用于更新某一列编辑状态
|
|
21280
|
+
* 如果单元格配置了校验规则,则会进行校验
|
|
21281
|
+
*/updateStatus(slotParams,cellValue){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{const{editRules}=props;const{isActivated}=internalData;if(isActivated&&slotParams&&editRules){return $xeTable.handleCellRuleUpdateStatus('change',slotParams,cellValue);}});},/**
|
|
21282
|
+
* 设置合并单元格 [{ row: Row|number, column: ColumnInfo|number, rowspan: number, colspan: number }]
|
|
21283
|
+
*/setMergeCells(merges){if(props.spanMethod){table_errLog('vxe.error.errConflicts',['merge-cells','span-method']);}handleBodyMerge(merges);$xeTable.handleUpdateBodyMerge();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{const{expandColumn}=reactData;const{mergeBodyList}=internalData;if(expandColumn&&mergeBodyList.length){table_warnLog('vxe.error.errConflicts',['type=expand','merge-cells | span-method']);}$xeTable.updateCellAreas();return updateStyle();});},/**
|
|
21284
|
+
* 移除单元格合并 [{row:Row|number, col:ColumnInfo|number}]
|
|
21285
|
+
*/removeMergeCells(merges){if(props.spanMethod){table_errLog('vxe.error.errConflicts',['merge-cells','span-method']);}const rest=removeBodyMerges(merges);$xeTable.handleUpdateBodyMerge();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{$xeTable.updateCellAreas();updateStyle();return rest;});},/**
|
|
21286
|
+
* 获取所有被合并的单元格
|
|
21287
|
+
*/getMergeCells(){return internalData.mergeBodyList.slice(0);},/**
|
|
21288
|
+
* 清除所有单元格合并
|
|
21289
|
+
*/clearMergeCells(){internalData.mergeBodyList=[];internalData.mergeBodyMaps={};internalData.mergeBodyCellMaps={};internalData.mergeBodyRowMaps={};internalData.mergeBodyColMaps={};reactData.mergeBodyFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return updateStyle();});},setMergeHeaderCells(merges){handleHeaderMerge(merges);$xeTable.handleUpdateHeaderMerge();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return updateStyle();});},/**
|
|
21290
|
+
* 移除表头单元格合并 [{row:Row|number, col:ColumnInfo|number}]
|
|
21291
|
+
*/removeMergeHeaderCells(merges){const rest=removeHeaderMerges(merges);$xeTable.handleUpdateHeaderMerge();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateStyle();return rest;});},/**
|
|
21292
|
+
* 获取所有被合并的表头单元格
|
|
21293
|
+
*/getMergeHeaderCells(){return internalData.mergeHeaderList.slice(0);},/**
|
|
21294
|
+
* 清除所有表头单元格合并
|
|
21272
21295
|
*/clearMergeHeaderCells(){internalData.mergeHeaderList=[];internalData.mergeHeaderMaps={};internalData.mergeHeaderCellMaps={};internalData.mergeHeaderRowMaps={};internalData.mergeBodyColMaps={};reactData.mergeHeadFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return updateStyle();});},setMergeFooterCells(merges){if(props.footerSpanMethod){table_errLog('vxe.error.errConflicts',['merge-footer-cells | merge-footer-items','footer-span-method']);}handleFooterMerge(merges);$xeTable.handleUpdateFooterMerge();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return updateStyle();});},setMergeFooterItems(merges){// errLog('vxe.error.delFunc', ['setMergeFooterItems', 'setMergeFooterCells'])
|
|
21273
21296
|
return $xeTable.setMergeFooterCells(merges);},removeMergeFooterCells(merges){if(props.footerSpanMethod){table_errLog('vxe.error.errConflicts',['merge-footer-cells | merge-footer-items','footer-span-method']);}const rest=removeFooterMerges(merges);$xeTable.handleUpdateFooterMerge();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateStyle();return rest;});},removeMergeFooterItems(merges){// errLog('vxe.error.delFunc', ['removeMergeFooterItems', 'removeMergeFooterCells'])
|
|
21274
|
-
return $xeTable.removeMergeFooterCells(merges);},/**
|
|
21275
|
-
* 获取所有被合并的表尾
|
|
21297
|
+
return $xeTable.removeMergeFooterCells(merges);},/**
|
|
21298
|
+
* 获取所有被合并的表尾
|
|
21276
21299
|
*/getMergeFooterCells(){return internalData.mergeFooterList.slice(0);},getMergeFooterItems(){// errLog('vxe.error.delFunc', ['getMergeFooterItems', 'getMergeFooterCells'])
|
|
21277
|
-
return $xeTable.getMergeFooterCells();},/**
|
|
21278
|
-
* 清除所有表尾合并
|
|
21300
|
+
return $xeTable.getMergeFooterCells();},/**
|
|
21301
|
+
* 清除所有表尾合并
|
|
21279
21302
|
*/clearMergeFooterCells(){internalData.mergeFooterList=[];internalData.mergeFooterMaps={};internalData.mergeFooterCellMaps={};internalData.mergeFooterRowMaps={};internalData.mergeFooterColMaps={};reactData.mergeFootFlag++;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return updateStyle();});},clearMergeFooterItems(){// errLog('vxe.error.delFunc', ['clearMergeFooterItems', 'clearMergeFooterCells'])
|
|
21280
|
-
return $xeTable.clearMergeFooterCells();},updateCellAreas(){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;if(mouseConfig&&mouseOpts.area&&$xeTable.handleRecalculateCellAreaEvent){return $xeTable.handleRecalculateCellAreaEvent();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},undo(){return $xeTable.handleUndoStackEvent(null);},redo(){return $xeTable.handleRedoStackEvent(null);},clearHistory(){return $xeTable.handleClearStack();},/**
|
|
21281
|
-
* 用于 custom-config,用于手动恢复自定义列设置信息,恢复表格重置为初始状态
|
|
21282
|
-
* @param storeData
|
|
21283
|
-
* @returns
|
|
21303
|
+
return $xeTable.clearMergeFooterCells();},updateCellAreas(){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;if(mouseConfig&&mouseOpts.area&&$xeTable.handleRecalculateCellAreaEvent){return $xeTable.handleRecalculateCellAreaEvent();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},undo(){return $xeTable.handleUndoStackEvent(null);},redo(){return $xeTable.handleRedoStackEvent(null);},clearHistory(){return $xeTable.handleClearStack();},/**
|
|
21304
|
+
* 用于 custom-config,用于手动恢复自定义列设置信息,恢复表格重置为初始状态
|
|
21305
|
+
* @param storeData
|
|
21306
|
+
* @returns
|
|
21284
21307
|
*/setCustomStoreData(storeData){if(!storeData){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}const customOpts=computeCustomOpts.value;const{checkMethod}=customOpts;// 重置状态
|
|
21285
21308
|
clearTableAllStatus($xeTable);// 恢复列
|
|
21286
21309
|
const allCols=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(internalData.collectColumn,column=>{column.resizeWidth=0;column.fixed=column.defaultFixed;column.renderSortNumber=column.sortNumber;column.parentId=column.defaultParentId;if(!checkMethod||checkMethod({$table:$xeTable,column})){column.visible=column.defaultVisible;}column.aggFunc=column.defaultAggFunc;column.renderAggFn=column.defaultAggFunc;column.renderResizeWidth=column.renderWidth;allCols.push(column);});const newCollectCols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(allCols,'renderSortNumber'),{key:'id',parentKey:'parentId',children:'children'});internalData.collectColumn=newCollectCols;internalData.tableFullColumn=getColumnList(newCollectCols);reactData.updateColFlag++;reactData.isColLoading=true;initColumnHierarchy();return Promise.resolve(handleCustomRestore(storeData)).then(()=>{return buildColumnInfo();}).then(()=>{// 恢复数据聚合分组
|
|
21287
|
-
const{isRowGroupStatus,rowGroupList}=reactData;if(isRowGroupStatus&&!!$xeTable.handlePivotTableAggData){const rowGroupFields=computeRowGroupFields.value;if(rowGroupFields?rowGroupFields.length:rowGroupList.length){if(rowGroupFields&&rowGroupFields.length){$xeTable.setRowGroups(rowGroupFields);}else{$xeTable.clearRowGroups();}}else{$xeTable.handleUpdateAggData();}}});},/**
|
|
21288
|
-
* 用于 custom-config,用于获取自定义列设置信息,用于自定义保持
|
|
21289
|
-
* @returns
|
|
21310
|
+
const{isRowGroupStatus,rowGroupList}=reactData;if(isRowGroupStatus&&!!$xeTable.handlePivotTableAggData){const rowGroupFields=computeRowGroupFields.value;if(rowGroupFields?rowGroupFields.length:rowGroupList.length){if(rowGroupFields&&rowGroupFields.length){$xeTable.setRowGroups(rowGroupFields);}else{$xeTable.clearRowGroups();}}else{$xeTable.handleUpdateAggData();}}});},/**
|
|
21311
|
+
* 用于 custom-config,用于获取自定义列设置信息,用于自定义保持
|
|
21312
|
+
* @returns
|
|
21290
21313
|
*/getCustomStoreData(){const{id}=props;const customOpts=computeCustomOpts.value;const{isRowGroupStatus,rowGroupList}=reactData;const{fullColumnFieldData,collectColumn}=internalData;const{storage,checkMethod,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=Object.assign({},isAllCustom?{}:storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggGroup=hangleStorageDefaultValue(storageOpts.aggGroup,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);const resizableData={};const sortData=[];const visibleData={};const fixedData={};const aggGroupData={};const aggFuncData={};const storeData={resizableData:undefined,sortData:undefined,visibleData:undefined,fixedData:undefined,aggGroupData:undefined,aggFuncData:undefined};if(!id){if(storage){table_errLog('vxe.error.reqProp',['id']);}return storeData;}let hasResizable=0;let hasSort=0;let hasFixed=0;let hasVisible=0;let hasAggFunc=0;const sortMaps={};external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const colKey=column.getKey();if(!colKey){table_errLog('vxe.error.reqProp',[`${column.getTitle()||column.type||''} -> column.field=?`]);return;}if(parentColumn){if(isCustomSort){const pColKey=parentColumn.getKey();const psObj=sortMaps[pColKey];hasSort=1;if(psObj){const sObj={k:colKey};sortMaps[colKey]=sObj;if(!psObj.c){psObj.c=[];}psObj.c.push(sObj);}}}else{if(isCustomSort){hasSort=1;const sObj={k:colKey};sortMaps[colKey]=sObj;sortData.push(sObj);}// 只支持一级
|
|
21291
|
-
if(isCustomFixed&&(column.fixed||'')!==(column.defaultFixed||'')){hasFixed=1;fixedData[colKey]=column.fixed;}}if(isCustomResizable&&column.resizeWidth){hasResizable=1;resizableData[colKey]=column.renderWidth;}if(isCustomVisible&&(!checkMethod||checkMethod({$table:$xeTable,column}))){if(!column.visible&&column.defaultVisible){hasVisible=1;visibleData[colKey]=false;}else if(column.visible&&!column.defaultVisible){hasVisible=1;visibleData[colKey]=true;}}if(isCustomAggFunc&&(column.aggFunc||'')!==(column.defaultAggFunc||'')){hasAggFunc=1;aggFuncData[colKey]=column.aggFunc;}});if(hasResizable){storeData.resizableData=resizableData;}if(hasSort){storeData.sortData=sortData;}if(hasFixed){storeData.fixedData=fixedData;}if(hasVisible){storeData.visibleData=visibleData;}if(isCustomAggGroup&&isRowGroupStatus){rowGroupList.forEach(aggConf=>{const colRest=fullColumnFieldData[aggConf.field];if(colRest){aggGroupData[colRest.column.getKey()]=true;}});storeData.aggGroupData=aggGroupData;}if(hasAggFunc){storeData.aggFuncData=aggFuncData;}return storeData;},focus(){internalData.isActivated=true;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},blur(){internalData.isActivated=false;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21292
|
-
* 已废弃,被 connectToolbar 替换
|
|
21293
|
-
* @deprecated
|
|
21294
|
-
*/connect($toolbar){return $xeTable.connectToolbar($toolbar);},/**
|
|
21295
|
-
* 连接工具栏
|
|
21296
|
-
* @param $toolbar
|
|
21297
|
-
*/connectToolbar($toolbar){if($toolbar){$xeToolbar=$toolbar;$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}else{table_errLog('vxe.error.barUnableLink');}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}};/**
|
|
21298
|
-
* 全局按下事件处理
|
|
21314
|
+
if(isCustomFixed&&(column.fixed||'')!==(column.defaultFixed||'')){hasFixed=1;fixedData[colKey]=column.fixed;}}if(isCustomResizable&&column.resizeWidth){hasResizable=1;resizableData[colKey]=column.renderWidth;}if(isCustomVisible&&(!checkMethod||checkMethod({$table:$xeTable,column}))){if(!column.visible&&column.defaultVisible){hasVisible=1;visibleData[colKey]=false;}else if(column.visible&&!column.defaultVisible){hasVisible=1;visibleData[colKey]=true;}}if(isCustomAggFunc&&(column.aggFunc||'')!==(column.defaultAggFunc||'')){hasAggFunc=1;aggFuncData[colKey]=column.aggFunc;}});if(hasResizable){storeData.resizableData=resizableData;}if(hasSort){storeData.sortData=sortData;}if(hasFixed){storeData.fixedData=fixedData;}if(hasVisible){storeData.visibleData=visibleData;}if(isCustomAggGroup&&isRowGroupStatus){rowGroupList.forEach(aggConf=>{const colRest=fullColumnFieldData[aggConf.field];if(colRest){aggGroupData[colRest.column.getKey()]=true;}});storeData.aggGroupData=aggGroupData;}if(hasAggFunc){storeData.aggFuncData=aggFuncData;}return storeData;},focus(){internalData.isActivated=true;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},blur(){internalData.isActivated=false;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21315
|
+
* 已废弃,被 connectToolbar 替换
|
|
21316
|
+
* @deprecated
|
|
21317
|
+
*/connect($toolbar){return $xeTable.connectToolbar($toolbar);},/**
|
|
21318
|
+
* 连接工具栏
|
|
21319
|
+
* @param $toolbar
|
|
21320
|
+
*/connectToolbar($toolbar){if($toolbar){$xeToolbar=$toolbar;$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}else{table_errLog('vxe.error.barUnableLink');}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}};/**
|
|
21321
|
+
* 全局按下事件处理
|
|
21299
21322
|
*/const handleGlobalMousedownEvent=evnt=>{const{editStore,ctxMenuStore,customStore}=reactData;const{mouseConfig,editRules}=props;const el=refElem.value;const editOpts=computeEditOpts.value;const validOpts=computeValidOpts.value;const areaOpts=computeAreaOpts.value;const{actived}=editStore;const $validTooltip=refValidTooltip.value;const tableFilter=refTableFilter.value;const tableCustom=refTableCustom.value;const tableMenu=refTableMenu.value;// 筛选
|
|
21300
21323
|
if(tableFilter){if(getEventTargetNode(evnt,el,'vxe-cell--filter').flag){// 如果点击了筛选按钮
|
|
21301
21324
|
}else if(getEventTargetNode(evnt,tableFilter.getRefMaps().refElem.value).flag){// 如果点击筛选容器
|
|
@@ -21317,17 +21340,17 @@ if(!isClear&&props.height&&!reactData.overflowY){const bodyWrapperElem=evnt.targ
|
|
|
21317
21340
|
if(!internalData.isActivated&&editRules&&validOpts.autoClear){reactData.validErrorMaps={};}});});}});}}}}}else if(mouseConfig){if(!getEventTargetNode(evnt,el).flag&&!($xeGGWrapper&&getEventTargetNode(evnt,$xeGGWrapper.getRefMaps().refElem.value).flag)&&!(tableMenu&&getEventTargetNode(evnt,tableMenu.getRefMaps().refElem.value).flag)&&!($xeToolbar&&getEventTargetNode(evnt,$xeToolbar.getRefMaps().refElem.value).flag)){if($xeTable.clearSelected){$xeTable.clearSelected();}if(areaOpts.autoClear){if($xeTable.getCellAreas){const cellAreas=$xeTable.getCellAreas();if(cellAreas&&cellAreas.length&&!getEventTargetNode(evnt,document.body,'vxe-table--ignore-areas-clear').flag){$xeTable.preventEvent(evnt,'event.clearAreas',{},()=>{$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();dispatchEvent('clear-cell-area-selection',{cellAreas},evnt);});}}}}}// 如果配置了快捷菜单且,点击了其他地方则关闭
|
|
21318
21341
|
if($xeTable.closeMenu){if(ctxMenuStore.visible&&tableMenu&&!getEventTargetNode(evnt,tableMenu.getRefMaps().refElem.value).flag){$xeTable.closeMenu();}}if(!(actived.row&&getEventTargetNode(evnt,document.body,'vxe-table--ignore-clear').flag)){const isActivated=getEventTargetNode(evnt,$xeGGWrapper?$xeGGWrapper.getRefMaps().refElem.value:el).flag;// 如果存在校验,点击了表格之外则清除
|
|
21319
21342
|
if(!isActivated&&editRules&&validOpts.autoClear){reactData.validErrorMaps={};}// 最后激活的表格
|
|
21320
|
-
internalData.isActivated=isActivated;}};/**
|
|
21321
|
-
* 窗口失焦事件处理
|
|
21322
|
-
*/const handleGlobalBlurEvent=()=>{$xeTable.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}};const reUpdateCustomStyleEvent=evnt=>{const{customStore}=reactData;const customOpts=computeCustomOpts.value;const{popupOptions}=customOpts;const{transfer}=popupOptions||{};if(transfer&&customStore.visible){const tableCustom=refTableCustom.value;if(tableCustom&&$xeTable.handleCustomStyle&&!checkTargetElement(evnt.target,[tableCustom.getRefMaps().refElem.value],evnt.currentTarget)){$xeTable.handleCustomStyle().then(()=>{$xeTable.handleCustomStyle();});}}};const handleGlobalScrollEvent=evnt=>{reUpdateCustomStyleEvent(evnt);};/**
|
|
21323
|
-
* 全局滚动事件
|
|
21324
|
-
*/const handleGlobalMousewheelEvent=()=>{$xeTable.closeTooltip();if($xeTable.closeMenu){$xeTable.closeMenu();}};/**
|
|
21325
|
-
* 表格键盘事件
|
|
21343
|
+
internalData.isActivated=isActivated;}};/**
|
|
21344
|
+
* 窗口失焦事件处理
|
|
21345
|
+
*/const handleGlobalBlurEvent=()=>{$xeTable.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}};const reUpdateCustomStyleEvent=evnt=>{const{customStore}=reactData;const customOpts=computeCustomOpts.value;const{popupOptions}=customOpts;const{transfer}=popupOptions||{};if(transfer&&customStore.visible){const tableCustom=refTableCustom.value;if(tableCustom&&$xeTable.handleCustomStyle&&!checkTargetElement(evnt.target,[tableCustom.getRefMaps().refElem.value],evnt.currentTarget)){$xeTable.handleCustomStyle().then(()=>{$xeTable.handleCustomStyle();});}}};const handleGlobalScrollEvent=evnt=>{reUpdateCustomStyleEvent(evnt);};/**
|
|
21346
|
+
* 全局滚动事件
|
|
21347
|
+
*/const handleGlobalMousewheelEvent=()=>{$xeTable.closeTooltip();if($xeTable.closeMenu){$xeTable.closeMenu();}};/**
|
|
21348
|
+
* 表格键盘事件
|
|
21326
21349
|
*/const keydownEvent=evnt=>{const{mouseConfig,keyboardConfig}=props;const{filterStore,ctxMenuStore,editStore}=reactData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;const isEsc=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ESCAPE);if(isEsc){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{dispatchEvent('keydown-start',{},evnt);if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKeyboardCellAreaEvent){$xeTable.handleKeyboardCellAreaEvent(evnt);}else if(actived.row||filterStore.visible||ctxMenuStore.visible){evnt.stopPropagation();// 如果按下了 Esc 键,关闭快捷菜单、筛选
|
|
21327
21350
|
if($xeTable.closeMenu){$xeTable.closeMenu();}$xeTable.closeFilter();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
|
|
21328
21351
|
if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
|
|
21329
|
-
if(mouseOpts.selected){(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>$xeTable.handleSelected(params,evnt));}}}}dispatchEvent('keydown',{},evnt);dispatchEvent('keydown-end',{},evnt);});}};const contextMenuEvent=evnt=>{dispatchEvent('context-menu',{},evnt);};/**
|
|
21330
|
-
* 全局键盘事件
|
|
21352
|
+
if(mouseOpts.selected){(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>$xeTable.handleSelected(params,evnt));}}}}dispatchEvent('keydown',{},evnt);dispatchEvent('keydown-end',{},evnt);});}};const contextMenuEvent=evnt=>{dispatchEvent('context-menu',{},evnt);};/**
|
|
21353
|
+
* 全局键盘事件
|
|
21331
21354
|
*/const handleGlobalKeydownEvent=evnt=>{// 该行为只对当前激活的表格有效
|
|
21332
21355
|
if(internalData.isActivated){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow,highlightCurrentColumn}=props;const{ctxMenuStore,editStore}=reactData;const{afterFullData,visibleColumn,currentRow}=internalData;const isContentMenu=computeIsContentMenu.value;const bodyMenu=computeBodyMenu.value;const keyboardOpts=computeKeyboardOpts.value;const mouseOpts=computeMouseOpts.value;const editOpts=computeEditOpts.value;const treeOpts=computeTreeOpts.value;const menuList=computeMenuList.value;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const{isLastEnterAppendRow,beforeEnterMethod,enterMethod,isLastTabAppendRow,beforeTabMethod,tabMethod}=keyboardOpts;const{selected,actived}=editStore;const childrenField=treeOpts.children||treeOpts.childrenField;const keyCode=evnt.keyCode;const isEsc=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ESCAPE);const hasBackspaceKey=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.BACKSPACE);const isTab=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.TAB);const isEnter=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ENTER);const isSpacebar=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.SPACEBAR);const isLeftArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_LEFT);const isUpArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_UP);const isRightArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_RIGHT);const isDwArrow=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.ARROW_DOWN);const hasDeleteKey=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.DELETE);const isY=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.Y);const isZ=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.Z);const isF2=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.F2);const isContextMenu=table_globalEvents.hasKey(evnt,table_GLOBAL_EVENT_KEYS.CONTEXT_MENU);const isControlKey=hasControlKey(evnt);const hasShiftKey=evnt.shiftKey;const isAltKey=evnt.altKey;const operArrow=isLeftArrow||isUpArrow||isRightArrow||isDwArrow;const operCtxMenu=isContentMenu&&ctxMenuStore.visible&&(isEnter||isSpacebar||operArrow);const isEditStatus=isEnableConf(editConfig)&&actived.column&&actived.row;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const selectColumn=selected.column;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
|
|
21333
21356
|
evnt.preventDefault();if(ctxMenuStore.showChild&&hasChildrenList(ctxMenuStore.selected)){$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selectChild',isLeftArrow,false,ctxMenuStore.selected.children);}else{$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selected',isRightArrow,true,menuList);}}else if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKeyboardCellAreaEvent){$xeTable.handleKeyboardCellAreaEvent(evnt);}else if(isEsc){// 如果按下了 Esc 键,关闭快捷菜单、筛选
|
|
@@ -21362,61 +21385,61 @@ evnt.preventDefault();$xeTable.handleUndoStackEvent(evnt);}}}else if(keyboardCon
|
|
|
21362
21385
|
// }
|
|
21363
21386
|
// 如果是按下非功能键之外允许直接编辑
|
|
21364
21387
|
if(selectColumn&&selected.row&&isEnableConf(selectColumn.editRender)){const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};if(!beforeEditMethod||beforeEditMethod(params)){if(editMethod){editMethod(params);}else{let isClearValue=false;// 追加方式与覆盖式
|
|
21365
|
-
if(editMode!=='insert'){isClearValue=true;}$xeTable.handleEdit(params,evnt,{isClear:isClearValue});}}}}dispatchEvent('keydown',{},evnt);});}};const handleGlobalPasteEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handlePeClAreaEvent){$xeTable.handlePeClAreaEvent(evnt);}}dispatchEvent('paste',{},evnt);}};const handleGlobalCopyEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCyClAreaEvent){$xeTable.handleCyClAreaEvent(evnt);}}dispatchEvent('copy',{},evnt);}};const handleGlobalCutEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCutCellAreaEvent){$xeTable.handleCutCellAreaEvent(evnt);}}dispatchEvent('cut',{},evnt);}};const handleGlobalResizeEvent=()=>{if($xeTable.closeMenu){$xeTable.closeMenu();}const el=refElem.value;if(!el||!el.clientWidth){return;}handleResizeEvent();$xeTable.updateCellAreas();};const handleTargetEnterEvent=isClear=>{const $tooltip=refTooltip.value;clearTimeout(internalData.tooltipTimeout);if(isClear){$xeTable.closeTooltip();}else{if($tooltip&&$tooltip.setActived){$tooltip.setActived(true);}}};const clearCrossTableDragStatus=()=>{crossTableDragRowObj=null;crossTableDragRowInfo.row=null;};const clearDragStatus=()=>{const{dragRow,dragCol}=reactData;if(dragRow||dragCol){clearColDropOrigin();clearRowDropOrigin();hideDropTip();clearCrossTableDragStatus();reactData.dragRow=null;reactData.dragCol=null;}};const handleRowDragEndClearStatus=()=>{clearRowDragData();clearCrossTableDragStatus();handleRecalculateStyle(false,true,true);};const handleColDragEndClearStatus=()=>{clearColDragData();clearCrossTableDragStatus();handleRecalculateStyle(true,true,true);};const clearRowDropOrigin=()=>{const el=refElem.value;if(el){const clss='row--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;removeClass(elem,clss);});}};const updateRowDropOrigin=row=>{const el=refElem.value;if(el){const clss='row--drag-origin';const rowid=getRowid($xeTable,row);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`[rowid="${rowid}"]`),elem=>{addClass(elem,clss);});}};const updateRowDropTipContent=tdEl=>{const{dragConfig}=props;const{dragRow}=reactData;const rowDragOpts=computeRowDragOpts.value;const{tooltipMethod}=rowDragOpts;const rTooltipMethod=tooltipMethod||(dragConfig?dragConfig.rowTooltipMethod:null);let tipContent='';if(rTooltipMethod){const rtParams={$table:$xeTable,row:dragRow};tipContent=`${rTooltipMethod(rtParams)||''}`;}else{tipContent=table_getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;};const updateColDropOrigin=column=>{const el=refElem.value;if(el){const colQuerys=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([column],item=>{colQuerys.push(`[colid="${item.id}"]`);});const clss='col--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(colQuerys.join(',')),elem=>{addClass(elem,clss);});}};const clearColDropOrigin=()=>{const el=refElem.value;if(el){const clss='col--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;removeClass(elem,clss);});}};const updateColDropTipContent=tdEl=>{const{dragCol}=reactData;const columnDragOpts=computeColumnDragOpts.value;const{tooltipMethod}=columnDragOpts;let tipContent='';if(tooltipMethod){const dtParams={$table:$xeTable,column:dragCol};tipContent=`${tooltipMethod(dtParams)||''}`;}else{tipContent=table_getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;};const showDropTip=(evnt,trEl,thEl,showLine,dragPos)=>{let wrapperEl=refElem.value;if($xeGantt&&trEl){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}if(!wrapperEl){return;}const{overflowX,scrollbarWidth,overflowY,scrollbarHeight}=reactData;const{prevDragToChild}=internalData;const wrapperRect=wrapperEl.getBoundingClientRect();const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const tableWrapperWidth=wrapperEl.clientWidth;const tableWrapperHeight=wrapperEl.clientHeight;if(trEl){const rdLineEl=refDragRowLineElem.value;if(rdLineEl){if(showLine){const scrollbarYToLeft=computeScrollbarYToLeft.value;const trRect=trEl.getBoundingClientRect();let trHeight=trEl.clientHeight;const offsetTop=Math.max(1,trRect.y-wrapperRect.y);if(offsetTop+trHeight>tableWrapperHeight-osbHeight){trHeight=tableWrapperHeight-offsetTop-osbHeight;}rdLineEl.style.display='block';rdLineEl.style.left=`${scrollbarYToLeft?osbWidth:0}px`;rdLineEl.style.top=`${offsetTop}px`;rdLineEl.style.height=`${trHeight}px`;rdLineEl.style.width=`${tableWrapperWidth-osbWidth}px`;rdLineEl.setAttribute('drag-pos',dragPos);rdLineEl.setAttribute('drag-to-child',prevDragToChild?'y':'n');}else{rdLineEl.style.display='';}}}else if(thEl){const cdLineEl=refDragColLineElem.value;if(cdLineEl){if(showLine){const scrollbarXToTop=computeScrollbarXToTop.value;const leftContainerElem=refLeftContainer.value;const leftContainerWidth=leftContainerElem?leftContainerElem.clientWidth:0;const rightContainerElem=refRightContainer.value;const rightContainerWidth=rightContainerElem?rightContainerElem.clientWidth:0;const thRect=thEl.getBoundingClientRect();let thWidth=thEl.clientWidth;const offsetTop=Math.max(0,thRect.y-wrapperRect.y);const startX=leftContainerWidth;let offsetLeft=thRect.x-wrapperRect.x;if(offsetLeft<startX){thWidth-=startX-offsetLeft;offsetLeft=startX;}const endX=tableWrapperWidth-rightContainerWidth-(rightContainerWidth?0:osbWidth);if(offsetLeft+thWidth>endX){thWidth=endX-offsetLeft;}cdLineEl.style.display='block';cdLineEl.style.top=`${offsetTop}px`;cdLineEl.style.left=`${offsetLeft}px`;cdLineEl.style.width=`${thWidth}px`;if(prevDragToChild){cdLineEl.style.height=`${thRect.height}px`;}else{cdLineEl.style.height=`${tableWrapperHeight-offsetTop-(scrollbarXToTop?0:osbHeight)}px`;}cdLineEl.setAttribute('drag-pos',dragPos);cdLineEl.setAttribute('drag-to-child',prevDragToChild?'y':'n');}else{cdLineEl.style.display='';}}}const rdTipEl=refDragTipElem.value;if(rdTipEl){rdTipEl.style.display='block';rdTipEl.style.top=`${Math.min(wrapperEl.clientHeight-wrapperEl.scrollTop-rdTipEl.clientHeight,evnt.clientY-wrapperRect.y)}px`;rdTipEl.style.left=`${Math.min(wrapperEl.clientWidth-wrapperEl.scrollLeft-rdTipEl.clientWidth-16,evnt.clientX-wrapperRect.x)}px`;rdTipEl.setAttribute('drag-status',showLine?prevDragToChild?'sub':'normal':'disabled');}};const hideDropTip=()=>{const rdTipEl=refDragTipElem.value;const rdLineEl=refDragRowLineElem.value;const cdLineEl=refDragColLineElem.value;if(rdTipEl){rdTipEl.style.display='';}if(rdLineEl){rdLineEl.style.display='';}if(cdLineEl){cdLineEl.style.display='';}};const clearRowDragData=()=>{let wrapperEl=refElem.value;const dtClss=['.vxe-body--row'];if($xeGantt){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}dtClss.push('.vxe-gantt-view--body-row','.vxe-gantt-view--chart-row');}hideDropTip();clearRowDropOrigin();clearRowAnimate(wrapperEl,dtClss);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;};const clearColDragData=()=>{const el=refElem.value;hideDropTip();clearColDropOrigin();clearColAnimate(el,['.vxe-table--column']);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;};/**
|
|
21366
|
-
* 处理显示 tooltip
|
|
21367
|
-
* @param {Event} evnt 事件
|
|
21368
|
-
* @param {Row} row 行对象
|
|
21388
|
+
if(editMode!=='insert'){isClearValue=true;}$xeTable.handleEdit(params,evnt,{isClear:isClearValue});}}}}dispatchEvent('keydown',{},evnt);});}};const handleGlobalPasteEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handlePeClAreaEvent){$xeTable.handlePeClAreaEvent(evnt);}}dispatchEvent('paste',{},evnt);}};const handleGlobalCopyEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCyClAreaEvent){$xeTable.handleCyClAreaEvent(evnt);}}dispatchEvent('copy',{},evnt);}};const handleGlobalCutEvent=evnt=>{const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=computeMouseOpts.value;const keyboardOpts=computeKeyboardOpts.value;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCutCellAreaEvent){$xeTable.handleCutCellAreaEvent(evnt);}}dispatchEvent('cut',{},evnt);}};const handleGlobalResizeEvent=()=>{if($xeTable.closeMenu){$xeTable.closeMenu();}const el=refElem.value;if(!el||!el.clientWidth){return;}handleResizeEvent();$xeTable.updateCellAreas();};const handleTargetEnterEvent=isClear=>{const $tooltip=refTooltip.value;clearTimeout(internalData.tooltipTimeout);if(isClear){$xeTable.closeTooltip();}else{if($tooltip&&$tooltip.setActived){$tooltip.setActived(true);}}};const clearCrossTableDragStatus=()=>{crossTableDragRowObj=null;crossTableDragRowInfo.row=null;};const clearDragStatus=()=>{const{dragRow,dragCol}=reactData;if(dragRow||dragCol){clearColDropOrigin();clearRowDropOrigin();hideDropTip();clearCrossTableDragStatus();reactData.dragRow=null;reactData.dragCol=null;}};const handleRowDragEndClearStatus=()=>{clearRowDragData();clearCrossTableDragStatus();handleRecalculateStyle(false,true,true);};const handleColDragEndClearStatus=()=>{clearColDragData();clearCrossTableDragStatus();handleRecalculateStyle(true,true,true);};const clearRowDropOrigin=()=>{const el=refElem.value;if(el){const clss='row--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;removeClass(elem,clss);});}};const updateRowDropOrigin=row=>{const el=refElem.value;if(el){const clss='row--drag-origin';const rowid=getRowid($xeTable,row);external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`[rowid="${rowid}"]`),elem=>{addClass(elem,clss);});}};const updateRowDropTipContent=tdEl=>{const{dragConfig}=props;const{dragRow}=reactData;const rowDragOpts=computeRowDragOpts.value;const{tooltipMethod}=rowDragOpts;const rTooltipMethod=tooltipMethod||(dragConfig?dragConfig.rowTooltipMethod:null);let tipContent='';if(rTooltipMethod){const rtParams={$table:$xeTable,row:dragRow};tipContent=`${rTooltipMethod(rtParams)||''}`;}else{tipContent=table_getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;};const updateColDropOrigin=column=>{const el=refElem.value;if(el){const colQuerys=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([column],item=>{colQuerys.push(`[colid="${item.id}"]`);});const clss='col--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(colQuerys.join(',')),elem=>{addClass(elem,clss);});}};const clearColDropOrigin=()=>{const el=refElem.value;if(el){const clss='col--drag-origin';external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.${clss}`),elem=>{elem.draggable=false;removeClass(elem,clss);});}};const updateColDropTipContent=tdEl=>{const{dragCol}=reactData;const columnDragOpts=computeColumnDragOpts.value;const{tooltipMethod}=columnDragOpts;let tipContent='';if(tooltipMethod){const dtParams={$table:$xeTable,column:dragCol};tipContent=`${tooltipMethod(dtParams)||''}`;}else{tipContent=table_getI18n('vxe.table.dragTip',[tdEl.textContent||'']);}reactData.dragTipText=tipContent;};const showDropTip=(evnt,trEl,thEl,showLine,dragPos)=>{let wrapperEl=refElem.value;if($xeGantt&&trEl){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}if(!wrapperEl){return;}const{overflowX,scrollbarWidth,overflowY,scrollbarHeight}=reactData;const{prevDragToChild}=internalData;const wrapperRect=wrapperEl.getBoundingClientRect();const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const tableWrapperWidth=wrapperEl.clientWidth;const tableWrapperHeight=wrapperEl.clientHeight;if(trEl){const rdLineEl=refDragRowLineElem.value;if(rdLineEl){if(showLine){const scrollbarYToLeft=computeScrollbarYToLeft.value;const trRect=trEl.getBoundingClientRect();let trHeight=trEl.clientHeight;const offsetTop=Math.max(1,trRect.y-wrapperRect.y);if(offsetTop+trHeight>tableWrapperHeight-osbHeight){trHeight=tableWrapperHeight-offsetTop-osbHeight;}rdLineEl.style.display='block';rdLineEl.style.left=`${scrollbarYToLeft?osbWidth:0}px`;rdLineEl.style.top=`${offsetTop}px`;rdLineEl.style.height=`${trHeight}px`;rdLineEl.style.width=`${tableWrapperWidth-osbWidth}px`;rdLineEl.setAttribute('drag-pos',dragPos);rdLineEl.setAttribute('drag-to-child',prevDragToChild?'y':'n');}else{rdLineEl.style.display='';}}}else if(thEl){const cdLineEl=refDragColLineElem.value;if(cdLineEl){if(showLine){const scrollbarXToTop=computeScrollbarXToTop.value;const leftContainerElem=refLeftContainer.value;const leftContainerWidth=leftContainerElem?leftContainerElem.clientWidth:0;const rightContainerElem=refRightContainer.value;const rightContainerWidth=rightContainerElem?rightContainerElem.clientWidth:0;const thRect=thEl.getBoundingClientRect();let thWidth=thEl.clientWidth;const offsetTop=Math.max(0,thRect.y-wrapperRect.y);const startX=leftContainerWidth;let offsetLeft=thRect.x-wrapperRect.x;if(offsetLeft<startX){thWidth-=startX-offsetLeft;offsetLeft=startX;}const endX=tableWrapperWidth-rightContainerWidth-(rightContainerWidth?0:osbWidth);if(offsetLeft+thWidth>endX){thWidth=endX-offsetLeft;}cdLineEl.style.display='block';cdLineEl.style.top=`${offsetTop}px`;cdLineEl.style.left=`${offsetLeft}px`;cdLineEl.style.width=`${thWidth}px`;if(prevDragToChild){cdLineEl.style.height=`${thRect.height}px`;}else{cdLineEl.style.height=`${tableWrapperHeight-offsetTop-(scrollbarXToTop?0:osbHeight)}px`;}cdLineEl.setAttribute('drag-pos',dragPos);cdLineEl.setAttribute('drag-to-child',prevDragToChild?'y':'n');}else{cdLineEl.style.display='';}}}const rdTipEl=refDragTipElem.value;if(rdTipEl){rdTipEl.style.display='block';rdTipEl.style.top=`${Math.min(wrapperEl.clientHeight-wrapperEl.scrollTop-rdTipEl.clientHeight,evnt.clientY-wrapperRect.y)}px`;rdTipEl.style.left=`${Math.min(wrapperEl.clientWidth-wrapperEl.scrollLeft-rdTipEl.clientWidth-16,evnt.clientX-wrapperRect.x)}px`;rdTipEl.setAttribute('drag-status',showLine?prevDragToChild?'sub':'normal':'disabled');}};const hideDropTip=()=>{const rdTipEl=refDragTipElem.value;const rdLineEl=refDragRowLineElem.value;const cdLineEl=refDragColLineElem.value;if(rdTipEl){rdTipEl.style.display='';}if(rdLineEl){rdLineEl.style.display='';}if(cdLineEl){cdLineEl.style.display='';}};const clearRowDragData=()=>{let wrapperEl=refElem.value;const dtClss=['.vxe-body--row'];if($xeGantt){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}dtClss.push('.vxe-gantt-view--body-row','.vxe-gantt-view--chart-row');}hideDropTip();clearRowDropOrigin();clearRowAnimate(wrapperEl,dtClss);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;};const clearColDragData=()=>{const el=refElem.value;hideDropTip();clearColDropOrigin();clearColAnimate(el,['.vxe-table--column']);internalData.prevDragToChild=false;reactData.dragRow=null;reactData.dragCol=null;};/**
|
|
21389
|
+
* 处理显示 tooltip
|
|
21390
|
+
* @param {Event} evnt 事件
|
|
21391
|
+
* @param {Row} row 行对象
|
|
21369
21392
|
*/const handleTooltip=(evnt,tipOpts,type,tdEl,overflowElem,tipElem,params)=>{const tipOverEl=overflowElem||tdEl;if(!tipOverEl){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}params.cell=tdEl;const{tooltipStore}=reactData;const{column,row}=params;const{showAll,contentMethod}=tipOpts;const cellText=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toString(column.type==='html'?tipOverEl.innerText:tipOverEl.textContent).trim();const isOver=tipOverEl.scrollWidth>tipOverEl.clientWidth;let isShow=false;let customContent=null;let content='';if(contentMethod){customContent=contentMethod(params);}// 是否全部展示
|
|
21370
21393
|
if(showAll){// 如果为 null 默认显示
|
|
21371
21394
|
if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(customContent)){isShow=true;content=cellText;}else if(customContent!==''&&customContent!==false){// 如果为 '' | false 则不显示
|
|
21372
21395
|
isShow=true;content=''+customContent;}}else{// 如果为 null 使用默认逻辑
|
|
21373
21396
|
if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(customContent)){isShow=isOver;}else if(customContent!==''&&customContent!==false){// 如果为 '' | false 则不显示
|
|
21374
|
-
isShow=true;}content=cellText;}if(isShow&&content){const tipContent=formatText(content);Object.assign(tooltipStore,{row,column,visible:true,content:tipContent,type,currOpts:tipOpts});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{const $tooltip=refTooltip.value;if($tooltip&&$tooltip.open){$tooltip.open(isOver?tipOverEl:tipElem,tipContent);}});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};const truncateStackHistory=()=>{const{stackHistoryStore}=internalData;const{undoStacks}=stackHistoryStore;const undoRedoHistoryOpts=computeUndoRedoHistoryOpts.value;const{stackSize}=undoRedoHistoryOpts;if(undoStacks.length>external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(stackSize)){undoStacks.shift();}};/**
|
|
21375
|
-
* 生成快照数据
|
|
21376
|
-
*/const getSnapshotStackData=()=>{const{editStore}=reactData;const{afterFullData,elemStore,insertRowMaps,removeRowMaps}=internalData;const{selected,actived}=editStore;const{row:selectRow,column:selectColumn}=selected;const{row:editRow,column:editColumn}=actived;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const stackObj={selectActiveInfo:selectRow&&selectColumn?{rowid:getRowid($xeTable,selectRow),colid:selectColumn.id}:undefined,editActiveInfo:editRow&&editColumn?{rowid:getRowid($xeTable,editRow),colid:editColumn.id}:undefined,scrollInfo:{top:bodyScrollElem?bodyScrollElem.scrollTop:0,left:bodyScrollElem?bodyScrollElem.scrollLeft:0},insertData:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().values(insertRowMaps),true),removeData:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().values(removeRowMaps),true),visibleData:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(afterFullData,true),visibleTreeData:[],visibleColumn:[]};return $xeTable.getCellAreaPushStackObj?$xeTable.getCellAreaPushStackObj(stackObj):stackObj;};/**
|
|
21377
|
-
* 刷新栈视图
|
|
21397
|
+
isShow=true;}content=cellText;}if(isShow&&content){const tipContent=formatText(content);Object.assign(tooltipStore,{row,column,visible:true,content:tipContent,type,currOpts:tipOpts});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{const $tooltip=refTooltip.value;if($tooltip&&$tooltip.open){$tooltip.open(isOver?tipOverEl:tipElem,tipContent);}});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};const truncateStackHistory=()=>{const{stackHistoryStore}=internalData;const{undoStacks}=stackHistoryStore;const undoRedoHistoryOpts=computeUndoRedoHistoryOpts.value;const{stackSize}=undoRedoHistoryOpts;if(undoStacks.length>external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(stackSize)){undoStacks.shift();}};/**
|
|
21398
|
+
* 生成快照数据
|
|
21399
|
+
*/const getSnapshotStackData=()=>{const{editStore}=reactData;const{afterFullData,elemStore,insertRowMaps,removeRowMaps}=internalData;const{selected,actived}=editStore;const{row:selectRow,column:selectColumn}=selected;const{row:editRow,column:editColumn}=actived;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const stackObj={selectActiveInfo:selectRow&&selectColumn?{rowid:getRowid($xeTable,selectRow),colid:selectColumn.id}:undefined,editActiveInfo:editRow&&editColumn?{rowid:getRowid($xeTable,editRow),colid:editColumn.id}:undefined,scrollInfo:{top:bodyScrollElem?bodyScrollElem.scrollTop:0,left:bodyScrollElem?bodyScrollElem.scrollLeft:0},insertData:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().values(insertRowMaps),true),removeData:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().values(removeRowMaps),true),visibleData:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(afterFullData,true),visibleTreeData:[],visibleColumn:[]};return $xeTable.getCellAreaPushStackObj?$xeTable.getCellAreaPushStackObj(stackObj):stackObj;};/**
|
|
21400
|
+
* 刷新栈视图
|
|
21378
21401
|
*/const handleUpdateSnapshotStackData=stackObj=>{const{treeConfig}=props;const{editStore}=reactData;const{fullAllDataRowIdData,fullColumnIdData}=internalData;if(!stackObj){return;}const treeOpts=computeTreeOpts.value;const{transform}=treeOpts;const{visibleData,editActiveInfo,selectActiveInfo,scrollInfo,insertData,removeData}=stackObj;const iRowMaps={};insertData.forEach(item=>{const rowid=getRowid($xeTable,item);const rest=fullAllDataRowIdData[rowid];let row=item;if(rest){row=rest.row;Object.assign(row,item);}iRowMaps[rowid]=row;});const rRowMaps={};removeData.forEach(item=>{const rowid=getRowid($xeTable,item);const rest=fullAllDataRowIdData[rowid];let row=item;if(rest){row=rest.row;Object.assign(row,item);}rRowMaps[rowid]=row;});const afterFullList=visibleData.map(item=>{const rowid=getRowid($xeTable,item);const rest=fullAllDataRowIdData[rowid];let row=item;if(rest){row=rest.row;Object.assign(row,item);}return row;});internalData.insertRowMaps=iRowMaps;internalData.removeRowMaps=rRowMaps;internalData.afterFullData=afterFullList;$xeTable.cacheRowMap(false);$xeTable.handleTableData(treeConfig&&transform);$xeTable.updateFooter();$xeTable.handleUpdateBodyMerge();if(!(treeConfig&&transform)){$xeTable.updateAfterDataIndex();}$xeTable.checkSelectionStatus();if(reactData.scrollYLoad){$xeTable.updateScrollYSpace();}if($xeTable.handleCellAreaSnapshotStackData){$xeTable.handleCellAreaSnapshotStackData(stackObj);}else{const{selected}=editStore;const mouseOpts=computeMouseOpts.value;let selectRowid='';let selectColid='';if(editActiveInfo){selectRowid=editActiveInfo.rowid;selectColid=editActiveInfo.colid;}else if(selectActiveInfo){selectRowid=selectActiveInfo.rowid;selectColid=selectActiveInfo.colid;}if(selectRowid&&selectColid&&mouseOpts.selected){const editRow=fullAllDataRowIdData[selectRowid]?fullAllDataRowIdData[selectRowid].row:null;const editColumn=fullColumnIdData[selectColid]?fullColumnIdData[selectColid].column:null;if(editRow&&editColumn){const params={row:editRow,column:editColumn};selected.row=editRow;selected.column=editColumn;selected.args=params;(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{$xeTable.addCellSelectedClass();$xeTable.scrollTo(scrollInfo);});}}}};const callSlot=(slotFunc,params)=>{if(slotFunc){if($xeGGWrapper){return $xeGGWrapper.callSlot(slotFunc,params);}// if (XEUtils.isString(slotFunc)) {
|
|
21379
21402
|
// slotFunc = slots[slotFunc] || null
|
|
21380
21403
|
// }
|
|
21381
|
-
if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(slotFunc)){return getSlotVNs(slotFunc(params));}}return[];};/**
|
|
21382
|
-
* 内部方法
|
|
21383
|
-
*/tablePrivateMethods={getSetupOptions(){return table_getConfig();},updateAfterDataIndex,callSlot,/**
|
|
21384
|
-
* 获取父容器元素
|
|
21385
|
-
*/getParentElem(){const el=refElem.value;if($xeGGWrapper){const gridEl=$xeGGWrapper.getRefMaps().refElem.value;return gridEl?gridEl.parentNode:null;}return el?el.parentNode:null;},/**
|
|
21386
|
-
* 获取父容器的高度
|
|
21387
|
-
*/getParentHeight(){const{height}=props;const el=refElem.value;if(el){const parentElem=el.parentNode;let parentPaddingSize=0;let parentWrapperHeight=0;if(parentElem){if($xeGantt&&hasClass(parentElem,'vxe-gantt--table-wrapper')){parentWrapperHeight=$xeGantt.getParentHeight();}else if($xeGrid&&hasClass(parentElem,'vxe-grid--table-wrapper')){parentWrapperHeight=$xeGrid.getParentHeight();}else{parentWrapperHeight=parentElem.clientHeight;parentPaddingSize=height==='100%'||height==='auto'?getPaddingTopBottomSize(parentElem):0;}}return Math.floor(parentWrapperHeight-parentPaddingSize);}return 0;},/**
|
|
21388
|
-
* 获取需要排除的高度
|
|
21389
|
-
* 但渲染表格高度时,需要排除工具栏或分页等相关组件的高度
|
|
21390
|
-
* 如果存在表尾合计滚动条,则需要排除滚动条高度
|
|
21391
|
-
*/getExcludeHeight(){return $xeGGWrapper?$xeGGWrapper.getExcludeHeight():0;},/**
|
|
21392
|
-
* 定义行数据中的列属性,如果不存在则定义
|
|
21393
|
-
* @param {Row} records 行数据
|
|
21404
|
+
if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(slotFunc)){return getSlotVNs(slotFunc(params));}}return[];};/**
|
|
21405
|
+
* 内部方法
|
|
21406
|
+
*/tablePrivateMethods={getSetupOptions(){return table_getConfig();},updateAfterDataIndex,callSlot,/**
|
|
21407
|
+
* 获取父容器元素
|
|
21408
|
+
*/getParentElem(){const el=refElem.value;if($xeGGWrapper){const gridEl=$xeGGWrapper.getRefMaps().refElem.value;return gridEl?gridEl.parentNode:null;}return el?el.parentNode:null;},/**
|
|
21409
|
+
* 获取父容器的高度
|
|
21410
|
+
*/getParentHeight(){const{height}=props;const el=refElem.value;if(el){const parentElem=el.parentNode;let parentPaddingSize=0;let parentWrapperHeight=0;if(parentElem){if($xeGantt&&hasClass(parentElem,'vxe-gantt--table-wrapper')){parentWrapperHeight=$xeGantt.getParentHeight();}else if($xeGrid&&hasClass(parentElem,'vxe-grid--table-wrapper')){parentWrapperHeight=$xeGrid.getParentHeight();}else{parentWrapperHeight=parentElem.clientHeight;parentPaddingSize=height==='100%'||height==='auto'?getPaddingTopBottomSize(parentElem):0;}}return Math.floor(parentWrapperHeight-parentPaddingSize);}return 0;},/**
|
|
21411
|
+
* 获取需要排除的高度
|
|
21412
|
+
* 但渲染表格高度时,需要排除工具栏或分页等相关组件的高度
|
|
21413
|
+
* 如果存在表尾合计滚动条,则需要排除滚动条高度
|
|
21414
|
+
*/getExcludeHeight(){return $xeGGWrapper?$xeGGWrapper.getExcludeHeight():0;},/**
|
|
21415
|
+
* 定义行数据中的列属性,如果不存在则定义
|
|
21416
|
+
* @param {Row} records 行数据
|
|
21394
21417
|
*/defineField(records){const{treeConfig}=props;const expandOpts=computeExpandOpts.value;const treeOpts=computeTreeOpts.value;const radioOpts=computeRadioOpts.value;const rowOpts=computeRowOpts.value;const checkboxOpts=computeCheckboxOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const rowkey=getRowkey($xeTable);if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(records)){records=[records];}return records.map(record=>{internalData.tableFullColumn.forEach(column=>{const{field,editRender}=column;if(field&&!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().has(record,field)&&!record[field]){let cellValue=null;if(editRender){const{defaultValue}=editRender;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(defaultValue)){cellValue=defaultValue({column});}else if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(defaultValue)){cellValue=defaultValue;}}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(record,field,cellValue);}});const otherFields=[radioOpts.labelField,checkboxOpts.checkField,checkboxOpts.labelField,expandOpts.labelField];otherFields.forEach(key=>{if(key&&eqEmptyValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record,key))){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(record,key,null);}});if(treeConfig&&treeOpts.lazy&&external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(record[childrenField])){record[childrenField]=null;}// 必须有行数据的唯一主键,可以自行设置;也可以默认生成一个随机数
|
|
21395
21418
|
if(eqEmptyValue(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(record,rowkey))){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(record,rowkey,createRowId(rowOpts,record,rowkey));}return record;});},handleTableData(force){const{scrollYLoad}=reactData;const{scrollYStore,fullDataRowIdData}=internalData;const $xeGanttView=internalData.xeGanttView;let fullList=internalData.afterFullData;// 是否进行数据处理
|
|
21396
21419
|
if(force){// 更新数据,处理筛选和排序
|
|
21397
21420
|
updateAfterFullData();// 如果为虚拟树,将树结构拍平
|
|
21398
21421
|
fullList=handleVirtualTreeToList();// 更新数据后清除合并缓存,涉及分组、筛选、排序等
|
|
21399
|
-
internalData.mergeHeaderRowMaps={};internalData.mergeHeaderColMaps={};internalData.mergeBodyRowMaps={};internalData.mergeBodyColMaps={};internalData.mergeFooterRowMaps={};internalData.mergeFooterColMaps={};}const tableData=scrollYLoad?fullList.slice(scrollYStore.startIndex,scrollYStore.endIndex):fullList.slice(0);const visibleDataRowIdMaps={};tableData.forEach((row,$index)=>{const rowid=getRowid($xeTable,row);const rest=fullDataRowIdData[rowid];if(rest){rest.$index=$index;}visibleDataRowIdMaps[rowid]=row;});reactData.tableData=tableData;internalData.visibleDataRowIdData=visibleDataRowIdMaps;if($xeGanttView&&$xeGanttView.updateViewData){$xeGanttView.updateViewData(force);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21400
|
-
* 更新数据行的 Map
|
|
21422
|
+
internalData.mergeHeaderRowMaps={};internalData.mergeHeaderColMaps={};internalData.mergeBodyRowMaps={};internalData.mergeBodyColMaps={};internalData.mergeFooterRowMaps={};internalData.mergeFooterColMaps={};}const tableData=scrollYLoad?fullList.slice(scrollYStore.startIndex,scrollYStore.endIndex):fullList.slice(0);const visibleDataRowIdMaps={};tableData.forEach((row,$index)=>{const rowid=getRowid($xeTable,row);const rest=fullDataRowIdData[rowid];if(rest){rest.$index=$index;}visibleDataRowIdMaps[rowid]=row;});reactData.tableData=tableData;internalData.visibleDataRowIdData=visibleDataRowIdMaps;if($xeGanttView&&$xeGanttView.updateViewData){$xeGanttView.updateViewData(force);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21423
|
+
* 更新数据行的 Map
|
|
21401
21424
|
*/cacheRowMap(isReset){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{currKeyField,fullAllDataRowIdData,tableFullData,tableFullTreeData,tableFullGroupData,treeExpandedMaps,rowExpandedMaps,selectCheckboxMaps}=internalData;const fullAllDataRowIdMaps=isReset?{}:{...fullAllDataRowIdData};// 存在已删除数据
|
|
21402
21425
|
const fullDataRowIdMaps={};const idMaps={};const{handleUpdateRowId}=createHandleUpdateRowId($xeTable);let rowNum=0;const handleRowCache=(row,index,items,currIndex,parentRow,rowid,level,seq)=>{let rowRest=fullAllDataRowIdMaps[rowid];if(idMaps[rowid]){table_errLog('vxe.error.repeatKey',[currKeyField,rowid]);}if(!rowRest){rowRest={row,rowid,_seq:-1,seq,index:-1,_index:-1,$index:-1,treeIndex:index,_tIndex:-1,items,parent:parentRow,level,height:0,resizeHeight:0,oTop:0,expandHeight:0};fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;}rowRest.treeLoaded=false;rowRest.expandLoaded=false;rowRest._seq=rowNum++;rowRest.row=row;rowRest.items=items;rowRest.parent=parentRow;rowRest.level=level;rowRest.index=currIndex;rowRest.treeIndex=index;// 更新缓存
|
|
21403
21426
|
if(selectCheckboxMaps[rowid]){selectCheckboxMaps[rowid]=row;}if(rowExpandedMaps[rowid]){rowExpandedMaps[rowid]=row;}rowNum++;idMaps[rowid]=true;fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;};if(treeConfig){const treeOpts=computeTreeOpts.value;const{lazy}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullTreeData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);if(lazy){if(row[hasChildField]&&row[childrenField]===undefined){row[childrenField]=null;}if(treeExpandedMaps[rowid]){if(!row[childrenField]||!row[childrenField].length){delete treeExpandedMaps[rowid];}}}handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,toTreePathSeq(path));},{children:childrenField});}else if(isRowGroupStatus){const aggregateOpts=computeAggregateOpts.value;const{mapChildrenField}=aggregateOpts;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(tableFullGroupData,(row,index,items,path,parentRow,nodes)=>{const rowid=handleUpdateRowId(row);handleRowCache(row,index,items,parentRow?-1:index,parentRow,rowid,nodes.length-1,toTreePathSeq(path));},{children:mapChildrenField});}else{tableFullData.forEach((row,index,items)=>{handleRowCache(row,index,items,index,null,handleUpdateRowId(row),0,index+1);});}internalData.fullDataRowIdData=fullDataRowIdMaps;internalData.fullAllDataRowIdData=fullAllDataRowIdMaps;reactData.treeExpandedFlag++;},cacheSourceMap(fullData){const{treeConfig}=props;const treeOpts=computeTreeOpts.value;const sourceData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(fullData,true);const{handleUpdateRowId}=createHandleUpdateRowId($xeTable);const sourceRowIdData={};const handleSourceRow=row=>{const rowid=handleUpdateRowId(row);sourceRowIdData[rowid]=row;};// 源数据缓存
|
|
21404
|
-
if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sourceData,handleSourceRow,{children:treeOpts.transform?treeOpts.mapChildrenField:childrenField});}else{sourceData.forEach(handleSourceRow);}internalData.sourceDataRowIdData=sourceRowIdData;internalData.tableSourceData=sourceData;},/**
|
|
21405
|
-
* 指定列宽的列进行拆分
|
|
21427
|
+
if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sourceData,handleSourceRow,{children:treeOpts.transform?treeOpts.mapChildrenField:childrenField});}else{sourceData.forEach(handleSourceRow);}internalData.sourceDataRowIdData=sourceRowIdData;internalData.tableSourceData=sourceData;},/**
|
|
21428
|
+
* 指定列宽的列进行拆分
|
|
21406
21429
|
*/analyColumnWidth(){const{tableFullColumn}=internalData;const columnOpts=computeColumnOpts.value;const{width:defaultWidth,minWidth:defaultMinWidth}=columnOpts;const resizeList=[];const pxList=[];const pxMinList=[];const autoMinList=[];const scaleList=[];const scaleMinList=[];const autoList=[];const remainList=[];tableFullColumn.forEach(column=>{if(defaultWidth&&!column.width){column.width=defaultWidth;}if(defaultMinWidth&&!column.minWidth){column.minWidth=defaultMinWidth;}if(column.visible){if(column.resizeWidth){resizeList.push(column);}else if(column.width==='auto'){autoList.push(column);}else if(isPx(column.width)){pxList.push(column);}else if(isScale(column.width)){scaleList.push(column);}else if(isPx(column.minWidth)){pxMinList.push(column);}else if(column.minWidth==='auto'){autoMinList.push(column);}else if(isScale(column.minWidth)){scaleMinList.push(column);}else{remainList.push(column);}}});Object.assign(reactData.columnStore,{resizeList,pxList,pxMinList,autoMinList,scaleList,scaleMinList,autoList,remainList});},handleColResizeMousedownEvent(evnt,fixedType,params){const isLeftBtn=evnt.button===0;if(!isLeftBtn){return;}evnt.stopPropagation();evnt.preventDefault();const{column}=params;const{columnStore,overflowX,scrollbarHeight}=reactData;const{visibleColumn}=internalData;const{leftList,rightList}=columnStore;const resizableOpts=computeResizableOpts.value;const osbHeight=overflowX?scrollbarHeight:0;const tableEl=refElem.value;const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const resizeBarElem=refColResizeBar.value;if(!resizeBarElem){return;}const isLeftFixed=fixedType==='left';const isRightFixed=fixedType==='right';const resizeTipElem=resizeBarElem.firstElementChild;const scrollbarXToTop=computeScrollbarXToTop.value;const{clientX:dragClientX}=evnt;const dragBtnElem=evnt.target;let cell=dragBtnElem.parentElement;let resizeColumn=column;const isDragGroupCol=column.children&&column.children.length;if(isDragGroupCol){resizeColumn=getLastChildColumn(column);if(isDragGroupCol){const trEl=cell?cell.parentElement:null;const theadEl=trEl?trEl.parentElement:null;cell=theadEl?theadEl.querySelector(`.vxe-header--column[colid="${resizeColumn.id}"]`):null;}}if(!cell){return;}const cellParams=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(params,{cell,$table:$xeTable});let dragLeft=0;const tableRect=tableEl.getBoundingClientRect();const rightContainerRect=rightContainerElem?rightContainerElem.getBoundingClientRect():null;const cellRect=cell.getBoundingClientRect();const dragBtnRect=dragBtnElem.getBoundingClientRect();const dragBtnWidth=dragBtnElem.clientWidth;const dragBtnOffsetWidth=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().floor(dragBtnWidth/2);const dragPosLeft=dragBtnRect.x-tableRect.x+dragBtnOffsetWidth;const minInterval=getColReMinWidth(cellParams)-dragBtnOffsetWidth;// 列之间的最小间距
|
|
21407
21430
|
const maxInterval=getColReMaxWidth(cellParams);// 列之间的最大间距
|
|
21408
21431
|
const dragMinLeft=isRightFixed?0:cellRect.x-tableRect.x+dragBtnWidth+minInterval;const dragMaxLeft=cellRect.x-tableRect.x+cell.clientWidth-minInterval;let fixedLeftRemainWidth=0;let fixedRightRemainWidth=0;if(isLeftFixed||isRightFixed){let isMach=false;const fixedColumn=isLeftFixed?leftList:rightList;for(let i=0;i<fixedColumn.length;i++){const item=fixedColumn[i];if(isMach){fixedLeftRemainWidth+=item.renderWidth;}else{isMach=item.id===resizeColumn.id;if(!isMach){fixedRightRemainWidth+=item.renderWidth;}}}}// 处理拖动事件
|
|
21409
21432
|
const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const tableHeight=tableEl.clientHeight;const offsetX=evnt.clientX-dragClientX;let left=dragPosLeft+offsetX;if(isLeftFixed){if(rightContainerRect){left=Math.min(left,rightContainerRect.x-tableRect.x-fixedLeftRemainWidth-minInterval);}}else if(isRightFixed){if(leftContainerElem){left=Math.max(left,leftContainerElem.clientWidth+fixedRightRemainWidth+minInterval);}left=Math.min(left,dragMaxLeft);}dragLeft=Math.max(left,dragMinLeft);// 最大宽
|
|
21410
|
-
if(maxInterval>1){dragLeft=Math.min(dragLeft,maxInterval+dragMinLeft-minInterval);}const resizeBarLeft=Math.max(1,dragLeft);resizeBarElem.style.left=`${resizeBarLeft}px`;resizeBarElem.style.top=`${scrollbarXToTop?osbHeight:0}px`;resizeBarElem.style.height=`${scrollbarXToTop?tableHeight-osbHeight:tableHeight}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=table_getI18n('vxe.table.resizeColTip',[Math.floor(resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft))]);const tableWrapperWidth=tableEl.clientWidth;const resizeBarWidth=resizeBarElem.clientWidth;const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeTipLeft=-resizeTipWidth;if(resizeBarLeft<resizeTipWidth+resizeBarWidth){resizeTipLeft=0;}else if(resizeBarLeft>tableWrapperWidth){resizeTipLeft+=tableWrapperWidth-resizeBarLeft;}resizeTipElem.style.left=`${resizeTipLeft}px`;resizeTipElem.style.top=`${Math.min(tableHeight-resizeTipHeight,Math.max(0,evnt.clientY-tableRect.y-resizeTipHeight/2))}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;addClass(tableEl,'col-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);const resizeWidth=resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft);const resizeParams={...params,resizeWidth,resizeColumn};if(resizableOpts.dragMode==='fixed'){visibleColumn.forEach(item=>{if(item.id!==resizeColumn.id){if(!item.resizeWidth){item.resizeWidth=item.renderWidth;}}});}if($xeTable.handleColResizeCellAreaEvent){$xeTable.handleColResizeCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}removeClass(tableEl,'col-drag--resize');};updateEvent(evnt);if($xeTable.closeMenu){$xeTable.closeMenu();}},handleColResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoWidth}=resizableOpts;const el=refElem.value;if(isDblclickAutoWidth&&el){evnt.stopPropagation();evnt.preventDefault();const{fullColumnIdData}=internalData;const{column}=params;let resizeColumn=column;if(column.children&&column.children.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(column.children,childColumn=>{resizeColumn=childColumn;});}const colid=resizeColumn.id;const colRest=fullColumnIdData[colid];const dragBtnElem=evnt.target;const cell=dragBtnElem.parentNode;const cellParams=Object.assign(params,{cell,$table:$xeTable});const colMinWidth=getColReMinWidth(cellParams);const colMaxWidth=getColReMaxWidth(cellParams);el.setAttribute('data-calc-col','Y');let resizeWidth=calcColumnAutoWidth(resizeColumn,el);el.removeAttribute('data-calc-col');if(colRest){resizeWidth=Math.max(resizeWidth,colRest.width);}resizeWidth=Math.max(colMinWidth,resizeWidth);if(colMaxWidth>1){resizeWidth=Math.min(colMaxWidth,resizeWidth);}const resizeParams={...params,resizeWidth,resizeColumn};reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleColResizeDblclickCellAreaEvent){$xeTable.handleColResizeDblclickCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}}},/**
|
|
21411
|
-
* @private
|
|
21433
|
+
if(maxInterval>1){dragLeft=Math.min(dragLeft,maxInterval+dragMinLeft-minInterval);}const resizeBarLeft=Math.max(1,dragLeft);resizeBarElem.style.left=`${resizeBarLeft}px`;resizeBarElem.style.top=`${scrollbarXToTop?osbHeight:0}px`;resizeBarElem.style.height=`${scrollbarXToTop?tableHeight-osbHeight:tableHeight}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=table_getI18n('vxe.table.resizeColTip',[Math.floor(resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft))]);const tableWrapperWidth=tableEl.clientWidth;const resizeBarWidth=resizeBarElem.clientWidth;const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeTipLeft=-resizeTipWidth;if(resizeBarLeft<resizeTipWidth+resizeBarWidth){resizeTipLeft=0;}else if(resizeBarLeft>tableWrapperWidth){resizeTipLeft+=tableWrapperWidth-resizeBarLeft;}resizeTipElem.style.left=`${resizeTipLeft}px`;resizeTipElem.style.top=`${Math.min(tableHeight-resizeTipHeight,Math.max(0,evnt.clientY-tableRect.y-resizeTipHeight/2))}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;addClass(tableEl,'col-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);const resizeWidth=resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft);const resizeParams={...params,resizeWidth,resizeColumn};if(resizableOpts.dragMode==='fixed'){visibleColumn.forEach(item=>{if(item.id!==resizeColumn.id){if(!item.resizeWidth){item.resizeWidth=item.renderWidth;}}});}if($xeTable.handleColResizeCellAreaEvent){$xeTable.handleColResizeCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}removeClass(tableEl,'col-drag--resize');};updateEvent(evnt);if($xeTable.closeMenu){$xeTable.closeMenu();}},handleColResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoWidth}=resizableOpts;const el=refElem.value;if(isDblclickAutoWidth&&el){evnt.stopPropagation();evnt.preventDefault();const{fullColumnIdData}=internalData;const{column}=params;let resizeColumn=column;if(column.children&&column.children.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(column.children,childColumn=>{resizeColumn=childColumn;});}const colid=resizeColumn.id;const colRest=fullColumnIdData[colid];const dragBtnElem=evnt.target;const cell=dragBtnElem.parentNode;const cellParams=Object.assign(params,{cell,$table:$xeTable});const colMinWidth=getColReMinWidth(cellParams);const colMaxWidth=getColReMaxWidth(cellParams);el.setAttribute('data-calc-col','Y');let resizeWidth=calcColumnAutoWidth(resizeColumn,el);el.removeAttribute('data-calc-col');if(colRest){resizeWidth=Math.max(resizeWidth,colRest.width);}resizeWidth=Math.max(colMinWidth,resizeWidth);if(colMaxWidth>1){resizeWidth=Math.min(colMaxWidth,resizeWidth);}const resizeParams={...params,resizeWidth,resizeColumn};reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleColResizeDblclickCellAreaEvent){$xeTable.handleColResizeDblclickCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}}},/**
|
|
21434
|
+
* @private
|
|
21412
21435
|
*/handleRowResizeMousedownEvent(evnt,params){evnt.stopPropagation();evnt.preventDefault();const{row}=params;const{showOverflow}=props;const{overflowX,scrollbarWidth,overflowY,scrollbarHeight}=reactData;const{elemStore,fullAllDataRowIdData}=internalData;const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const scrollbarYToLeft=computeScrollbarYToLeft.value;const resizableOpts=computeResizableOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;let tableEl=refElem.value;if($xeGantt){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){tableEl=ganttContainerElem;}}const resizeBarElem=refRowResizeBar.value;if(!resizeBarElem){return;}const{clientY:dragClientY}=evnt;const resizeTipElem=resizeBarElem.firstElementChild;const dragBtnElem=evnt.currentTarget;const tdEl=dragBtnElem.parentNode;const trEl=tdEl.parentNode;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(!bodyScrollElem){return;}const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const defaultRowHeight=computeDefaultRowHeight.value;let currCellHeight=rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;if(!showOverflow){currCellHeight=tdEl.clientHeight;}const tableRect=tableEl.getBoundingClientRect();const trRect=trEl.getBoundingClientRect();const targetOffsetY=dragClientY-trRect.y-trEl.clientHeight;let resizeHeight=currCellHeight;const cellEl=tdEl.querySelector('.vxe-cell');let cellMinHeight=0;if(cellEl){const cellStyle=getComputedStyle(cellEl);cellMinHeight=Math.max(1,Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingTop)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingBottom)));}const minTop=trRect.y-tableRect.y+cellMinHeight;// 处理拖动事件
|
|
21413
|
-
const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const rtWidth=tableEl.clientWidth-osbWidth;const tableHeight=tableEl.clientHeight-osbHeight;let dragTop=evnt.clientY-tableRect.y-targetOffsetY;if(dragTop<minTop){dragTop=minTop;}else{resizeHeight=Math.max(cellMinHeight,currCellHeight+evnt.clientY-dragClientY);}resizeBarElem.style.left=`${scrollbarYToLeft?osbWidth:0}px`;resizeBarElem.style.top=`${dragTop}px`;resizeBarElem.style.width=`${rtWidth}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=table_getI18n('vxe.table.resizeRowTip',[resizeHeight]);const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeBarLeft=Math.max(2,evnt.clientX-tableRect.x);let resizeBarTop=0;if(resizeBarLeft+resizeTipWidth>=rtWidth-2){resizeBarLeft=rtWidth-resizeTipWidth-2;}if(dragTop+resizeTipHeight>=tableHeight){resizeBarTop=tableHeight-(dragTop+resizeTipHeight);}resizeTipElem.style.left=`${resizeBarLeft}px`;resizeTipElem.style.top=`${resizeBarTop}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;addClass(tableEl,'row-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);if(resizeHeight!==currCellHeight){const resizeParams={...params,resizeHeight,resizeRow:row};internalData.isResizeCellHeight=true;if($xeTable.handleRowResizeCellAreaEvent){$xeTable.handleRowResizeCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);updateRowOffsetTop();}}removeClass(tableEl,'row-drag--resize');};updateEvent(evnt);},/**
|
|
21414
|
-
* @private
|
|
21415
|
-
*/handleRowResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoHeight}=resizableOpts;const el=refElem.value;if(isDblclickAutoHeight&&el){evnt.stopPropagation();evnt.preventDefault();const{editStore}=reactData;const{fullAllDataRowIdData}=internalData;const{actived}=editStore;const{row}=params;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const handleRsHeight=()=>{el.setAttribute('data-calc-row','Y');const resizeHeight=calcCellAutoHeight(rowid,rowRest,el);el.removeAttribute('data-calc-row');const resizeParams={...params,resizeHeight,resizeRow:row};reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleRowResizeDblclickCellAreaEvent){$xeTable.handleRowResizeDblclickCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);}};if(actived.row||actived.column){$xeTable.clearEdit().then(handleRsHeight);}else{handleRsHeight();}}},/**
|
|
21416
|
-
* @private
|
|
21436
|
+
const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const rtWidth=tableEl.clientWidth-osbWidth;const tableHeight=tableEl.clientHeight-osbHeight;let dragTop=evnt.clientY-tableRect.y-targetOffsetY;if(dragTop<minTop){dragTop=minTop;}else{resizeHeight=Math.max(cellMinHeight,currCellHeight+evnt.clientY-dragClientY);}resizeBarElem.style.left=`${scrollbarYToLeft?osbWidth:0}px`;resizeBarElem.style.top=`${dragTop}px`;resizeBarElem.style.width=`${rtWidth}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=table_getI18n('vxe.table.resizeRowTip',[resizeHeight]);const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeBarLeft=Math.max(2,evnt.clientX-tableRect.x);let resizeBarTop=0;if(resizeBarLeft+resizeTipWidth>=rtWidth-2){resizeBarLeft=rtWidth-resizeTipWidth-2;}if(dragTop+resizeTipHeight>=tableHeight){resizeBarTop=tableHeight-(dragTop+resizeTipHeight);}resizeTipElem.style.left=`${resizeBarLeft}px`;resizeTipElem.style.top=`${resizeBarTop}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;addClass(tableEl,'row-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);if(resizeHeight!==currCellHeight){const resizeParams={...params,resizeHeight,resizeRow:row};internalData.isResizeCellHeight=true;if($xeTable.handleRowResizeCellAreaEvent){$xeTable.handleRowResizeCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);updateRowOffsetTop();}}removeClass(tableEl,'row-drag--resize');};updateEvent(evnt);},/**
|
|
21437
|
+
* @private
|
|
21438
|
+
*/handleRowResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoHeight}=resizableOpts;const el=refElem.value;if(isDblclickAutoHeight&&el){evnt.stopPropagation();evnt.preventDefault();const{editStore}=reactData;const{fullAllDataRowIdData}=internalData;const{actived}=editStore;const{row}=params;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const handleRsHeight=()=>{el.setAttribute('data-calc-row','Y');const resizeHeight=calcCellAutoHeight(rowid,rowRest,el);el.removeAttribute('data-calc-row');const resizeParams={...params,resizeHeight,resizeRow:row};reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleRowResizeDblclickCellAreaEvent){$xeTable.handleRowResizeDblclickCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);}};if(actived.row||actived.column){$xeTable.clearEdit().then(handleRsHeight);}else{handleRsHeight();}}},/**
|
|
21439
|
+
* @private
|
|
21417
21440
|
*/saveCustomStore(type){const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{updateStore,storage,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=Object.assign({},isAllCustom?{}:storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggGroup=hangleStorageDefaultValue(storageOpts.aggGroup,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);if(type!=='reset'){// fix:修复拖动列宽,重置按钮无法点击的问题
|
|
21418
|
-
reactData.isCustomStatus=true;}if(storage&&(customConfig?isEnableConf(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggGroup||isCustomAggFunc)){if(!tableId){table_errLog('vxe.error.reqProp',['id']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}const storeData=type==='reset'?{resizableData:{},sortData:[],visibleData:{},fixedData:{},aggGroupData:{},aggFuncData:{}}:$xeTable.getCustomStoreData();if(updateStore){return updateStore({$table:$xeTable,id:tableId,type,storeData});}else{setCustomStorageMap(tableId,type==='reset'?null:storeData);}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21419
|
-
* @private
|
|
21441
|
+
reactData.isCustomStatus=true;}if(storage&&(customConfig?isEnableConf(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggGroup||isCustomAggFunc)){if(!tableId){table_errLog('vxe.error.reqProp',['id']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}const storeData=type==='reset'?{resizableData:{},sortData:[],visibleData:{},fixedData:{},aggGroupData:{},aggFuncData:{}}:$xeTable.getCustomStoreData();if(updateStore){return updateStore({$table:$xeTable,id:tableId,type,storeData});}else{setCustomStorageMap(tableId,type==='reset'?null:storeData);}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21442
|
+
* @private
|
|
21420
21443
|
*/handleCustom(){const{mouseConfig}=props;if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}$xeTable.analyColumnWidth();return $xeTable.refreshColumn(true);},handleUpdateDataQueue(){reactData.upDataFlag++;},handleRefreshColumnQueue(){reactData.reColumnFlag++;},handleFilterOptions(column){if(column){const{filterStore}=reactData;const{filterRender,filters}=column;const filterOptions=filters||[];const compConf=isEnableConf(filterRender)?table_renderer.get(filterRender.name):null;const frMethod=column.filterRecoverMethod||(compConf?compConf.tableFilterRecoverMethod||compConf.filterRecoverMethod:null);filterStore.column=column;// 复原状态
|
|
21421
21444
|
filterOptions.forEach(option=>{const{_checked,checked}=option;option._checked=checked;if(!checked&&_checked!==checked){if(frMethod){frMethod({option,column,$table:$xeTable});}}});$xeTable.checkFilterOptions();}},preventEvent(evnt,type,args,next,end){let evntList=table_interceptor.get(type);// 兼容老版本
|
|
21422
21445
|
if(!evntList.length&&type==='event.clearEdit'){evntList=table_interceptor.get('event.clearActived');if(evntList.length){table_warnLog('vxe.error.delEvent',['event.clearActived','event.clearEdit']);}}// 兼容老版本
|
|
@@ -21434,9 +21457,9 @@ let hLen=0;// 半选
|
|
|
21434
21457
|
let dhLen=0;// 禁用的半选
|
|
21435
21458
|
let vLen=0;// 有效行
|
|
21436
21459
|
const rootList=treeConfig?afterTreeFullData:isRowGroupStatus?afterGroupFullData:afterFullData;rootList.forEach(checkMethod?row=>{const childRowid=handleGetRowId(row);const selected=checkField?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField):selectCheckboxMaps[childRowid];if(isRowGroupStatus&&$xeTable.isAggregateRecord(row)){const childList=row[mapChildrenField||''];if(selected){vLen++;sLen++;}else if(treeIndeterminateRowMaps[childRowid]){vLen++;hLen++;}else if(childList&&childList.length&&childList.some(item=>checkMethod({$table:$xeTable,row:item}))){vLen++;}}else if(checkMethod({$table:$xeTable,row})){if(selected){sLen++;}else if(treeIndeterminateRowMaps[childRowid]){hLen++;}vLen++;}else{if(selected){dsLen++;}else if(treeIndeterminateRowMaps[childRowid]){dhLen++;}}}:row=>{const childRowid=handleGetRowId(row);const selected=checkField?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField):selectCheckboxMaps[childRowid];if(selected){sLen++;}else if(treeIndeterminateRowMaps[childRowid]){hLen++;}vLen++;});const isSelected=rootList.length>0?vLen>0?sLen>=vLen:sLen>=rootList.length:false;let halfSelect=!isSelected&&(sLen>0||hLen>0||dsLen>0||dhLen>0);// 如果复选框启用保留记录,当保留数据存在时显示半选
|
|
21437
|
-
if(!isSelected&&!halfSelect&&showReserveStatus){halfSelect=!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isEmpty(checkboxReserveRowMap);}reactData.isAllSelected=isSelected;reactData.isIndeterminate=halfSelect;},checkSelectionStatus(){$xeTable.updateCheckboxStatus();$xeTable.updateAllCheckboxStatus();},/**
|
|
21438
|
-
* 切换选中
|
|
21439
|
-
* 多选,行选中事件
|
|
21460
|
+
if(!isSelected&&!halfSelect&&showReserveStatus){halfSelect=!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isEmpty(checkboxReserveRowMap);}reactData.isAllSelected=isSelected;reactData.isIndeterminate=halfSelect;},checkSelectionStatus(){$xeTable.updateCheckboxStatus();$xeTable.updateAllCheckboxStatus();},/**
|
|
21461
|
+
* 切换选中
|
|
21462
|
+
* 多选,行选中事件
|
|
21440
21463
|
*/handleBatchSelectRows(rows,checked,isForce){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{selectCheckboxMaps}=internalData;const aggregateOpts=computeAggregateOpts.value;const treeOpts=computeTreeOpts.value;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const checkboxOpts=computeCheckboxOpts.value;const{checkField,checkStrictly,checkMethod}=checkboxOpts;const{handleGetRowId}=createHandleGetRowId($xeTable);// indeterminateField 仅支持读取
|
|
21441
21464
|
const indeterminateField=checkboxOpts.indeterminateField||checkboxOpts.halfField;if(checkField){// 树结构
|
|
21442
21465
|
if((treeConfig||isRowGroupStatus)&&!checkStrictly){// 更新子节点状态
|
|
@@ -21445,24 +21468,24 @@ rows.forEach(row=>{if(isForce||!checkMethod||checkMethod({$table:$xeTable,row}))
|
|
|
21445
21468
|
if(!checkStrictly){if(isRowGroupStatus){// 更新行分组节点状态
|
|
21446
21469
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(rows,row=>{const rowid=handleGetRowId(row);if(isForce||!checkMethod||checkMethod({$table:$xeTable,row})){if(checked){selectCheckboxMaps[rowid]=row;}else{if(selectCheckboxMaps[rowid]){delete selectCheckboxMaps[rowid];}}handleCheckboxReserveRow(row,checked);}},{children:aggregateOpts.mapChildrenField});reactData.updateCheckboxFlag++;return;}else if(treeConfig){// 更新子节点状态
|
|
21447
21470
|
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(rows,row=>{const rowid=handleGetRowId(row);if(isForce||!checkMethod||checkMethod({$table:$xeTable,row})){if(checked){selectCheckboxMaps[rowid]=row;}else{if(selectCheckboxMaps[rowid]){delete selectCheckboxMaps[rowid];}}handleCheckboxReserveRow(row,checked);}},{children:transform?mapChildrenField:childrenField});reactData.updateCheckboxFlag++;return;}}// 列表
|
|
21448
|
-
rows.forEach(row=>{const rowid=handleGetRowId(row);if(isForce||!checkMethod||checkMethod({$table:$xeTable,row})){if(checked){if(!selectCheckboxMaps[rowid]){selectCheckboxMaps[rowid]=row;}}else{if(selectCheckboxMaps[rowid]){delete selectCheckboxMaps[rowid];}}handleCheckboxReserveRow(row,checked);reactData.updateCheckboxFlag++;}});},/**
|
|
21449
|
-
* 即将移除
|
|
21450
|
-
* @deprecated
|
|
21451
|
-
*/handleSelectRow({row},checked,isForce){$xeTable.handleBatchSelectRows([row],checked,isForce);},handleUpdateHeaderMerge(){const{mergeHeaderList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeHeaderList);internalData.mergeHeaderCellMaps=mergeMaps;internalData.mergeHeaderRowMaps=mergeRowMaps;internalData.mergeHeaderColMaps=mergeColMaps;reactData.mergeHeadFlag++;},/**
|
|
21452
|
-
* 处理合并
|
|
21453
|
-
*/handleUpdateBodyMerge(){const{mergeBodyList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeBodyList);internalData.mergeBodyCellMaps=mergeMaps;internalData.mergeBodyRowMaps=mergeRowMaps;internalData.mergeBodyColMaps=mergeColMaps;reactData.mergeBodyFlag++;},handleUpdateFooterMerge(){const{mergeFooterList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeFooterList);internalData.mergeFooterCellMaps=mergeMaps;internalData.mergeFooterRowMaps=mergeRowMaps;internalData.mergeFooterColMaps=mergeColMaps;reactData.mergeFootFlag++;},handleAggregateSummaryData(){return $xeTable.refreshAggregateCalcValues();},triggerHeaderTitleEvent(evnt,iconParams,params){const tipContent=iconParams.content||iconParams.message;if(tipContent){const{tooltipStore}=reactData;const{column}=params;const content=getFuncText(tipContent);handleTargetEnterEvent(true);tooltipStore.row=null;tooltipStore.column=column;tooltipStore.visible=true;tooltipStore.currOpts=iconParams;(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{const $tooltip=refTooltip.value;if($tooltip&&$tooltip.open){$tooltip.open(evnt.currentTarget,content);}});}},/**
|
|
21454
|
-
* 触发表头 tooltip 事件
|
|
21455
|
-
*/triggerHeaderTooltipEvent(evnt,params){const{tooltipStore}=reactData;const headerTooltipOpts=computeHeaderTooltipOpts.value;const{column}=params;handleTargetEnterEvent(true);const titleElem=evnt.currentTarget;if(!titleElem){return;}const cWrapperEl=titleElem.parentElement;if(!cWrapperEl){return;}const cellEl=cWrapperEl.parentElement;if(!cellEl){return;}const thEl=cellEl.parentElement;if(!thEl){return;}if(tooltipStore.column!==column||!tooltipStore.visible){const ctEl=thEl.querySelector('.vxe-cell--title');handleTooltip(evnt,headerTooltipOpts,'header',thEl,(hasClass(thEl,'col--ellipsis')?ctEl:cWrapperEl)||cWrapperEl,ctEl||cellEl,params);}},/**
|
|
21456
|
-
* 触发单元格 tooltip 事件
|
|
21471
|
+
rows.forEach(row=>{const rowid=handleGetRowId(row);if(isForce||!checkMethod||checkMethod({$table:$xeTable,row})){if(checked){if(!selectCheckboxMaps[rowid]){selectCheckboxMaps[rowid]=row;}}else{if(selectCheckboxMaps[rowid]){delete selectCheckboxMaps[rowid];}}handleCheckboxReserveRow(row,checked);reactData.updateCheckboxFlag++;}});},/**
|
|
21472
|
+
* 即将移除
|
|
21473
|
+
* @deprecated
|
|
21474
|
+
*/handleSelectRow({row},checked,isForce){$xeTable.handleBatchSelectRows([row],checked,isForce);},handleUpdateHeaderMerge(){const{mergeHeaderList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeHeaderList);internalData.mergeHeaderCellMaps=mergeMaps;internalData.mergeHeaderRowMaps=mergeRowMaps;internalData.mergeHeaderColMaps=mergeColMaps;reactData.mergeHeadFlag++;},/**
|
|
21475
|
+
* 处理合并
|
|
21476
|
+
*/handleUpdateBodyMerge(){const{mergeBodyList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeBodyList);internalData.mergeBodyCellMaps=mergeMaps;internalData.mergeBodyRowMaps=mergeRowMaps;internalData.mergeBodyColMaps=mergeColMaps;reactData.mergeBodyFlag++;},handleUpdateFooterMerge(){const{mergeFooterList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeFooterList);internalData.mergeFooterCellMaps=mergeMaps;internalData.mergeFooterRowMaps=mergeRowMaps;internalData.mergeFooterColMaps=mergeColMaps;reactData.mergeFootFlag++;},handleAggregateSummaryData(){return $xeTable.refreshAggregateCalcValues();},triggerHeaderTitleEvent(evnt,iconParams,params){const tipContent=iconParams.content||iconParams.message;if(tipContent){const{tooltipStore}=reactData;const{column}=params;const content=getFuncText(tipContent);handleTargetEnterEvent(true);tooltipStore.row=null;tooltipStore.column=column;tooltipStore.visible=true;tooltipStore.currOpts=iconParams;(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{const $tooltip=refTooltip.value;if($tooltip&&$tooltip.open){$tooltip.open(evnt.currentTarget,content);}});}},/**
|
|
21477
|
+
* 触发表头 tooltip 事件
|
|
21478
|
+
*/triggerHeaderTooltipEvent(evnt,params){const{tooltipStore}=reactData;const headerTooltipOpts=computeHeaderTooltipOpts.value;const{column}=params;handleTargetEnterEvent(true);const titleElem=evnt.currentTarget;if(!titleElem){return;}const cWrapperEl=titleElem.parentElement;if(!cWrapperEl){return;}const cellEl=cWrapperEl.parentElement;if(!cellEl){return;}const thEl=cellEl.parentElement;if(!thEl){return;}if(tooltipStore.column!==column||!tooltipStore.visible){const ctEl=thEl.querySelector('.vxe-cell--title');handleTooltip(evnt,headerTooltipOpts,'header',thEl,(hasClass(thEl,'col--ellipsis')?ctEl:cWrapperEl)||cWrapperEl,ctEl||cellEl,params);}},/**
|
|
21479
|
+
* 触发单元格 tooltip 事件
|
|
21457
21480
|
*/triggerBodyTooltipEvent(evnt,params){const{editConfig}=props;const{editStore}=reactData;const{tooltipStore}=reactData;const tooltipOpts=computeTooltipOpts.value;const editOpts=computeEditOpts.value;const{actived}=editStore;const{row,column}=params;const tdEl=evnt.currentTarget;handleTargetEnterEvent(tooltipStore.column!==column||tooltipStore.row!==row);// 单元格处于编辑状态时不触发提示框
|
|
21458
21481
|
if(column.editRender&&isEnableConf(editConfig)){// 如果是行编辑模式
|
|
21459
21482
|
if(editOpts.mode==='row'&&actived.row===row){return;}// 如果是单元格编辑模式
|
|
21460
|
-
if(actived.row===row&&actived.column===column){return;}}if(tooltipStore.column!==column||tooltipStore.row!==row||!tooltipStore.visible){const ctEl=tdEl.querySelector('.vxe-cell--wrapper');let ovEl=null;let tipEl=tdEl.querySelector(column.type==='html'?'.vxe-cell--html':'.vxe-cell--label');if(column.treeNode){ovEl=tdEl.querySelector('.vxe-tree-cell');}if(!tipEl){tipEl=ctEl;}handleTooltip(evnt,tooltipOpts,'body',tdEl,ovEl||ctEl,tipEl,params);}},/**
|
|
21461
|
-
* 触发表尾 tooltip 事件
|
|
21462
|
-
*/triggerFooterTooltipEvent(evnt,params){const{column}=params;const{tooltipStore}=reactData;const footerTooltipOpts=computeFooterTooltipOpts.value;const tdEl=evnt.currentTarget;handleTargetEnterEvent(tooltipStore.column!==column||!!tooltipStore.row);if(tooltipStore.column!==column||!tooltipStore.visible){const ctEl=tdEl.querySelector('.vxe-cell--wrapper');let ovEl=null;let tipEl=tdEl.querySelector(column.type==='html'?'.vxe-cell--html':'.vxe-cell--label');if(column.type==='html'){ovEl=tdEl.querySelector('.vxe-cell--html');}if(!tipEl){tipEl=ctEl;}handleTooltip(evnt,footerTooltipOpts,'footer',tdEl,ovEl||ctEl,tipEl,params);}},handleTargetLeaveEvent(){const tooltipOpts=computeTooltipOpts.value;let $tooltip=refTooltip.value;if($tooltip&&$tooltip.setActived){$tooltip.setActived(false);}if(tooltipOpts.enterable){internalData.tooltipTimeout=setTimeout(()=>{$tooltip=refTooltip.value;if($tooltip&&$tooltip.isActived&&!$tooltip.isActived()){$xeTable.closeTooltip();}},tooltipOpts.leaveDelay);}else{$xeTable.closeTooltip();}},triggerHeaderCellClickEvent(evnt,params){const{_lastResizeTime}=internalData;const sortOpts=computeSortOpts.value;const columnOpts=computeColumnOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const{column}=params;const cell=evnt.currentTarget;const triggerResizable=_lastResizeTime&&_lastResizeTime>Date.now()-300;const triggerSort=getEventTargetNode(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=getEventTargetNode(evnt,cell,'vxe-cell--filter').flag;if(sortOpts.trigger==='cell'&&!(triggerResizable||triggerSort||triggerFilter)){$xeTable.triggerSortEvent(evnt,column,getNextSortOrder(column));}if($xeGantt){const ganttReactData=$xeGantt.reactData;ganttReactData.activeBarRowid=null;}dispatchEvent('header-cell-click',Object.assign({triggerResizable,triggerSort,triggerFilter,cell},params),evnt);if((columnOpts.isCurrent||props.highlightCurrentColumn)&&(!currentColumnOpts.trigger||['header','default'].includes(currentColumnOpts.trigger))){$xeTable.triggerCurrentColumnEvent(evnt,params);}},triggerHeaderCellDblclickEvent(evnt,params){dispatchEvent('header-cell-dblclick',Object.assign({cell:evnt.currentTarget},params),evnt);},/**
|
|
21463
|
-
* 列点击事件
|
|
21464
|
-
* 如果是单击模式,则激活为编辑状态
|
|
21465
|
-
* 如果是双击模式,则单击后选中状态
|
|
21483
|
+
if(actived.row===row&&actived.column===column){return;}}if(tooltipStore.column!==column||tooltipStore.row!==row||!tooltipStore.visible){const ctEl=tdEl.querySelector('.vxe-cell--wrapper');let ovEl=null;let tipEl=tdEl.querySelector(column.type==='html'?'.vxe-cell--html':'.vxe-cell--label');if(column.treeNode){ovEl=tdEl.querySelector('.vxe-tree-cell');}if(!tipEl){tipEl=ctEl;}handleTooltip(evnt,tooltipOpts,'body',tdEl,ovEl||ctEl,tipEl,params);}},/**
|
|
21484
|
+
* 触发表尾 tooltip 事件
|
|
21485
|
+
*/triggerFooterTooltipEvent(evnt,params){const{column}=params;const{tooltipStore}=reactData;const footerTooltipOpts=computeFooterTooltipOpts.value;const tdEl=evnt.currentTarget;handleTargetEnterEvent(tooltipStore.column!==column||!!tooltipStore.row);if(tooltipStore.column!==column||!tooltipStore.visible){const ctEl=tdEl.querySelector('.vxe-cell--wrapper');let ovEl=null;let tipEl=tdEl.querySelector(column.type==='html'?'.vxe-cell--html':'.vxe-cell--label');if(column.type==='html'){ovEl=tdEl.querySelector('.vxe-cell--html');}if(!tipEl){tipEl=ctEl;}handleTooltip(evnt,footerTooltipOpts,'footer',tdEl,ovEl||ctEl,tipEl,params);}},handleTargetLeaveEvent(){const tooltipOpts=computeTooltipOpts.value;let $tooltip=refTooltip.value;if($tooltip&&$tooltip.setActived){$tooltip.setActived(false);}if(tooltipOpts.enterable){internalData.tooltipTimeout=setTimeout(()=>{$tooltip=refTooltip.value;if($tooltip&&$tooltip.isActived&&!$tooltip.isActived()){$xeTable.closeTooltip();}},tooltipOpts.leaveDelay);}else{$xeTable.closeTooltip();}},triggerHeaderCellClickEvent(evnt,params){const{_lastResizeTime}=internalData;const sortOpts=computeSortOpts.value;const columnOpts=computeColumnOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const{column}=params;const cell=evnt.currentTarget;const triggerResizable=_lastResizeTime&&_lastResizeTime>Date.now()-300;const triggerSort=getEventTargetNode(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=getEventTargetNode(evnt,cell,'vxe-cell--filter').flag;if(sortOpts.trigger==='cell'&&!(triggerResizable||triggerSort||triggerFilter)){$xeTable.triggerSortEvent(evnt,column,getNextSortOrder(column));}if($xeGantt){const ganttReactData=$xeGantt.reactData;ganttReactData.activeBarRowid=null;}dispatchEvent('header-cell-click',Object.assign({triggerResizable,triggerSort,triggerFilter,cell},params),evnt);if((columnOpts.isCurrent||props.highlightCurrentColumn)&&(!currentColumnOpts.trigger||['header','default'].includes(currentColumnOpts.trigger))){$xeTable.triggerCurrentColumnEvent(evnt,params);}},triggerHeaderCellDblclickEvent(evnt,params){dispatchEvent('header-cell-dblclick',Object.assign({cell:evnt.currentTarget},params),evnt);},/**
|
|
21486
|
+
* 列点击事件
|
|
21487
|
+
* 如果是单击模式,则激活为编辑状态
|
|
21488
|
+
* 如果是双击模式,则单击后选中状态
|
|
21466
21489
|
*/triggerCellClickEvent(evnt,params){const{treeConfig,highlightCurrentRow,highlightCurrentColumn,editConfig,aggregateConfig,rowGroupConfig}=props;const{editStore,isDragResize,expandColumn,checkboxColumn,radioColumn}=reactData;if(isDragResize){return;}const expandOpts=computeExpandOpts.value;const editOpts=computeEditOpts.value;const treeOpts=computeTreeOpts.value;const radioOpts=computeRadioOpts.value;const checkboxOpts=computeCheckboxOpts.value;const keyboardOpts=computeKeyboardOpts.value;const aggregateOpts=computeAggregateOpts.value;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const{actived,focused}=editStore;const{row,column}=params;const{type,treeNode,rowGroupNode}=column;const isRadioType=type==='radio';const isCheckboxType=type==='checkbox';const isExpandType=type==='expand';const cell=evnt.currentTarget;const triggerRadio=isRadioType&&getEventTargetNode(evnt,cell,'vxe-cell--radio').flag;const triggerCheckbox=isCheckboxType&&getEventTargetNode(evnt,cell,'vxe-cell--checkbox').flag;const triggerTreeNode=treeNode&&getEventTargetNode(evnt,cell,'vxe-cell--tree-btn').flag;const triggerExpandNode=isExpandType&&getEventTargetNode(evnt,cell,'vxe-table--expanded').flag;const triggerRowGroupNode=isExpandType&&getEventTargetNode(evnt,cell,'vxe-row-group--node-btn').flag;params=Object.assign({cell,triggerRadio,triggerCheckbox,triggerTreeNode,triggerExpandNode},params);if(!triggerCheckbox&&!triggerRadio){// 如果是展开行
|
|
21467
21490
|
if(!triggerExpandNode&&(expandColumn&&expandOpts.trigger==='row'||isExpandType&&expandOpts.trigger==='cell')){$xeTable.triggerRowExpandEvent(evnt,params);}// 如果是树形表格
|
|
21468
21491
|
if(treeConfig&&(treeOpts.trigger==='row'||treeNode&&treeOpts.trigger==='cell')){$xeTable.triggerTreeExpandEvent(evnt,params);}// 如果是行分组
|
|
@@ -21473,35 +21496,35 @@ if((columnOpts.isCurrent||highlightCurrentColumn)&&(!currentColumnOpts.trigger||
|
|
|
21473
21496
|
if(!triggerRadio&&(radioColumn&&radioOpts.trigger==='row'||isRadioType&&radioOpts.trigger==='cell')){$xeTable.triggerRadioRowEvent(evnt,params);}// 如果是复选框
|
|
21474
21497
|
if(!triggerCheckbox&&(checkboxColumn&&checkboxOpts.trigger==='row'||isCheckboxType&&checkboxOpts.trigger==='cell')){$xeTable.handleToggleCheckRowEvent(evnt,params);}}// 如果设置了单元格选中功能,则不会使用点击事件去处理(只能支持双击模式)
|
|
21475
21498
|
if(isEnableConf(editConfig)){// 记录点击输入框聚焦状态
|
|
21476
|
-
if(keyboardOpts.arrowCursorLock&&evnt&&editOpts.mode==='cell'&&evnt.target&&/^input|textarea$/i.test(evnt.target.tagName)){focused.column=column;focused.row=row;}if(editOpts.trigger==='manual'){if(actived.args&&actived.row===row&&column!==actived.column){handleChangeCell(evnt,params);}}else if(!actived.args||row!==actived.row||column!==actived.column){if(editOpts.trigger==='click'){handleChangeCell(evnt,params);}else if(editOpts.trigger==='dblclick'){if(editOpts.mode==='row'&&actived.row===row){handleChangeCell(evnt,params);}}}}}// 如果是双击编辑模式
|
|
21477
|
-
if(isEnableConf(editConfig)&&editOpts.trigger==='dblclick'){if(actived.row&&actived.column){if(editOpts.mode==='row'){if(!$xeTable.eqRow(actived.row,row)){$xeTable.handleClearEdit(evnt);}}else if(editOpts.mode==='cell'){if(!$xeTable.eqRow(actived.row,row)||actived.column.id!==column.id){$xeTable.handleClearEdit(evnt);}}}}if($xeGantt){const ganttReactData=$xeGantt.reactData;ganttReactData.activeBarRowid=null;}dispatchEvent('cell-click',params,evnt);},/**
|
|
21478
|
-
* 列双击点击事件
|
|
21479
|
-
* 如果是双击模式,则激活为编辑状态
|
|
21499
|
+
if(keyboardOpts.arrowCursorLock&&evnt&&editOpts.mode==='cell'&&evnt.target&&/^input|textarea$/i.test(evnt.target.tagName)){focused.column=column;focused.row=row;}if(editOpts.trigger==='manual'){if(actived.args&&actived.row===row&&column!==actived.column){if(editOpts.mode==='row'){handleChangeCell(evnt,params);}else{checkValidate('blur').catch(e=>e);}}}else if(!actived.args||row!==actived.row||column!==actived.column){if(editOpts.trigger==='click'){handleChangeCell(evnt,params);}else if(editOpts.trigger==='dblclick'){if(editOpts.mode==='row'&&actived.row===row){handleChangeCell(evnt,params);}}}}}// 如果是双击编辑模式
|
|
21500
|
+
if(isEnableConf(editConfig)&&editOpts.trigger==='dblclick'){if(actived.row&&actived.column){if(editOpts.mode==='row'){if(!$xeTable.eqRow(actived.row,row)){$xeTable.handleClearEdit(evnt);}}else if(editOpts.mode==='cell'){if(!$xeTable.eqRow(actived.row,row)||actived.column.id!==column.id){$xeTable.handleClearEdit(evnt);}}}}if($xeGantt){const ganttReactData=$xeGantt.reactData;ganttReactData.activeBarRowid=null;}dispatchEvent('cell-click',params,evnt);},/**
|
|
21501
|
+
* 列双击点击事件
|
|
21502
|
+
* 如果是双击模式,则激活为编辑状态
|
|
21480
21503
|
*/triggerCellDblclickEvent(evnt,params){const{editConfig}=props;const{editStore,isDragResize}=reactData;if(isDragResize){return;}const editOpts=computeEditOpts.value;const{actived}=editStore;const cell=evnt.currentTarget;params=Object.assign({cell},params);if(isEnableConf(editConfig)&&editOpts.trigger==='dblclick'){if(!actived.args||evnt.currentTarget!==actived.args.cell){if(editOpts.mode==='row'){checkValidate('blur').catch(e=>e).then(()=>{$xeTable.handleEdit(params,evnt).then(()=>checkValidate('change')).catch(e=>e);});}else if(editOpts.mode==='cell'){$xeTable.handleEdit(params,evnt).then(()=>checkValidate('change')).catch(e=>e);}}}dispatchEvent('cell-dblclick',params,evnt);},triggerFooterCellClickEvent(evnt,params){const cell=evnt.currentTarget;params=Object.assign({cell},params);if($xeGantt){const ganttReactData=$xeGantt.reactData;ganttReactData.activeBarRowid=null;}$xeTable.dispatchEvent('footer-cell-click',params,evnt);},triggerFooterCellDblclickEvent(evnt,params){const cell=evnt.currentTarget;params=Object.assign({cell},params);$xeTable.dispatchEvent('footer-cell-dblclick',params,evnt);},handleToggleCheckRowEvent(evnt,params){const{selectCheckboxMaps}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{checkField,trigger}=checkboxOpts;const{row}=params;if(trigger==='manual'){return;}let checked=false;if(checkField){checked=!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField);}else{checked=!selectCheckboxMaps[getRowid($xeTable,row)];}if(evnt){$xeTable.triggerCheckRowEvent(evnt,params,checked);}else{$xeTable.handleBatchSelectRows([row],checked);$xeTable.checkSelectionStatus();}},triggerCheckRowEvent(evnt,params,checked){const{treeConfig}=props;const{row}=params;const{isRowGroupStatus}=reactData;const{fullAllDataRowIdData,afterFullData,afterTreeFullData,afterGroupFullData}=internalData;const checkboxOpts=computeCheckboxOpts.value;const aggregateOpts=computeAggregateOpts.value;const treeOpts=computeTreeOpts.value;const{checkMethod,trigger,checkStrictly}=checkboxOpts;if(trigger==='manual'){return;}evnt.stopPropagation();if(checkboxOpts.isShiftKey&&evnt.shiftKey){const{handleGetRowId}=createHandleGetRowId($xeTable);const checkboxRecords=$xeTable.getCheckboxRecords();let currSeq=-1;let currRow=null;const currRowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[currRowid];if(rowRest){currRow=rowRest.row;currSeq=rowRest._seq;}if(currRow&&checkboxRecords.length){let rangeRows=[];let firstSeq=-1;let firstRow=null;let firstRowid='';let lastSeq=-1;let lastRow=null;let lastRowid='';// 根据序号取出范围最小/最大的行
|
|
21481
21504
|
const selectMaps={};checkboxRecords.forEach(item=>{const rowid=handleGetRowId(item);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){if(!firstRow||firstSeq>rowRest._seq){firstRowid=rowRest.rowid;firstRow=rowRest.row;firstSeq=rowRest._seq;}if(!lastRow||lastSeq<rowRest._seq){lastRowid=rowRest.rowid;lastRow=rowRest.row;lastSeq=rowRest._seq;}}selectMaps[rowid]=item;});// 如果已选只有一条并选择当前则跳过
|
|
21482
21505
|
if(firstRow&&lastRow&&(checkboxRecords.length>1||currRowid!==firstRowid)&&(Math.abs(firstSeq-lastSeq)>1||Math.abs(currSeq-firstSeq)>1||Math.abs(currSeq-lastSeq)>1)){// 树与分组
|
|
21483
21506
|
if(treeConfig||isRowGroupStatus){const{transform}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const iteratorChildField=treeConfig?transform?treeOpts.mapChildrenField:childrenField:aggregateOpts.mapChildrenField;let isMatchFirst=false;let matchStartRowid='';let matchEndRowid='';const handleGetChildRowid=(rowid,isLast)=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const item=rowRest.row;const childList=item[iteratorChildField];if(childList&&childList.length){const targetRow=isLast?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().last(childList):external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().first(childList);return handleGetChildRowid(handleGetRowId(targetRow),isLast);}}return rowid;};const handleGetSelectParentRowid=rowid=>{const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const parentItem=rowRest.parent;if(parentItem){const parentRowid=handleGetRowId(parentItem);if(selectMaps[parentRowid]){return handleGetSelectParentRowid(parentRowid);}}}return rowid;};const handleGetRootRow=row=>{const rowid=handleGetRowId(row);if(rowid){const rest=fullAllDataRowIdData[rowid];if(rest){return rest.parent?handleGetRootRow(rest.parent):rest;}}return null;};if(currSeq<firstSeq){matchStartRowid=handleGetChildRowid(currRowid,0);matchEndRowid=handleGetChildRowid(firstRowid,1);}else{if(currSeq>lastSeq){matchStartRowid=handleGetSelectParentRowid(lastRowid);}else{matchStartRowid=handleGetChildRowid(firstRowid,0);}matchEndRowid=handleGetChildRowid(currRowid,1);}const handleRangeRow=item=>{const rowid=handleGetRowId(item);const childList=item[iteratorChildField];if(!isMatchFirst&&rowid===matchStartRowid){isMatchFirst=true;}// 如果是父子关联,则排除父节点
|
|
21484
21507
|
if(isMatchFirst&&(checkStrictly||!childList||!childList.length)){rangeRows.push(item);}// break
|
|
21485
21508
|
return rowid===matchEndRowid;};if(treeConfig){const matchStartRowRest=fullAllDataRowIdData[matchStartRowid];const firstRootRowRest=matchStartRowRest?handleGetRootRow(matchStartRowRest.row):null;if(firstRootRowRest){// 优化查找复杂度
|
|
21486
|
-
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterTreeFullData.slice(firstRootRowRest.treeIndex),handleRangeRow,{children:iteratorChildField});}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterTreeFullData,handleRangeRow,{children:iteratorChildField});}}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterGroupFullData,handleRangeRow,{children:iteratorChildField});}}else{const _currRowIndex=$xeTable.getVTRowIndex(currRow);const _firstRowIndex=$xeTable.getVTRowIndex(firstRow);const _lastRowIndex=$xeTable.getVTRowIndex(lastRow);if(_currRowIndex<_firstRowIndex){rangeRows=afterFullData.slice(_currRowIndex,_firstRowIndex+1);}else if(_currRowIndex>_lastRowIndex){rangeRows=afterFullData.slice(_lastRowIndex,_currRowIndex+1);}else{rangeRows=afterFullData.slice(_firstRowIndex,_currRowIndex+1);}}$xeTable.setAllCheckboxRow(false);(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{handleCheckedCheckboxRow(rangeRows,true,false);});dispatchEvent('checkbox-range-select',Object.assign({rangeRecords:rangeRows},params),evnt);}}}if(!checkMethod||checkMethod({$table:$xeTable,row})){$xeTable.handleBatchSelectRows([row],checked);$xeTable.checkSelectionStatus();dispatchEvent('checkbox-change',Object.assign({records:()=>$xeTable.getCheckboxRecords(),reserves:()=>$xeTable.getCheckboxReserveRecords(),indeterminates:()=>$xeTable.getCheckboxIndeterminateRecords(),checked},params),evnt);}},/**
|
|
21487
|
-
* 多选,选中所有事件
|
|
21488
|
-
*/triggerCheckAllEvent(evnt,value){const checkboxOpts=computeCheckboxOpts.value;const{trigger}=checkboxOpts;if(trigger==='manual'){return;}if(evnt){evnt.stopPropagation();}handleCheckAllEvent(evnt,value);},/**
|
|
21489
|
-
* 单选,行选中事件
|
|
21509
|
+
external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterTreeFullData.slice(firstRootRowRest.treeIndex),handleRangeRow,{children:iteratorChildField});}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterTreeFullData,handleRangeRow,{children:iteratorChildField});}}else{external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterGroupFullData,handleRangeRow,{children:iteratorChildField});}}else{const _currRowIndex=$xeTable.getVTRowIndex(currRow);const _firstRowIndex=$xeTable.getVTRowIndex(firstRow);const _lastRowIndex=$xeTable.getVTRowIndex(lastRow);if(_currRowIndex<_firstRowIndex){rangeRows=afterFullData.slice(_currRowIndex,_firstRowIndex+1);}else if(_currRowIndex>_lastRowIndex){rangeRows=afterFullData.slice(_lastRowIndex,_currRowIndex+1);}else{rangeRows=afterFullData.slice(_firstRowIndex,_currRowIndex+1);}}$xeTable.setAllCheckboxRow(false);(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{handleCheckedCheckboxRow(rangeRows,true,false);});dispatchEvent('checkbox-range-select',Object.assign({rangeRecords:rangeRows},params),evnt);}}}if(!checkMethod||checkMethod({$table:$xeTable,row})){$xeTable.handleBatchSelectRows([row],checked);$xeTable.checkSelectionStatus();dispatchEvent('checkbox-change',Object.assign({records:()=>$xeTable.getCheckboxRecords(),reserves:()=>$xeTable.getCheckboxReserveRecords(),indeterminates:()=>$xeTable.getCheckboxIndeterminateRecords(),checked},params),evnt);}},/**
|
|
21510
|
+
* 多选,选中所有事件
|
|
21511
|
+
*/triggerCheckAllEvent(evnt,value){const checkboxOpts=computeCheckboxOpts.value;const{trigger}=checkboxOpts;if(trigger==='manual'){return;}if(evnt){evnt.stopPropagation();}handleCheckAllEvent(evnt,value);},/**
|
|
21512
|
+
* 单选,行选中事件
|
|
21490
21513
|
*/triggerRadioRowEvent(evnt,params){const{selectRadioRow:oldValue}=reactData;const{row}=params;const radioOpts=computeRadioOpts.value;const{trigger,strict,checkMethod}=radioOpts;if(trigger==='manual'){return;}evnt.stopPropagation();if(!checkMethod||checkMethod({$table:$xeTable,row})){let newValue=row;let isChange=oldValue!==newValue;if(strict){handleCheckedRadioRow(newValue,false);}else{if(oldValue===newValue){newValue=null;}isChange=oldValue!==newValue;if(isChange&&newValue){handleCheckedRadioRow(newValue,false);}else{newValue=null;$xeTable.clearRadioRow();}}if(isChange){dispatchEvent('radio-change',{oldValue,newValue,selected:!!newValue,...params},evnt);}}},triggerCurrentColumnEvent(evnt,params){const{currentColumn:oldValue}=reactData;const columnOpts=computeColumnOpts.value;const currentColumnOpts=computeCurrentColumnOpts.value;const beforeRowMethod=currentColumnOpts.beforeSelectMethod||columnOpts.currentMethod;let newValue=params.column;const{trigger,strict}=currentColumnOpts;if(trigger==='manual'){return;}let isChange=oldValue!==newValue;if(!beforeRowMethod||beforeRowMethod({column:newValue,$table:$xeTable})){if(strict){$xeTable.setCurrentColumn(newValue);}else{if(oldValue===newValue){newValue=null;}isChange=oldValue!==newValue;if(isChange&&newValue){$xeTable.setCurrentColumn(newValue);}else{newValue=null;$xeTable.clearCurrentColumn();}}if(isChange){dispatchEvent('current-column-change',{oldValue,newValue,selected:!!newValue,...params},evnt);}}else{dispatchEvent('current-column-disabled',params,evnt);}},triggerCurrentRowEvent(evnt,params){const{currentRow:oldValue}=internalData;const rowOpts=computeRowOpts.value;const currentRowOpts=computeCurrentRowOpts.value;const beforeRowMethod=currentRowOpts.beforeSelectMethod||rowOpts.currentMethod;let{row:newValue}=params;const{trigger,strict}=currentRowOpts;if(trigger==='manual'){return;}let isChange=oldValue!==newValue;if(!beforeRowMethod||beforeRowMethod({row:newValue,$table:$xeTable})){if(strict){$xeTable.setCurrentRow(newValue);}else{if(oldValue===newValue){newValue=null;}isChange=oldValue!==newValue;if(isChange&&newValue){$xeTable.setCurrentRow(newValue);}else{newValue=null;$xeTable.clearCurrentRow();}}if(isChange){dispatchEvent('current-row-change',{oldValue,newValue,selected:!!newValue,...params},evnt);// 已废弃
|
|
21491
|
-
dispatchEvent('current-change',{oldValue,newValue,...params},evnt);}}else{dispatchEvent('current-row-disabled',params,evnt);}},/**
|
|
21492
|
-
* 展开行事件
|
|
21493
|
-
*/triggerRowExpandEvent(evnt,params){const{expandColumn}=reactData;const{rowExpandLazyLoadedMaps}=internalData;const expandOpts=computeExpandOpts.value;const{row}=params;const{lazy,trigger}=expandOpts;if(trigger==='manual'){return;}evnt.stopPropagation();const rowid=getRowid($xeTable,row);if(!lazy||!rowExpandLazyLoadedMaps[rowid]){const expanded=!$xeTable.isRowExpandByRow(row);const columnIndex=expandColumn?$xeTable.getColumnIndex(expandColumn):-1;const $columnIndex=expandColumn?$xeTable.getVMColumnIndex(expandColumn):-1;$xeTable.setRowExpand(row,expanded);dispatchEvent('toggle-row-expand',{expanded,column:expandColumn,columnIndex,$columnIndex,row,rowIndex:$xeTable.getRowIndex(row),$rowIndex:$xeTable.getVMRowIndex(row)},evnt);}},/**
|
|
21494
|
-
* 行分组事件
|
|
21495
|
-
*/triggerRowGroupExpandEvent(evnt,params){const{rowGroupExpandedMaps}=internalData;const aggregateOpts=computeAggregateOpts.value;const{row,column}=params;const{trigger}=aggregateOpts;if(trigger==='manual'){return;}evnt.stopPropagation();const rowid=getRowid($xeTable,row);const expanded=!rowGroupExpandedMaps[rowid];const columnIndex=$xeTable.getColumnIndex(column);const $columnIndex=$xeTable.getVMColumnIndex(column);$xeTable.setRowGroupExpand(row,expanded);dispatchEvent('toggle-row-group-expand',{expanded,column,columnIndex,$columnIndex,row},evnt);},/**
|
|
21496
|
-
* 展开树节点事件
|
|
21497
|
-
*/triggerTreeExpandEvent(evnt,params){const{treeExpandLazyLoadedMaps,treeEATime}=internalData;const treeOpts=computeTreeOpts.value;const{row,column}=params;const{lazy,trigger,accordion}=treeOpts;if(trigger==='manual'){return;}evnt.stopPropagation();const rowid=getRowid($xeTable,row);if(!lazy||!treeExpandLazyLoadedMaps[rowid]){const expanded=!$xeTable.isTreeExpandByRow(row);const columnIndex=$xeTable.getColumnIndex(column);const $columnIndex=$xeTable.getVMColumnIndex(column);if(treeEATime){clearTimeout(treeEATime);}$xeTable.setTreeExpand(row,expanded).then(()=>{if(accordion){internalData.treeEATime=setTimeout(()=>{internalData.treeEATime=undefined;$xeTable.scrollToRow(row);},30);}});dispatchEvent('toggle-tree-expand',{expanded,column,columnIndex,$columnIndex,row},evnt);}},handleColumnSortEvent(evnt,column){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;const{field,sortable,order}=column;if(sortable){const params={$table:$xeTable,$event:evnt,column,field,property:field,order,sortList:$xeTable.getSortColumns(),sortTime:column.sortTime};if(mouseConfig&&mouseOpts.area&&$xeTable.handleSortEvent){$xeTable.handleSortEvent(evnt,params);}if(!order){dispatchEvent('clear-sort',params,evnt);}dispatchEvent('sort-change',params,evnt);}},/**
|
|
21498
|
-
* 点击排序事件
|
|
21499
|
-
*/triggerSortEvent(evnt,column,order){const sortOpts=computeSortOpts.value;const{multiple,allowClear}=sortOpts;const{field,sortable}=column;if(sortable){if(!order||column.order===order){if(allowClear){$xeTable.clearSort(multiple?column:null);}}else{$xeTable.sort({field,order});}$xeTable.handleColumnSortEvent(evnt,column);}},handleCellRuleUpdateStatus(type,cellParams,cellValue){const{validStore}=reactData;const{row,column}=cellParams;if($xeTable.hasCellRules){if($xeTable.hasCellRules(type,row,column)){const cell=$xeTable.getCellElement(row,column);if(cell){const customVal=!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(cellValue);return $xeTable.validCellRules(type,row,column,cellValue).then(()=>{if(customVal&&validStore.visible){setCellValue(row,column,cellValue);}$xeTable.clearValidate(row,column);}).catch(({rule})=>{if(customVal){setCellValue(row,column,cellValue);}$xeTable.showValidTooltip({rule,row,column,cell});});}}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21500
|
-
* 表头单元格按下事件
|
|
21501
|
-
*/triggerHeaderCellMousedownEvent(evnt,params){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=columnDragOpts;const cell=evnt.currentTarget;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerCheckbox=getEventTargetNode(evnt,cell,'vxe-cell--checkbox').flag;const triggerSort=getEventTargetNode(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=getEventTargetNode(evnt,cell,'vxe-cell--filter').flag;let triggerDrag=false;const isColDragCell=columnOpts.drag&&trigger==='cell';if(!(triggerInput||triggerCheckbox||triggerSort||triggerFilter)){const{column}=params;if(isColDragCell&&!column.fixed&&(isCrossDrag||isPeerDrag||!column.parentId)&&!(disabledMethod&&disabledMethod(params))){triggerDrag=true;$xeTable.handleHeaderCellDragMousedownEvent(evnt,params);}}if(!triggerDrag&&mouseConfig&&mouseOpts.area&&$xeTable.handleHeaderCellAreaMouseDnEvent){$xeTable.handleHeaderCellAreaMouseDnEvent(evnt,Object.assign({cell,triggerSort,triggerFilter},params));}$xeTable.focus();if($xeTable.closeMenu){$xeTable.closeMenu();}},/**
|
|
21502
|
-
* 单元格按下事件
|
|
21503
|
-
*/triggerCellMousedownEvent(evnt,params){const{column}=params;const{type,treeNode}=column;const isRadioType=type==='radio';const isCheckboxType=type==='checkbox';const isExpandType=type==='expand';const rowOpts=computeRowOpts.value;const rowDragOpts=computeRowDragOpts.value;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=rowDragOpts;const cell=evnt.currentTarget;params.cell=cell;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerRadio=isRadioType&&getEventTargetNode(evnt,cell,'vxe-cell--radio').flag;const triggerCheckbox=isCheckboxType&&getEventTargetNode(evnt,cell,'vxe-cell--checkbox').flag;const triggerTreeNode=treeNode&&getEventTargetNode(evnt,cell,'vxe-cell--tree-btn').flag;const triggerExpandNode=isExpandType&&getEventTargetNode(evnt,cell,'vxe-table--expanded').flag;let isColDragCell=false;if(rowOpts.drag){isColDragCell=trigger==='row'||column.dragSort&&trigger==='cell';}let triggerDrag=false;if(!(triggerInput||triggerRadio||triggerCheckbox||triggerTreeNode||triggerExpandNode)){if(isColDragCell&&(isCrossDrag||isPeerDrag||!params.level)&&!(disabledMethod&&disabledMethod(params))){triggerDrag=true;$xeTable.handleCellDragMousedownEvent(evnt,params);}}if(!triggerDrag&&$xeTable.handleCellMousedownEvent){$xeTable.handleCellMousedownEvent(evnt,params);}$xeTable.focus();$xeTable.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}},triggerCellMouseupEvent(){clearDragStatus();},/**
|
|
21504
|
-
* 行拖拽
|
|
21514
|
+
dispatchEvent('current-change',{oldValue,newValue,...params},evnt);}}else{dispatchEvent('current-row-disabled',params,evnt);}},/**
|
|
21515
|
+
* 展开行事件
|
|
21516
|
+
*/triggerRowExpandEvent(evnt,params){const{expandColumn}=reactData;const{rowExpandLazyLoadedMaps}=internalData;const expandOpts=computeExpandOpts.value;const{row}=params;const{lazy,trigger}=expandOpts;if(trigger==='manual'){return;}evnt.stopPropagation();const rowid=getRowid($xeTable,row);if(!lazy||!rowExpandLazyLoadedMaps[rowid]){const expanded=!$xeTable.isRowExpandByRow(row);const columnIndex=expandColumn?$xeTable.getColumnIndex(expandColumn):-1;const $columnIndex=expandColumn?$xeTable.getVMColumnIndex(expandColumn):-1;$xeTable.setRowExpand(row,expanded);dispatchEvent('toggle-row-expand',{expanded,column:expandColumn,columnIndex,$columnIndex,row,rowIndex:$xeTable.getRowIndex(row),$rowIndex:$xeTable.getVMRowIndex(row)},evnt);}},/**
|
|
21517
|
+
* 行分组事件
|
|
21518
|
+
*/triggerRowGroupExpandEvent(evnt,params){const{rowGroupExpandedMaps}=internalData;const aggregateOpts=computeAggregateOpts.value;const{row,column}=params;const{trigger}=aggregateOpts;if(trigger==='manual'){return;}evnt.stopPropagation();const rowid=getRowid($xeTable,row);const expanded=!rowGroupExpandedMaps[rowid];const columnIndex=$xeTable.getColumnIndex(column);const $columnIndex=$xeTable.getVMColumnIndex(column);$xeTable.setRowGroupExpand(row,expanded);dispatchEvent('toggle-row-group-expand',{expanded,column,columnIndex,$columnIndex,row},evnt);},/**
|
|
21519
|
+
* 展开树节点事件
|
|
21520
|
+
*/triggerTreeExpandEvent(evnt,params){const{treeExpandLazyLoadedMaps,treeEATime}=internalData;const treeOpts=computeTreeOpts.value;const{row,column}=params;const{lazy,trigger,accordion}=treeOpts;if(trigger==='manual'){return;}evnt.stopPropagation();const rowid=getRowid($xeTable,row);if(!lazy||!treeExpandLazyLoadedMaps[rowid]){const expanded=!$xeTable.isTreeExpandByRow(row);const columnIndex=$xeTable.getColumnIndex(column);const $columnIndex=$xeTable.getVMColumnIndex(column);if(treeEATime){clearTimeout(treeEATime);}$xeTable.setTreeExpand(row,expanded).then(()=>{if(accordion){internalData.treeEATime=setTimeout(()=>{internalData.treeEATime=undefined;$xeTable.scrollToRow(row);},30);}});dispatchEvent('toggle-tree-expand',{expanded,column,columnIndex,$columnIndex,row},evnt);}},handleColumnSortEvent(evnt,column){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;const{field,sortable,order}=column;if(sortable){const params={$table:$xeTable,$event:evnt,column,field,property:field,order,sortList:$xeTable.getSortColumns(),sortTime:column.sortTime};if(mouseConfig&&mouseOpts.area&&$xeTable.handleSortEvent){$xeTable.handleSortEvent(evnt,params);}if(!order){dispatchEvent('clear-sort',params,evnt);}dispatchEvent('sort-change',params,evnt);}},/**
|
|
21521
|
+
* 点击排序事件
|
|
21522
|
+
*/triggerSortEvent(evnt,column,order){const sortOpts=computeSortOpts.value;const{multiple,allowClear}=sortOpts;const{field,sortable}=column;if(sortable){if(!order||column.order===order){if(allowClear){$xeTable.clearSort(multiple?column:null);}}else{$xeTable.sort({field,order});}$xeTable.handleColumnSortEvent(evnt,column);}},handleCellRuleUpdateStatus(type,cellParams,cellValue){const{validStore}=reactData;const{row,column}=cellParams;if($xeTable.hasCellRules){if($xeTable.hasCellRules(type,row,column)){const cell=$xeTable.getCellElement(row,column);if(cell){const customVal=!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(cellValue);return $xeTable.validCellRules(type,row,column,cellValue).then(()=>{if(customVal&&validStore.visible){setCellValue(row,column,cellValue);}$xeTable.clearValidate(row,column);}).catch(({rule})=>{if(customVal){setCellValue(row,column,cellValue);}$xeTable.showValidTooltip({rule,row,column,cell});});}}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
|
|
21523
|
+
* 表头单元格按下事件
|
|
21524
|
+
*/triggerHeaderCellMousedownEvent(evnt,params){const{mouseConfig}=props;const mouseOpts=computeMouseOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=columnDragOpts;const cell=evnt.currentTarget;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerCheckbox=getEventTargetNode(evnt,cell,'vxe-cell--checkbox').flag;const triggerSort=getEventTargetNode(evnt,cell,'vxe-cell--sort').flag;const triggerFilter=getEventTargetNode(evnt,cell,'vxe-cell--filter').flag;let triggerDrag=false;const isColDragCell=columnOpts.drag&&trigger==='cell';if(!(triggerInput||triggerCheckbox||triggerSort||triggerFilter)){const{column}=params;if(isColDragCell&&!column.fixed&&(isCrossDrag||isPeerDrag||!column.parentId)&&!(disabledMethod&&disabledMethod(params))){triggerDrag=true;$xeTable.handleHeaderCellDragMousedownEvent(evnt,params);}}if(!triggerDrag&&mouseConfig&&mouseOpts.area&&$xeTable.handleHeaderCellAreaMouseDnEvent){$xeTable.handleHeaderCellAreaMouseDnEvent(evnt,Object.assign({cell,triggerSort,triggerFilter},params));}$xeTable.focus();if($xeTable.closeMenu){$xeTable.closeMenu();}},/**
|
|
21525
|
+
* 单元格按下事件
|
|
21526
|
+
*/triggerCellMousedownEvent(evnt,params){const{column}=params;const{type,treeNode}=column;const isRadioType=type==='radio';const isCheckboxType=type==='checkbox';const isExpandType=type==='expand';const rowOpts=computeRowOpts.value;const rowDragOpts=computeRowDragOpts.value;const{trigger,isCrossDrag,isPeerDrag,disabledMethod}=rowDragOpts;const cell=evnt.currentTarget;params.cell=cell;const triggerInput=cell&&cell.tagName&&cell.tagName.toLowerCase()==='input';const triggerRadio=isRadioType&&getEventTargetNode(evnt,cell,'vxe-cell--radio').flag;const triggerCheckbox=isCheckboxType&&getEventTargetNode(evnt,cell,'vxe-cell--checkbox').flag;const triggerTreeNode=treeNode&&getEventTargetNode(evnt,cell,'vxe-cell--tree-btn').flag;const triggerExpandNode=isExpandType&&getEventTargetNode(evnt,cell,'vxe-table--expanded').flag;let isColDragCell=false;if(rowOpts.drag){isColDragCell=trigger==='row'||column.dragSort&&trigger==='cell';}let triggerDrag=false;if(!(triggerInput||triggerRadio||triggerCheckbox||triggerTreeNode||triggerExpandNode)){if(isColDragCell&&(isCrossDrag||isPeerDrag||!params.level)&&!(disabledMethod&&disabledMethod(params))){triggerDrag=true;$xeTable.handleCellDragMousedownEvent(evnt,params);}}if(!triggerDrag&&$xeTable.handleCellMousedownEvent){$xeTable.handleCellMousedownEvent(evnt,params);}$xeTable.focus();$xeTable.closeFilter();if($xeTable.closeMenu){$xeTable.closeMenu();}},triggerCellMouseupEvent(){clearDragStatus();},/**
|
|
21527
|
+
* 行拖拽
|
|
21505
21528
|
*/handleRowDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage(getTpImg(),0,0);}},handleRowDragSwapEvent(evnt,isSyncRow,dragRow,prevDragRow,prevDragPos,prevDragToChild){const{treeConfig,dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{afterFullData,tableFullData,fullAllDataRowIdData}=internalData;const $xeGanttView=internalData.xeGanttView;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const treeOpts=computeTreeOpts.value;const cellOpts=computeCellOpts.value;const rowOpts=computeRowOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const{transform,rowField,mapChildrenField,parentField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const dEndMethod=dragEndMethod||(dragConfig?dragConfig.dragEndMethod:null);const dragOffsetIndex=prevDragPos==='bottom'?1:0;const el=refElem.value;const errRest={status:false};if(!(el&&prevDragRow&&dragRow)){return Promise.resolve(errRest);}// 判断是否有拖动
|
|
21506
21529
|
if(prevDragRow!==dragRow){const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const dragRowid=getRowid($xeTable,dragRow);const dragRowRest=fullAllDataRowIdData[dragRowid]||{};const _dragRowIndex=dragRowRest._index;let dragRowHeight=0;let dragOffsetTop=-1;if(animation){dragRowHeight=getCellRestHeight(dragRowRest,cellOpts,rowOpts,defaultRowHeight);const oldTrEl=el.querySelector(`.vxe-body--row[rowid="${dragRowid}"]`);if(oldTrEl){dragOffsetTop=oldTrEl.offsetTop;}}let oafIndex=-1;let nafIndex=-1;const oldRest=dragRowRest;const newRowid=getRowid($xeTable,prevDragRow);const newRest=fullAllDataRowIdData[newRowid];const oldAllMaps={};let isSelfToChildStatus=false;// 如果为树结构
|
|
21507
21530
|
if(treeConfig){if(transform){if(oldRest&&newRest){const{level:oldLevel}=oldRest;const{level:newLevel}=newRest;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([dragRow],item=>{oldAllMaps[getRowid($xeTable,item)]=item;},{children:mapChildrenField});if(oldLevel&&newLevel){// 子到子
|
|
@@ -21520,18 +21543,18 @@ const pafIndex=$xeTable.findRowIndexOf(afterFullData,prevDragRow);const ptfIndex
|
|
|
21520
21543
|
rsIndex=0;reIndex=_newRowIndex-_firstRowIndex;}else if(_dragRowIndex>_lastRowIndex){// 从下往上虚拟拖拽
|
|
21521
21544
|
const $newRowIndex=dragRowRest.$index;rsIndex=$newRowIndex+1;reIndex=tableData.length;offsetRate=-1;}else{if(_newRowIndex>_dragRowIndex){// 从上往下拖拽
|
|
21522
21545
|
rsIndex=_dragRowIndex-_firstRowIndex;reIndex=rsIndex+_newRowIndex-_dragRowIndex;}else{// 从下往上拖拽
|
|
21523
|
-
rsIndex=_newRowIndex-_firstRowIndex;reIndex=rsIndex+_dragRowIndex-_newRowIndex+1;offsetRate=-1;}}const dragRangeList=tableData.slice(rsIndex,reIndex);if(dragRangeList.length){const dtClss=[];dragRangeList.forEach(row=>{const rowid=getRowid($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));moveRowAnimateToTb(dtTrList,offsetRate*dragRowHeight);}}const drClss=[`.vxe-body--row[rowid="${dragRowid}"]`];if($xeGantt){drClss.push(`.vxe-gantt-view--body-row[rowid="${dragRowid}"]`,`.vxe-gantt-view--chart-row[rowid="${dragRowid}"]`);}const newDtTrList=wrapperEl.querySelectorAll(drClss.join(','));const newTrEl=newDtTrList[0];if(dragOffsetTop>-1&&newTrEl){moveRowAnimateToTb(newDtTrList,dragOffsetTop-newTrEl.offsetTop);}}updateRowOffsetTop();updateRowExpandStyle();$xeTable.updateCellAreas();$xeTable.recalculate();}).then(()=>{return{status:true};});}).catch(()=>{return errRest;}).then(rest=>{handleRowDragEndClearStatus();return rest;});}handleRowDragEndClearStatus();return Promise.resolve(errRest);},handleCrossTableRowDragCancelEvent(){handleRowDragEndClearStatus();},/**
|
|
21524
|
-
* 处理跨表拖拽完成
|
|
21525
|
-
*/handleCrossTableRowDragFinishEvent(evnt){const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const rowDragOpts=computeRowDragOpts.value;const{animation,isCrossTableDrag}=rowDragOpts;const treeOpts=computeTreeOpts.value;const{mapChildrenField}=treeOpts;const el=refElem.value;if(isCrossTableDrag&&crossTableDragRowObj&&crossTableDragRowInfo){const{row:dragRow}=crossTableDragRowInfo;if(dragRow){const dragRowid=getRowid($xeTable,dragRow);const dragRowRest=fullAllDataRowIdData[dragRowid];let dragRowHeight=0;let rsIndex=-1;if(dragRowRest){if(animation){dragRowHeight=getCellRestHeight(dragRowRest,cellOpts,rowOpts,defaultRowHeight);}rsIndex=dragRowRest.$index;}const dragRangeList=rsIndex>-1&&rsIndex<tableData.length-1?tableData.slice(rsIndex+1):[];const dragList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toTreeArray([dragRow],{updated:true,children:mapChildrenField});$xeTable.remove(dragList).then(()=>{if(animation&&dragRowHeight&&dragRangeList.length){const $xeGanttView=internalData.xeGanttView;let wrapperEl=el;if($xeGantt&&$xeGanttView){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}const dtClss=[];dragRangeList.forEach(row=>{const rowid=getRowid($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));moveRowAnimateToTb(dtTrList,dragRowHeight);}});dispatchEvent('row-remove-dragend',{row:dragRow},evnt);handleRowDragEndClearStatus();}}},/**
|
|
21526
|
-
* 处理跨表拖至新的空表
|
|
21527
|
-
*/handleCrossTableRowDragoverEmptyEvent(evnt){const{tableData}=reactData;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag}=rowDragOpts;if(isCrossTableDrag&&crossTableDragRowObj&&!tableData.length){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable.reactData;if($oldTable.xID!==$xeTable.xID){if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}evnt.preventDefault();$oldTable.hideCrossTableRowDropClearStatus();crossTableDragRowObj.$newTable=$xeTable;internalData.prevDragRow=null;reactData.dragTipText=oldTableReactData.dragTipText;showDropTip(evnt,evnt.currentTarget,null,true,'');}}}},/**
|
|
21528
|
-
* 处理跨表拖插入
|
|
21546
|
+
rsIndex=_newRowIndex-_firstRowIndex;reIndex=rsIndex+_dragRowIndex-_newRowIndex+1;offsetRate=-1;}}const dragRangeList=tableData.slice(rsIndex,reIndex);if(dragRangeList.length){const dtClss=[];dragRangeList.forEach(row=>{const rowid=getRowid($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));moveRowAnimateToTb(dtTrList,offsetRate*dragRowHeight);}}const drClss=[`.vxe-body--row[rowid="${dragRowid}"]`];if($xeGantt){drClss.push(`.vxe-gantt-view--body-row[rowid="${dragRowid}"]`,`.vxe-gantt-view--chart-row[rowid="${dragRowid}"]`);}const newDtTrList=wrapperEl.querySelectorAll(drClss.join(','));const newTrEl=newDtTrList[0];if(dragOffsetTop>-1&&newTrEl){moveRowAnimateToTb(newDtTrList,dragOffsetTop-newTrEl.offsetTop);}}updateRowOffsetTop();updateRowExpandStyle();$xeTable.updateCellAreas();$xeTable.recalculate();}).then(()=>{return{status:true};});}).catch(()=>{return errRest;}).then(rest=>{handleRowDragEndClearStatus();return rest;});}handleRowDragEndClearStatus();return Promise.resolve(errRest);},handleCrossTableRowDragCancelEvent(){handleRowDragEndClearStatus();},/**
|
|
21547
|
+
* 处理跨表拖拽完成
|
|
21548
|
+
*/handleCrossTableRowDragFinishEvent(evnt){const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const rowDragOpts=computeRowDragOpts.value;const{animation,isCrossTableDrag}=rowDragOpts;const treeOpts=computeTreeOpts.value;const{mapChildrenField}=treeOpts;const el=refElem.value;if(isCrossTableDrag&&crossTableDragRowObj&&crossTableDragRowInfo){const{row:dragRow}=crossTableDragRowInfo;if(dragRow){const dragRowid=getRowid($xeTable,dragRow);const dragRowRest=fullAllDataRowIdData[dragRowid];let dragRowHeight=0;let rsIndex=-1;if(dragRowRest){if(animation){dragRowHeight=getCellRestHeight(dragRowRest,cellOpts,rowOpts,defaultRowHeight);}rsIndex=dragRowRest.$index;}const dragRangeList=rsIndex>-1&&rsIndex<tableData.length-1?tableData.slice(rsIndex+1):[];const dragList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toTreeArray([dragRow],{updated:true,children:mapChildrenField});$xeTable.remove(dragList).then(()=>{if(animation&&dragRowHeight&&dragRangeList.length){const $xeGanttView=internalData.xeGanttView;let wrapperEl=el;if($xeGantt&&$xeGanttView){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}const dtClss=[];dragRangeList.forEach(row=>{const rowid=getRowid($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));moveRowAnimateToTb(dtTrList,dragRowHeight);}});dispatchEvent('row-remove-dragend',{row:dragRow},evnt);handleRowDragEndClearStatus();}}},/**
|
|
21549
|
+
* 处理跨表拖至新的空表
|
|
21550
|
+
*/handleCrossTableRowDragoverEmptyEvent(evnt){const{tableData}=reactData;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag}=rowDragOpts;if(isCrossTableDrag&&crossTableDragRowObj&&!tableData.length){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable.reactData;if($oldTable.xID!==$xeTable.xID){if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}evnt.preventDefault();$oldTable.hideCrossTableRowDropClearStatus();crossTableDragRowObj.$newTable=$xeTable;internalData.prevDragRow=null;reactData.dragTipText=oldTableReactData.dragTipText;showDropTip(evnt,evnt.currentTarget,null,true,'');}}}},/**
|
|
21551
|
+
* 处理跨表拖插入
|
|
21529
21552
|
*/handleCrossTableRowDragInsertEvent(evnt){const{treeConfig}=props;const{prevDragRow,prevDragPos,prevDragToChild}=internalData;const rowDragOpts=computeRowDragOpts.value;const{animation,isSelfToChildDrag,isCrossTableDrag,dragEndMethod,dragToChildMethod}=rowDragOpts;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const treeOpts=computeTreeOpts.value;const{parentField,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;// 跨表拖拽
|
|
21530
21553
|
if(isCrossTableDrag&&crossTableDragRowObj&&crossTableDragRowInfo){const{row:oldRow}=crossTableDragRowInfo;const{$oldTable}=crossTableDragRowObj;const el=refElem.value;if($oldTable&&oldRow){const dragRow=oldRow;let dragOffsetIndex=-1;if(prevDragRow){dragOffsetIndex=prevDragPos==='bottom'?1:0;}const dragParams={oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;const errRest={status:false};Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){if($oldTable){if($oldTable.xID!==$xeTable.xID){$oldTable.handleCrossTableRowDragCancelEvent(evnt);}}handleRowDragEndClearStatus();return errRest;}let insertRest=Promise.resolve();if(treeConfig){const dragList=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toTreeArray([dragRow],{updated:true,children:mapChildrenField});$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){dragRow[parentField]=prevDragRow[parentField];}else{dragRow[parentField]=null;}dragList.forEach(row=>{row[childrenField]=undefined;row[mapChildrenField]=undefined;});if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragList,prevDragRow);}else{insertRest=$xeTable.insertAt(dragList,prevDragRow);}}else{insertRest=$xeTable.insert(dragList);}}else{$oldTable.handleCrossTableRowDragFinishEvent(evnt);if(prevDragRow){if(prevDragPos==='bottom'){insertRest=$xeTable.insertNextAt(dragRow,prevDragRow);}else{insertRest=$xeTable.insertAt(dragRow,prevDragRow);}}else{insertRest=$xeTable.insert(dragRow);}}dispatchEvent('row-insert-dragend',{oldRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex},evnt);clearRowDragData();insertRest.then(()=>{const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const oldRowid=getRowid($xeTable,dragRow);const oldRowRest=fullAllDataRowIdData[oldRowid];let dragRowHeight=0;let rsIndex=-1;if(oldRowRest){if(animation){dragRowHeight=getCellRestHeight(oldRowRest,cellOpts,rowOpts,defaultRowHeight);}rsIndex=oldRowRest.$index;}const dragRangeList=rsIndex>-1?tableData.slice(rsIndex):[];if(animation&&dragRowHeight&&dragRangeList.length){const $xeGanttView=internalData.xeGanttView;let wrapperEl=el;if($xeGantt&&$xeGanttView){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}const dtClss=[];dragRangeList.forEach(row=>{const rowid=getRowid($xeTable,row);dtClss.push(`.vxe-body--row[rowid="${rowid}"]`);if($xeGantt){dtClss.push(`.vxe-gantt-view--body-row[rowid="${rowid}"]`,`.vxe-gantt-view--chart-row[rowid="${rowid}"]`);}});const dtTrList=wrapperEl.querySelectorAll(dtClss.join(','));moveRowAnimateToTb(dtTrList,-dragRowHeight);}});});}}},hideCrossTableRowDropClearStatus(){hideDropTip();},handleRowDragDragendEvent(evnt){const{treeConfig}=props;const{fullAllDataRowIdData,prevDragToChild}=internalData;const{dragRow}=reactData;const treeOpts=computeTreeOpts.value;const{lazy}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const{prevDragRow,prevDragPos}=internalData;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag}=rowDragOpts;// 跨表拖拽
|
|
21531
21554
|
if(isCrossTableDrag&&crossTableDragRowObj){const{$newTable}=crossTableDragRowObj;if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.handleCrossTableRowDragInsertEvent(evnt);return;}}if(treeConfig&&lazy&&prevDragToChild){// 懒加载
|
|
21532
21555
|
const newRowid=getRowid($xeTable,prevDragRow);const rowRest=fullAllDataRowIdData[newRowid];if(prevDragRow[hasChildField]){if(rowRest&&rowRest.treeLoaded){$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}}else{$xeTable.handleRowDragSwapEvent(evnt,true,dragRow,prevDragRow,prevDragPos,prevDragToChild);}},handleRowDragDragoverEvent(evnt){const{treeConfig}=props;const{fullAllDataRowIdData}=internalData;const{dragRow}=reactData;const treeOpts=computeTreeOpts.value;const{lazy,transform,parentField}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const rowDragOpts=computeRowDragOpts.value;const{isPeerDrag,isCrossDrag,isToChildDrag,isCrossTableDrag}=rowDragOpts;if(!dragRow&&!(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj)){evnt.preventDefault();return;}const isControlKey=hasControlKey(evnt);const trEl=evnt.currentTarget;const rowid=trEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){evnt.preventDefault();const row=rowRest.row;const offsetY=evnt.clientY-trEl.getBoundingClientRect().y;const dragPos=offsetY<trEl.clientHeight/2?'top':'bottom';internalData.prevDragToChild=!!(treeConfig&&transform&&isCrossDrag&&isToChildDrag&&isControlKey);internalData.prevDragRow=row;internalData.prevDragPos=dragPos;// 跨表拖拽
|
|
21533
|
-
if(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable.reactData;if($oldTable.xID===$xeTable.xID){if($newTable){$newTable.hideCrossTableRowDropClearStatus();}reactData.isCrossDragRow=false;oldTableReactData.isCrossDragRow=false;crossTableDragRowObj.$newTable=null;}else{if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}$oldTable.hideCrossTableRowDropClearStatus();oldTableReactData.isCrossDragRow=true;reactData.dragTipText=oldTableReactData.dragTipText;crossTableDragRowObj.$newTable=$xeTable;showDropTip(evnt,trEl,null,true,dragPos);return;}}}if($xeTable.eqRow(dragRow,row)||isControlKey&&treeConfig&&lazy&&row[hasChildField]&&rowRest&&!rowRest.treeLoaded||!isCrossDrag&&treeConfig&&transform&&(isPeerDrag?dragRow[parentField]!==row[parentField]:rowRest.level)){showDropTip(evnt,trEl,null,false,dragPos);return;}showDropTip(evnt,trEl,null,true,dragPos);dispatchEvent('row-dragover',{oldRow:dragRow,targetRow:row,dragPos},evnt);}},handleCellDragMousedownEvent(evnt,params){evnt.stopPropagation();const{dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag,trigger,dragStartMethod}=rowDragOpts;const{row}=params;const dragEl=evnt.currentTarget;const tdEl=trigger==='cell'||trigger==='row'?dragEl:dragEl.parentElement?.parentElement;const trEl=tdEl.parentElement;const dStartMethod=dragStartMethod||(dragConfig?dragConfig.dragStartMethod:null);clearRowDropOrigin();if(dStartMethod&&!dStartMethod(params)){trEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus();hideDropTip();return;}if(isCrossTableDrag){crossTableDragRowInfo.row=row;crossTableDragRowObj={$oldTable:$xeTable,$newTable:null};}reactData.dragRow=row;reactData.isCrossDragRow=false;reactData.dragCol=null;trEl.draggable=true;updateRowDropOrigin(row);updateRowDropTipContent(tdEl);dispatchEvent('row-dragstart',params,evnt);},handleCellDragMouseupEvent(){clearDragStatus();},/**
|
|
21534
|
-
* 列拖拽
|
|
21556
|
+
if(isCrossTableDrag&&(!treeConfig||isCrossDrag)&&crossTableDragRowObj){const{$oldTable,$newTable}=crossTableDragRowObj;if($oldTable){const oldTableReactData=$oldTable.reactData;if($oldTable.xID===$xeTable.xID){if($newTable){$newTable.hideCrossTableRowDropClearStatus();}reactData.isCrossDragRow=false;oldTableReactData.isCrossDragRow=false;crossTableDragRowObj.$newTable=null;}else{if($newTable&&$newTable.xID!==$xeTable.xID){$newTable.hideCrossTableRowDropClearStatus();}$oldTable.hideCrossTableRowDropClearStatus();oldTableReactData.isCrossDragRow=true;reactData.dragTipText=oldTableReactData.dragTipText;crossTableDragRowObj.$newTable=$xeTable;showDropTip(evnt,trEl,null,true,dragPos);return;}}}if($xeTable.eqRow(dragRow,row)||isControlKey&&treeConfig&&lazy&&row[hasChildField]&&rowRest&&!rowRest.treeLoaded||!isCrossDrag&&treeConfig&&transform&&(isPeerDrag?dragRow[parentField]!==row[parentField]:rowRest.level)){showDropTip(evnt,trEl,null,false,dragPos);return;}showDropTip(evnt,trEl,null,true,dragPos);dispatchEvent('row-dragover',{oldRow:dragRow,targetRow:row,dragPos},evnt);}},handleCellDragMousedownEvent(evnt,params){evnt.stopPropagation();const{dragConfig}=props;const rowDragOpts=computeRowDragOpts.value;const{isCrossTableDrag,trigger,dragStartMethod}=rowDragOpts;const{row}=params;const dragEl=evnt.currentTarget;const tdEl=trigger==='cell'||trigger==='row'?dragEl:dragEl.parentElement?.parentElement;const trEl=tdEl.parentElement;const dStartMethod=dragStartMethod||(dragConfig?dragConfig.dragStartMethod:null);clearRowDropOrigin();if(dStartMethod&&!dStartMethod(params)){trEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus();hideDropTip();return;}if(isCrossTableDrag){crossTableDragRowInfo.row=row;crossTableDragRowObj={$oldTable:$xeTable,$newTable:null};}reactData.dragRow=row;reactData.isCrossDragRow=false;reactData.dragCol=null;trEl.draggable=true;updateRowDropOrigin(row);updateRowDropTipContent(tdEl);dispatchEvent('row-dragstart',params,evnt);},handleCellDragMouseupEvent(){clearDragStatus();},/**
|
|
21557
|
+
* 列拖拽
|
|
21535
21558
|
*/handleHeaderCellDragDragstartEvent(evnt){if(evnt.dataTransfer){evnt.dataTransfer.setDragImage(getTpImg(),0,0);}},handleColDragSwapColumn(){handleUpdateColumn();return parseColumns(false).then(()=>{$xeTable.updateCellAreas();$xeTable.saveCustomStore('update:sort');});},handleColDragSwapEvent(evnt,isSyncColumn,dragCol,prevDragCol,prevDragPos,prevDragToChild){const{mouseConfig}=props;const columnDragOpts=computeColumnDragOpts.value;const{animation,isPeerDrag,isCrossDrag,isSelfToChildDrag,isToChildDrag,dragEndMethod,dragToChildMethod}=columnDragOpts;const{collectColumn,fullColumnIdData}=internalData;const el=refElem.value;const dragOffsetIndex=prevDragPos==='right'?1:0;const errRest={status:false};if(!(el&&prevDragCol&&dragCol)){return Promise.resolve(errRest);}// 判断是否有拖动
|
|
21536
21559
|
if(prevDragCol!==dragCol){const dragColumn=dragCol;const newColumn=prevDragCol;const dragParams={oldColumn:dragColumn,newColumn,dragColumn,dragPos:prevDragPos,dragToChild:!!prevDragToChild,offsetIndex:dragOffsetIndex};let dragTargetColumn=null;const dragAllTargetCols=[];let dragColWidth=0;if(animation){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([dragColumn],column=>{if(!dragTargetColumn&&(!column.children||!column.children.length)){dragTargetColumn=column;dragColWidth+=column.renderWidth;}dragAllTargetCols.push(column);});}if(!dragTargetColumn){dragTargetColumn=dragColumn;}const dragColRest=fullColumnIdData[dragTargetColumn.id]||{};const _dragColIndex=dragColRest._index;let dragOffsetLeft=-1;if(animation){const oldTrEl=el.querySelector(`.vxe-table--column[colid="${dragTargetColumn.id}"]`);if(oldTrEl){dragOffsetLeft=oldTrEl.offsetLeft;}}let oafIndex=-1;let nafIndex=-1;const oldAllMaps={};external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([dragColumn],column=>{oldAllMaps[column.id]=column;});let isSelfToChildStatus=false;if(dragColumn.parentId&&newColumn.parentId){// 子到子
|
|
21537
21560
|
if(isPeerDrag&&!isCrossDrag){if(dragColumn.parentId!==newColumn.parentId){// 非同级
|
|
@@ -21545,20 +21568,20 @@ csIndex=0;ceIndex=_newColIndex-_firstColIndex;}else if(_dragColIndex>_lastColInd
|
|
|
21545
21568
|
const $newRowIndex=dragColRest.$index;csIndex=$newRowIndex+1;ceIndex=tableColumn.length;offsetRate=-1;}else{if(_newColIndex>_dragColIndex){// 从左往右拖拽
|
|
21546
21569
|
csIndex=_dragColIndex-_firstColIndex;ceIndex=csIndex+_newColIndex-_dragColIndex;}else{// 从右往左拖拽
|
|
21547
21570
|
csIndex=_newColIndex-_firstColIndex+1;ceIndex=csIndex+_dragColIndex-_newColIndex;offsetRate=-1;}}const dragRangeList=[];const dragRangeMaps={};for(let i=csIndex;i<ceIndex;i++){const column=tableColumn[i];if(!dragRangeMaps[column.id]&&!dragNewColMaps[column.id]){dragRangeMaps[column.id]=column;dragRangeList.push(column);}}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([newColumn],column=>{if(!dragRangeMaps[column.id]){dragRangeMaps[column.id]=column;dragRangeList.push(column);}});if(dragRangeList.length){const dtTrList=el.querySelectorAll(dragRangeList.map(column=>`.vxe-table--column[colid="${column.id}"]`).join(','));moveColAnimateToLr(dtTrList,offsetRate*dragColWidth);}}const newTrList=el.querySelectorAll(dragAllTargetCols.map(column=>`.vxe-table--column[colid="${column.id}"]`).join(','));const newTdEl=newTrList[0];if(dragOffsetLeft>-1&&newTdEl){moveColAnimateToLr(newTrList,dragOffsetLeft-newTdEl.offsetLeft);}}}updateColumnOffsetLeft();loadScrollXData();$xeTable.updateCellAreas();return{status:true};});}).catch(()=>{return errRest;}).then(rest=>{handleColDragEndClearStatus();return rest;});}handleColDragEndClearStatus();return Promise.resolve(errRest);},handleHeaderCellDragDragendEvent(evnt){const{dragCol}=reactData;const{prevDragCol,prevDragPos,prevDragToChild}=internalData;$xeTable.handleColDragSwapEvent(evnt,true,dragCol,prevDragCol,prevDragPos,prevDragToChild);},handleHeaderCellDragDragoverEvent(evnt){const{dragCol}=reactData;const columnDragOpts=computeColumnDragOpts.value;const{isToChildDrag,isPeerDrag,isCrossDrag}=columnDragOpts;if(!dragCol){evnt.preventDefault();return;}const isControlKey=hasControlKey(evnt);const thEl=evnt.currentTarget;const colid=thEl.getAttribute('colid');const column=$xeTable.getColumnById(colid);if(column){evnt.preventDefault();const{clientX}=evnt;const offsetX=clientX-thEl.getBoundingClientRect().x;const dragPos=offsetX<thEl.clientWidth/2?'left':'right';internalData.prevDragToChild=!!(isCrossDrag&&isToChildDrag&&isControlKey);internalData.prevDragCol=column;internalData.prevDragPos=dragPos;if(column.fixed||dragCol&&dragCol.id===column.id||!isCrossDrag&&(isPeerDrag?dragCol.parentId!==column.parentId:column.parentId)){showDropTip(evnt,null,thEl,false,dragPos);return;}showDropTip(evnt,null,thEl,true,dragPos);dispatchEvent('column-dragover',{oldColumn:dragCol,targetColumn:column,dragPos},evnt);// 边缘滚动
|
|
21548
|
-
const el=refElem.value;if(!el){return;}const xHandleEl=refScrollXHandleElem.value;const tableBody=refTableBody.value;const tableBodyElem=tableBody?tableBody.$el:null;const scrollTargetEl=xHandleEl||tableBodyElem;if(scrollTargetEl){const wrapperRect=el.getBoundingClientRect();const tableWrapperWidth=el.clientWidth;const leftContainerElem=refLeftContainer.value;const leftContainerWidth=leftContainerElem?leftContainerElem.clientWidth:0;const rightContainerElem=refRightContainer.value;const rightContainerWidth=rightContainerElem?rightContainerElem.clientWidth:0;const srartX=wrapperRect.x+leftContainerWidth;const endX=wrapperRect.x+tableWrapperWidth-rightContainerWidth;const distSize=28;const startDistSize=clientX-srartX;const endDistSize=endX-clientX;if(startDistSize>0&&startDistSize<=distSize){const scrollRatio=Math.floor(tableWrapperWidth/(startDistSize>distSize/2?240:120));scrollTargetEl.scrollLeft-=scrollRatio*(distSize-startDistSize);}else if(endDistSize>0&&endDistSize<=distSize){const scrollRatio=Math.floor(tableWrapperWidth/(endDistSize>distSize/2?240:120));scrollTargetEl.scrollLeft+=scrollRatio*(distSize-endDistSize);}}}},handleHeaderCellDragMousedownEvent(evnt,params){evnt.stopPropagation();const columnDragOpts=computeColumnDragOpts.value;const{trigger,dragStartMethod}=columnDragOpts;const{column}=params;const dragEl=evnt.currentTarget;const thEl=trigger==='cell'?dragEl:dragEl.parentElement?.parentElement;clearColDropOrigin();if(dragStartMethod&&!dragStartMethod(params)){thEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus();hideDropTip();return;}reactData.dragCol=column;reactData.dragRow=null;thEl.draggable=true;clearCrossTableDragStatus();updateColDropOrigin(column);updateColDropTipContent(thEl);dispatchEvent('column-dragstart',params,evnt);},handleHeaderCellDragMouseupEvent(){clearColDropOrigin();hideDropTip();clearCrossTableDragStatus();reactData.dragRow=null;reactData.dragCol=null;},handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,params){const{highlightHoverRow}=props;const{lastScrollLeft,lastScrollTop}=internalData;const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;if(!xHandleEl||!yHandleEl){return;}const rowOpts=computeRowOpts.value;const validTip=refValidTooltip.value;const tooltip=refTooltip.value;const bodyHeight=yHandleEl.clientHeight;const bodyWidth=xHandleEl.clientWidth;const scrollHeight=yHandleEl.scrollHeight;const scrollWidth=xHandleEl.scrollWidth;let isTop=false;let isBottom=false;let isLeft=false;let isRight=false;let direction='';let isTopBoundary=false;let isBottomBoundary=false;let isLeftBoundary=false;let isRightBoundary=false;if(isRollX){const xThreshold=computeScrollXThreshold.value;isLeft=scrollLeft<=0;if(!isLeft){isRight=scrollLeft+bodyWidth>=scrollWidth;}if(scrollLeft>lastScrollLeft){direction='right';if(scrollLeft+bodyWidth>=scrollWidth-xThreshold){isRightBoundary=true;}}else{direction='left';if(scrollLeft<=xThreshold){isLeftBoundary=true;}}$xeTable.checkScrolling();internalData.lastScrollLeft=scrollLeft;}if(isRollY){const yThreshold=computeScrollYThreshold.value;isTop=scrollTop<=1;if(!isTop){isBottom=scrollTop+bodyHeight>=scrollHeight-1;}if(scrollTop>lastScrollTop){direction='bottom';if(scrollTop+bodyHeight>=scrollHeight-yThreshold){isBottomBoundary=true;}}else{direction='top';if(scrollTop<=yThreshold){isTopBoundary=true;}}internalData.lastScrollTop=scrollTop;}internalData.lastSTime=Date.now();const evntParams={source:table_sourceType,scrollTop,scrollLeft,bodyHeight,bodyWidth,scrollHeight,scrollWidth,isX:isRollX,isY:isRollY,isTop,isBottom,isLeft,isRight,direction,...params};updateRowExpandStyle();checkLastSyncScroll(isRollX,isRollY);if(isRollX){$xeTable.closeFilter();}if(rowOpts.isHover||highlightHoverRow){$xeTable.clearHoverRow();}if(validTip&&validTip.reactData.visible){validTip.close();}if(tooltip&&tooltip.reactData.visible){tooltip.close();}if(isBottomBoundary||isTopBoundary||isRightBoundary||isLeftBoundary){dispatchEvent('scroll-boundary',evntParams,evnt);}dispatchEvent('scroll',evntParams,evnt);},/**
|
|
21549
|
-
* 横向 X 可视渲染事件处理
|
|
21550
|
-
*/triggerScrollXEvent(){const virtualXOpts=computeVirtualXOpts.value;if(virtualXOpts.immediate){loadScrollXData();}else{lazyScrollXData();}},/**
|
|
21551
|
-
* 纵向 Y 可视渲染事件处理
|
|
21571
|
+
const el=refElem.value;if(!el){return;}const xHandleEl=refScrollXHandleElem.value;const tableBody=refTableBody.value;const tableBodyElem=tableBody?tableBody.$el:null;const scrollTargetEl=xHandleEl||tableBodyElem;if(scrollTargetEl){const wrapperRect=el.getBoundingClientRect();const tableWrapperWidth=el.clientWidth;const leftContainerElem=refLeftContainer.value;const leftContainerWidth=leftContainerElem?leftContainerElem.clientWidth:0;const rightContainerElem=refRightContainer.value;const rightContainerWidth=rightContainerElem?rightContainerElem.clientWidth:0;const srartX=wrapperRect.x+leftContainerWidth;const endX=wrapperRect.x+tableWrapperWidth-rightContainerWidth;const distSize=28;const startDistSize=clientX-srartX;const endDistSize=endX-clientX;if(startDistSize>0&&startDistSize<=distSize){const scrollRatio=Math.floor(tableWrapperWidth/(startDistSize>distSize/2?240:120));scrollTargetEl.scrollLeft-=scrollRatio*(distSize-startDistSize);}else if(endDistSize>0&&endDistSize<=distSize){const scrollRatio=Math.floor(tableWrapperWidth/(endDistSize>distSize/2?240:120));scrollTargetEl.scrollLeft+=scrollRatio*(distSize-endDistSize);}}}},handleHeaderCellDragMousedownEvent(evnt,params){evnt.stopPropagation();const columnDragOpts=computeColumnDragOpts.value;const{trigger,dragStartMethod}=columnDragOpts;const{column}=params;const dragEl=evnt.currentTarget;const thEl=trigger==='cell'?dragEl:dragEl.parentElement?.parentElement;clearColDropOrigin();if(dragStartMethod&&!dragStartMethod(params)){thEl.draggable=false;reactData.dragRow=null;reactData.dragCol=null;clearCrossTableDragStatus();hideDropTip();return;}reactData.dragCol=column;reactData.dragRow=null;thEl.draggable=true;clearCrossTableDragStatus();updateColDropOrigin(column);updateColDropTipContent(thEl);dispatchEvent('column-dragstart',params,evnt);},handleHeaderCellDragMouseupEvent(){clearColDropOrigin();hideDropTip();clearCrossTableDragStatus();reactData.dragRow=null;reactData.dragCol=null;},handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,params){const{highlightHoverRow}=props;const{lastScrollLeft,lastScrollTop}=internalData;const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;if(!xHandleEl||!yHandleEl){return;}const rowOpts=computeRowOpts.value;const validTip=refValidTooltip.value;const tooltip=refTooltip.value;const bodyHeight=yHandleEl.clientHeight;const bodyWidth=xHandleEl.clientWidth;const scrollHeight=yHandleEl.scrollHeight;const scrollWidth=xHandleEl.scrollWidth;let isTop=false;let isBottom=false;let isLeft=false;let isRight=false;let direction='';let isTopBoundary=false;let isBottomBoundary=false;let isLeftBoundary=false;let isRightBoundary=false;if(isRollX){const xThreshold=computeScrollXThreshold.value;isLeft=scrollLeft<=0;if(!isLeft){isRight=scrollLeft+bodyWidth>=scrollWidth;}if(scrollLeft>lastScrollLeft){direction='right';if(scrollLeft+bodyWidth>=scrollWidth-xThreshold){isRightBoundary=true;}}else{direction='left';if(scrollLeft<=xThreshold){isLeftBoundary=true;}}$xeTable.checkScrolling();internalData.lastScrollLeft=scrollLeft;}if(isRollY){const yThreshold=computeScrollYThreshold.value;isTop=scrollTop<=1;if(!isTop){isBottom=scrollTop+bodyHeight>=scrollHeight-1;}if(scrollTop>lastScrollTop){direction='bottom';if(scrollTop+bodyHeight>=scrollHeight-yThreshold){isBottomBoundary=true;}}else{direction='top';if(scrollTop<=yThreshold){isTopBoundary=true;}}internalData.lastScrollTop=scrollTop;}internalData.lastSTime=Date.now();const evntParams={source:table_sourceType,scrollTop,scrollLeft,bodyHeight,bodyWidth,scrollHeight,scrollWidth,isX:isRollX,isY:isRollY,isTop,isBottom,isLeft,isRight,direction,...params};updateRowExpandStyle();checkLastSyncScroll(isRollX,isRollY);if(isRollX){$xeTable.closeFilter();}if(rowOpts.isHover||highlightHoverRow){$xeTable.clearHoverRow();}if(validTip&&validTip.reactData.visible){validTip.close();}if(tooltip&&tooltip.reactData.visible){tooltip.close();}if(isBottomBoundary||isTopBoundary||isRightBoundary||isLeftBoundary){dispatchEvent('scroll-boundary',evntParams,evnt);}dispatchEvent('scroll',evntParams,evnt);},/**
|
|
21572
|
+
* 横向 X 可视渲染事件处理
|
|
21573
|
+
*/triggerScrollXEvent(){const virtualXOpts=computeVirtualXOpts.value;if(virtualXOpts.immediate){loadScrollXData();}else{lazyScrollXData();}},/**
|
|
21574
|
+
* 纵向 Y 可视渲染事件处理
|
|
21552
21575
|
*/triggerScrollYEvent(){const virtualYOpts=computeVirtualYOpts.value;if(virtualYOpts.immediate){loadScrollYData();}else{lazyScrollYData();}},triggerBodyScrollEvent(evnt,fixedType){const{scrollYLoad,scrollXLoad}=reactData;const{elemStore,intoRunScroll,lastScrollTop,lastScrollLeft,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll,scrollRenderType,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inFooterScroll){return;}const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const rowExpandEl=refRowExpandElem.value;if(intoRunScroll){return;}if(!bodyScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}if(inBodyScroll){if(scrollRenderType!==fixedType){return;}}let scrollTop=yHandleEl.scrollTop;let scrollLeft=xHandleEl.scrollLeft;if(leftScrollElem&&fixedType==='left'){scrollTop=leftScrollElem.scrollTop;}else if(rightScrollElem&&fixedType==='right'){scrollTop=rightScrollElem.scrollTop;}else{scrollTop=bodyScrollElem.scrollTop;scrollLeft=bodyScrollElem.scrollLeft;}const isRollX=scrollLeft!==lastScrollLeft;const isRollY=scrollTop!==lastScrollTop;internalData.inBodyScroll=true;internalData.scrollRenderType=fixedType;if(isRollY){if(fixedType==='left'){setScrollTop(bodyScrollElem,scrollTop);setScrollTop(rightScrollElem,scrollTop);}else if(fixedType==='right'){setScrollTop(bodyScrollElem,scrollTop);setScrollTop(leftScrollElem,scrollTop);}else{setScrollTop(leftScrollElem,scrollTop);setScrollTop(rightScrollElem,scrollTop);}setScrollTop(yHandleEl,scrollTop);setScrollTop(rowExpandEl,scrollTop);syncGanttScrollTop(scrollTop);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}}if(isRollX){setScrollLeft(xHandleEl,scrollLeft);setScrollLeft(headerScrollElem,scrollLeft);setScrollLeft(footerScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'body',fixed:fixedType});},triggerHeaderScrollEvent(evnt,fixedType){const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inBodyScroll,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inBodyScroll||inFooterScroll){return;}const yHandleEl=refScrollYHandleElem.value;const xHandleEl=refScrollXHandleElem.value;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);if(intoRunScroll){return;}if(!headerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=headerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inHeaderScroll=true;setScrollLeft(xHandleEl,scrollLeft);setScrollLeft(footerScrollElem,scrollLeft);setScrollLeft(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'header',fixed:fixedType});},triggerFooterScrollEvent(evnt,fixedType){const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inBodyScroll){return;}const yHandleEl=refScrollYHandleElem.value;const xHandleEl=refScrollXHandleElem.value;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);if(intoRunScroll){return;}if(!footerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=footerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inFooterScroll=true;setScrollLeft(xHandleEl,scrollLeft);setScrollLeft(headerScrollElem,scrollLeft);setScrollLeft(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'footer',fixed:fixedType});},triggerBodyWheelEvent(evnt){const{target,deltaY,deltaX,shiftKey}=evnt;if(target&&/^textarea$/i.test(target.tagName)){return;}// 如果滚轮未移动或者触摸板未变化位置
|
|
21553
21576
|
if(!deltaY&&!deltaX){return;}const{highlightHoverRow}=tableProps;const{scrollXLoad,scrollYLoad,overflowX,overflowY,expandColumn}=reactData;const leftFixedWidth=computeLeftFixedWidth.value;const rightFixedWidth=computeRightFixedWidth.value;const{elemStore,lastScrollTop,lastScrollLeft}=internalData;const rowOpts=computeRowOpts.value;const scrollbarXOpts=computeScrollbarXOpts.value;const scrollbarYOpts=computeScrollbarYOpts.value;const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const rowExpandEl=refRowExpandElem.value;if(!bodyScrollElem){return;}const wheelSpeed=getWheelSpeed(internalData.lastSTime);const deltaTop=shiftKey?0:deltaY*wheelSpeed;const deltaLeft=(shiftKey?deltaX||deltaY:deltaX)*wheelSpeed;const currScrollTop=bodyScrollElem.scrollTop;const currScrollLeft=bodyScrollElem.scrollLeft;const scrollTop=Math.max(0,currScrollTop+deltaTop);const scrollLeft=Math.max(0,currScrollLeft+deltaLeft);const isRollX=overflowX&&scrollLeft!==lastScrollLeft;const isRollY=overflowY&&scrollTop!==lastScrollTop;if(isRollX){// 如果禁用滚动
|
|
21554
21577
|
if(scrollbarXOpts.visible==='hidden'){evnt.preventDefault();return;}}if(isRollY){// 如果禁用滚动
|
|
21555
21578
|
if(scrollbarYOpts.visible==='hidden'){evnt.preventDefault();return;}const isTopWheel=deltaTop<0;// 如果滚动位置已经是顶部或底部,则不需要触发
|
|
21556
21579
|
if(isTopWheel?currScrollTop<=0:currScrollTop>=bodyScrollElem.scrollHeight-bodyScrollElem.clientHeight){return;}}// 展开行处理,如果展开行嵌入表格中
|
|
21557
21580
|
if($xeParentTable){if(isRollY){if(checkTargetElement(evnt.target,[leftScrollElem,bodyScrollElem,rightScrollElem],evnt.currentTarget)){evnt.stopPropagation();return;}}if(isRollX){if(checkTargetElement(evnt.target,[headerScrollElem,bodyScrollElem,footerScrollElem],evnt.currentTarget)){evnt.stopPropagation();return;}}}if(!(isRollX||leftFixedWidth||rightFixedWidth||expandColumn)){return;}if(rowOpts.isHover||highlightHoverRow){$xeTable.clearHoverRow();}// 用于鼠标纵向滚轮处理
|
|
21558
|
-
if(isRollX){evnt.preventDefault();internalData.inWheelScroll=true;wheelScrollLeftTo(scrollLeft,offsetLeft=>{internalData.inWheelScroll=true;const currLeftNum=offsetLeft;setScrollLeft(xHandleEl,currLeftNum);setScrollLeft(bodyScrollElem,currLeftNum);setScrollLeft(headerScrollElem,currLeftNum);setScrollLeft(footerScrollElem,currLeftNum);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,bodyScrollElem.scrollTop,currLeftNum,{type:'table',fixed:''});});}if(isRollY){evnt.preventDefault();internalData.inWheelScroll=true;wheelScrollTopTo(scrollTop,offsetTop=>{internalData.inWheelScroll=true;const currTopNum=offsetTop;setScrollTop(yHandleEl,currTopNum);setScrollTop(bodyScrollElem,currTopNum);setScrollTop(leftScrollElem,currTopNum);setScrollTop(rightScrollElem,currTopNum);setScrollTop(rowExpandEl,currTopNum);syncGanttScrollTop(currTopNum);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,offsetTop,bodyScrollElem.scrollLeft,{type:'table',fixed:''});});}},triggerVirtualScrollXEvent(evnt){const{scrollXLoad}=reactData;const{elemStore,inWheelScroll,lastScrollTop,inHeaderScroll,inBodyScroll,inFooterScroll}=internalData;if(inHeaderScroll||inBodyScroll||inFooterScroll){return;}if(inWheelScroll){return;}const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const yHandleEl=refScrollYHandleElem.value;const wrapperEl=evnt.currentTarget;const{scrollLeft}=wrapperEl;const yBodyEl=yHandleEl||bodyScrollElem;let scrollTop=0;if(yBodyEl){scrollTop=yBodyEl.scrollTop;}const isRollX=true;const isRollY=scrollTop!==lastScrollTop;internalData.inVirtualScroll=true;setScrollLeft(bodyScrollElem,scrollLeft);setScrollLeft(headerScrollElem,scrollLeft);setScrollLeft(footerScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'table',fixed:''});},triggerVirtualScrollYEvent(evnt){const{scrollYLoad}=reactData;const{elemStore,inWheelScroll,lastScrollLeft,inHeaderScroll,inBodyScroll,inFooterScroll}=internalData;if(inHeaderScroll||inBodyScroll||inFooterScroll){return;}if(inWheelScroll){return;}const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const rowExpandEl=refRowExpandElem.value;const xHandleEl=refScrollXHandleElem.value;const wrapperEl=evnt.currentTarget;const{scrollTop}=wrapperEl;const xBodyEl=xHandleEl||bodyScrollElem;let scrollLeft=0;if(xBodyEl){scrollLeft=xBodyEl.scrollLeft;}const isRollX=scrollLeft!==lastScrollLeft;const isRollY=true;internalData.inVirtualScroll=true;setScrollTop(bodyScrollElem,scrollTop);setScrollTop(leftScrollElem,scrollTop);setScrollTop(rightScrollElem,scrollTop);setScrollTop(rowExpandEl,scrollTop);syncGanttScrollTop(scrollTop);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'table',fixed:''});},/**
|
|
21559
|
-
* 对于树形结构中,可以直接滚动到指定深层节点中
|
|
21560
|
-
* 对于某些特定的场景可能会用到,比如定位到某一节点
|
|
21561
|
-
* @param {Row} row 行对象
|
|
21581
|
+
if(isRollX){evnt.preventDefault();internalData.inWheelScroll=true;wheelScrollLeftTo(scrollLeft,offsetLeft=>{internalData.inWheelScroll=true;const currLeftNum=offsetLeft;setScrollLeft(xHandleEl,currLeftNum);setScrollLeft(bodyScrollElem,currLeftNum);setScrollLeft(headerScrollElem,currLeftNum);setScrollLeft(footerScrollElem,currLeftNum);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,bodyScrollElem.scrollTop,currLeftNum,{type:'table',fixed:''});});}if(isRollY){evnt.preventDefault();internalData.inWheelScroll=true;wheelScrollTopTo(scrollTop,offsetTop=>{internalData.inWheelScroll=true;const currTopNum=offsetTop;setScrollTop(yHandleEl,currTopNum);setScrollTop(bodyScrollElem,currTopNum);setScrollTop(leftScrollElem,currTopNum);setScrollTop(rightScrollElem,currTopNum);setScrollTop(rowExpandEl,currTopNum);syncGanttScrollTop(currTopNum);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,offsetTop,bodyScrollElem.scrollLeft,{type:'table',fixed:''});});}},triggerVirtualScrollXEvent(evnt){const{scrollXLoad}=reactData;const{elemStore,inWheelScroll,lastScrollTop,inHeaderScroll,inBodyScroll,inFooterScroll}=internalData;if(inHeaderScroll||inBodyScroll||inFooterScroll){return;}if(inWheelScroll){return;}const headerScrollElem=getRefElem(elemStore['main-header-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const footerScrollElem=getRefElem(elemStore['main-footer-scroll']);const yHandleEl=refScrollYHandleElem.value;const wrapperEl=evnt.currentTarget;const{scrollLeft}=wrapperEl;const yBodyEl=yHandleEl||bodyScrollElem;let scrollTop=0;if(yBodyEl){scrollTop=yBodyEl.scrollTop;}const isRollX=true;const isRollY=scrollTop!==lastScrollTop;internalData.inVirtualScroll=true;setScrollLeft(bodyScrollElem,scrollLeft);setScrollLeft(headerScrollElem,scrollLeft);setScrollLeft(footerScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'table',fixed:''});},triggerVirtualScrollYEvent(evnt){const{scrollYLoad}=reactData;const{elemStore,inWheelScroll,lastScrollLeft,inHeaderScroll,inBodyScroll,inFooterScroll}=internalData;if(inHeaderScroll||inBodyScroll||inFooterScroll){return;}if(inWheelScroll){return;}const leftScrollElem=getRefElem(elemStore['left-body-scroll']);const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const rightScrollElem=getRefElem(elemStore['right-body-scroll']);const rowExpandEl=refRowExpandElem.value;const xHandleEl=refScrollXHandleElem.value;const wrapperEl=evnt.currentTarget;const{scrollTop}=wrapperEl;const xBodyEl=xHandleEl||bodyScrollElem;let scrollLeft=0;if(xBodyEl){scrollLeft=xBodyEl.scrollLeft;}const isRollX=scrollLeft!==lastScrollLeft;const isRollY=true;internalData.inVirtualScroll=true;setScrollTop(bodyScrollElem,scrollTop);setScrollTop(leftScrollElem,scrollTop);setScrollTop(rightScrollElem,scrollTop);setScrollTop(rowExpandEl,scrollTop);syncGanttScrollTop(scrollTop);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'table',fixed:''});},/**
|
|
21582
|
+
* 对于树形结构中,可以直接滚动到指定深层节点中
|
|
21583
|
+
* 对于某些特定的场景可能会用到,比如定位到某一节点
|
|
21584
|
+
* @param {Row} row 行对象
|
|
21562
21585
|
*/scrollToTreeRow(row){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{tableFullData}=internalData;const rests=[];if(treeConfig||isRowGroupStatus){const aggregateOpts=computeAggregateOpts.value;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableFullData,item=>$xeTable.eqRow(item,row),{children:isRowGroupStatus?aggregateOpts.mapChildrenField:childrenField});if(matchObj){const nodes=matchObj.nodes;nodes.forEach((row,index)=>{if(index<nodes.length-1&&!$xeTable.isTreeExpandByRow(row)){rests.push($xeTable.setTreeExpand(row,true));}});}}return Promise.all(rests).then(()=>rowToVisible($xeTable,row));},updateScrollYStatus,// 更新横向 X 可视渲染上下剩余空间大小
|
|
21563
21586
|
updateScrollXSpace(){const{scrollXLoad,overflowX,scrollXWidth}=reactData;const{visibleColumn,scrollXStore,elemStore,fullColumnIdData}=internalData;const $xeGanttView=internalData.xeGanttView;const mouseOpts=computeMouseOpts.value;const tableBody=refTableBody.value;const tableBodyElem=tableBody?tableBody.$el:null;if(tableBodyElem){const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const bodyTableElem=getRefElem(elemStore['main-body-table']);const headerTableElem=getRefElem(elemStore['main-header-table']);const footerTableElem=getRefElem(elemStore['main-footer-table']);let xSpaceLeft=0;const firstColumn=visibleColumn[scrollXStore.startIndex];if(firstColumn){const colRest=fullColumnIdData[firstColumn.id]||{};xSpaceLeft=colRest.oLeft;}let clientWidth=0;if(bodyScrollElem){clientWidth=bodyScrollElem.clientWidth;}// 虚拟渲染
|
|
21564
21587
|
let isScrollXBig=false;let ySpaceWidth=scrollXWidth;if(scrollXWidth>maxXWidth){// 触右
|
|
@@ -21568,13 +21591,13 @@ updateScrollYSpace(){const{isAllOverflow,overflowY,scrollYLoad,scrollYHeight,exp
|
|
|
21568
21591
|
if(rHeight){sYHeight=(rowRest.oTop||0)+rHeight;// 是否展开行
|
|
21569
21592
|
if(expandColumn&&rowExpandedMaps[rowid]){sYHeight+=rowRest.expandHeight||expandOpts.height||0;}}}if(sYHeight>maxYHeight){isScrollYBig=true;}}else{sYHeight=bodyTableElem?bodyTableElem.clientHeight:0;}}}else{if(bodyTableElem){sYHeight=bodyTableElem.clientHeight;}}let clientHeight=0;if(bodyScrollElem){clientHeight=bodyScrollElem.clientHeight;}// 虚拟渲染
|
|
21570
21593
|
let ySpaceHeight=sYHeight;let scrollYTop=ySpaceTop;if(isScrollYBig){// 触底
|
|
21571
|
-
if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHeight){scrollYTop=maxYHeight-bodyTableElem.clientHeight;}else{scrollYTop=(maxYHeight-clientHeight)*(ySpaceTop/(scrollYHeight-clientHeight));}ySpaceHeight=maxYHeight;}if(!(scrollYLoad&&overflowY)){scrollYTop=0;}if(table_getConfig().scrollMarginStyle){if(leftBodyTableElem){leftBodyTableElem.style.marginTop=`${scrollYTop}px`;}if(bodyTableElem){bodyTableElem.style.marginTop=`${scrollYTop}px`;}if(rightbodyTableElem){rightbodyTableElem.style.marginTop=`${scrollYTop}px`;}}else{if(leftBodyTableElem){leftBodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}if(bodyTableElem){bodyTableElem.style.transform=`translate(${reactData.scrollXLeft||0}px, ${scrollYTop}px)`;}if(rightbodyTableElem){rightbodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}}containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const ySpaceElem=getRefElem(elemStore[`${name}-${layout}-ySpace`]);if(ySpaceElem){ySpaceElem.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}});});const scrollYSpaceEl=refScrollYSpaceElem.value;if(scrollYSpaceEl){scrollYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}const rowExpandYSpaceEl=refRowExpandYSpaceElem.value;if(rowExpandYSpaceEl){rowExpandYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}reactData.scrollYTop=scrollYTop;reactData.scrollYHeight=isScrollYBig?sYHeight:ySpaceHeight;reactData.isScrollYBig=isScrollYBig;calcScrollbar();if(isScrollYBig&&mouseOpts.area){table_errLog('vxe.error.notProp',['mouse-config.area']);}if($xeGanttView&&$xeGanttView.handleUpdateSYSpace){$xeGanttView.handleUpdateSYSpace();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return updateStyle();});},updateScrollXData(){const{isAllOverflow}=reactData;handleTableColumn();$xeTable.updateScrollXSpace();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{handleTableColumn();$xeTable.updateScrollXSpace();if(!isAllOverflow){$xeTable.updateScrollYSpace();}});},updateScrollYData(){$xeTable.handleTableData();$xeTable.updateScrollYSpace();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{$xeTable.handleTableData();$xeTable.updateScrollYSpace();});},/**
|
|
21572
|
-
* 处理固定列的显示状态
|
|
21573
|
-
*/checkScrolling(){const{elemStore}=internalData;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const xHandleEl=refScrollXHandleElem.value;const bodtTargetEl=xHandleEl||bodyScrollElem;if(bodtTargetEl){if(leftContainerElem){if(bodtTargetEl.scrollLeft>0){addClass(leftContainerElem,'scrolling--middle');}else{removeClass(leftContainerElem,'scrolling--middle');}}if(rightContainerElem){if(bodtTargetEl.clientWidth<bodtTargetEl.scrollWidth-Math.ceil(bodtTargetEl.scrollLeft)){addClass(rightContainerElem,'scrolling--middle');}else{removeClass(rightContainerElem,'scrolling--middle');}}}},handleUpdateAggData(){return loadTableData(internalData.tableSynchData,false,true);},handlePushStack(){const keyboardOpts=computeKeyboardOpts.value;if(!keyboardOpts.isUndoRedo){return;}const{stackHistoryStore}=internalData;const stackObj=getSnapshotStackData();stackHistoryStore.undoStacks.push(stackObj);stackHistoryStore.redoStacks=[];truncateStackHistory();},handleUndoStackEvent(evnt){const{stackHistoryStore}=internalData;const{undoStacks,redoStacks}=stackHistoryStore;if(undoStacks.length){const stackObj=getSnapshotStackData();redoStacks.push(stackObj);handleUpdateSnapshotStackData(undoStacks.pop());if(evnt){dispatchEvent('undo',{},evnt);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{return{status:true};});}return Promise.resolve({status:false});},handleRedoStackEvent(evnt){const{stackHistoryStore}=internalData;const{undoStacks,redoStacks}=stackHistoryStore;if(redoStacks.length){const stackObj=getSnapshotStackData();undoStacks.push(stackObj);handleUpdateSnapshotStackData(redoStacks.pop());if(evnt){dispatchEvent('redo',{},evnt);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{return{status:true};});}return Promise.resolve({status:false});},handleClearStack(){const{stackHistoryStore}=internalData;stackHistoryStore.undoStacks=[];stackHistoryStore.redoStacks=[];return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},updateZindex(){if(props.zIndex){internalData.tZindex=props.zIndex;}else if(internalData.tZindex<getLastZIndex()){internalData.tZindex=nextZIndex();}},handleCheckedCheckboxRow,/**
|
|
21574
|
-
* 行 hover 事件
|
|
21575
|
-
*/triggerHoverEvent(evnt,{row}){$xeTable.setHoverRow(row);},setHoverRow(row){const $xeGanttView=internalData.xeGanttView;const rowid=getRowid($xeTable,row);const el=refElem.value;$xeTable.clearHoverRow();if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]`),elem=>addClass(elem,'row--hover'));}internalData.hoverRow=row;if($xeGanttView&&$xeGanttView.handleUpdateHoverRow){$xeGanttView.handleUpdateHoverRow(row);}},clearHoverRow(){const $xeGanttView=internalData.xeGanttView;const el=refElem.value;if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll('.vxe-body--row.row--hover'),elem=>removeClass(elem,'row--hover'));}internalData.hoverRow=null;if($xeGanttView&&$xeGanttView.handleUpdateHoverRow){$xeGanttView.handleUpdateHoverRow();}},/**
|
|
21576
|
-
* 已废弃,被 getCellElement 替换
|
|
21577
|
-
* @deprecated
|
|
21594
|
+
if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHeight){scrollYTop=maxYHeight-bodyTableElem.clientHeight;}else{scrollYTop=(maxYHeight-clientHeight)*(ySpaceTop/(scrollYHeight-clientHeight));}ySpaceHeight=maxYHeight;}if(!(scrollYLoad&&overflowY)){scrollYTop=0;}if(table_getConfig().scrollMarginStyle){if(leftBodyTableElem){leftBodyTableElem.style.marginTop=`${scrollYTop}px`;}if(bodyTableElem){bodyTableElem.style.marginTop=`${scrollYTop}px`;}if(rightbodyTableElem){rightbodyTableElem.style.marginTop=`${scrollYTop}px`;}}else{if(leftBodyTableElem){leftBodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}if(bodyTableElem){bodyTableElem.style.transform=`translate(${reactData.scrollXLeft||0}px, ${scrollYTop}px)`;}if(rightbodyTableElem){rightbodyTableElem.style.transform=`translate(0px, ${scrollYTop}px)`;}}containerList.forEach(name=>{const layoutList=['header','body','footer'];layoutList.forEach(layout=>{const ySpaceElem=getRefElem(elemStore[`${name}-${layout}-ySpace`]);if(ySpaceElem){ySpaceElem.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}});});const scrollYSpaceEl=refScrollYSpaceElem.value;if(scrollYSpaceEl){scrollYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}const rowExpandYSpaceEl=refRowExpandYSpaceElem.value;if(rowExpandYSpaceEl){rowExpandYSpaceEl.style.height=ySpaceHeight?`${ySpaceHeight}px`:'';}reactData.scrollYTop=scrollYTop;reactData.scrollYHeight=isScrollYBig?sYHeight:ySpaceHeight;reactData.isScrollYBig=isScrollYBig;calcScrollbar();if(isScrollYBig&&mouseOpts.area){table_errLog('vxe.error.notProp',['mouse-config.area']);}if($xeGanttView&&$xeGanttView.handleUpdateSYSpace){$xeGanttView.handleUpdateSYSpace();}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{return updateStyle();});},updateScrollXData(){const{isAllOverflow}=reactData;handleTableColumn();$xeTable.updateScrollXSpace();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{handleTableColumn();$xeTable.updateScrollXSpace();if(!isAllOverflow){$xeTable.updateScrollYSpace();}});},updateScrollYData(){$xeTable.handleTableData();$xeTable.updateScrollYSpace();return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{$xeTable.handleTableData();$xeTable.updateScrollYSpace();});},/**
|
|
21595
|
+
* 处理固定列的显示状态
|
|
21596
|
+
*/checkScrolling(){const{elemStore}=internalData;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const leftContainerElem=refLeftContainer.value;const rightContainerElem=refRightContainer.value;const xHandleEl=refScrollXHandleElem.value;const bodtTargetEl=xHandleEl||bodyScrollElem;if(bodtTargetEl){if(leftContainerElem){if(bodtTargetEl.scrollLeft>0){addClass(leftContainerElem,'scrolling--middle');}else{removeClass(leftContainerElem,'scrolling--middle');}}if(rightContainerElem){if(bodtTargetEl.clientWidth<bodtTargetEl.scrollWidth-Math.ceil(bodtTargetEl.scrollLeft)){addClass(rightContainerElem,'scrolling--middle');}else{removeClass(rightContainerElem,'scrolling--middle');}}}},handleUpdateAggData(){return loadTableData(internalData.tableSynchData,false,true);},handlePushStack(){const keyboardOpts=computeKeyboardOpts.value;if(!keyboardOpts.isUndoRedo){return;}const{stackHistoryStore}=internalData;const stackObj=getSnapshotStackData();stackHistoryStore.undoStacks.push(stackObj);stackHistoryStore.redoStacks=[];truncateStackHistory();},handleUndoStackEvent(evnt){const{stackHistoryStore}=internalData;const{undoStacks,redoStacks}=stackHistoryStore;if(undoStacks.length){const stackObj=getSnapshotStackData();redoStacks.push(stackObj);handleUpdateSnapshotStackData(undoStacks.pop());if(evnt){dispatchEvent('undo',{},evnt);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{return{status:true};});}return Promise.resolve({status:false});},handleRedoStackEvent(evnt){const{stackHistoryStore}=internalData;const{undoStacks,redoStacks}=stackHistoryStore;if(redoStacks.length){const stackObj=getSnapshotStackData();undoStacks.push(stackObj);handleUpdateSnapshotStackData(redoStacks.pop());if(evnt){dispatchEvent('redo',{},evnt);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(()=>{return{status:true};});}return Promise.resolve({status:false});},handleClearStack(){const{stackHistoryStore}=internalData;stackHistoryStore.undoStacks=[];stackHistoryStore.redoStacks=[];return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},updateZindex(){if(props.zIndex){internalData.tZindex=props.zIndex;}else if(internalData.tZindex<getLastZIndex()){internalData.tZindex=nextZIndex();}},handleCheckedCheckboxRow,/**
|
|
21597
|
+
* 行 hover 事件
|
|
21598
|
+
*/triggerHoverEvent(evnt,{row}){$xeTable.setHoverRow(row);},setHoverRow(row){const $xeGanttView=internalData.xeGanttView;const rowid=getRowid($xeTable,row);const el=refElem.value;$xeTable.clearHoverRow();if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.vxe-body--row[rowid="${rowid}"]`),elem=>addClass(elem,'row--hover'));}internalData.hoverRow=row;if($xeGanttView&&$xeGanttView.handleUpdateHoverRow){$xeGanttView.handleUpdateHoverRow(row);}},clearHoverRow(){const $xeGanttView=internalData.xeGanttView;const el=refElem.value;if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll('.vxe-body--row.row--hover'),elem=>removeClass(elem,'row--hover'));}internalData.hoverRow=null;if($xeGanttView&&$xeGanttView.handleUpdateHoverRow){$xeGanttView.handleUpdateHoverRow();}},/**
|
|
21599
|
+
* 已废弃,被 getCellElement 替换
|
|
21600
|
+
* @deprecated
|
|
21578
21601
|
*/getCell(row,column){return $xeTable.getCellElement(row,column);},findRowIndexOf(list,row){return row?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(list,item=>$xeTable.eqRow(item,row)):-1;},eqRow(row1,row2){if(row1&&row2){if(row1===row2){return true;}return getRowid($xeTable,row1)===getRowid($xeTable,row2);}return false;},handleConnectGanttView($ganttView){if($ganttView&&$ganttView.connectUpdate){$ganttView.connectUpdate({$table:$xeTable});internalData.xeGanttView=$ganttView;}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}};// 检测对应模块是否安装
|
|
21579
21602
|
// 'openExport,openPrint,exportData,openImport,importData,saveFile,readFile,importByFile,print'.split(',').forEach(name => {
|
|
21580
21603
|
// ($xeTable as any)[name] = function () {
|
|
@@ -21586,50 +21609,50 @@ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHei
|
|
|
21586
21609
|
// errLog('vxe.error.reqModule', ['Validator'])
|
|
21587
21610
|
// }
|
|
21588
21611
|
// })
|
|
21589
|
-
Object.assign($xeTable,tableMethods,tablePrivateMethods);/**
|
|
21590
|
-
* 渲染浮固定列
|
|
21591
|
-
* 分别渲染左边固定列和右边固定列
|
|
21592
|
-
* 如果宽度足够情况下,则不需要渲染固定列
|
|
21593
|
-
* @param {String} fixedType 固定列类型
|
|
21594
|
-
*/const renderViewFixed=fixedType=>{const{showHeader,showFooter}=props;const{tableData,tableColumn,tableGroupColumn,columnStore,footerTableData}=reactData;const scrollbarOpts=computeScrollbarOpts.value;const scrollbarXOpts=computeScrollbarXOpts.value;const scrollbarYOpts=computeScrollbarYOpts.value;const{overscrollBehavior:overscrollXBehavior}=scrollbarXOpts;const{overscrollBehavior:overscrollYBehavior}=scrollbarYOpts;const isFixedLeft=fixedType==='left';const fixedColumn=isFixedLeft?columnStore.leftList:columnStore.rightList;const osXBehavior=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(overscrollXBehavior)?scrollbarOpts.overscrollBehavior:overscrollXBehavior;const osYBehavior=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(overscrollYBehavior)?scrollbarOpts.overscrollBehavior:overscrollYBehavior;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:isFixedLeft?refLeftContainer:refRightContainer,class:[`vxe-table--fixed-${fixedType}-wrapper`,`sx--${scrollbarXOpts.visible}`,`sy--${scrollbarYOpts.visible}`,{[`x-ob--${osXBehavior}`]:osXBehavior,[`y-ob--${osYBehavior}`]:osYBehavior}]},[showHeader?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(header,{ref:isFixedLeft?refTableLeftHeader:refTableRightHeader,fixedType,tableData,tableColumn,tableGroupColumn,fixedColumn}):table_renderEmptyElement($xeTable),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(body,{ref:isFixedLeft?refTableLeftBody:refTableRightBody,fixedType,tableData,tableColumn,fixedColumn}),showFooter?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(footer,{ref:isFixedLeft?refTableLeftFooter:refTableRightFooter,footerTableData,tableColumn,fixedColumn,fixedType}):table_renderEmptyElement($xeTable)]);};const renderEmptyBody=()=>{const emptyOpts=computeEmptyOpts.value;const emptySlot=slots.empty;const emptyParams={$table:$xeTable,$grid:$xeGrid,gantt:$xeGantt};if(emptySlot){return emptySlot(emptyParams);}else{const compConf=emptyOpts.name?table_renderer.get(emptyOpts.name):null;const rtEmptyView=compConf?compConf.renderTableEmpty||compConf.renderTableEmptyView||compConf.renderEmpty:null;if(rtEmptyView){return getSlotVNs(rtEmptyView(emptyOpts,emptyParams));}}return getFuncText(props.emptyText)||table_getI18n('vxe.table.emptyText');};const renderDragTipContents=()=>{const{dragConfig}=props;const{dragRow,dragCol,dragTipText}=reactData;const columnDragOpts=computeColumnDragOpts.value;const rowDragOpts=computeRowDragOpts.value;const rowDragSlots=rowDragOpts.slots||{};const rTipSlot=rowDragSlots.tip||(dragConfig&&dragConfig.slots?dragConfig.slots.rowTip:null);const columnDragSlots=columnDragOpts.slots||{};const cTipSlot=columnDragSlots.tip;const dRow=dragRow||(rowDragOpts.isCrossTableDrag?crossTableDragRowInfo.row:null);if(dRow&&rTipSlot){return callSlot(rTipSlot,{row:dRow});}if(dragCol&&cTipSlot){return callSlot(cTipSlot,{column:dragCol});}return[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span',dragTipText)];};const renderDragTip=()=>{const{dragRow,dragCol}=reactData;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const rowDragOpts=computeRowDragOpts.value;const columnDragOpts=computeColumnDragOpts.value;const dRow=dragRow||(rowDragOpts.isCrossTableDrag?crossTableDragRowInfo.row:null);if(rowOpts.drag||columnOpts.drag){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--drag-wrapper'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refDragRowLineElem,class:['vxe-table--drag-row-line',{'is--guides':rowDragOpts.showGuidesStatus}]}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refDragColLineElem,class:['vxe-table--drag-col-line',{'is--guides':columnDragOpts.showGuidesStatus}]}),dRow&&rowDragOpts.showDragTip||dragCol&&columnDragOpts.showDragTip?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refDragTipElem,class:'vxe-table--drag-sort-tip'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--drag-sort-tip-wrapper'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--drag-sort-tip-status'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span',{class:['vxe-table--drag-sort-tip-normal-status',dRow?table_getIcon().TABLE_DRAG_STATUS_ROW:table_getIcon().TABLE_DRAG_STATUS_COLUMN]}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span',{class:['vxe-table--drag-sort-tip-sub-status',table_getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span',{class:['vxe-table--drag-sort-tip-disabled-status',table_getIcon().TABLE_DRAG_DISABLED]})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--drag-sort-tip-content'},renderDragTipContents())])]):table_renderEmptyElement($xeTable)]);}return table_renderEmptyElement($xeTable);};const renderRowExpandedVNs=()=>{const{treeConfig}=props;const{expandColumn,isRowGroupStatus}=reactData;const tableRowExpandedList=computeTableRowExpandedList.value;const expandOpts=computeExpandOpts.value;const{mode}=expandOpts;if(mode!=='fixed'){return table_renderEmptyElement($xeTable);}const expandVNs=[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'repY',ref:refRowExpandYSpaceElem})];if(expandColumn){const{handleGetRowId}=createHandleGetRowId($xeTable);tableRowExpandedList.forEach(row=>{const expandOpts=computeExpandOpts.value;const{height:expandHeight,padding,indent}=expandOpts;const{fullAllDataRowIdData,fullColumnIdData}=internalData;const treeOpts=computeTreeOpts.value;const{transform,seqMode}=treeOpts;const cellStyle={};const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];const colid=expandColumn.id;const colRest=fullColumnIdData[colid]||{};let rowLevel=0;let seq=-1;let _rowIndex=-1;let rowIndex=-1;let $rowIndex=-1;if(rowRest){rowIndex=rowRest.index;$rowIndex=rowRest.$index;_rowIndex=rowRest._index;rowLevel=rowRest.level;seq=rowRest.seq;if(isRowGroupStatus||treeConfig&&transform&&seqMode==='increasing'){seq=rowRest._index+1;}else if(treeConfig&&seqMode==='fixed'){seq=rowRest._tIndex+1;}}if(expandHeight){cellStyle.height=`${expandHeight}px`;}if(isRowGroupStatus||treeConfig){cellStyle.paddingLeft=`${rowLevel*(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(indent)?indent:treeOpts.indent)+30}px`;}let columnIndex=-1;let $columnIndex=-1;let _columnIndex=-1;if(colRest){columnIndex=colRest.index;$columnIndex=colRest.$index;_columnIndex=colRest._index;}const expandParams={$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt,seq,column:expandColumn,columnIndex,$columnIndex,_columnIndex,fixed:'',source:'table',type:'body',level:rowLevel,rowid,row,rowIndex,$rowIndex,_rowIndex,isHidden:false,isEdit:false,visibleData:[],data:[],items:[]};expandVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:rowid,class:['vxe-body--row-expanded-cell',{'is--padding':padding,'is--ellipsis':expandHeight}],rowid,style:cellStyle},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-body--row-expanded-content'},expandColumn.renderData(expandParams))]));});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refRowExpandElem,class:'vxe-table--row-expanded-wrapper'},expandVNs);};const renderScrollX=()=>{return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'vsx',ref:refScrollXVirtualElem,class:'vxe-table--scroll-x-virtual'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollXLeftCornerElem,class:'vxe-table--scroll-x-left-corner'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollXWrapperElem,class:'vxe-table--scroll-x-wrapper'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollXHandleElem,class:'vxe-table--scroll-x-handle',onScroll:$xeTable.triggerVirtualScrollXEvent},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollXSpaceElem,class:'vxe-table--scroll-x-space'})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--scroll-x-handle-appearance'})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollXRightCornerElem,class:'vxe-table--scroll-x-right-corner'})]);};const renderScrollY=()=>{return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYVirtualElem,class:'vxe-table--scroll-y-virtual'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYTopCornerElem,class:'vxe-table--scroll-y-top-corner'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYWrapperElem,class:'vxe-table--scroll-y-wrapper'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYHandleElem,class:'vxe-table--scroll-y-handle',onScroll:$xeTable.triggerVirtualScrollYEvent},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYSpaceElem,class:'vxe-table--scroll-y-space'})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--scroll-y-handle-appearance'})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYBottomCornerElem,class:'vxe-table--scroll-y-bottom-corner'})]);};const renderViewport=()=>{const{showHeader,showFooter}=props;const{overflowX,tableData,tableColumn,tableGroupColumn,footerTableData,columnStore}=reactData;const scrollbarOpts=computeScrollbarOpts.value;const scrollbarXOpts=computeScrollbarXOpts.value;const scrollbarYOpts=computeScrollbarYOpts.value;const{overscrollBehavior:overscrollXBehavior}=scrollbarXOpts;const{overscrollBehavior:overscrollYBehavior}=scrollbarYOpts;const{leftList,rightList}=columnStore;const osXBehavior=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(overscrollXBehavior)?scrollbarOpts.overscrollBehavior:overscrollXBehavior;const osYBehavior=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(overscrollYBehavior)?scrollbarOpts.overscrollBehavior:overscrollYBehavior;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refTableViewportElem,class:['vxe-table--viewport-wrapper',{[`x-ob--${osXBehavior}`]:osXBehavior,[`y-ob--${osYBehavior}`]:osYBehavior}]},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:['vxe-table--main-wrapper',`sx--${scrollbarXOpts.visible}`,`sy--${scrollbarYOpts.visible}`]},[/**
|
|
21595
|
-
* 表头
|
|
21596
|
-
*/showHeader?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(header,{ref:refTableHeader,tableData,tableColumn,tableGroupColumn}):table_renderEmptyElement($xeTable),/**
|
|
21597
|
-
* 表体
|
|
21598
|
-
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(body,{ref:refTableBody,tableData,tableColumn}),/**
|
|
21599
|
-
* 表尾
|
|
21600
|
-
*/showFooter?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(footer,{ref:refTableFooter,footerTableData,tableColumn}):table_renderEmptyElement($xeTable)]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--fixed-wrapper'},[leftList&&leftList.length&&overflowX?renderViewFixed('left'):table_renderEmptyElement($xeTable),rightList&&rightList.length&&overflowX?renderViewFixed('right'):table_renderEmptyElement($xeTable)]),renderRowExpandedVNs()]);};const renderBody=()=>{const scrollbarYToLeft=computeScrollbarYToLeft.value;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--layout-wrapper'},scrollbarYToLeft?[renderScrollY(),renderViewport()]:[renderViewport(),renderScrollY()]);};const renderVN=()=>{const{loading,stripe,showHeader,height,treeConfig,mouseConfig,showFooter,highlightCell,highlightHoverRow,highlightHoverColumn,editConfig,editRules}=props;const{isGroup,overflowX,overflowY,scrollXLoad,scrollYLoad,tableData,initStore,isRowGroupStatus,columnStore,filterStore,customStore,tooltipStore}=reactData;const{teleportToWrapperElem,popupToWrapperElem,customPopupToElem}=internalData;const{leftList,rightList}=columnStore;const loadingSlot=slots.loading;const tipSlots={header:slots.headerTooltip||slots['header-tooltip'],body:slots.tooltip,footer:slots.footerTooltip||slots['footer-tooltip']};const currTooltipSlot=tooltipStore.visible&&tooltipStore.type?tipSlots[tooltipStore.type]:null;const tableStyle=computeTableStyle.value;const rowDragOpts=computeRowDragOpts.value;const tableTipConfig=computeTableTipConfig.value;const validTipConfig=computeValidTipConfig.value;const validOpts=computeValidOpts.value;const checkboxOpts=computeCheckboxOpts.value;const treeOpts=computeTreeOpts.value;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const vSize=computeSize.value;const tableBorder=computeTableBorder.value;const mouseOpts=computeMouseOpts.value;const areaOpts=computeAreaOpts.value;const loadingOpts=computeLoadingOpts.value;const isContentMenu=computeIsContentMenu.value;const currLoading=reactData.isColLoading||reactData.isRowLoading||loading;const resizableOpts=computeResizableOpts.value;const isArea=mouseConfig&&mouseOpts.area;const columnDragOpts=computeColumnDragOpts.value;const scrollbarXToTop=computeScrollbarXToTop.value;const scrollbarYToLeft=computeScrollbarYToLeft.value;const{isCrossTableDrag}=rowDragOpts;const tbOns={onKeydown:keydownEvent,onContextmenu:contextMenuEvent};if(isCrossTableDrag&&!tableData.length){tbOns.onDragover=$xeTable.handleCrossTableRowDragoverEmptyEvent;}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refElem,class:['vxe-table','vxe-table--render-default',`tid_${xID}`,`border--${tableBorder}`,`sx-pos--${scrollbarXToTop?'top':'bottom'}`,`sy-pos--${scrollbarYToLeft?'left':'right'}`,{[`size--${vSize}`]:vSize,[`valid-msg--${validOpts.msgMode}`]:!!editRules,'vxe-editable':!!editConfig,'old-cell-valid':editRules&&table_getConfig().cellVaildMode==='obsolete','cell--highlight':highlightCell,'cell--selected':mouseConfig&&mouseOpts.selected,'cell--area':isArea,'header-cell--area':isArea&&areaOpts.selectCellByHeader,'body-cell--area':isArea&&areaOpts.selectCellByBody,'row--highlight':rowOpts.isHover||highlightHoverRow,'column--highlight':columnOpts.isHover||highlightHoverColumn,'checkbox--range':checkboxOpts.range,'col--drag-cell':columnOpts.drag&&columnDragOpts.trigger==='cell','is--header':showHeader,'not--header':!showHeader,'is--footer':showFooter,'not--footer':!showFooter,'is--group':isGroup,'is-row-group':isRowGroupStatus,'is--tree-line':treeConfig&&(treeOpts.showLine||treeOpts.line),'is--fixed-left':leftList.length,'is--fixed-right':rightList.length,'is--animat':!!props.animat,'is--round':props.round,'is--stripe':!treeConfig&&stripe,'is--loading':currLoading,'is--empty':!currLoading&&!tableData.length,'is--scroll-y':overflowY,'not--scroll-y':!overflowY,'is--scroll-x':overflowX,'not--scroll-x':!overflowX,'is--virtual-x':scrollXLoad,'is--virtual-y':scrollYLoad}],style:tableStyle,spellcheck:false,...tbOns},[/**
|
|
21601
|
-
* 隐藏列
|
|
21602
|
-
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-slots'},slots.default?slots.default({}):[]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refVarElem,class:'vxe-table-vars'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-default'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-medium'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-small'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-mini'})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'tw',class:'vxe-table--render-wrapper'},scrollbarXToTop?[renderScrollX(),renderBody()]:[renderBody(),renderScrollX()]),/**
|
|
21603
|
-
* 空数据
|
|
21604
|
-
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'tn',ref:refEmptyPlaceholder,class:'vxe-table--empty-place-wrapper',xid:xID},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--empty-placeholder'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--empty-content'},renderEmptyBody())])]),/**
|
|
21605
|
-
* 边框线
|
|
21606
|
-
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'tl',class:'vxe-table--border-line'}),/**
|
|
21607
|
-
* 列宽线
|
|
21608
|
-
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'tcl',ref:refColResizeBar,class:'vxe-table--resizable-col-bar'},resizableOpts.showDragTip?[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--resizable-number-tip'})]:[]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'ttw'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.Teleport,{to:teleportToWrapperElem,disabled:!($xeGantt&&teleportToWrapperElem)},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refTeleportWrapper},[/**
|
|
21609
|
-
* 行高线
|
|
21610
|
-
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'trl',ref:refRowResizeBar,class:'vxe-table--resizable-row-bar'},resizableOpts.showDragTip?[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--resizable-number-tip'})]:[]),/**
|
|
21611
|
-
* 加载中
|
|
21612
|
-
*/VxeUILoadingComponent?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUILoadingComponent,{key:'lg',class:'vxe-table--loading',modelValue:currLoading,icon:loadingOpts.icon,text:loadingOpts.text},loadingSlot?{default:()=>callSlot(loadingSlot,{$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt,loading:currLoading})}:{}):loadingSlot?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:['vxe-loading--custom-wrapper',{'is--visible':currLoading}]},callSlot(loadingSlot,{$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt,loading:currLoading})):table_renderEmptyElement($xeTable),/**
|
|
21613
|
-
* 拖拽排序提示
|
|
21614
|
-
*/renderDragTip()])])]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'fpw',ref:refCustomContainerElem},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.Teleport,{to:customPopupToElem,disabled:!!reactData.ctPopupFlag&&!customPopupToElem},[/**
|
|
21615
|
-
* 自定义列
|
|
21616
|
-
*/initStore.custom?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(panel,{key:'cs',ref:refTableCustom,customStore}):table_renderEmptyElement($xeTable)])]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'tpw'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.Teleport,{to:popupToWrapperElem,disabled:!($xeGGWrapper&&popupToWrapperElem)},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refPopupWrapperElem},[/**
|
|
21617
|
-
* 筛选
|
|
21618
|
-
*/initStore.filter?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(filter_panel,{key:'tf',ref:refTableFilter,filterStore}):table_renderEmptyElement($xeTable),/**
|
|
21619
|
-
* 快捷菜单
|
|
21620
|
-
*/isContentMenu?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(menu_panel,{key:'tm',ref:refTableMenu}):table_renderEmptyElement($xeTable)])])]),/**
|
|
21621
|
-
* 导入
|
|
21622
|
-
*/initStore.import&&props.importConfig?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(import_panel,{key:'it',defaultOptions:reactData.importParams,storeData:reactData.importStore}):table_renderEmptyElement($xeTable),/**
|
|
21623
|
-
* 导出
|
|
21624
|
-
*/initStore.export&&(props.exportConfig||props.printConfig)?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(export_panel,{key:'et',defaultOptions:reactData.exportParams,storeData:reactData.exportStore}):table_renderEmptyElement($xeTable),/**
|
|
21625
|
-
* 提示相关
|
|
21626
|
-
*/VxeUITooltipComponent?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{},[/**
|
|
21627
|
-
* 通用提示
|
|
21628
|
-
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent,{key:'ctp',ref:refCommTooltip,isArrow:false,enterable:false}),/**
|
|
21629
|
-
* 工具提示
|
|
21612
|
+
Object.assign($xeTable,tableMethods,tablePrivateMethods);/**
|
|
21613
|
+
* 渲染浮固定列
|
|
21614
|
+
* 分别渲染左边固定列和右边固定列
|
|
21615
|
+
* 如果宽度足够情况下,则不需要渲染固定列
|
|
21616
|
+
* @param {String} fixedType 固定列类型
|
|
21617
|
+
*/const renderViewFixed=fixedType=>{const{showHeader,showFooter}=props;const{tableData,tableColumn,tableGroupColumn,columnStore,footerTableData}=reactData;const scrollbarOpts=computeScrollbarOpts.value;const scrollbarXOpts=computeScrollbarXOpts.value;const scrollbarYOpts=computeScrollbarYOpts.value;const{overscrollBehavior:overscrollXBehavior}=scrollbarXOpts;const{overscrollBehavior:overscrollYBehavior}=scrollbarYOpts;const isFixedLeft=fixedType==='left';const fixedColumn=isFixedLeft?columnStore.leftList:columnStore.rightList;const osXBehavior=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(overscrollXBehavior)?scrollbarOpts.overscrollBehavior:overscrollXBehavior;const osYBehavior=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(overscrollYBehavior)?scrollbarOpts.overscrollBehavior:overscrollYBehavior;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:isFixedLeft?refLeftContainer:refRightContainer,class:[`vxe-table--fixed-${fixedType}-wrapper`,`sx--${scrollbarXOpts.visible}`,`sy--${scrollbarYOpts.visible}`,{[`x-ob--${osXBehavior}`]:osXBehavior,[`y-ob--${osYBehavior}`]:osYBehavior}]},[showHeader?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(header,{ref:isFixedLeft?refTableLeftHeader:refTableRightHeader,fixedType,tableData,tableColumn,tableGroupColumn,fixedColumn}):table_renderEmptyElement($xeTable),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(body,{ref:isFixedLeft?refTableLeftBody:refTableRightBody,fixedType,tableData,tableColumn,fixedColumn}),showFooter?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(footer,{ref:isFixedLeft?refTableLeftFooter:refTableRightFooter,footerTableData,tableColumn,fixedColumn,fixedType}):table_renderEmptyElement($xeTable)]);};const renderEmptyBody=()=>{const emptyOpts=computeEmptyOpts.value;const emptySlot=slots.empty;const emptyParams={$table:$xeTable,$grid:$xeGrid,gantt:$xeGantt};if(emptySlot){return emptySlot(emptyParams);}else{const compConf=emptyOpts.name?table_renderer.get(emptyOpts.name):null;const rtEmptyView=compConf?compConf.renderTableEmpty||compConf.renderTableEmptyView||compConf.renderEmpty:null;if(rtEmptyView){return getSlotVNs(rtEmptyView(emptyOpts,emptyParams));}}return getFuncText(props.emptyText)||table_getI18n('vxe.table.emptyText');};const renderDragTipContents=()=>{const{dragConfig}=props;const{dragRow,dragCol,dragTipText}=reactData;const columnDragOpts=computeColumnDragOpts.value;const rowDragOpts=computeRowDragOpts.value;const rowDragSlots=rowDragOpts.slots||{};const rTipSlot=rowDragSlots.tip||(dragConfig&&dragConfig.slots?dragConfig.slots.rowTip:null);const columnDragSlots=columnDragOpts.slots||{};const cTipSlot=columnDragSlots.tip;const dRow=dragRow||(rowDragOpts.isCrossTableDrag?crossTableDragRowInfo.row:null);if(dRow&&rTipSlot){return callSlot(rTipSlot,{row:dRow});}if(dragCol&&cTipSlot){return callSlot(cTipSlot,{column:dragCol});}return[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span',dragTipText)];};const renderDragTip=()=>{const{dragRow,dragCol}=reactData;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const rowDragOpts=computeRowDragOpts.value;const columnDragOpts=computeColumnDragOpts.value;const dRow=dragRow||(rowDragOpts.isCrossTableDrag?crossTableDragRowInfo.row:null);if(rowOpts.drag||columnOpts.drag){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--drag-wrapper'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refDragRowLineElem,class:['vxe-table--drag-row-line',{'is--guides':rowDragOpts.showGuidesStatus}]}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refDragColLineElem,class:['vxe-table--drag-col-line',{'is--guides':columnDragOpts.showGuidesStatus}]}),dRow&&rowDragOpts.showDragTip||dragCol&&columnDragOpts.showDragTip?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refDragTipElem,class:'vxe-table--drag-sort-tip'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--drag-sort-tip-wrapper'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--drag-sort-tip-status'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span',{class:['vxe-table--drag-sort-tip-normal-status',dRow?table_getIcon().TABLE_DRAG_STATUS_ROW:table_getIcon().TABLE_DRAG_STATUS_COLUMN]}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span',{class:['vxe-table--drag-sort-tip-sub-status',table_getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span',{class:['vxe-table--drag-sort-tip-disabled-status',table_getIcon().TABLE_DRAG_DISABLED]})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--drag-sort-tip-content'},renderDragTipContents())])]):table_renderEmptyElement($xeTable)]);}return table_renderEmptyElement($xeTable);};const renderRowExpandedVNs=()=>{const{treeConfig}=props;const{expandColumn,isRowGroupStatus}=reactData;const tableRowExpandedList=computeTableRowExpandedList.value;const expandOpts=computeExpandOpts.value;const{mode}=expandOpts;if(mode!=='fixed'){return table_renderEmptyElement($xeTable);}const expandVNs=[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'repY',ref:refRowExpandYSpaceElem})];if(expandColumn){const{handleGetRowId}=createHandleGetRowId($xeTable);tableRowExpandedList.forEach(row=>{const expandOpts=computeExpandOpts.value;const{height:expandHeight,padding,indent}=expandOpts;const{fullAllDataRowIdData,fullColumnIdData}=internalData;const treeOpts=computeTreeOpts.value;const{transform,seqMode}=treeOpts;const cellStyle={};const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid];const colid=expandColumn.id;const colRest=fullColumnIdData[colid]||{};let rowLevel=0;let seq=-1;let _rowIndex=-1;let rowIndex=-1;let $rowIndex=-1;if(rowRest){rowIndex=rowRest.index;$rowIndex=rowRest.$index;_rowIndex=rowRest._index;rowLevel=rowRest.level;seq=rowRest.seq;if(isRowGroupStatus||treeConfig&&transform&&seqMode==='increasing'){seq=rowRest._index+1;}else if(treeConfig&&seqMode==='fixed'){seq=rowRest._tIndex+1;}}if(expandHeight){cellStyle.height=`${expandHeight}px`;}if(isRowGroupStatus||treeConfig){cellStyle.paddingLeft=`${rowLevel*(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(indent)?indent:treeOpts.indent)+30}px`;}let columnIndex=-1;let $columnIndex=-1;let _columnIndex=-1;if(colRest){columnIndex=colRest.index;$columnIndex=colRest.$index;_columnIndex=colRest._index;}const expandParams={$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt,seq,column:expandColumn,columnIndex,$columnIndex,_columnIndex,fixed:'',source:'table',type:'body',level:rowLevel,rowid,row,rowIndex,$rowIndex,_rowIndex,isHidden:false,isEdit:false,visibleData:[],data:[],items:[]};expandVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:rowid,class:['vxe-body--row-expanded-cell',{'is--padding':padding,'is--ellipsis':expandHeight}],rowid,style:cellStyle},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-body--row-expanded-content'},expandColumn.renderData(expandParams))]));});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refRowExpandElem,class:'vxe-table--row-expanded-wrapper'},expandVNs);};const renderScrollX=()=>{return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'vsx',ref:refScrollXVirtualElem,class:'vxe-table--scroll-x-virtual'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollXLeftCornerElem,class:'vxe-table--scroll-x-left-corner'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollXWrapperElem,class:'vxe-table--scroll-x-wrapper'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollXHandleElem,class:'vxe-table--scroll-x-handle',onScroll:$xeTable.triggerVirtualScrollXEvent},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollXSpaceElem,class:'vxe-table--scroll-x-space'})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--scroll-x-handle-appearance'})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollXRightCornerElem,class:'vxe-table--scroll-x-right-corner'})]);};const renderScrollY=()=>{return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYVirtualElem,class:'vxe-table--scroll-y-virtual'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYTopCornerElem,class:'vxe-table--scroll-y-top-corner'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYWrapperElem,class:'vxe-table--scroll-y-wrapper'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYHandleElem,class:'vxe-table--scroll-y-handle',onScroll:$xeTable.triggerVirtualScrollYEvent},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYSpaceElem,class:'vxe-table--scroll-y-space'})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--scroll-y-handle-appearance'})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refScrollYBottomCornerElem,class:'vxe-table--scroll-y-bottom-corner'})]);};const renderViewport=()=>{const{showHeader,showFooter}=props;const{overflowX,tableData,tableColumn,tableGroupColumn,footerTableData,columnStore}=reactData;const scrollbarOpts=computeScrollbarOpts.value;const scrollbarXOpts=computeScrollbarXOpts.value;const scrollbarYOpts=computeScrollbarYOpts.value;const{overscrollBehavior:overscrollXBehavior}=scrollbarXOpts;const{overscrollBehavior:overscrollYBehavior}=scrollbarYOpts;const{leftList,rightList}=columnStore;const osXBehavior=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(overscrollXBehavior)?scrollbarOpts.overscrollBehavior:overscrollXBehavior;const osYBehavior=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(overscrollYBehavior)?scrollbarOpts.overscrollBehavior:overscrollYBehavior;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refTableViewportElem,class:['vxe-table--viewport-wrapper',{[`x-ob--${osXBehavior}`]:osXBehavior,[`y-ob--${osYBehavior}`]:osYBehavior}]},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:['vxe-table--main-wrapper',`sx--${scrollbarXOpts.visible}`,`sy--${scrollbarYOpts.visible}`]},[/**
|
|
21618
|
+
* 表头
|
|
21619
|
+
*/showHeader?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(header,{ref:refTableHeader,tableData,tableColumn,tableGroupColumn}):table_renderEmptyElement($xeTable),/**
|
|
21620
|
+
* 表体
|
|
21621
|
+
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(body,{ref:refTableBody,tableData,tableColumn}),/**
|
|
21622
|
+
* 表尾
|
|
21623
|
+
*/showFooter?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(footer,{ref:refTableFooter,footerTableData,tableColumn}):table_renderEmptyElement($xeTable)]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--fixed-wrapper'},[leftList&&leftList.length&&overflowX?renderViewFixed('left'):table_renderEmptyElement($xeTable),rightList&&rightList.length&&overflowX?renderViewFixed('right'):table_renderEmptyElement($xeTable)]),renderRowExpandedVNs()]);};const renderBody=()=>{const scrollbarYToLeft=computeScrollbarYToLeft.value;return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--layout-wrapper'},scrollbarYToLeft?[renderScrollY(),renderViewport()]:[renderViewport(),renderScrollY()]);};const renderVN=()=>{const{loading,stripe,showHeader,height,treeConfig,mouseConfig,showFooter,highlightCell,highlightHoverRow,highlightHoverColumn,editConfig,editRules}=props;const{isGroup,overflowX,overflowY,scrollXLoad,scrollYLoad,tableData,initStore,isRowGroupStatus,columnStore,filterStore,customStore,tooltipStore}=reactData;const{teleportToWrapperElem,popupToWrapperElem,customPopupToElem}=internalData;const{leftList,rightList}=columnStore;const loadingSlot=slots.loading;const tipSlots={header:slots.headerTooltip||slots['header-tooltip'],body:slots.tooltip,footer:slots.footerTooltip||slots['footer-tooltip']};const currTooltipSlot=tooltipStore.visible&&tooltipStore.type?tipSlots[tooltipStore.type]:null;const tableStyle=computeTableStyle.value;const rowDragOpts=computeRowDragOpts.value;const tableTipConfig=computeTableTipConfig.value;const validTipConfig=computeValidTipConfig.value;const validOpts=computeValidOpts.value;const checkboxOpts=computeCheckboxOpts.value;const treeOpts=computeTreeOpts.value;const rowOpts=computeRowOpts.value;const columnOpts=computeColumnOpts.value;const vSize=computeSize.value;const tableBorder=computeTableBorder.value;const mouseOpts=computeMouseOpts.value;const areaOpts=computeAreaOpts.value;const loadingOpts=computeLoadingOpts.value;const isContentMenu=computeIsContentMenu.value;const currLoading=reactData.isColLoading||reactData.isRowLoading||loading;const resizableOpts=computeResizableOpts.value;const isArea=mouseConfig&&mouseOpts.area;const columnDragOpts=computeColumnDragOpts.value;const scrollbarXToTop=computeScrollbarXToTop.value;const scrollbarYToLeft=computeScrollbarYToLeft.value;const{isCrossTableDrag}=rowDragOpts;const tbOns={onKeydown:keydownEvent,onContextmenu:contextMenuEvent};if(isCrossTableDrag&&!tableData.length){tbOns.onDragover=$xeTable.handleCrossTableRowDragoverEmptyEvent;}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refElem,class:['vxe-table','vxe-table--render-default',`tid_${xID}`,`border--${tableBorder}`,`sx-pos--${scrollbarXToTop?'top':'bottom'}`,`sy-pos--${scrollbarYToLeft?'left':'right'}`,{[`size--${vSize}`]:vSize,[`valid-msg--${validOpts.msgMode}`]:!!editRules,'vxe-editable':!!editConfig,'old-cell-valid':editRules&&table_getConfig().cellVaildMode==='obsolete','cell--highlight':highlightCell,'cell--selected':mouseConfig&&mouseOpts.selected,'cell--area':isArea,'header-cell--area':isArea&&areaOpts.selectCellByHeader,'body-cell--area':isArea&&areaOpts.selectCellByBody,'row--highlight':rowOpts.isHover||highlightHoverRow,'column--highlight':columnOpts.isHover||highlightHoverColumn,'checkbox--range':checkboxOpts.range,'col--drag-cell':columnOpts.drag&&columnDragOpts.trigger==='cell','is--header':showHeader,'not--header':!showHeader,'is--footer':showFooter,'not--footer':!showFooter,'is--group':isGroup,'is-row-group':isRowGroupStatus,'is--tree-line':treeConfig&&(treeOpts.showLine||treeOpts.line),'is--fixed-left':leftList.length,'is--fixed-right':rightList.length,'is--animat':!!props.animat,'is--round':props.round,'is--stripe':!treeConfig&&stripe,'is--loading':currLoading,'is--empty':!currLoading&&!tableData.length,'is--scroll-y':overflowY,'not--scroll-y':!overflowY,'is--scroll-x':overflowX,'not--scroll-x':!overflowX,'is--virtual-x':scrollXLoad,'is--virtual-y':scrollYLoad}],style:tableStyle,spellcheck:false,...tbOns},[/**
|
|
21624
|
+
* 隐藏列
|
|
21625
|
+
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-slots'},slots.default?slots.default({}):[]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refVarElem,class:'vxe-table-vars'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-default'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-medium'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-small'}),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table-var-mini'})]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'tw',class:'vxe-table--render-wrapper'},scrollbarXToTop?[renderScrollX(),renderBody()]:[renderBody(),renderScrollX()]),/**
|
|
21626
|
+
* 空数据
|
|
21627
|
+
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'tn',ref:refEmptyPlaceholder,class:'vxe-table--empty-place-wrapper',xid:xID},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--empty-placeholder'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--empty-content'},renderEmptyBody())])]),/**
|
|
21628
|
+
* 边框线
|
|
21629
|
+
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'tl',class:'vxe-table--border-line'}),/**
|
|
21630
|
+
* 列宽线
|
|
21631
|
+
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'tcl',ref:refColResizeBar,class:'vxe-table--resizable-col-bar'},resizableOpts.showDragTip?[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--resizable-number-tip'})]:[]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'ttw'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.Teleport,{to:teleportToWrapperElem,disabled:!($xeGantt&&teleportToWrapperElem)},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refTeleportWrapper},[/**
|
|
21632
|
+
* 行高线
|
|
21633
|
+
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'trl',ref:refRowResizeBar,class:'vxe-table--resizable-row-bar'},resizableOpts.showDragTip?[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:'vxe-table--resizable-number-tip'})]:[]),/**
|
|
21634
|
+
* 加载中
|
|
21635
|
+
*/VxeUILoadingComponent?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUILoadingComponent,{key:'lg',class:'vxe-table--loading',modelValue:currLoading,icon:loadingOpts.icon,text:loadingOpts.text},loadingSlot?{default:()=>callSlot(loadingSlot,{$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt,loading:currLoading})}:{}):loadingSlot?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{class:['vxe-loading--custom-wrapper',{'is--visible':currLoading}]},callSlot(loadingSlot,{$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt,loading:currLoading})):table_renderEmptyElement($xeTable),/**
|
|
21636
|
+
* 拖拽排序提示
|
|
21637
|
+
*/renderDragTip()])])]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'fpw',ref:refCustomContainerElem},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.Teleport,{to:customPopupToElem,disabled:!!reactData.ctPopupFlag&&!customPopupToElem},[/**
|
|
21638
|
+
* 自定义列
|
|
21639
|
+
*/initStore.custom?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(panel,{key:'cs',ref:refTableCustom,customStore}):table_renderEmptyElement($xeTable)])]),(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:'tpw'},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.Teleport,{to:popupToWrapperElem,disabled:!($xeGGWrapper&&popupToWrapperElem)},[(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{ref:refPopupWrapperElem},[/**
|
|
21640
|
+
* 筛选
|
|
21641
|
+
*/initStore.filter?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(filter_panel,{key:'tf',ref:refTableFilter,filterStore}):table_renderEmptyElement($xeTable),/**
|
|
21642
|
+
* 快捷菜单
|
|
21643
|
+
*/isContentMenu?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(menu_panel,{key:'tm',ref:refTableMenu}):table_renderEmptyElement($xeTable)])])]),/**
|
|
21644
|
+
* 导入
|
|
21645
|
+
*/initStore.import&&props.importConfig?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(import_panel,{key:'it',defaultOptions:reactData.importParams,storeData:reactData.importStore}):table_renderEmptyElement($xeTable),/**
|
|
21646
|
+
* 导出
|
|
21647
|
+
*/initStore.export&&(props.exportConfig||props.printConfig)?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(export_panel,{key:'et',defaultOptions:reactData.exportParams,storeData:reactData.exportStore}):table_renderEmptyElement($xeTable),/**
|
|
21648
|
+
* 提示相关
|
|
21649
|
+
*/VxeUITooltipComponent?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{},[/**
|
|
21650
|
+
* 通用提示
|
|
21651
|
+
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent,{key:'ctp',ref:refCommTooltip,isArrow:false,enterable:false}),/**
|
|
21652
|
+
* 工具提示
|
|
21630
21653
|
*/(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent,{key:'btp',ref:refTooltip,theme:tableTipConfig.theme,enterable:tableTipConfig.enterable,enterDelay:tableTipConfig.enterDelay,leaveDelay:tableTipConfig.leaveDelay,useHtml:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(tableTipConfig.useHtml)?tableTipConfig.useHtml:undefined,// 已废弃
|
|
21631
|
-
useHTML:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(tableTipConfig.useHTML)?tableTipConfig.useHTML:undefined,width:tableTipConfig.width,height:tableTipConfig.height,minWidth:tableTipConfig.minWidth,minHeight:tableTipConfig.minHeight,maxWidth:tableTipConfig.maxWidth,maxHeight:tableTipConfig.maxHeight,placement:tableTipConfig.placement,defaultPlacement:tableTipConfig.defaultPlacement,popupClassName:tableTipConfig.popupClassName},currTooltipSlot?{content:()=>{const{type,row,column,content:tooltipContent}=tooltipStore;if(currTooltipSlot){if(column&&type==='header'){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:type},currTooltipSlot({column,tooltipContent,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}));}if(row&&column&&type==='body'){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:type},currTooltipSlot({row,column,tooltipContent,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}));}if(row&&column&&type==='footer'){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:type},currTooltipSlot({row,column,tooltipContent,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}));}}return table_renderEmptyElement($xeTable);}}:{}),/**
|
|
21632
|
-
* 校验提示
|
|
21654
|
+
useHTML:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(tableTipConfig.useHTML)?tableTipConfig.useHTML:undefined,width:tableTipConfig.width,height:tableTipConfig.height,minWidth:tableTipConfig.minWidth,minHeight:tableTipConfig.minHeight,maxWidth:tableTipConfig.maxWidth,maxHeight:tableTipConfig.maxHeight,placement:tableTipConfig.placement,defaultPlacement:tableTipConfig.defaultPlacement,popupClassName:tableTipConfig.popupClassName},currTooltipSlot?{content:()=>{const{type,row,column,content:tooltipContent}=tooltipStore;if(currTooltipSlot){if(column&&type==='header'){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:type},currTooltipSlot({column,tooltipContent,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}));}if(row&&column&&type==='body'){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:type},currTooltipSlot({row,column,tooltipContent,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}));}if(row&&column&&type==='footer'){return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div',{key:type},currTooltipSlot({row,column,tooltipContent,$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt}));}}return table_renderEmptyElement($xeTable);}}:{}),/**
|
|
21655
|
+
* 校验提示
|
|
21633
21656
|
*/props.editRules&&validOpts.showErrorMessage&&(validOpts.message==='default'?!height:validOpts.message==='tooltip')?(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(VxeUITooltipComponent,{key:'vtp',ref:refValidTooltip,class:[{'old-cell-valid':editRules&&table_getConfig().cellVaildMode==='obsolete'},'vxe-table--valid-error'],theme:validTipConfig.theme,enterable:validTipConfig.enterable,enterDelay:validTipConfig.enterDelay,leaveDelay:validTipConfig.leaveDelay}):table_renderEmptyElement($xeTable)]):table_renderEmptyElement($xeTable)]);};const dataFlag=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(()=>props.data?props.data.length:-1,()=>{dataFlag.value++;});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(()=>props.data,()=>{dataFlag.value++;});(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataFlag,()=>{const{initStatus}=internalData;const value=props.data||[];if(value&&value.length>=20000){table_warnLog('vxe.error.errLargeData',['loadData(data), reloadData(data)']);}loadTableData(value,false,true).then(()=>{const{scrollXLoad,scrollYLoad,expandColumn}=reactData;const expandOpts=computeExpandOpts.value;internalData.inited=true;internalData.initStatus=true;if(!initStatus){handleLoadDefaults();}// const checkboxOpts = computeCheckboxOpts.value
|
|
21634
21657
|
// const checkboxColumn = internalData.tableFullColumn.find(column => column.type === 'checkbox')
|
|
21635
21658
|
// if (checkboxColumn && internalData.tableFullData.length > 300 && !checkboxOpts.checkField) {
|
|
@@ -22134,8 +22157,8 @@ function toolbar_createInternalData() {
|
|
|
22134
22157
|
}
|
|
22135
22158
|
return downVNs;
|
|
22136
22159
|
};
|
|
22137
|
-
/**
|
|
22138
|
-
* 渲染按钮
|
|
22160
|
+
/**
|
|
22161
|
+
* 渲染按钮
|
|
22139
22162
|
*/
|
|
22140
22163
|
const renderLeftBtns = () => {
|
|
22141
22164
|
const {
|
|
@@ -22209,8 +22232,8 @@ function toolbar_createInternalData() {
|
|
|
22209
22232
|
$table: $table
|
|
22210
22233
|
})) : [])];
|
|
22211
22234
|
};
|
|
22212
|
-
/**
|
|
22213
|
-
* 渲染右侧工具
|
|
22235
|
+
/**
|
|
22236
|
+
* 渲染右侧工具
|
|
22214
22237
|
*/
|
|
22215
22238
|
const renderRightTools = () => {
|
|
22216
22239
|
const {
|
|
@@ -23053,8 +23076,8 @@ function grid_createInternalData() {
|
|
|
23053
23076
|
});
|
|
23054
23077
|
return slotConf;
|
|
23055
23078
|
};
|
|
23056
|
-
/**
|
|
23057
|
-
* 渲染表单
|
|
23079
|
+
/**
|
|
23080
|
+
* 渲染表单
|
|
23058
23081
|
*/
|
|
23059
23082
|
const renderForm = () => {
|
|
23060
23083
|
const {
|
|
@@ -23121,8 +23144,8 @@ function grid_createInternalData() {
|
|
|
23121
23144
|
}
|
|
23122
23145
|
return grid_renderEmptyElement($xeGrid);
|
|
23123
23146
|
};
|
|
23124
|
-
/**
|
|
23125
|
-
* 渲染工具栏
|
|
23147
|
+
/**
|
|
23148
|
+
* 渲染工具栏
|
|
23126
23149
|
*/
|
|
23127
23150
|
const renderToolbar = () => {
|
|
23128
23151
|
const {
|
|
@@ -23180,8 +23203,8 @@ function grid_createInternalData() {
|
|
|
23180
23203
|
}
|
|
23181
23204
|
return grid_renderEmptyElement($xeGrid);
|
|
23182
23205
|
};
|
|
23183
|
-
/**
|
|
23184
|
-
* 渲染表格顶部区域
|
|
23206
|
+
/**
|
|
23207
|
+
* 渲染表格顶部区域
|
|
23185
23208
|
*/
|
|
23186
23209
|
const renderTop = () => {
|
|
23187
23210
|
const topSlot = slots.top;
|
|
@@ -23221,8 +23244,8 @@ function grid_createInternalData() {
|
|
|
23221
23244
|
}
|
|
23222
23245
|
return grid_renderEmptyElement($xeGrid);
|
|
23223
23246
|
};
|
|
23224
|
-
/**
|
|
23225
|
-
* 渲染表格
|
|
23247
|
+
/**
|
|
23248
|
+
* 渲染表格
|
|
23226
23249
|
*/
|
|
23227
23250
|
const renderTable = () => {
|
|
23228
23251
|
const {
|
|
@@ -23278,8 +23301,8 @@ function grid_createInternalData() {
|
|
|
23278
23301
|
...tableOns
|
|
23279
23302
|
}, slotObj)]);
|
|
23280
23303
|
};
|
|
23281
|
-
/**
|
|
23282
|
-
* 渲染表格底部区域
|
|
23304
|
+
/**
|
|
23305
|
+
* 渲染表格底部区域
|
|
23283
23306
|
*/
|
|
23284
23307
|
const renderBottom = () => {
|
|
23285
23308
|
if (slots.bottom) {
|
|
@@ -23294,8 +23317,8 @@ function grid_createInternalData() {
|
|
|
23294
23317
|
}
|
|
23295
23318
|
return grid_renderEmptyElement($xeGrid);
|
|
23296
23319
|
};
|
|
23297
|
-
/**
|
|
23298
|
-
* 渲染分页
|
|
23320
|
+
/**
|
|
23321
|
+
* 渲染分页
|
|
23299
23322
|
*/
|
|
23300
23323
|
const renderPager = () => {
|
|
23301
23324
|
const {
|
|
@@ -23480,9 +23503,9 @@ function grid_createInternalData() {
|
|
|
23480
23503
|
getEl() {
|
|
23481
23504
|
return refElem.value;
|
|
23482
23505
|
},
|
|
23483
|
-
/**
|
|
23484
|
-
* 提交指令,支持 code 或 button
|
|
23485
|
-
* @param {String/Object} code 字符串或对象
|
|
23506
|
+
/**
|
|
23507
|
+
* 提交指令,支持 code 或 button
|
|
23508
|
+
* @param {String/Object} code 字符串或对象
|
|
23486
23509
|
*/
|
|
23487
23510
|
commitProxy(proxyTarget, ...args) {
|
|
23488
23511
|
const {
|
|
@@ -24196,8 +24219,8 @@ function grid_createInternalData() {
|
|
|
24196
24219
|
}
|
|
24197
24220
|
return [];
|
|
24198
24221
|
},
|
|
24199
|
-
/**
|
|
24200
|
-
* 获取需要排除的高度
|
|
24222
|
+
/**
|
|
24223
|
+
* 获取需要排除的高度
|
|
24201
24224
|
*/
|
|
24202
24225
|
getExcludeHeight() {
|
|
24203
24226
|
const {
|