vxe-table 3.23.4 → 3.23.6

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.
Files changed (76) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/custom/mixin.js +1 -1
  6. package/es/table/module/filter/mixin.js +71 -56
  7. package/es/table/module/keyboard/mixin.js +3 -5
  8. package/es/table/src/body.js +3 -3
  9. package/es/table/src/footer.js +3 -3
  10. package/es/table/src/header.js +6 -6
  11. package/es/table/src/methods.js +128 -68
  12. package/es/table/src/table.js +10 -2
  13. package/es/table/src/util.js +6 -5
  14. package/es/table/style.css +1 -1
  15. package/es/table/style.min.css +1 -1
  16. package/es/ui/index.js +1 -1
  17. package/es/ui/src/dom.js +162 -0
  18. package/es/ui/src/log.js +1 -1
  19. package/es/vxe-table/style.css +1 -1
  20. package/es/vxe-table/style.min.css +1 -1
  21. package/lib/index.css +1 -1
  22. package/lib/index.min.css +1 -1
  23. package/lib/index.umd.js +321 -134
  24. package/lib/index.umd.min.js +1 -1
  25. package/lib/style.css +1 -1
  26. package/lib/style.min.css +1 -1
  27. package/lib/table/module/custom/mixin.js +1 -1
  28. package/lib/table/module/custom/mixin.min.js +1 -1
  29. package/lib/table/module/filter/mixin.js +69 -58
  30. package/lib/table/module/filter/mixin.min.js +1 -1
  31. package/lib/table/module/keyboard/mixin.js +3 -6
  32. package/lib/table/module/keyboard/mixin.min.js +1 -1
  33. package/lib/table/src/body.js +5 -4
  34. package/lib/table/src/body.min.js +1 -1
  35. package/lib/table/src/footer.js +5 -4
  36. package/lib/table/src/footer.min.js +1 -1
  37. package/lib/table/src/header.js +10 -8
  38. package/lib/table/src/header.min.js +1 -1
  39. package/lib/table/src/methods.js +46 -44
  40. package/lib/table/src/methods.min.js +1 -1
  41. package/lib/table/src/table.js +10 -2
  42. package/lib/table/src/table.min.js +1 -1
  43. package/lib/table/src/util.js +6 -5
  44. package/lib/table/src/util.min.js +1 -1
  45. package/lib/table/style/style.css +1 -1
  46. package/lib/table/style/style.min.css +1 -1
  47. package/lib/ui/index.js +1 -1
  48. package/lib/ui/index.min.js +1 -1
  49. package/lib/ui/src/dom.js +167 -0
  50. package/lib/ui/src/dom.min.js +1 -1
  51. package/lib/ui/src/log.js +1 -1
  52. package/lib/ui/src/log.min.js +1 -1
  53. package/lib/vxe-table/style/style.css +1 -1
  54. package/lib/vxe-table/style/style.min.css +1 -1
  55. package/package.json +2 -2
  56. package/packages/table/module/custom/mixin.ts +1 -2
  57. package/packages/table/module/filter/mixin.ts +72 -53
  58. package/packages/table/module/keyboard/mixin.ts +3 -5
  59. package/packages/table/src/body.ts +3 -3
  60. package/packages/table/src/footer.ts +3 -3
  61. package/packages/table/src/header.ts +6 -6
  62. package/packages/table/src/methods.ts +166 -80
  63. package/packages/table/src/table.ts +10 -2
  64. package/packages/table/src/util.ts +9 -6
  65. package/packages/ui/src/dom.ts +176 -0
  66. package/styles/components/table-module/filter.scss +1 -1
  67. package/styles/theme/base.scss +2 -0
  68. package/styles/theme/dark.scss +4 -4
  69. package/styles/theme/light.scss +4 -4
  70. package/styles/variable.scss +4 -4
  71. /package/es/{iconfont.1788399048088.ttf → iconfont.1788695175944.ttf} +0 -0
  72. /package/es/{iconfont.1788399048088.woff → iconfont.1788695175944.woff} +0 -0
  73. /package/es/{iconfont.1788399048088.woff2 → iconfont.1788695175944.woff2} +0 -0
  74. /package/lib/{iconfont.1788399048088.ttf → iconfont.1788695175944.ttf} +0 -0
  75. /package/lib/{iconfont.1788399048088.woff → iconfont.1788695175944.woff} +0 -0
  76. /package/lib/{iconfont.1788399048088.woff2 → iconfont.1788695175944.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -3314,7 +3314,7 @@ function getDefaultConfig(val1, def1) {
3314
3314
  /* unused harmony import specifier */ var VxeUI;
3315
3315
 
3316
3316
 
3317
- const version = "3.23.4";
3317
+ const version = "3.23.6";
3318
3318
  core_.VxeUI.version = version;
3319
3319
  core_.VxeUI.tableVersion = version;
3320
3320
  core_.VxeUI.setConfig({
@@ -4056,6 +4056,18 @@ function hasEventInputTarget(target) {
4056
4056
  const tagName = target ? target.tagName : '';
4057
4057
  return tagName && ['input', 'textarea'].includes(tagName.toLowerCase());
4058
4058
  }
4059
+ /**
4060
+ * 判断是否由内部可复用控件触发,输入框带有 vxe-reusekeep-contro
4061
+ */
4062
+ function hasReusekeepControl(elem) {
4063
+ if (elem) {
4064
+ return hasClass(elem, 'vxe-reusekeep-contro');
4065
+ }
4066
+ return false;
4067
+ }
4068
+ function hasAxternalInputTarget(target) {
4069
+ return hasEventInputTarget(target) ? !hasReusekeepControl(target) : false;
4070
+ }
4059
4071
  const scrollIntoViewIfNeeded = 'scrollIntoViewIfNeeded';
4060
4072
  const scrollIntoView = 'scrollIntoView';
4061
4073
  function scrollToView(elem) {
@@ -4096,6 +4108,158 @@ function wheelScrollTopTo(diffNum, cb) {
4096
4108
  wtaFrame = null;
4097
4109
  });
4098
4110
  }
4111
+ /**
4112
+ * 通用定位计算
4113
+ */
4114
+ function updatePanelPlacement(targetElem, panelElem, options) {
4115
+ const {
4116
+ defaultTop,
4117
+ defaultLeft,
4118
+ placement,
4119
+ defaultPlacement,
4120
+ teleportTo,
4121
+ marginSize,
4122
+ isMinWidth
4123
+ } = Object.assign({
4124
+ teleportTo: false,
4125
+ marginSize: 18,
4126
+ isMinWidth: true
4127
+ }, options);
4128
+ let panelPlacement = 'bottom';
4129
+ let top = '';
4130
+ let bottom = '';
4131
+ let left = 0;
4132
+ let minWidth = '';
4133
+ let arrowLeft = '';
4134
+ const stys = {};
4135
+ if (panelElem && targetElem) {
4136
+ const bodyEl = document.body;
4137
+ const parentWrapperEl = getPopupWrapperElement(panelElem);
4138
+ if (parentWrapperEl) {
4139
+ const targetWidth = targetElem.offsetWidth;
4140
+ const targetHeight = targetElem.offsetHeight;
4141
+ const panelWidth = panelElem.offsetWidth;
4142
+ const panelHeight = panelElem.offsetHeight;
4143
+ const parentWrapperRect = parentWrapperEl.getBoundingClientRect();
4144
+ const panelRect = panelElem.getBoundingClientRect();
4145
+ const targetRect = targetElem.getBoundingClientRect();
4146
+ const visibleHeight = bodyEl.clientHeight;
4147
+ const visibleWidth = bodyEl.clientWidth;
4148
+ const offsetLeft = parentWrapperRect.left;
4149
+ const offsetTop = parentWrapperRect.top;
4150
+ const targetLeft = targetRect.left;
4151
+ const targetTop = targetRect.top;
4152
+ minWidth = targetElem.offsetWidth;
4153
+ if (teleportTo) {
4154
+ left = defaultLeft || targetLeft - (panelWidth - targetWidth) / 2;
4155
+ top = defaultTop || targetTop + targetHeight;
4156
+ if (placement === 'top') {
4157
+ panelPlacement = 'top';
4158
+ top = targetTop - panelHeight;
4159
+ } else if (!placement) {
4160
+ if (defaultPlacement === 'top') {
4161
+ panelPlacement = 'top';
4162
+ if (!defaultTop) {
4163
+ top = targetTop - panelHeight;
4164
+ }
4165
+ // 如果上面不够放,则向下
4166
+ if (top < marginSize) {
4167
+ panelPlacement = 'bottom';
4168
+ top = targetTop + targetHeight;
4169
+ }
4170
+ // 如果下面不够放,则向上(优先)
4171
+ if (top + panelHeight + marginSize > visibleHeight) {
4172
+ panelPlacement = 'top';
4173
+ top = targetTop - panelHeight;
4174
+ }
4175
+ } else {
4176
+ // 如果下面不够放,则向上
4177
+ if (top + panelHeight + marginSize > visibleHeight) {
4178
+ panelPlacement = 'top';
4179
+ top = targetTop - panelHeight;
4180
+ }
4181
+ // 如果上面不够放,则向下(优先)
4182
+ if (top < marginSize) {
4183
+ panelPlacement = 'bottom';
4184
+ top = targetTop + targetHeight;
4185
+ }
4186
+ }
4187
+ }
4188
+ // 如果溢出右边
4189
+ if (left + panelWidth + marginSize > visibleWidth) {
4190
+ left -= left + panelWidth + marginSize - visibleWidth;
4191
+ }
4192
+ // 如果溢出左边
4193
+ if (left < marginSize) {
4194
+ left = marginSize;
4195
+ }
4196
+ // 偏移
4197
+ top -= offsetTop;
4198
+ left -= offsetLeft;
4199
+ } else {
4200
+ if (placement === 'top') {
4201
+ panelPlacement = 'top';
4202
+ bottom = targetHeight;
4203
+ } else if (!placement) {
4204
+ // 如果下面不够放,则向上
4205
+ top = targetHeight;
4206
+ if (targetTop + targetHeight + panelHeight + marginSize > visibleHeight) {
4207
+ // 如果上面不够放,则向下(优先)
4208
+ if (targetTop - targetHeight - panelHeight > marginSize) {
4209
+ panelPlacement = 'top';
4210
+ top = '';
4211
+ bottom = targetHeight;
4212
+ }
4213
+ }
4214
+ }
4215
+ // 是否超出右侧
4216
+ if (panelRect.left + panelRect.width + marginSize > visibleWidth) {
4217
+ left = -(panelRect.left + panelRect.width + marginSize - visibleWidth);
4218
+ }
4219
+ }
4220
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(top)) {
4221
+ stys.top = toCssUnit(top);
4222
+ }
4223
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(bottom)) {
4224
+ stys.bottom = toCssUnit(bottom);
4225
+ }
4226
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(left)) {
4227
+ stys.left = toCssUnit(left);
4228
+ }
4229
+ if (isMinWidth && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(minWidth)) {
4230
+ stys.minWidth = toCssUnit(minWidth);
4231
+ }
4232
+ // 箭头
4233
+ if (left === targetLeft) {
4234
+ if (targetWidth <= panelWidth) {
4235
+ arrowLeft = targetWidth / 2;
4236
+ }
4237
+ } else if (left < targetLeft) {
4238
+ if (left + panelWidth > targetLeft + targetWidth) {
4239
+ arrowLeft = targetLeft - left + targetWidth / 2;
4240
+ } else {
4241
+ arrowLeft = targetLeft - left + (panelWidth - (targetLeft - left)) / 2;
4242
+ }
4243
+ }
4244
+ }
4245
+ }
4246
+ return {
4247
+ top: top || 0,
4248
+ bottom: bottom || 0,
4249
+ left: left || 0,
4250
+ arrowLeft: arrowLeft || 0,
4251
+ style: stys,
4252
+ placement: panelPlacement
4253
+ };
4254
+ }
4255
+ function getPopupWrapperElement(panelElem) {
4256
+ if (!panelElem) {
4257
+ return null;
4258
+ }
4259
+ const bodyEl = document.body;
4260
+ const parentEl = panelElem.parentElement;
4261
+ return (parentEl === bodyEl ? document.documentElement : parentEl) || null;
4262
+ }
4099
4263
  function getPopupContainer(appendTo) {
4100
4264
  const selectElem = appendTo && XEUtils.isFunction(appendTo) ? appendTo({}) : appendTo;
4101
4265
  return selectElem || 'body';
@@ -4112,7 +4276,7 @@ function getPopupAppendElement(appendTo) {
4112
4276
  const {
4113
4277
  log: log_log
4114
4278
  } = core_.VxeUI;
4115
- const tableVersion = `table v${"3.23.4"}`;
4279
+ const tableVersion = `table v${"3.23.6"}`;
4116
4280
  function createComponentLog(name) {
4117
4281
  const uiVersion = core_.VxeUI.uiVersion ? `ui v${core_.VxeUI.uiVersion}` : '';
4118
4282
  const ganttVersion = core_.VxeUI.ganttVersion ? `gantt v${core_.VxeUI.ganttVersion}` : '';
@@ -4434,6 +4598,10 @@ function createInternalData() {
4434
4598
  customMaxHeight: 0,
4435
4599
  // 当前 hover 行
4436
4600
  hoverRow: null,
4601
+ hoverCol: null,
4602
+ // 当前行
4603
+ currentRow: null,
4604
+ currentCol: null,
4437
4605
  // 最后滚动位置
4438
4606
  lastScrollLeft: 0,
4439
4607
  lastScrollTop: 0,
@@ -4481,8 +4649,6 @@ function createInternalData() {
4481
4649
  fullColumnFieldData: {},
4482
4650
  fullCellHeightMaps: {},
4483
4651
  fullCellStoreMaps: {},
4484
- // 当前行
4485
- currentRow: null,
4486
4652
  // 合并表头单元格的数据
4487
4653
  mergeHeaderList: [],
4488
4654
  mergeHeaderMaps: {},
@@ -4581,8 +4747,6 @@ function createReactData() {
4581
4747
  isAllSelected: false,
4582
4748
  // 复选框属性,有选中且非全选状态
4583
4749
  isIndeterminate: false,
4584
- // 单选框属性,选中列
4585
- currentColumn: null,
4586
4750
  // 单选框属性,选中行
4587
4751
  selectRadioRow: null,
4588
4752
  // 表尾合计数据
@@ -4791,7 +4955,8 @@ function createReactData() {
4791
4955
  dragTipText: '',
4792
4956
  isDragResize: false,
4793
4957
  isRowLoading: false,
4794
- isColLoading: false
4958
+ isColLoading: false,
4959
+ currColFlag: 1
4795
4960
  };
4796
4961
  }
4797
4962
  const maxKey = '__max';
@@ -8121,12 +8286,12 @@ if(virtualXOpts.scrollToLeftOnChange){targetScrollLeft=0;}if(virtualYOpts.scroll
8121
8286
  * 加载列配置并恢复到初始状态
8122
8287
  * 对于表格列需要重载、局部递增场景下可能会用到
8123
8288
  * @param {ColumnInfo} columns 列配置
8124
- */reloadColumn(columns){return this.clearAll().then(()=>{return this.loadColumn(columns);});},handleInitColumn(collectColumn){const $xeTable=this;return handleInitColumn($xeTable,collectColumn);},/**
8289
+ */reloadColumn(columns){const $xeTable=this;return $xeTable.clearAll().then(()=>{return $xeTable.loadColumn(columns);});},handleInitColumn(collectColumn){const $xeTable=this;return handleInitColumn($xeTable,collectColumn);},/**
8125
8290
  * 更新数据行的 Map
8126
8291
  */cacheRowMap(isReset){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{currKeyField,fullAllDataRowIdData,tableFullData,tableFullTreeData,tableFullGroupData,treeExpandedMaps,rowExpandedMaps,selectCheckboxMaps}=internalData;const fullAllDataRowIdMaps=isReset?{}:{...fullAllDataRowIdData};// 存在已删除数据
8127
8292
  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]){methods_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};}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;// 更新缓存
8128
8293
  if(selectCheckboxMaps[rowid]){selectCheckboxMaps[rowid]=row;}if(rowExpandedMaps[rowid]){rowExpandedMaps[rowid]=row;}idMaps[rowid]=true;fullDataRowIdMaps[rowid]=rowRest;fullAllDataRowIdMaps[rowid]=rowRest;};if(treeConfig){const treeOpts=$xeTable.computeTreeOpts;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=$xeTable.computeAggregateOpts;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 $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const treeOpts=$xeTable.computeTreeOpts;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;};// 源数据缓存
8129
- 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;},getParams(){const $xeTable=this;const props=$xeTable;return props.params;},loadTreeChildren(row,childRecords){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{keepSource}=props;const{tableSourceData,fullDataRowIdData,fullAllDataRowIdData,sourceDataRowIdData}=internalData;const treeOpts=$xeTable.computeTreeOpts;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const parentRest=fullAllDataRowIdData[getRowid($xeTable,row)];const parentLevel=parentRest?parentRest.level:0;return this.createData(childRecords).then(rows=>{if(keepSource){const rowid=getRowid(this,row);const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableSourceData,item=>rowid===getRowid(this,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(this,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($xeTable);return rows;});},/**
8294
+ 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;},getParams(){const $xeTable=this;const props=$xeTable;return props.params;},loadTreeChildren(row,childRecords){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{keepSource}=props;const{tableSourceData,fullDataRowIdData,fullAllDataRowIdData,sourceDataRowIdData}=internalData;const treeOpts=$xeTable.computeTreeOpts;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($xeTable);return rows;});},/**
8130
8295
  * 根据 tr 元素获取对应的 row 信息
8131
8296
  * @param {Element} tr 元素
8132
8297
  */getRowNode(tr){const $xeTable=this;const internalData=$xeTable;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;},/**
@@ -8145,8 +8310,8 @@ if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;ext
8145
8310
  * 根据 row 获取渲染中的虚拟索引
8146
8311
  * @param {Row} row 行对象
8147
8312
  */getVMRowIndex:createGetRowCacheProp('$index'),// 在 v3 中废弃
8148
- _getRowIndex(row){methods_warnLog('vxe.error.delFunc',['_getRowIndex','getVTRowIndex']);return this.getVTRowIndex(row);},// 在 v3 中废弃
8149
- $getRowIndex(row){methods_warnLog('vxe.error.delFunc',['$getRowIndex','getVMRowIndex']);return this.getVMRowIndex(row);},/**
8313
+ _getRowIndex(row){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['_getRowIndex','getVTRowIndex']);return $xeTable.getVTRowIndex(row);},// 在 v3 中废弃
8314
+ $getRowIndex(row){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['$getRowIndex','getVMRowIndex']);return $xeTable.getVMRowIndex(row);},/**
8150
8315
  * 根据 column 获取相对于 columns 中的索引
8151
8316
  * @param {ColumnInfo} column 列配置
8152
8317
  */getColumnIndex:createGetColumnCacheProp('index'),/**
@@ -8156,8 +8321,8 @@ $getRowIndex(row){methods_warnLog('vxe.error.delFunc',['$getRowIndex','getVMRowI
8156
8321
  * 根据 column 获取渲染中的虚拟索引
8157
8322
  * @param {ColumnInfo} column 列配置
8158
8323
  */getVMColumnIndex:createGetColumnCacheProp('$index'),// 在 v3 中废弃
8159
- _getColumnIndex(column){methods_warnLog('vxe.error.delFunc',['_getColumnIndex','getVTColumnIndex']);return this.getVTColumnIndex(column);},// 在 v3 中废弃
8160
- $getColumnIndex(column){methods_warnLog('vxe.error.delFunc',['$getColumnIndex','getVMColumnIndex']);return this.getVMColumnIndex(column);},/**
8324
+ _getColumnIndex(column){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['_getColumnIndex','getVTColumnIndex']);return $xeTable.getVTColumnIndex(column);},// 在 v3 中废弃
8325
+ $getColumnIndex(column){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['$getColumnIndex','getVMColumnIndex']);return $xeTable.getVMColumnIndex(column);},/**
8161
8326
  * 判断是否为索引列
8162
8327
  * @param {ColumnInfo} column 列配置
8163
8328
  */isSeqColumn(column){return column&&column.type==='seq';},/**
@@ -8207,7 +8372,7 @@ if(!rowRest){return;}const row=rowRest.row;const oRow=sourceDataRowIdData[rowid]
8207
8372
  */getColumnById(colid){const $xeTable=this;const internalData=$xeTable;const{fullColumnIdData}=internalData;return fullColumnIdData[colid]?fullColumnIdData[colid].column:null;},/**
8208
8373
  * 根据列的字段名获取列
8209
8374
  * @param {String} field 字段名
8210
- */getColumnByField(field){const $xeTable=this;const internalData=$xeTable;const{fullColumnFieldData}=internalData;return fullColumnFieldData[field]?fullColumnFieldData[field].column:null;},getParentColumn(fieldOrColumn){const fullColumnIdData=this.fullColumnIdData;const column=handleFieldOrColumn(this,fieldOrColumn);return column&&column.parentId&&fullColumnIdData[column.parentId]?fullColumnIdData[column.parentId].column:null;},/**
8375
+ */getColumnByField(field){const $xeTable=this;const internalData=$xeTable;const{fullColumnFieldData}=internalData;return fullColumnFieldData[field]?fullColumnFieldData[field].column:null;},getParentColumn(fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const{fullColumnIdData}=internalData;const column=handleFieldOrColumn($xeTable,fieldOrColumn);return column&&column.parentId&&fullColumnIdData[column.parentId]?fullColumnIdData[column.parentId].column:null;},/**
8211
8376
  * 获取当前表格的列
8212
8377
  * 收集到的全量列、全量表头列、处理条件之后的全量表头列、当前渲染中的表头列
8213
8378
  */getTableColumn(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;return{collectColumn:internalData.collectColumn.slice(0),fullColumn:internalData.tableFullColumn.slice(0),visibleColumn:internalData.visibleColumn.slice(0),tableColumn:reactData.tableColumn.slice(0)};},/**
@@ -8224,7 +8389,7 @@ if(!rowRest){return;}const row=rowRest.row;const oRow=sourceDataRowIdData[rowid]
8224
8389
  * 获取表格的全量列
8225
8390
  */getFullColumns(){const $xeTable=this;const internalData=$xeTable;const{collectColumn}=internalData;return collectColumn.slice(0);},/**
8226
8391
  * 获取数据,和 data 的行为一致,也可以指定索引获取数据
8227
- */getData(rowIndex){const tableSynchData=this.data||this.tableSynchData;return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isUndefined(rowIndex)?tableSynchData.slice(0):tableSynchData[rowIndex];},/**
8392
+ */getData(rowIndex){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;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];},/**
8228
8393
  * 用于多选行,获取已选中的数据
8229
8394
  */getCheckboxRecords(isFull){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{updateCheckboxFlag}=reactData;const{tableFullData,afterFullData,tableFullTreeData,fullDataRowIdData,afterFullRowMaps,selectCheckboxMaps}=internalData;const treeOpts=$xeTable.computeTreeOpts;const checkboxOpts=$xeTable.computeCheckboxOpts;const{transform,mapChildrenField}=treeOpts;const{checkField}=checkboxOpts;const childrenField=treeOpts.children||treeOpts.childrenField;let rowList=[];if(updateCheckboxFlag){if(checkField){if(treeConfig){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;},/**
8230
8395
  * 预编译
@@ -8266,7 +8431,7 @@ if(!targetColumn.fixed&&isMaxFixedColumn){if(core_.VxeUI.modal){core_.VxeUI.moda
8266
8431
  * 手动重置列的显示隐藏、列宽拖动的状态;
8267
8432
  * 如果为 true 则重置所有状态
8268
8433
  * 如果已关联工具栏,则会同步更新
8269
- */resetColumn(options){methods_warnLog('vxe.error.delFunc',['resetColumn','resetCustom']);return this.resetCustom(options);},/**
8434
+ */resetColumn(options){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['resetColumn','resetCustom']);return $xeTable.resetCustom(options);},/**
8270
8435
  * @private
8271
8436
  */handleCustom(){const $xeTable=this;const props=$xeTable;const{mouseConfig}=props;if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}$xeTable.analyColumnWidth();return $xeTable.refreshColumn(true);},/**
8272
8437
  * 还原自定义列操作状态
@@ -8287,9 +8452,9 @@ if(isCustomFixed&&(column.fixed||'')!==(column.defaultFixed||'')){hasFixed=1;fix
8287
8452
  reactData.isCustomStatus=true;}if(storage&&(customConfig?isEnableConf(customOpts):customOpts.enabled)&&(isCustomAlign||isCustomHeaderAlign||isCustomFooterAlign||isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggGroup||isCustomAggFunc||isCustomPager)){if(!tableId){methods_errLog('vxe.error.reqProp',['id']);return $xeTable.$nextTick();}const storeData=type==='reset'?{pagerData:{},alignData:{},headerAlignData:{},footerAlignData:{},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 $xeTable.$nextTick();},handleUpdateDataQueue(){const $xeTable=this;const reactData=$xeTable;reactData.upDataFlag++;},handleRefreshColumnQueue(){const $xeTable=this;const reactData=$xeTable;reactData.reColumnFlag++;},handleFilterOptions(column){const $xeTable=this;const reactData=$xeTable;if(column){const{filterStore}=reactData;const{filterRender,filters}=column;const filterOptions=filters||[];const compConf=isEnableConf(filterRender)?methods_renderer.get(filterRender.name):null;const frMethod=column.filterRecoverMethod||(compConf?compConf.tableFilterRecoverMethod||compConf.filterRecoverMethod:null);filterStore.column=column;// 复原状态
8288
8453
  filterOptions.forEach(option=>{const{_checked,checked}=option;option._checked=checked;if(!checked&&_checked!==checked){if(frMethod){frMethod({option,column,$table:$xeTable});}}});$xeTable.checkFilterOptions();}},/**
8289
8454
  * 刷新列配置
8290
- */refreshColumn(initSort){const $xeTable=this;if(initSort){handleUpdateColumn($xeTable);}return parseColumns($xeTable,true).then(()=>{return this.refreshScroll();}).then(()=>{return handleLazyRecalculate($xeTable,false,true,true);});},/**
8455
+ */refreshColumn(initSort){const $xeTable=this;if(initSort){handleUpdateColumn($xeTable);}return parseColumns($xeTable,true).then(()=>{return $xeTable.refreshScroll();}).then(()=>{return handleLazyRecalculate($xeTable,false,true,true);});},/**
8291
8456
  * 指定列宽的列进行拆分
8292
- */analyColumnWidth(){const{columnOpts}=this;const{width:defaultWidth,minWidth:defaultMinWidth}=columnOpts;const resizeList=[];const pxList=[];const pxMinList=[];const autoMinList=[];const scaleList=[];const scaleMinList=[];const autoList=[];const remainList=[];this.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(this.columnStore,{resizeList,pxList,pxMinList,autoMinList,scaleList,scaleMinList,autoList,remainList});},handleColResizeMousedownEvent(evnt,fixedType,params){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;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=$xeTable.computeResizableOpts;const osbHeight=overflowX?scrollbarHeight:0;const tableEl=$xeTable.$refs.refElem;const leftContainerElem=$xeTable.$refs.refLeftContainer;const rightContainerElem=$xeTable.$refs.refRightContainer;const resizeBarElem=$xeTable.$refs.refColResizeBar;if(!resizeBarElem){return;}const isLeftFixed=fixedType==='left';const isRightFixed=fixedType==='right';const resizeTipElem=resizeBarElem.firstElementChild;const scrollbarXToTop=$xeTable.computeScrollbarXToTop;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;// 列之间的最小间距
8457
+ */analyColumnWidth(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableFullColumn}=internalData;const columnOpts=$xeTable.computeColumnOpts;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 $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;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=$xeTable.computeResizableOpts;const osbHeight=overflowX?scrollbarHeight:0;const tableEl=$xeTable.$refs.refElem;const leftContainerElem=$xeTable.$refs.refLeftContainer;const rightContainerElem=$xeTable.$refs.refRightContainer;const resizeBarElem=$xeTable.$refs.refColResizeBar;if(!resizeBarElem){return;}const isLeftFixed=fixedType==='left';const isRightFixed=fixedType==='right';const resizeTipElem=resizeBarElem.firstElementChild;const scrollbarXToTop=$xeTable.computeScrollbarXToTop;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;// 列之间的最小间距
8293
8458
  const maxInterval=getColReMaxWidth(cellParams);// 列之间的最大间距
8294
8459
  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;}}}}// 处理拖动事件
8295
8460
  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);// 最大宽
@@ -8339,10 +8504,10 @@ internalData.isActivated=isActivated;}},/**
8339
8504
  * 全局滚动事件
8340
8505
  */handleGlobalMousewheelEvent(){const $xeTable=this;$xeTable.closeTooltip();if($xeTable.closeMenu){$xeTable.closeMenu();}},/**
8341
8506
  * 表格键盘事件
8342
- */keydownEvent(evnt){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const{mouseConfig,keyboardConfig}=props;const{filterStore,ctxMenuStore,editStore}=reactData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;const isEsc=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ESCAPE);if(isEsc){this.preventEvent(evnt,'event.keydown',null,()=>{$xeTable.dispatchEvent('keydown-start',{},evnt);if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKdClAreaEvent){$xeTable.handleKdClAreaEvent(evnt);}else if(actived.row||filterStore.visible||ctxMenuStore.visible){evnt.stopPropagation();// 如果按下了 Esc 键,关闭快捷菜单、筛选
8343
- this.closeFilter();this.closeMenu();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
8344
- if(actived.row){const params=actived.args;this.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
8345
- if(mouseConfig&&mouseOpts.selected){this.$nextTick(()=>this.handleSelected(params,evnt));}}}}$xeTable.dispatchEvent('keydown',{},evnt);$xeTable.dispatchEvent('keydown-end',{},evnt);});}},contextMenuEvent(evnt){const $xeTable=this;$xeTable.dispatchEvent('context-menu',{},evnt);},/**
8507
+ */keydownEvent(evnt){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const{mouseConfig,keyboardConfig}=props;const{filterStore,ctxMenuStore,editStore}=reactData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;const isEsc=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ESCAPE);if(isEsc){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{$xeTable.dispatchEvent('keydown-start',{},evnt);if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKdClAreaEvent){$xeTable.handleKdClAreaEvent(evnt);}else if(actived.row||filterStore.visible||ctxMenuStore.visible){evnt.stopPropagation();// 如果按下了 Esc 键,关闭快捷菜单、筛选
8508
+ $xeTable.closeFilter();$xeTable.closeMenu();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
8509
+ if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
8510
+ if(mouseConfig&&mouseOpts.selected){$xeTable.$nextTick(()=>$xeTable.handleSelected(params,evnt));}}}}$xeTable.dispatchEvent('keydown',{},evnt);$xeTable.dispatchEvent('keydown-end',{},evnt);});}},contextMenuEvent(evnt){const $xeTable=this;$xeTable.dispatchEvent('context-menu',{},evnt);},/**
8346
8511
  * 全局键盘事件
8347
8512
  */handleGlobalKeydownEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;// 该行为只对当前激活的表格有效
8348
8513
  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=$xeTable.computeIsContentMenu;const bodyMenu=$xeTable.computeBodyMenu;const keyboardOpts=$xeTable.computeKeyboardOpts;const mouseOpts=$xeTable.computeMouseOpts;const editOpts=$xeTable.computeEditOpts;const treeOpts=$xeTable.computeTreeOpts;const menuList=$xeTable.computeMenuList;const rowOpts=$xeTable.computeRowOpts;const columnOpts=$xeTable.computeColumnOpts;const{isLastEnterAppendRow,beforeEnterMethod,enterMethod,isLastTabAppendRow,beforeTabMethod,tabMethod}=keyboardOpts;const{selected,actived}=editStore;const{keyCode}=evnt;const isProcess=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.PROCESS);const isEsc=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ESCAPE);const hasBackspaceKey=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.BACKSPACE);const isTab=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.TAB);const isEnter=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ENTER);const isSpacebar=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.SPACEBAR);const isLeftArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_LEFT);const isUpArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_UP);const isRightArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_RIGHT);const isDwArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_DOWN);const hasDeleteKey=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.DELETE);const isY=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.Y);const isZ=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.Z);const isF2=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.F2);const isContextMenu=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.CONTEXT_MENU);const isControlKey=hasControlKey(evnt);const hasShiftKey=evnt.shiftKey;const hasAltKey=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 childrenField=treeOpts.children||treeOpts.childrenField;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const selectRow=selected.row;const selectColumn=selected.column;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
@@ -8370,7 +8535,7 @@ if(!beforeEditMethod||beforeEditMethod(params)){if(delMethod){delMethod(params);
8370
8535
  $xeTable.updateFooter();$xeTable.dispatchEvent('cell-delete-value',params,evnt);}}}else if(hasBackspaceKey&&keyboardConfig&&keyboardOpts.isBack&&isEnableConf(editConfig)&&(selectRow||selectColumn)){if(!isEditStatus){const{backMethod}=keyboardOpts;// 如果是删除键
8371
8536
  if(keyboardOpts.isDel&&isEnableConf(editConfig)&&(selectRow||selectColumn)){const params={row:selectRow,rowIndex:$xeTable.getRowIndex(selectRow),$rowIndex:$xeTable.getVMRowIndex(selectRow),_rowIndex:$xeTable.getVTRowIndex(selectRow),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$columnIndex:$xeTable.getVMColumnIndex(selectColumn),_columnIndex:$xeTable.getVTColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
8372
8537
  if(!beforeEditMethod||beforeEditMethod(params)){if(backMethod){backMethod(params);}else{$xeTable.handleEdit(params,evnt,{isClear:true});}$xeTable.dispatchEvent('cell-backspace-value',params,evnt);}}}}else if(hasBackspaceKey&&keyboardConfig&&treeConfig&&keyboardOpts.isBack&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow){// 如果树形表格回退键关闭当前行返回父节点
8373
- const{parent:parentRow}=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(internalData.afterTreeFullData,item=>item===currentRow,{children:childrenField});if(parentRow){evnt.preventDefault();const params={row:parentRow,rowIndex:$xeTable.getRowIndex(parentRow),$rowIndex:$xeTable.getVMRowIndex(parentRow),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};$xeTable.setTreeExpand(parentRow,false).then(()=>$xeTable.scrollToRow(parentRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}else if(keyboardConfig&&keyboardOpts.isUndoRedo&&isControlKey&&(isZ||isY)&&!hasEventInputTarget(evnt.target)){if(isY||hasShiftKey&&isZ){// 恢复被撤销的操作:Ctrl + Y 或 Ctrl + Shift + Z
8538
+ const{parent:parentRow}=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(internalData.afterTreeFullData,item=>item===currentRow,{children:childrenField});if(parentRow){evnt.preventDefault();const params={row:parentRow,rowIndex:$xeTable.getRowIndex(parentRow),$rowIndex:$xeTable.getVMRowIndex(parentRow),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};$xeTable.setTreeExpand(parentRow,false).then(()=>$xeTable.scrollToRow(parentRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}else if(keyboardConfig&&keyboardOpts.isUndoRedo&&isControlKey&&(isZ||isY)&&!hasAxternalInputTarget(evnt.target)){if(isY||hasShiftKey&&isZ){// 恢复被撤销的操作:Ctrl + Y 或 Ctrl + Shift + Z
8374
8539
  evnt.preventDefault();$xeTable.handleRedoStackEvent(evnt);}else if(isZ){// ‌撤销上一步操作‌:Ctrl + Z
8375
8540
  evnt.preventDefault();$xeTable.handleUndoStackEvent(evnt);}}else if(keyboardConfig&&keyboardOpts.isEdit&&!isControlKey&&(isSpacebar||isProcess||keyCode>=48&&keyCode<=57||keyCode>=65&&keyCode<=90||keyCode>=96&&keyCode<=111||keyCode>=186&&keyCode<=192||keyCode>=219&&keyCode<=222)){const{editMode,editMethod}=keyboardOpts;// 启用编辑后,空格键功能将失效
8376
8541
  // if (isSpacebar) {
@@ -8378,7 +8543,7 @@ evnt.preventDefault();$xeTable.handleUndoStackEvent(evnt);}}else if(keyboardConf
8378
8543
  // }
8379
8544
  // 如果是按下非功能键之外允许直接编辑
8380
8545
  if(selectColumn&&selectRow&&isEnableConf(selectColumn.editRender)){const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const params={row:selectRow,rowIndex:$xeTable.getRowIndex(selectRow),$rowIndex:$xeTable.getVMRowIndex(selectRow),_rowIndex:$xeTable.getVTRowIndex(selectRow),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$columnIndex:$xeTable.getVMColumnIndex(selectColumn),_columnIndex:$xeTable.getVTColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};if(!beforeEditMethod||beforeEditMethod(params)){if(editMethod){editMethod(params);}else{let isClearValue=false;// 追加方式与覆盖式
8381
- if(editMode!=='insert'){isClearValue=true;}$xeTable.handleEdit(params,evnt,{isClear:isClearValue});}}}}$xeTable.dispatchEvent('keydown',{},evnt);});}},handleGlobalPasteEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handlePeClAreaEvent){$xeTable.handlePeClAreaEvent(evnt);}}$xeTable.dispatchEvent('paste',{},evnt);}},handleGlobalCopyEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCyClAreaEvent){$xeTable.handleCyClAreaEvent(evnt);}}$xeTable.dispatchEvent('copy',{},evnt);}},handleGlobalCutEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCutCellAreaEvent){$xeTable.handleCutCellAreaEvent(evnt);}}$xeTable.dispatchEvent('cut',{},evnt);}},handleGlobalResizeEvent(){const $xeTable=this;$xeTable.closeMenu();$xeTable.updateCellAreas();handleResizeEvent($xeTable);$xeTable.updateCellAreas();},handleUpdateHeaderMerge(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{mergeHeaderList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeHeaderList);internalData.mergeHeaderCellMaps=mergeMaps;internalData.mergeHeaderRowMaps=mergeRowMaps;internalData.mergeHeaderColMaps=mergeColMaps;reactData.mergeHeadFlag++;},/**
8546
+ if(editMode!=='insert'){isClearValue=true;}$xeTable.handleEdit(params,evnt,{isClear:isClearValue});}}}}$xeTable.dispatchEvent('keydown',{},evnt);});}},handleGlobalPasteEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handlePeClAreaEvent){$xeTable.handlePeClAreaEvent(evnt);}}$xeTable.dispatchEvent('paste',{},evnt);}},handleGlobalCopyEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCyClAreaEvent){$xeTable.handleCyClAreaEvent(evnt);}}$xeTable.dispatchEvent('copy',{},evnt);}},handleGlobalCutEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const{keyboardConfig,mouseConfig}=props;const{editStore,filterStore}=reactData;const{isActivated}=internalData;const mouseOpts=$xeTable.computeMouseOpts;const keyboardOpts=$xeTable.computeKeyboardOpts;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCutCellAreaEvent){$xeTable.handleCutCellAreaEvent(evnt);}}$xeTable.dispatchEvent('cut',{},evnt);}},handleGlobalResizeEvent(){const $xeTable=this;const reactData=$xeTable;const{filterStore}=reactData;if(filterStore.visible){$xeTable.handleFilterStyle();}$xeTable.closeMenu();$xeTable.updateCellAreas();handleResizeEvent($xeTable);$xeTable.updateCellAreas();},handleUpdateHeaderMerge(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{mergeHeaderList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeHeaderList);internalData.mergeHeaderCellMaps=mergeMaps;internalData.mergeHeaderRowMaps=mergeRowMaps;internalData.mergeHeaderColMaps=mergeColMaps;reactData.mergeHeadFlag++;},/**
8382
8547
  * 处理合并
8383
8548
  */handleUpdateBodyMerge(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{mergeBodyList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeBodyList);internalData.mergeBodyCellMaps=mergeMaps;internalData.mergeBodyRowMaps=mergeRowMaps;internalData.mergeBodyColMaps=mergeColMaps;reactData.mergeBodyFlag++;},handleUpdateFooterMerge(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{mergeFooterList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeFooterList);internalData.mergeFooterCellMaps=mergeMaps;internalData.mergeFooterRowMaps=mergeRowMaps;internalData.mergeFooterColMaps=mergeColMaps;reactData.mergeFootFlag++;},handleAggregateSummaryData(){const $xeTable=this;return $xeTable.refreshAggregateCalcValues();},handleTargetLeaveEvent(){const $xeTable=this;const internalData=$xeTable;const tooltipOpts=$xeTable.computeTooltipOpts;let $tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.setActived){$tooltip.setActived(false);}if(tooltipOpts.enterable){internalData.tooltipTimeout=setTimeout(()=>{$tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.isActived&&!$tooltip.isActived()){$xeTable.closeTooltip();}},tooltipOpts.leaveDelay);}else{$xeTable.closeTooltip();}},triggerHeaderTitleEvent(evnt,iconParams,params){const $xeTable=this;const reactData=$xeTable;const tipContent=iconParams.content||iconParams.message;if(tipContent){const{tooltipStore}=reactData;const{column}=params;const content=getFuncText(tipContent);handleTargetEnterEvent($xeTable,true);tooltipStore.row=null;tooltipStore.column=column;tooltipStore.visible=true;tooltipStore.currOpts=iconParams;$xeTable.$nextTick(()=>{const $tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.open){$tooltip.open(evnt.currentTarget,content);}});}},/**
8384
8549
  * 触发表头 tooltip 事件
@@ -8446,20 +8611,20 @@ if(!isSelected&&!halfSelect&&showReserveStatus){halfSelect=!external_root_XEUtil
8446
8611
  * 获取复选框保留选中的行
8447
8612
  */getCheckboxReserveRecords(isFull){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{afterFullData,fullDataRowIdData,checkboxReserveRowMap}=internalData;const checkboxOpts=$xeTable.computeCheckboxOpts;const treeOpts=$xeTable.computeTreeOpts;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(){const $xeTable=this;const internalData=$xeTable;internalData.checkboxReserveRowMap={};return $xeTable.$nextTick();},handleCheckboxReserveRow(row,checked){const $xeTable=this;const internalData=$xeTable;const{checkboxReserveRowMap}=internalData;const checkboxOpts=$xeTable.computeCheckboxOpts;if(checkboxOpts.reserve){const rowid=getRowid($xeTable,row);if(checked){checkboxReserveRowMap[rowid]=row;}else if(checkboxReserveRowMap[rowid]){delete checkboxReserveRowMap[rowid];}}},handleCheckAllEvent(evnt,value){const $xeTable=this;handleCheckedAllCheckboxRow($xeTable,value);if(evnt){$xeTable.dispatchEvent('checkbox-all',{records:()=>$xeTable.getCheckboxRecords(),reserves:()=>$xeTable.getCheckboxReserveRecords(),indeterminates:()=>$xeTable.getCheckboxIndeterminateRecords(),checked:value},evnt);}},/**
8448
8613
  * 多选,选中所有事件
8449
- */triggerCheckAllEvent(evnt,value){const $xeTable=this;const{checkboxOpts}=this;const{trigger}=checkboxOpts;if(trigger==='manual'){return;}if(evnt){evnt.stopPropagation();}$xeTable.handleCheckAllEvent(evnt,value);},/**
8614
+ */triggerCheckAllEvent(evnt,value){const{checkboxOpts}=this;const{trigger}=checkboxOpts;if(trigger==='manual'){return;}if(evnt){evnt.stopPropagation();}this.handleCheckAllEvent(evnt,value);},/**
8450
8615
  * 多选,切换所有行的选中状态
8451
- */toggleAllCheckboxRow(){this.handleCheckAllEvent(null,!this.isAllSelected);return this.$nextTick();},/**
8616
+ */toggleAllCheckboxRow(){const $xeTable=this;const reactData=$xeTable;this.handleCheckAllEvent(null,!reactData.isAllSelected);return $xeTable.$nextTick();},/**
8452
8617
  * 用于多选行,手动清空用户的选择
8453
8618
  * 清空行为不管是否被禁用还是保留记录,都将彻底清空选中状态
8454
8619
  */clearCheckboxRow(){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{tableFullData}=internalData;const treeOpts=$xeTable.computeTreeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const checkboxOpts=$xeTable.computeCheckboxOpts;const{checkField,reserve}=checkboxOpts;// indeterminateField 仅支持读取
8455
- 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=>this.handleCheckboxReserveRow(row,false));}reactData.isAllSelected=false;reactData.isIndeterminate=false;internalData.selectCheckboxMaps={};internalData.treeIndeterminateRowMaps={};reactData.updateCheckboxFlag++;return this.$nextTick();},/**
8620
+ 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=>this.handleCheckboxReserveRow(row,false));}reactData.isAllSelected=false;reactData.isIndeterminate=false;internalData.selectCheckboxMaps={};internalData.treeIndeterminateRowMaps={};reactData.updateCheckboxFlag++;return $xeTable.$nextTick();},/**
8456
8621
  * 单选,行选中事件
8457
- */triggerRadioRowEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{selectRadioRow:oldValue}=reactData;const{row}=params;const radioOpts=$xeTable.computeRadioOpts;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($xeTable,newValue,false);}else{if(oldValue===newValue){newValue=null;}isChange=oldValue!==newValue;if(isChange&&newValue){handleCheckedRadioRow($xeTable,newValue,false);}else{newValue=null;$xeTable.clearRadioRow();}}if(isChange){$xeTable.dispatchEvent('radio-change',{oldValue,newValue,selected:!!newValue,...params},evnt);}}},triggerCurrentColumnEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{currentColumn:oldValue}=reactData;const columnOpts=$xeTable.computeColumnOpts;const currentColumnOpts=$xeTable.computeCurrentColumnOpts;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){$xeTable.dispatchEvent('current-column-change',{oldValue,newValue,selected:!!newValue,...params},evnt);}}else{$xeTable.dispatchEvent('current-column-disabled',params,evnt);}},triggerCurrentRowEvent(evnt,params){const $xeTable=this;const internalData=$xeTable;const{currentRow:oldValue}=internalData;const rowOpts=$xeTable.computeRowOpts;const currentRowOpts=$xeTable.computeCurrentRowOpts;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){$xeTable.dispatchEvent('current-row-change',{oldValue,newValue,selected:!!newValue,...params},evnt);// 已废弃
8622
+ */triggerRadioRowEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const{selectRadioRow:oldValue}=reactData;const{row}=params;const radioOpts=$xeTable.computeRadioOpts;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($xeTable,newValue,false);}else{if(oldValue===newValue){newValue=null;}isChange=oldValue!==newValue;if(isChange&&newValue){handleCheckedRadioRow($xeTable,newValue,false);}else{newValue=null;$xeTable.clearRadioRow();}}if(isChange){$xeTable.dispatchEvent('radio-change',{oldValue,newValue,selected:!!newValue,...params},evnt);}}},triggerCurrentColumnEvent(evnt,params){const $xeTable=this;const internalData=$xeTable;const{currentCol:oldValue}=internalData;const columnOpts=$xeTable.computeColumnOpts;const currentColumnOpts=$xeTable.computeCurrentColumnOpts;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){$xeTable.dispatchEvent('current-column-change',{oldValue,newValue,selected:!!newValue,...params},evnt);}}else{$xeTable.dispatchEvent('current-column-disabled',params,evnt);}},triggerCurrentRowEvent(evnt,params){const $xeTable=this;const internalData=$xeTable;const{currentRow:oldValue}=internalData;const rowOpts=$xeTable.computeRowOpts;const currentRowOpts=$xeTable.computeCurrentRowOpts;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){$xeTable.dispatchEvent('current-row-change',{oldValue,newValue,selected:!!newValue,...params},evnt);// 已废弃
8458
8623
  $xeTable.dispatchEvent('current-change',{oldValue,newValue,...params},evnt);}}else{$xeTable.dispatchEvent('current-row-disabled',params,evnt);}},/**
8459
8624
  * 用于当前行,设置某一行为高亮状态
8460
8625
  * @param {Row} row 行对象
8461
- */setCurrentRow(row){const $xeTable=this;const internalData=$xeTable;const $xeGanttView=internalData.xeGanttView;const el=$xeTable.$refs.refElem;const rowOpts=$xeTable.computeRowOpts;this.clearCurrentRow();// this.clearCurrentColumn()
8462
- this.currentRow=row;if(rowOpts.isCurrent||this.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 this.$nextTick();},isCheckedByRadioRow(row){const $xeTable=this;const reactData=$xeTable;const{selectRadioRow}=reactData;if(row&&selectRadioRow){return $xeTable.eqRow(selectRadioRow,row);}return false;},isCheckedByRadioRowKey(key){const $xeTable=this;const reactData=$xeTable;const{selectRadioRow}=reactData;if(selectRadioRow){return key===getRowid($xeTable,selectRadioRow);}return false;},/**
8626
+ */setCurrentRow(row){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const $xeGanttView=internalData.xeGanttView;const el=$xeTable.$refs.refElem;const rowOpts=$xeTable.computeRowOpts;$xeTable.clearCurrentRow();// this.clearCurrentColumn()
8627
+ 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 $xeTable.$nextTick();},isCheckedByRadioRow(row){const $xeTable=this;const reactData=$xeTable;const{selectRadioRow}=reactData;if(row&&selectRadioRow){return $xeTable.eqRow(selectRadioRow,row);}return false;},isCheckedByRadioRowKey(key){const $xeTable=this;const reactData=$xeTable;const{selectRadioRow}=reactData;if(selectRadioRow){return key===getRowid($xeTable,selectRadioRow);}return false;},/**
8463
8628
  * 用于单选行,设置某一行为选中状态
8464
8629
  * @param {Row} row 行对象
8465
8630
  */setRadioRow(row){const $xeTable=this;return handleCheckedRadioRow($xeTable,row,true);},/**
@@ -8475,13 +8640,15 @@ this.currentRow=row;if(rowOpts.isCurrent||this.highlightCurrentRow){if(el){exter
8475
8640
  * 用于单选行,获取当已选中的数据
8476
8641
  */getRadioRecord(isFull){const{selectRadioRow,fullDataRowIdData,afterFullRowMaps}=this;if(selectRadioRow){const rowid=getRowid(this,selectRadioRow);if(isFull){if(fullDataRowIdData[rowid]){return selectRadioRow;}}else{if(afterFullRowMaps[rowid]){return selectRadioRow;}}}return null;},/**
8477
8642
  * 行 hover 事件
8478
- */triggerHoverEvent(evnt,{row}){this.setHoverRow(row);},setHoverRow(row){const $xeTable=this;const internalData=$xeTable;const $xeGanttView=internalData.xeGanttView;const el=$xeTable.$refs.refElem;$xeTable.clearHoverRow();if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.vxe-body--row[rowid="${getRowid($xeTable,row)}"]`),elem=>addClass(elem,'row--hover'));}internalData.hoverRow=row;if($xeGanttView&&$xeGanttView.handleUpdateHoverRow){$xeGanttView.handleUpdateHoverRow(row);}},clearHoverRow(){const $xeTable=this;const internalData=$xeTable;const $xeGanttView=internalData.xeGanttView;const el=$xeTable.$refs.refElem;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();}},triggerHeaderCellClickEvent(evnt,params){const $xeTable=this;const $xeGantt=$xeTable.$xeGantt;const props=$xeTable;const internalData=$xeTable;const{_lastResizeTime}=internalData;const sortOpts=$xeTable.computeSortOpts;const columnOpts=$xeTable.computeColumnOpts;const currentColumnOpts=$xeTable.computeCurrentColumnOpts;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($xeTable,column));}if($xeGantt){const ganttReactData=$xeGantt.reactData;ganttReactData.activeBarRowid=null;}$xeTable.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);}return $xeTable.$nextTick();},triggerHeaderCellDblclickEvent(evnt,params){const $xeTable=this;$xeTable.dispatchEvent('header-cell-dblclick',Object.assign({cell:evnt.currentTarget},params),evnt);},getCurrentColumn(){return this.columnOpts.isCurrent||this.highlightCurrentColumn?this.currentColumn:null;},/**
8643
+ */triggerHoverEvent(evnt,{row}){const $xeTable=this;$xeTable.setHoverRow(row);},setHoverRow(row){const $xeTable=this;const internalData=$xeTable;const $xeGanttView=internalData.xeGanttView;const el=$xeTable.$refs.refElem;$xeTable.clearHoverRow();if(el){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.vxe-body--row[rowid="${getRowid($xeTable,row)}"]`),elem=>addClass(elem,'row--hover'));}internalData.hoverRow=row;if($xeGanttView&&$xeGanttView.handleUpdateHoverRow){$xeGanttView.handleUpdateHoverRow(row);}},clearHoverRow(){const $xeTable=this;const internalData=$xeTable;const $xeGanttView=internalData.xeGanttView;const el=$xeTable.$refs.refElem;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();}},triggerHeaderCellClickEvent(evnt,params){const $xeTable=this;const $xeGantt=$xeTable.$xeGantt;const props=$xeTable;const internalData=$xeTable;const{_lastResizeTime}=internalData;const sortOpts=$xeTable.computeSortOpts;const columnOpts=$xeTable.computeColumnOpts;const currentColumnOpts=$xeTable.computeCurrentColumnOpts;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($xeTable,column));}if($xeGantt){const ganttReactData=$xeGantt.reactData;ganttReactData.activeBarRowid=null;}$xeTable.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);}return $xeTable.$nextTick();},triggerHeaderCellDblclickEvent(evnt,params){const $xeTable=this;$xeTable.dispatchEvent('header-cell-dblclick',Object.assign({cell:evnt.currentTarget},params),evnt);},getCurrentColumn(){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const columnOpts=$xeTable.computeColumnOpts;return columnOpts.isCurrent||props.highlightCurrentColumn?internalData.currentCol:null;},/**
8479
8644
  * 用于当前列,设置某列行为高亮状态
8480
8645
  * @param {ColumnInfo} fieldOrColumn 列配置
8481
- */setCurrentColumn(fieldOrColumn){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const{mouseConfig}=props;const mouseOpts=$xeTable.computeMouseOpts;const isMouseSelected=mouseConfig&&mouseOpts.selected;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){$xeTable.clearCurrentColumn();reactData.currentColumn=column;}return $xeTable.$nextTick().then(()=>{// 更新状选中态
8646
+ */setCurrentColumn(fieldOrColumn){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{mouseConfig}=props;const mouseOpts=$xeTable.computeMouseOpts;const isMouseSelected=mouseConfig&&mouseOpts.selected;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){$xeTable.clearCurrentColumn();internalData.currentCol=column;reactData.currColFlag++;// 刷新当前列状态
8647
+ }return $xeTable.$nextTick().then(()=>{// 更新状选中态
8482
8648
  if(isMouseSelected){$xeTable.addCellSelectedClass();}});},/**
8483
8649
  * 用于当前列,手动清空当前高亮的状态
8484
- */clearCurrentColumn(){this.currentColumn=null;return this.$nextTick();},/**
8650
+ */clearCurrentColumn(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;internalData.currentCol=null;reactData.currColFlag++;// 刷新当前列状态
8651
+ return $xeTable.$nextTick();},/**
8485
8652
  * 列点击事件
8486
8653
  * 如果是单击模式,则激活为编辑状态
8487
8654
  * 如果是双击模式,则单击后选中状态
@@ -8556,29 +8723,29 @@ if(!remote||firstSortColumn&&firstSortColumn.remoteSort){$xeTable.handleTableDat
8556
8723
  * 如果为空则清空所有列的排序条件
8557
8724
  * @param {String} column 列或字段名
8558
8725
  */clearSort(fieldOrColumn){const $xeTable=this;const sortOpts=$xeTable.computeSortOpts;if(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){column.order=null;}}else{clearAllSort($xeTable);}if(!sortOpts.remote){$xeTable.handleTableData(true);}return $xeTable.$nextTick().then(()=>{updateRowOffsetTop($xeTable);return updateStyle($xeTable);});},clearSortByEvent(evnt,fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const{tableFullColumn}=internalData;const sortOpts=$xeTable.computeSortOpts;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:[]};$xeTable.dispatchEvent('clear-all-sort',params,evnt);}}return $xeTable.$nextTick().then(()=>{updateRowOffsetTop($xeTable);return updateStyle($xeTable);});},// 在 v3 中废弃
8559
- getSortColumn(){methods_warnLog('vxe.error.delFunc',['getSortColumn','getSortColumns']);return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().find(this.tableFullColumn,column=>(column.sortable||column.remoteSort)&&column.order);},isSort(fieldOrColumn){if(fieldOrColumn){const column=handleFieldOrColumn(this,fieldOrColumn);return column&&column.sortable&&!!column.order;}return this.getSortColumns().length>0;},getSortColumns(){const{multiple,chronological}=this.sortOpts;const sortList=[];this.tableFullColumn.forEach(column=>{const{field,order}=column;if((column.sortable||column.remoteSort)&&order){sortList.push({column,field,property:field,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 $xeTable=this;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column&&column.filters){column.filters=toFilters(options||[],column.id);return $xeTable.handleColumnConfirmFilter(column,evnt);}return $xeTable.$nextTick();},/**
8726
+ getSortColumn(){const $xeTable=this;const internalData=$xeTable;const{tableFullColumn}=internalData;methods_warnLog('vxe.error.delFunc',['getSortColumn','getSortColumns']);return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().find(tableFullColumn,column=>(column.sortable||column.remoteSort)&&column.order);},isSort(fieldOrColumn){const $xeTable=this;if(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);return column&&column.sortable&&!!column.order;}return $xeTable.getSortColumns().length>0;},getSortColumns(){const $xeTable=this;const internalData=$xeTable;const sortOpts=$xeTable.computeSortOpts;const{multiple,chronological}=sortOpts;const sortList=[];const{tableFullColumn}=internalData;tableFullColumn.forEach(column=>{const{field,order}=column;if((column.sortable||column.remoteSort)&&order){sortList.push({column,field,property:field,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 $xeTable=this;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column&&column.filters){column.filters=toFilters(options||[],column.id);return $xeTable.handleColumnConfirmFilter(column,evnt);}return $xeTable.$nextTick();},/**
8560
8727
  * 关闭筛选
8561
8728
  * @param {Event} evnt 事件
8562
8729
  */closeFilter(){const $xeTable=this;const reactData=$xeTable;const{filterStore}=reactData;const{column,visible}=filterStore;filterStore.isAllSelected=false;filterStore.isIndeterminate=false;filterStore.visible=false;if(visible){const field=column?column.field:null;$xeTable.dispatchEvent('filter-visible',{column,property:field,field,filterList:()=>$xeTable.getCheckedFilters(),visible:false},null);}return $xeTable.$nextTick();},/**
8563
8730
  * 判断指定列是否为筛选状态,如果为空则判断所有列
8564
8731
  * @param {String} fieldOrColumn 字段名
8565
- */isActiveFilterByColumn(fieldOrColumn){const column=handleFieldOrColumn(this,fieldOrColumn);if(column){return column.filters&&column.filters.some(option=>option.checked);}return this.getCheckedFilters().length>0;},// 已废弃
8566
- isFilter(fieldOrColumn){return this.isActiveFilterByColumn(fieldOrColumn);},clearFilterByEvent(evnt,fieldOrColumn){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{filterStore}=reactData;const{tableFullColumn}=internalData;const filterOpts=$xeTable.computeFilterOpts;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,// 选项是覅多选
8732
+ */isActiveFilterByColumn(fieldOrColumn){const $xeTable=this;const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){return column.filters&&column.filters.some(option=>option.checked);}return $xeTable.getCheckedFilters().length>0;},// 已废弃
8733
+ isFilter(fieldOrColumn){const $xeTable=this;return $xeTable.isActiveFilterByColumn(fieldOrColumn);},clearFilterByEvent(evnt,fieldOrColumn){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{filterStore}=reactData;const{tableFullColumn}=internalData;const filterOpts=$xeTable.computeFilterOpts;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,// 选项是覅多选
8567
8734
  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:[]};$xeTable.dispatchEvent('clear-all-filter',params,evnt);}return $xeTable.$nextTick();},/**
8568
8735
  * 判断展开行是否懒加载完成
8569
8736
  * @param {Row} row 行对象
8570
8737
  */isRowExpandLoaded(row){const $xeTable=this;const{fullAllDataRowIdData}=this;const rowRest=fullAllDataRowIdData[getRowid($xeTable,row)];return rowRest&&!!rowRest.expandLoaded;},clearRowExpandLoaded(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{fullAllDataRowIdData,rowExpandLazyLoadedMaps}=internalData;const expandOpts=$xeTable.computeExpandOpts;const{lazy}=expandOpts;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(lazy&&rowRest){rowRest.expandLoaded=false;delete rowExpandLazyLoadedMaps[rowid];}reactData.rowExpandedFlag++;return $xeTable.$nextTick();},/**
8571
8738
  * 重新懒加载展开行,并展开内容
8572
8739
  * @param {Row} row 行对象
8573
- */reloadRowExpand(row){const $xeTable=this;const internalData=$xeTable;const{rowExpandLazyLoadedMaps}=internalData;const expandOpts=$xeTable.computeExpandOpts;const{lazy}=expandOpts;const rowid=getRowid(this,row);if(lazy&&!rowExpandLazyLoadedMaps[rowid]){$xeTable.clearRowExpandLoaded(row).then(()=>handleAsyncRowExpand($xeTable,row));}return $xeTable.$nextTick();},reloadExpandContent(row){methods_warnLog('vxe.error.delFunc',['reloadExpandContent','reloadRowExpand']);// 即将废弃
8574
- return this.reloadRowExpand(row);},/**
8740
+ */reloadRowExpand(row){const $xeTable=this;const internalData=$xeTable;const{rowExpandLazyLoadedMaps}=internalData;const expandOpts=$xeTable.computeExpandOpts;const{lazy}=expandOpts;const rowid=getRowid(this,row);if(lazy&&!rowExpandLazyLoadedMaps[rowid]){$xeTable.clearRowExpandLoaded(row).then(()=>handleAsyncRowExpand($xeTable,row));}return $xeTable.$nextTick();},reloadExpandContent(row){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['reloadExpandContent','reloadRowExpand']);// 即将废弃
8741
+ return $xeTable.reloadRowExpand(row);},/**
8575
8742
  * 展开行事件
8576
8743
  */triggerRowExpandEvent(evnt,params){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{expandColumn}=reactData;const{rowExpandLazyLoadedMaps}=internalData;const expandOpts=$xeTable.computeExpandOpts;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);$xeTable.dispatchEvent('toggle-row-expand',{expanded,column:expandColumn,columnIndex,$columnIndex,row,rowIndex:$xeTable.getRowIndex(row),$rowIndex:$xeTable.getVMRowIndex(row)},evnt);}},/**
8577
8744
  * 切换展开行
8578
- */toggleRowExpand(row){return this.setRowExpand(row,!this.isRowExpandByRow(row));},/**
8745
+ */toggleRowExpand(row){const $xeTable=this;return $xeTable.setRowExpand(row,!$xeTable.isRowExpandByRow(row));},/**
8579
8746
  * 设置所有行的展开与否
8580
8747
  * @param {Boolean} expanded 是否展开
8581
- */setAllRowExpand(expanded){const{treeConfig,treeOpts,tableFullData,tableFullTreeData}=this;const childrenField=treeOpts.children||treeOpts.childrenField;let expandedRows=[];if(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 this.setRowExpand(expandedRows,expanded);},/**
8748
+ */setAllRowExpand(expanded){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const treeOpts=$xeTable.computeTreeOpts;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);},/**
8582
8749
  * 设置展开行,二个参数设置这一行展开与否
8583
8750
  * 支持单行
8584
8751
  * 支持多行
@@ -8588,17 +8755,17 @@ return this.reloadRowExpand(row);},/**
8588
8755
  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($xeTable,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($xeTable,row,expanded));}}reactData.rowExpandedFlag++;return Promise.all(lazyRests).then(()=>$xeTable.$nextTick()).then(()=>handleLazyRecalculate($xeTable,true,true,true)).then(()=>{updateRowOffsetTop($xeTable);updateRowExpandStyle($xeTable);handleRowExpandScroll($xeTable);return $xeTable.updateCellAreas();});},/**
8589
8756
  * 判断行是否为展开状态
8590
8757
  * @param {Row} row 行对象
8591
- */isRowExpandByRow(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{rowExpandedFlag}=reactData;const{rowExpandedMaps}=internalData;const rowid=getRowid(this,row);return!!rowExpandedFlag&&!!rowExpandedMaps[rowid];},isExpandByRow(row){methods_warnLog('vxe.error.delFunc',['isExpandByRow','isRowExpandByRow']);// 即将废弃
8592
- return this.isRowExpandByRow(row);},/**
8758
+ */isRowExpandByRow(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{rowExpandedFlag}=reactData;const{rowExpandedMaps}=internalData;const rowid=getRowid(this,row);return!!rowExpandedFlag&&!!rowExpandedMaps[rowid];},isExpandByRow(row){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['isExpandByRow','isRowExpandByRow']);// 即将废弃
8759
+ return $xeTable.isRowExpandByRow(row);},/**
8593
8760
  * 手动清空展开行状态,数据会恢复成未展开的状态
8594
- */clearRowExpand(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableFullData,scrollYStore}=internalData;const expandOpts=$xeTable.computeExpandOpts;const{reserve}=expandOpts;const expList=$xeTable.getRowExpandRecords();internalData.rowExpandedMaps={};if(reserve){tableFullData.forEach(row=>handleRowExpandReserve($xeTable,row,false));}reactData.rowExpandedFlag++;scrollYStore.startIndex=0;scrollYStore.endIndex=1;return $xeTable.$nextTick().then(()=>{if(expList.length){return handleLazyRecalculate($xeTable,true,true,true);}}).then(()=>{updateRowOffsetTop($xeTable);updateRowExpandStyle($xeTable);handleRowExpandScroll($xeTable);return $xeTable.updateCellAreas();});},clearRowExpandReserve(){this.rowExpandedReserveRowMap={};return this.$nextTick();},getRowExpandRecords(){const $xeTable=this;const internalData=$xeTable;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 $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{aggregateConfig,rowGroupConfig}=props;const aggregateOpts=$xeTable.computeAggregateOpts;const{maxGroupSize}=aggregateOpts;if(!(aggregateConfig||rowGroupConfig)){methods_errLog('vxe.error.reqProp',['aggregate-config']);return $xeTable.$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:methods_getI18n('vxe.table.maxGroupCol',[maxGroupSize])});}return $xeTable.$nextTick();}if(confList.length){handleUpdateRowGroup($xeTable,confList.map(fieldOrColumn=>{return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(fieldOrColumn)?fieldOrColumn:fieldOrColumn.field;}));return loadTableData($xeTable,internalData.tableSynchData,false,true);}return $xeTable.$nextTick();},getRowGroups(){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;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(){const $xeTable=this;return $xeTable.getRowGroups().map(item=>item.field);},clearRowGroups(){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{aggregateConfig,rowGroupConfig}=props;if(!(aggregateConfig||rowGroupConfig)){methods_errLog('vxe.error.reqProp',['aggregate-config']);return $xeTable.$nextTick();}handleUpdateRowGroup($xeTable,[]);return loadTableData($xeTable,internalData.tableSynchData,false,true);},isRowGroupRecord(row){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['isRowGroupRecord','isAggregateRecord']);return $xeTable.isAggregateRecord(row);},isRowGroupExpandByRow(row){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['isRowGroupExpandByRow','isAggregateExpandByRow']);return $xeTable.isAggregateExpandByRow(row);},isAggregateRecord(row){const $xeTable=this;const reactData=$xeTable;const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row.isAggregate;},getAggregateContentByRow(row){const $xeTable=this;const reactData=$xeTable;const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row&&row.isAggregate?row.groupContent:'';},getAggregateRowChildren(row){const $xeTable=this;const reactData=$xeTable;const aggregateOpts=$xeTable.computeAggregateOpts;const{childrenField,mapChildrenField}=aggregateOpts;const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row&&row.isAggregate&&childrenField&&mapChildrenField?row[mapChildrenField]||[]:[];},refreshAggregateCalcValues(){const $xeTable=this;updateGroupData($xeTable);return $xeTable.$nextTick();},isAggregateExpandByRow(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{rowGroupExpandedFlag}=reactData;const{rowGroupExpandedMaps}=internalData;return!!rowGroupExpandedFlag&&!!rowGroupExpandedMaps[getRowid($xeTable,row)];},setRowGroupExpand(rows,expanded){const $xeTable=this;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}return handleRowGroupVirtualExpand($xeTable,rows,expanded);}return $xeTable.$nextTick();},setRowGroupExpandByField(groupFields,expanded){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{isRowGroupStatus}=reactData;const aggregateOpts=$xeTable.computeAggregateOpts;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($xeTable,rows,expanded);}}}return $xeTable.$nextTick();},setAllRowGroupExpand(expanded){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableFullGroupData}=internalData;const aggregateOpts=$xeTable.computeAggregateOpts;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);$xeTable.handleTableData();updateAfterDataIndex($xeTable);reactData.rowGroupExpandedFlag++;return handleLazyRecalculate($xeTable,true,true,true);},clearRowGroupExpand(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;internalData.rowGroupExpandedMaps={};handleVirtualTreeToList($xeTable);$xeTable.handleTableData();updateAfterDataIndex($xeTable);reactData.rowGroupExpandedFlag++;return handleLazyRecalculate($xeTable,true,true,true);},getTreeExpandRecords(){const $xeTable=this;const internalData=$xeTable;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;},/**
8761
+ */clearRowExpand(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableFullData,scrollYStore}=internalData;const expandOpts=$xeTable.computeExpandOpts;const{reserve}=expandOpts;const expList=$xeTable.getRowExpandRecords();internalData.rowExpandedMaps={};if(reserve){tableFullData.forEach(row=>handleRowExpandReserve($xeTable,row,false));}reactData.rowExpandedFlag++;scrollYStore.startIndex=0;scrollYStore.endIndex=1;return $xeTable.$nextTick().then(()=>{if(expList.length){return handleLazyRecalculate($xeTable,true,true,true);}}).then(()=>{updateRowOffsetTop($xeTable);updateRowExpandStyle($xeTable);handleRowExpandScroll($xeTable);return $xeTable.updateCellAreas();});},clearRowExpandReserve(){const $xeTable=this;const internalData=$xeTable;internalData.rowExpandedReserveRowMap={};return $xeTable.$nextTick();},getRowExpandRecords(){const $xeTable=this;const internalData=$xeTable;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 $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{aggregateConfig,rowGroupConfig}=props;const aggregateOpts=$xeTable.computeAggregateOpts;const{maxGroupSize}=aggregateOpts;if(!(aggregateConfig||rowGroupConfig)){methods_errLog('vxe.error.reqProp',['aggregate-config']);return $xeTable.$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:methods_getI18n('vxe.table.maxGroupCol',[maxGroupSize])});}return $xeTable.$nextTick();}if(confList.length){handleUpdateRowGroup($xeTable,confList.map(fieldOrColumn=>{return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(fieldOrColumn)?fieldOrColumn:fieldOrColumn.field;}));return loadTableData($xeTable,internalData.tableSynchData,false,true);}return $xeTable.$nextTick();},getRowGroups(){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;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(){const $xeTable=this;return $xeTable.getRowGroups().map(item=>item.field);},clearRowGroups(){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{aggregateConfig,rowGroupConfig}=props;if(!(aggregateConfig||rowGroupConfig)){methods_errLog('vxe.error.reqProp',['aggregate-config']);return $xeTable.$nextTick();}handleUpdateRowGroup($xeTable,[]);return loadTableData($xeTable,internalData.tableSynchData,false,true);},isRowGroupRecord(row){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['isRowGroupRecord','isAggregateRecord']);return $xeTable.isAggregateRecord(row);},isRowGroupExpandByRow(row){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['isRowGroupExpandByRow','isAggregateExpandByRow']);return $xeTable.isAggregateExpandByRow(row);},isAggregateRecord(row){const $xeTable=this;const reactData=$xeTable;const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row.isAggregate;},getAggregateContentByRow(row){const $xeTable=this;const reactData=$xeTable;const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row&&row.isAggregate?row.groupContent:'';},getAggregateRowChildren(row){const $xeTable=this;const reactData=$xeTable;const aggregateOpts=$xeTable.computeAggregateOpts;const{childrenField,mapChildrenField}=aggregateOpts;const{isRowGroupStatus}=reactData;return isRowGroupStatus&&row&&row.isAggregate&&childrenField&&mapChildrenField?row[mapChildrenField]||[]:[];},refreshAggregateCalcValues(){const $xeTable=this;updateGroupData($xeTable);return $xeTable.$nextTick();},isAggregateExpandByRow(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{rowGroupExpandedFlag}=reactData;const{rowGroupExpandedMaps}=internalData;return!!rowGroupExpandedFlag&&!!rowGroupExpandedMaps[getRowid($xeTable,row)];},setRowGroupExpand(rows,expanded){const $xeTable=this;if(rows){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rows)){rows=[rows];}return handleRowGroupVirtualExpand($xeTable,rows,expanded);}return $xeTable.$nextTick();},setRowGroupExpandByField(groupFields,expanded){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{isRowGroupStatus}=reactData;const aggregateOpts=$xeTable.computeAggregateOpts;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($xeTable,rows,expanded);}}}return $xeTable.$nextTick();},setAllRowGroupExpand(expanded){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableFullGroupData}=internalData;const aggregateOpts=$xeTable.computeAggregateOpts;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);$xeTable.handleTableData();updateAfterDataIndex($xeTable);reactData.rowGroupExpandedFlag++;return handleLazyRecalculate($xeTable,true,true,true);},clearRowGroupExpand(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;internalData.rowGroupExpandedMaps={};handleVirtualTreeToList($xeTable);$xeTable.handleTableData();updateAfterDataIndex($xeTable);reactData.rowGroupExpandedFlag++;return handleLazyRecalculate($xeTable,true,true,true);},getTreeExpandRecords(){const $xeTable=this;const internalData=$xeTable;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;},/**
8595
8762
  * 内部方法、获取树表格状态
8596
8763
  * @deprecated
8597
8764
  * @private
8598
- */getTreeStatus(){if(this.treeConfig){return{config:this.treeOpts,rowExpandeds:this.getTreeExpandRecords()};}return null;},/**
8765
+ */getTreeStatus(){const $xeTable=this;const props=$xeTable;const treeOpts=$xeTable.computeTreeOpts;if(props.treeConfig){return{config:treeOpts,rowExpandeds:$xeTable.getTreeExpandRecords()};}return null;},/**
8599
8766
  * 判断树节点是否懒加载完成
8600
8767
  * @param {Row} row 行对象
8601
- */isTreeExpandLoaded(row){const $xeTable=this;const{fullAllDataRowIdData}=this;const rowRest=fullAllDataRowIdData[getRowid($xeTable,row)];return rowRest&&!!rowRest.treeLoaded;},clearTreeExpandLoaded(rows){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const treeOpts=$xeTable.computeTreeOpts;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);$xeTable.handleTableData();}reactData.treeExpandedFlag++;return $xeTable.$nextTick();},/**
8768
+ */isTreeExpandLoaded(row){const $xeTable=this;const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;const rowRest=fullAllDataRowIdData[getRowid($xeTable,row)];return rowRest&&!!rowRest.treeLoaded;},clearTreeExpandLoaded(rows){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const treeOpts=$xeTable.computeTreeOpts;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);$xeTable.handleTableData();}reactData.treeExpandedFlag++;return $xeTable.$nextTick();},/**
8602
8769
  * 重新懒加载树节点,并展开该节点
8603
8770
  * @param {Row} row 行对象
8604
8771
  */reloadTreeExpand(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{treeExpandLazyLoadedMaps}=internalData;const treeOpts=$xeTable.computeTreeOpts;const{transform,lazy}=treeOpts;const hasChildField=treeOpts.hasChild||treeOpts.hasChildField;const rowid=getRowid($xeTable,row);if(lazy&&row[hasChildField]&&!treeExpandLazyLoadedMaps[rowid]){return $xeTable.clearTreeExpandLoaded(row).then(()=>{return handleAsyncTreeExpandChilds($xeTable,row);}).then(()=>{if(transform){handleVirtualTreeToList($xeTable);$xeTable.handleTableData();}reactData.treeExpandedFlag++;}).then(()=>{return $xeTable.recalculate();});}return $xeTable.$nextTick();},reloadTreeChilds(row){const $xeTable=this;methods_warnLog('vxe.error.delFunc',['reloadTreeChilds','reloadTreeExpand']);// 即将废弃
@@ -8608,7 +8775,7 @@ return $xeTable.reloadTreeExpand(row);},/**
8608
8775
  * 展开树节点事件
8609
8776
  */triggerTreeExpandEvent(evnt,params){const $xeTable=this;const internalData=$xeTable;const{treeExpandLazyLoadedMaps,treeEATime}=internalData;const treeOpts=$xeTable.computeTreeOpts;const{row,column}=params;const{lazy,trigger,accordion}=treeOpts;if(trigger==='manual'){return;}evnt.stopPropagation();const rowid=getRowid(this,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);}});$xeTable.dispatchEvent('toggle-tree-expand',{expanded,column,columnIndex,$columnIndex,row},evnt);}},/**
8610
8777
  * 切换/展开树节点
8611
- */toggleTreeExpand(row){return this.setTreeExpand(row,!this.isTreeExpandByRow(row));},/**
8778
+ */toggleTreeExpand(row){const $xeTable=this;return $xeTable.setTreeExpand(row,!$xeTable.isTreeExpandByRow(row));},/**
8612
8779
  * 设置所有树节点的展开与否
8613
8780
  * @param {Boolean} expanded 是否展开
8614
8781
  */setAllTreeExpand(expanded){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableFullTreeData}=internalData;const treeOpts=$xeTable.computeTreeOpts;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($xeTable);reactData.treeExpandedFlag++;return $xeTable.recalculate();}});},/**
@@ -8617,13 +8784,13 @@ return $xeTable.reloadTreeExpand(row);},/**
8617
8784
  * 支持多行
8618
8785
  * @param {Array/Row} rows 行数据
8619
8786
  * @param {Boolean} expanded 是否展开
8620
- */setTreeExpand(rows,expanded){const $xeTable=this;const{treeOpts}=this;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){// 如果为虚拟树
8621
- if(transform){return handleVirtualTreeExpand($xeTable,rows,expanded);}else{return handleBaseTreeExpand($xeTable,rows,expanded);}}}return this.$nextTick();},/**
8787
+ */setTreeExpand(rows,expanded){const $xeTable=this;const treeOpts=$xeTable.computeTreeOpts;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){// 如果为虚拟树
8788
+ if(transform){return handleVirtualTreeExpand($xeTable,rows,expanded);}else{return handleBaseTreeExpand($xeTable,rows,expanded);}}}return $xeTable.$nextTick();},/**
8622
8789
  * 判断行是否为树形节点展开状态
8623
8790
  * @param {Row} row 行对象
8624
8791
  */isTreeExpandByRow(row){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{treeExpandedFlag}=reactData;const{treeExpandedMaps}=internalData;return!!treeExpandedFlag&&!!treeExpandedMaps[getRowid($xeTable,row)];},/**
8625
8792
  * 手动清空树形节点的展开状态,数据会恢复成未展开的状态
8626
- */clearTreeExpand(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableFullTreeData}=internalData;const treeOpts=$xeTable.computeTreeOpts;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($xeTable,row,false),{children:childrenField});}return $xeTable.handleTableData().then(()=>{if(transform){handleVirtualTreeToList($xeTable);$xeTable.handleTableData();}reactData.treeExpandedFlag++;}).then(()=>{updateTreeLineStyle($xeTable);if(expList.length){$xeTable.recalculate();}});},clearTreeExpandReserve(){this.treeExpandedReserveRowMap={};return this.$nextTick();},/**
8793
+ */clearTreeExpand(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{tableFullTreeData}=internalData;const treeOpts=$xeTable.computeTreeOpts;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($xeTable,row,false),{children:childrenField});}return $xeTable.handleTableData().then(()=>{if(transform){handleVirtualTreeToList($xeTable);$xeTable.handleTableData();}reactData.treeExpandedFlag++;}).then(()=>{updateTreeLineStyle($xeTable);if(expList.length){$xeTable.recalculate();}});},clearTreeExpandReserve(){const $xeTable=this;const internalData=$xeTable;internalData.treeExpandedReserveRowMap={};return $xeTable.$nextTick();},/**
8627
8794
  * 获取表格的滚动状态
8628
8795
  */getScroll(){const $xeTable=this;return $xeTable.getScrollData();},/**
8629
8796
  * 获取表格的滚动数据
@@ -8674,7 +8841,7 @@ internalData._sToTime=setTimeout(()=>{internalData._sToTime=undefined;if(scrollY
8674
8841
  * 更新列状态 updateStatus({ row, column }, cellValue)
8675
8842
  * 如果组件值 v-model 发生 change 时,调用改函数用于更新某一列编辑状态
8676
8843
  * 如果单元格配置了校验规则,则会进行校验
8677
- */updateStatus(slotParams,cellValue){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;return this.$nextTick().then(()=>{const{editRules}=props;const{isActivated}=internalData;if(isActivated&&slotParams&&editRules){return $xeTable.handleCellRuleUpdateStatus('change',slotParams,cellValue);}});},/**
8844
+ */updateStatus(slotParams,cellValue){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;return $xeTable.$nextTick().then(()=>{const{editRules}=props;const{isActivated}=internalData;if(isActivated&&slotParams&&editRules){return $xeTable.handleCellRuleUpdateStatus('change',slotParams,cellValue);}});},/**
8678
8845
  * 设置合并单元格 [{ row: Row|number, column: ColumnInfo|number, rowspan: number, colspan: number }]
8679
8846
  */setMergeCells(merges){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;if(props.spanMethod){methods_errLog('vxe.error.errConflicts',['merge-cells','span-method']);}handleBodyMerge($xeTable,merges);$xeTable.handleUpdateBodyMerge();return $xeTable.$nextTick().then(()=>{const{expandColumn}=reactData;const{mergeBodyList}=internalData;if(expandColumn&&mergeBodyList.length){methods_warnLog('vxe.error.errConflicts',['type=expand','merge-cells | span-method']);}$xeTable.updateCellAreas();return updateStyle($xeTable);});},/**
8680
8847
  * 移除单元格合并 [{row:Row|number, col:ColumnInfo|number}]
@@ -8708,7 +8875,7 @@ emitEvent(type,params,evnt){const $xeTable=this;$xeTable.dispatchEvent(type,para
8708
8875
  *************************//**
8709
8876
  * 已废弃,被 getCellElement 替换
8710
8877
  * @deprecated
8711
- */getCell(row,column){const $xeTable=this;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=>this.eqRow(item,row)):-1;},eqRow(row1,row2){const $xeTable=this;if(row1&&row2){if(row1===row2){return true;}return getRowid($xeTable,row1)===getRowid($xeTable,row2);}return false;},/*************************
8878
+ */getCell(row,column){const $xeTable=this;return $xeTable.getCellElement(row,column);},findRowIndexOf(list,row){const $xeTable=this;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){const $xeTable=this;if(row1&&row2){if(row1===row2){return true;}return getRowid($xeTable,row1)===getRowid($xeTable,row2);}return false;},/*************************
8712
8879
  * Publish methods
8713
8880
  *************************/getSetupOptions(){return methods_getConfig();}};const tablePrivateMethods={};const exportMethods=Object.assign({},tableMethods,tablePrivateMethods);// Module methods
8714
8881
  const funcs='setFilter,openFilter,clearFilter,saveFilter,saveFilterByEvent,resetFilter,resetFilterByEvent,saveFilterPanel,saveFilterPanelByEvent,resetFilterPanel,resetFilterPanelByEvent,getCheckedFilters,updateFilterOptionStatus,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,getCopyCellAreas,clearCopyCellArea,setCellAreas,openFNR,openFind,openReplace,closeFNR,getSelectedCell,clearSelected,insert,insertAt,insertNextAt,insertChild,insertChildAt,insertChildNextAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearEdit,clearActived,getEditRecord,getEditCell,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,fullValidateField,validateField,openExport,closeExport,openPrint,closePrint,getPrintHtml,exportData,openImport,closeImport,importData,saveFile,readFile,importByFile,print,getCustomVisible,openCustom,closeCustom,toggleCustom,saveCustom,cancelCustom,resetCustom,toggleCustomAllCheckbox,setCustomAllCheckbox'.split(',');funcs.forEach(name=>{exportMethods[name]=function(...args){// if (!this[`_${name}`]) {
@@ -8850,7 +9017,6 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
8850
9017
  dragRow,
8851
9018
  overflowX,
8852
9019
  overflowY,
8853
- currentColumn,
8854
9020
  scrollXLoad,
8855
9021
  scrollYLoad,
8856
9022
  mergeBodyFlag,
@@ -8859,7 +9025,8 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
8859
9025
  resizeWidthFlag,
8860
9026
  editStore,
8861
9027
  isAllOverflow,
8862
- validErrorMaps
9028
+ validErrorMaps,
9029
+ currColFlag
8863
9030
  } = tableReactData;
8864
9031
  const {
8865
9032
  fullAllDataRowIdData,
@@ -8870,7 +9037,8 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
8870
9037
  mergeBodyList,
8871
9038
  scrollXStore,
8872
9039
  scrollYStore,
8873
- keepUpdateFieldMaps
9040
+ keepUpdateFieldMaps,
9041
+ currentCol
8874
9042
  } = tableInternalData;
8875
9043
  const cellOpts = $xeTable.computeCellOpts;
8876
9044
  const validOpts = $xeTable.computeValidOpts;
@@ -9247,7 +9415,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
9247
9415
  'col--active': editConfig && isEdit && actived.row === row && (actived.column === column || editOpts.mode === 'row'),
9248
9416
  'col--valid-error': !!errorValidItem,
9249
9417
  'show--valid-bg': errorValidItem && validOpts.showErrorBackground,
9250
- 'col--current': currentColumn === column
9418
+ 'col--current': currColFlag && currentCol === column
9251
9419
  }, getClass(compCellClassName, cellParams), getClass(className, cellParams), getClass(allCellClassName, cellParams)],
9252
9420
  key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || rowOpts.useKey || columnOpts.drag ? column.id : $columnIndex,
9253
9421
  attrs: tdAttrs,
@@ -9803,19 +9971,20 @@ function header_renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, _rowIn
9803
9971
  mouseConfig
9804
9972
  } = tableProps;
9805
9973
  const {
9806
- currentColumn,
9807
9974
  dragCol,
9808
9975
  scrollXLoad,
9809
9976
  scrollYLoad,
9810
9977
  overflowX,
9811
9978
  mergeHeadFlag,
9812
- tableColumn
9979
+ tableColumn,
9980
+ currColFlag
9813
9981
  } = tableReactData;
9814
9982
  const {
9815
9983
  fullColumnIdData,
9816
9984
  scrollXStore,
9817
9985
  mergeHeaderList,
9818
- mergeHeaderCellMaps
9986
+ mergeHeaderCellMaps,
9987
+ currentCol
9819
9988
  } = tableInternalData;
9820
9989
  const virtualXOpts = $xeTable.computeVirtualXOpts;
9821
9990
  const columnOpts = $xeTable.computeColumnOpts;
@@ -9984,7 +10153,7 @@ function header_renderRows(h, _vm, isGroup, isOptimizeMode, headerGroups, _rowIn
9984
10153
  'is--filter-active': hasFilter,
9985
10154
  'is--drag-active': columnOpts.drag && !column.fixed && !isDisabledDrag && (isCrossDrag || isPeerDrag || !column.parentId),
9986
10155
  'is--drag-disabled': columnOpts.drag && isDisabledDrag,
9987
- 'col--current': currentColumn === column
10156
+ 'col--current': currColFlag && currentCol === column
9988
10157
  }, getClass(headerClassName, cellParams), getClass(headerCellClassName, cellParams)],
9989
10158
  attrs: thAttrs,
9990
10159
  style: headerCellStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(headerCellStyle) ? headerCellStyle(cellParams) : headerCellStyle : undefined,
@@ -10032,11 +10201,12 @@ function renderFilterRows(h, _vm, isOptimizeMode, cols) {
10032
10201
  align: allAlign
10033
10202
  } = tableProps;
10034
10203
  const {
10035
- currentColumn,
10036
- overflowX
10204
+ overflowX,
10205
+ currColFlag
10037
10206
  } = tableReactData;
10038
10207
  const {
10039
- fullColumnIdData
10208
+ fullColumnIdData,
10209
+ currentCol
10040
10210
  } = tableInternalData;
10041
10211
  const headerTooltipOpts = $xeTable.computeHeaderTooltipOpts;
10042
10212
  const cellOpts = $xeTable.computeCellOpts;
@@ -10119,7 +10289,7 @@ function renderFilterRows(h, _vm, isOptimizeMode, cols) {
10119
10289
  'fixed--width': !isAutoCellWidth,
10120
10290
  'is--padding': isPadding,
10121
10291
  'is--sortable': column.sortable,
10122
- 'col--current': currentColumn === column
10292
+ 'col--current': currColFlag && currentCol === column
10123
10293
  }],
10124
10294
  key: colid,
10125
10295
  attrs: thAttrs
@@ -10465,14 +10635,15 @@ function footer_renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData,
10465
10635
  scrollXLoad,
10466
10636
  scrollYLoad,
10467
10637
  overflowX,
10468
- currentColumn,
10469
- mergeFootFlag
10638
+ mergeFootFlag,
10639
+ currColFlag
10470
10640
  } = tableReactData;
10471
10641
  const {
10472
10642
  fullColumnIdData,
10473
10643
  mergeFooterList,
10474
10644
  mergeFooterCellMaps,
10475
- scrollXStore
10645
+ scrollXStore,
10646
+ currentCol
10476
10647
  } = tableInternalData;
10477
10648
  const virtualXOpts = $xeTable.computeVirtualXOpts;
10478
10649
  const footerTooltipOpts = $xeTable.computeFooterTooltipOpts;
@@ -10625,7 +10796,7 @@ function footer_renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData,
10625
10796
  'is--pg-left': isCellPaddingLeft,
10626
10797
  'is--pg-right': isCellPaddingRight,
10627
10798
  'col--ellipsis': hasEllipsis,
10628
- 'col--current': currentColumn === column
10799
+ 'col--current': currColFlag && currentCol === column
10629
10800
  }, getClass(footerClassName, cellParams), getClass(footerCellClassName, cellParams)],
10630
10801
  attrs,
10631
10802
  style: footerCellStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(footerCellStyle) ? footerCellStyle(cellParams) : footerCellStyle : undefined,
@@ -14154,24 +14325,16 @@ function updatePopupStyle($xeTable) {
14154
14325
  column,
14155
14326
  targetEl
14156
14327
  } = filterStore;
14157
- if (!column || !targetEl) {
14328
+ if (!column) {
14158
14329
  return $xeTable.$nextTick();
14159
14330
  }
14160
14331
  const tableEl = $xeTable.$refs.refElem;
14161
- const {
14162
- scrollTop,
14163
- scrollLeft,
14164
- visibleHeight,
14165
- visibleWidth
14166
- } = getDomNode();
14167
14332
  const filterOpts = $xeTable.computeFilterOpts;
14168
14333
  const {
14169
14334
  maxHeight: customMaxHeight,
14170
14335
  transfer,
14171
14336
  zIndex
14172
14337
  } = filterOpts;
14173
- const currEl = targetEl;
14174
- const tableRect = tableEl.getBoundingClientRect();
14175
14338
  const filterRender = column ? column.filterRender : null;
14176
14339
  const compConf = filterRender && isEnableConf(filterRender) ? mixin_renderer.get(filterRender.name) : null;
14177
14340
  const headerScrollElem = getRefElem(elemStore['main-header-scroll']);
@@ -14183,63 +14346,83 @@ function updatePopupStyle($xeTable) {
14183
14346
  if (!filterWrapperElem) {
14184
14347
  return $xeTable.$nextTick();
14185
14348
  }
14186
- const btnRect = currEl.getBoundingClientRect();
14187
14349
  const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
14188
14350
  const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
14189
- const filterWidth = filterWrapperElem.offsetWidth;
14190
- const centerWidth = currEl ? filterWidth / 2 : (filterWidth - column.renderWidth) / 2;
14191
- let left = 0;
14192
- let top = 0;
14193
- let maxHeight = 0;
14194
14351
  /**
14195
14352
  * 是否显示筛选按钮图标
14196
14353
  * 如果不存在图标,则相对单元格居中显示
14197
14354
  */
14198
- if (transfer) {
14199
- left = btnRect.left - centerWidth + scrollLeft;
14200
- top = btnRect.top + currEl.clientHeight + scrollTop;
14201
- maxHeight = Math.min(Math.max(tableRect.height, Math.floor(visibleHeight / 2)), Math.max(80, visibleHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 28));
14202
- if (left < 16) {
14203
- left = 16;
14204
- } else if (left > visibleWidth - filterWidth - 16) {
14205
- left = visibleWidth - filterWidth - 16;
14355
+ const handleStyle = () => {
14356
+ /**
14357
+ * 是否显示筛选按钮图标
14358
+ * 如果不存在图标,则相对单元格居中显示
14359
+ */
14360
+ let currEl = targetEl;
14361
+ if (!targetEl) {
14362
+ const headerWrapperElem = getRefElem(elemStore[`${column.fixed || 'main'}-header-wrapper`] || elemStore['main-header-wrapper']);
14363
+ const colEl = headerWrapperElem ? headerWrapperElem.querySelector(`.vxe-header--column.${column.id}`) : null;
14364
+ if (colEl) {
14365
+ currEl = colEl;
14366
+ }
14206
14367
  }
14207
- } else {
14208
- left = btnRect.left - tableRect.left - centerWidth;
14209
- top = btnRect.top - tableRect.top + currEl.clientHeight;
14210
- maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
14211
- if (left < 1) {
14212
- left = 1;
14213
- } else if (left > tableEl.clientWidth - filterWidth - 1) {
14214
- left = tableEl.clientWidth - filterWidth - 1;
14368
+ if (!currEl) {
14369
+ return $xeTable.$nextTick();
14215
14370
  }
14216
- if ($xeGGWrapper) {
14217
- const wrapperEl = $xeGGWrapper.$refs.refElem;
14218
- if (wrapperEl) {
14219
- const wrapperRect = wrapperEl.getBoundingClientRect();
14220
- top += tableRect.top - wrapperRect.top;
14371
+ const btnRect = currEl.getBoundingClientRect();
14372
+ const tableRect = tableEl.getBoundingClientRect();
14373
+ let left = 0;
14374
+ let top = 0;
14375
+ let maxHeight = 0;
14376
+ let panelStyle = {};
14377
+ if (transfer) {
14378
+ const ppObj = updatePanelPlacement(currEl, filterWrapperElem, {
14379
+ defaultPlacement: 'bottom',
14380
+ isMinWidth: false,
14381
+ teleportTo: transfer
14382
+ });
14383
+ panelStyle = ppObj.style;
14384
+ } else {
14385
+ const filterWidth = filterWrapperElem.offsetWidth;
14386
+ const centerWidth = targetEl ? filterWidth / 2 : (filterWidth - column.renderWidth) / 2;
14387
+ maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
14388
+ left = btnRect.left - tableRect.left - centerWidth;
14389
+ top = btnRect.top - tableRect.top + currEl.clientHeight;
14390
+ if (left < 1) {
14391
+ left = 1;
14392
+ } else if (left > tableEl.clientWidth - filterWidth - 1) {
14393
+ left = tableEl.clientWidth - filterWidth - 1;
14221
14394
  }
14395
+ if ($xeGGWrapper) {
14396
+ const wrapperEl = $xeGGWrapper.$refs.refElem;
14397
+ if (wrapperEl) {
14398
+ const wrapperRect = wrapperEl.getBoundingClientRect();
14399
+ top += tableRect.top - wrapperRect.top;
14400
+ }
14401
+ }
14402
+ panelStyle = {
14403
+ top: toCssUnit(top),
14404
+ left: toCssUnit(left)
14405
+ };
14222
14406
  }
14223
- }
14224
- const fStys = {
14225
- top: toCssUnit(top),
14226
- left: toCssUnit(left)
14227
- };
14228
- if (zIndex) {
14229
- fStys.zIndex = zIndex;
14230
- }
14231
- filterStore.style = fStys;
14232
- // 筛选面板是自适应表格高度
14233
- if (compConf ? !compConf.tableFilterAutoHeight : false) {
14234
- maxHeight = 0;
14235
- } else {
14236
- if (customMaxHeight) {
14237
- maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
14407
+ if (zIndex) {
14408
+ panelStyle.zIndex = zIndex;
14238
14409
  }
14239
- }
14240
- // 判断面板不能大于表格高度
14241
- filterStore.maxHeight = maxHeight;
14242
- return $xeTable.$nextTick();
14410
+ filterStore.style = panelStyle;
14411
+ // 筛选面板是自适应表格高度
14412
+ if (compConf ? !compConf.tableFilterAutoHeight : false) {
14413
+ maxHeight = 0;
14414
+ } else {
14415
+ if (customMaxHeight) {
14416
+ maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
14417
+ }
14418
+ }
14419
+ // 判断面板不能大于表格高度
14420
+ filterStore.maxHeight = maxHeight;
14421
+ };
14422
+ handleStyle();
14423
+ return $xeTable.$nextTick().then(() => {
14424
+ handleStyle();
14425
+ });
14243
14426
  }
14244
14427
  /* harmony default export */ var mixin = ({
14245
14428
  methods: {
@@ -14347,14 +14530,13 @@ function updatePopupStyle($xeTable) {
14347
14530
  if (filterStore.column === column && filterStore.visible) {
14348
14531
  filterStore.visible = false;
14349
14532
  } else {
14350
- const currEl = btnEl || colEl;
14351
14533
  $xeTable.handleFilterOptions(column);
14352
14534
  internalData._currFilterParams = params;
14353
- filterStore.targetEl = currEl;
14535
+ filterStore.targetEl = btnEl;
14354
14536
  filterStore.style = null;
14355
14537
  filterStore.visible = true;
14356
14538
  initStore.filter = true;
14357
- $xeTable.$nextTick(() => {
14539
+ $xeTable.$nextTick().then(() => {
14358
14540
  updatePopupStyle($xeTable);
14359
14541
  });
14360
14542
  }
@@ -19460,17 +19642,14 @@ function handleCheckboxRangeEvent($xeTable, evnt, params) {
19460
19642
  // 处理当前列方向键移动
19461
19643
  moveCurrentColumn(isLeftArrow, isRightArrow, evnt) {
19462
19644
  const $xeTable = this;
19463
- const reactData = $xeTable;
19464
19645
  const internalData = $xeTable;
19465
19646
  const {
19466
- currentColumn
19467
- } = reactData;
19468
- const {
19647
+ currentCol,
19469
19648
  visibleColumn
19470
19649
  } = internalData;
19471
19650
  let targetCol = null;
19472
- if (currentColumn) {
19473
- const _columnIndex = $xeTable.getVTColumnIndex(currentColumn);
19651
+ if (currentCol) {
19652
+ const _columnIndex = $xeTable.getVTColumnIndex(currentCol);
19474
19653
  if (isLeftArrow && _columnIndex > 0) {
19475
19654
  targetCol = visibleColumn[_columnIndex - 1];
19476
19655
  } else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
@@ -20904,7 +21083,7 @@ function emitCustomEvent($xeTable, type, evnt) {
20904
21083
  },
20905
21084
  handleCustomStyle() {
20906
21085
  const $xeTable = this;
20907
- const reactData = $xeTable.reactData;
21086
+ const reactData = $xeTable;
20908
21087
  const {
20909
21088
  customStore
20910
21089
  } = reactData;
@@ -21808,12 +21987,20 @@ function renderBody(h, $xeTable) {
21808
21987
  computeHeaderTooltipOpts() {
21809
21988
  const $xeTable = this;
21810
21989
  const props = $xeTable;
21811
- return Object.assign({}, table_getConfig().tooltip, table_getConfig().table.headerTooltipConfig, props.headerTooltipConfig);
21990
+ const tooltipOpts = $xeTable.computeTooltipOpts;
21991
+ return Object.assign({}, table_getConfig().tooltip, {
21992
+ enterable: tooltipOpts.enterable,
21993
+ defaultPlacement: tooltipOpts.defaultPlacement
21994
+ }, table_getConfig().table.headerTooltipConfig, props.headerTooltipConfig);
21812
21995
  },
21813
21996
  computeFooterTooltipOpts() {
21814
21997
  const $xeTable = this;
21815
21998
  const props = $xeTable;
21816
- return Object.assign({}, table_getConfig().tooltip, table_getConfig().table.footerTooltipConfig, props.footerTooltipConfig);
21999
+ const tooltipOpts = $xeTable.computeTooltipOpts;
22000
+ return Object.assign({}, table_getConfig().tooltip, {
22001
+ enterable: tooltipOpts.enterable,
22002
+ defaultPlacement: tooltipOpts.defaultPlacement
22003
+ }, table_getConfig().table.footerTooltipConfig, props.footerTooltipConfig);
21817
22004
  },
21818
22005
  computeTableTipConfig() {
21819
22006
  const $xeTable = this;