vxe-table 3.17.0-beta.8 → 3.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/es/grid/src/grid.js +88 -23
  2. package/es/style.css +1 -1
  3. package/es/table/module/custom/mixin.js +22 -14
  4. package/es/table/module/edit/mixin.js +5 -5
  5. package/es/table/src/body.js +7 -6
  6. package/es/table/src/cell.js +5 -5
  7. package/es/table/src/columnInfo.js +5 -0
  8. package/es/table/src/methods.js +201 -76
  9. package/es/table/src/table.js +7 -6
  10. package/es/table/src/util.js +9 -0
  11. package/es/ui/index.js +2 -1
  12. package/es/ui/src/log.js +1 -1
  13. package/lib/grid/src/grid.js +104 -29
  14. package/lib/grid/src/grid.min.js +1 -1
  15. package/lib/index.umd.js +407 -131
  16. package/lib/index.umd.min.js +1 -1
  17. package/lib/style.css +1 -1
  18. package/lib/table/module/custom/mixin.js +25 -13
  19. package/lib/table/module/custom/mixin.min.js +1 -1
  20. package/lib/table/module/edit/mixin.js +5 -0
  21. package/lib/table/module/edit/mixin.min.js +1 -1
  22. package/lib/table/src/body.js +7 -6
  23. package/lib/table/src/body.min.js +1 -1
  24. package/lib/table/src/cell.js +5 -4
  25. package/lib/table/src/cell.min.js +1 -1
  26. package/lib/table/src/columnInfo.js +5 -0
  27. package/lib/table/src/columnInfo.min.js +1 -1
  28. package/lib/table/src/methods.js +238 -73
  29. package/lib/table/src/methods.min.js +1 -1
  30. package/lib/table/src/table.js +7 -6
  31. package/lib/table/src/table.min.js +1 -1
  32. package/lib/table/src/util.js +10 -0
  33. package/lib/table/src/util.min.js +1 -1
  34. package/lib/ui/index.js +2 -1
  35. package/lib/ui/index.min.js +1 -1
  36. package/lib/ui/src/log.js +1 -1
  37. package/lib/ui/src/log.min.js +1 -1
  38. package/package.json +2 -2
  39. package/packages/grid/src/grid.ts +101 -25
  40. package/packages/table/module/custom/mixin.ts +21 -13
  41. package/packages/table/module/edit/mixin.ts +5 -5
  42. package/packages/table/src/body.ts +7 -6
  43. package/packages/table/src/cell.ts +5 -5
  44. package/packages/table/src/columnInfo.ts +7 -0
  45. package/packages/table/src/methods.ts +215 -76
  46. package/packages/table/src/props.ts +1 -1
  47. package/packages/table/src/table.ts +7 -6
  48. package/packages/table/src/util.ts +10 -0
  49. package/packages/ui/index.ts +1 -0
  50. /package/es/{iconfont.1753445505513.ttf → iconfont.1753928711953.ttf} +0 -0
  51. /package/es/{iconfont.1753445505513.woff → iconfont.1753928711953.woff} +0 -0
  52. /package/es/{iconfont.1753445505513.woff2 → iconfont.1753928711953.woff2} +0 -0
  53. /package/lib/{iconfont.1753445505513.ttf → iconfont.1753928711953.ttf} +0 -0
  54. /package/lib/{iconfont.1753445505513.woff → iconfont.1753928711953.woff} +0 -0
  55. /package/lib/{iconfont.1753445505513.woff2 → iconfont.1753928711953.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -2002,7 +2002,7 @@ function getClass(property, params) {
2002
2002
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
2003
2003
 
2004
2004
 
2005
- const version = "3.17.0-beta.8";
2005
+ const version = "3.17.0";
2006
2006
  core_.VxeUI.version = version;
2007
2007
  core_.VxeUI.tableVersion = version;
2008
2008
  core_.VxeUI.setConfig({
@@ -2136,6 +2136,7 @@ core_.VxeUI.setConfig({
2136
2136
  // filterMethod: null,
2137
2137
  // destroyOnClose: false,
2138
2138
  // isEvery: false,
2139
+ multiple: true,
2139
2140
  showIcon: true
2140
2141
  },
2141
2142
  aggregateConfig: {
@@ -2667,7 +2668,7 @@ function isNodeElement(elem) {
2667
2668
  const {
2668
2669
  log: log_log
2669
2670
  } = core_.VxeUI;
2670
- const log_version = `table v${"3.17.0-beta.8"}`;
2671
+ const log_version = `table v${"3.17.0"}`;
2671
2672
  const warnLog = log_log.create('warn', log_version);
2672
2673
  const errLog = log_log.create('error', log_version);
2673
2674
  ;// CONCATENATED MODULE: ./packages/table/src/columnInfo.ts
@@ -2804,15 +2805,20 @@ class ColumnInfo {
2804
2805
  parentId: null,
2805
2806
  visible,
2806
2807
  // 内部属性(一旦被使用,将导致不可升级版本)
2808
+ defaultParentId: null,
2807
2809
  halfVisible: false,
2808
2810
  defaultVisible: visible,
2809
2811
  defaultFixed: _vm.fixed,
2812
+ defaultAggGroup: _vm.aggGroup,
2810
2813
  defaultAggFunc: _vm.aggFunc,
2811
2814
  checked: false,
2812
2815
  halfChecked: false,
2813
2816
  disabled: false,
2817
+ // 分组层级
2814
2818
  level: 1,
2819
+ // 跨行
2815
2820
  rowSpan: 1,
2821
+ // 跨列
2816
2822
  colSpan: 1,
2817
2823
  // 数据排序
2818
2824
  order: null,
@@ -3088,6 +3094,7 @@ function assembleColumn(_vm) {
3088
3094
  if (!groupConfig.children) {
3089
3095
  groupConfig.children = [];
3090
3096
  }
3097
+ columnConfig.defaultParentId = groupConfig.id;
3091
3098
  groupConfig.children.splice(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayIndexOf($xeColumn.$el.children, $el), 0, columnConfig);
3092
3099
  } else {
3093
3100
  staticColumns.splice(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayIndexOf($xeTable.$refs.hideColumn.children, $el), 0, columnConfig);
@@ -3334,6 +3341,14 @@ function clearTableAllStatus(_vm) {
3334
3341
  function isColumnInfo(column) {
3335
3342
  return column instanceof ColumnInfo;
3336
3343
  }
3344
+ // 获取所有的列,排除分组
3345
+ function getColumnList(columns) {
3346
+ const result = [];
3347
+ columns.forEach(column => {
3348
+ result.push(...(column.children && column.children.length ? getColumnList(column.children) : [column]));
3349
+ });
3350
+ return result;
3351
+ }
3337
3352
  function createColumn($xeTable, options, renderOptions) {
3338
3353
  return isColumnInfo(options) ? options : new ColumnInfo($xeTable, options, renderOptions);
3339
3354
  }
@@ -3970,7 +3985,7 @@ const Cell = {
3970
3985
  contentMethod,
3971
3986
  mapChildrenField
3972
3987
  } = aggregateOpts;
3973
- const aggMethod = aggregateOpts.calcValuesMethod || aggregateOpts.countMethod || aggregateOpts.aggregateMethod;
3988
+ const aggCalcMethod = aggregateOpts.calcValuesMethod || aggregateOpts.countMethod || aggregateOpts.aggregateMethod;
3974
3989
  const groupField = aggRow.groupField;
3975
3990
  const groupContent = aggRow.groupContent;
3976
3991
  const childList = mapChildrenField ? aggRow[mapChildrenField] || [] : [];
@@ -4002,9 +4017,9 @@ const Cell = {
4002
4017
  } else if ($table.getPivotTableAggregateCellAggValue) {
4003
4018
  cellValue = $table.getPivotTableAggregateCellAggValue(params);
4004
4019
  } else if (aggFunc === true || countFields && countFields.includes(field)) {
4005
- if (aggMethod) {
4020
+ if (aggCalcMethod) {
4006
4021
  ctParams.aggValue = childCount;
4007
- cellValue = `${aggMethod(ctParams)}`;
4022
+ cellValue = `${aggCalcMethod(ctParams)}`;
4008
4023
  }
4009
4024
  }
4010
4025
  } else {
@@ -4060,6 +4075,7 @@ const Cell = {
4060
4075
  } = tableInternalData;
4061
4076
  const aggregateOpts = $table.computeAggregateOpts;
4062
4077
  const {
4078
+ mode,
4063
4079
  padding,
4064
4080
  indent
4065
4081
  } = aggregateOpts;
@@ -4069,7 +4085,7 @@ const Cell = {
4069
4085
  class: ['vxe-row-group--tree-node', {
4070
4086
  'is--expanded': isExpand
4071
4087
  }],
4072
- style: padding && indent ? {
4088
+ style: mode !== 'column' && padding && indent ? {
4073
4089
  paddingLeft: `${level * indent}px`
4074
4090
  } : undefined
4075
4091
  }, [row.isAggregate ? h('span', {
@@ -5374,44 +5390,122 @@ function handleVirtualXVisible($xeTable) {
5374
5390
  };
5375
5391
  }
5376
5392
  function handleCustomRestore($xeTable, storeData) {
5393
+ const props = $xeTable;
5377
5394
  const reactData = $xeTable;
5378
5395
  const internalData = $xeTable;
5379
- let {
5396
+ const {
5397
+ aggregateConfig,
5398
+ rowGroupConfig
5399
+ } = props;
5400
+ const {
5380
5401
  collectColumn
5381
5402
  } = internalData;
5403
+ const customOpts = $xeTable.computeCustomOpts;
5382
5404
  const {
5405
+ storage,
5406
+ storeOptions
5407
+ } = customOpts;
5408
+ const isAllCustom = storage === true;
5409
+ const storageOpts = isAllCustom ? {} : Object.assign({}, storage || {}, storeOptions);
5410
+ const isCustomResizable = hangleStorageDefaultValue(storageOpts.resizable, isAllCustom);
5411
+ const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom);
5412
+ const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom);
5413
+ const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom);
5414
+ const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom);
5415
+ const isCustomAggFunc = hangleStorageDefaultValue(storageOpts.aggFunc, isAllCustom);
5416
+ let {
5383
5417
  resizableData,
5384
5418
  sortData,
5385
5419
  visibleData,
5386
- fixedData
5420
+ fixedData,
5421
+ aggGroupData,
5422
+ aggFuncData
5387
5423
  } = storeData;
5388
- let hasCustomSort = false;
5389
5424
  // 处理还原
5390
- if (resizableData || sortData || visibleData || fixedData) {
5425
+ if (isCustomResizable && resizableData || isCustomSort && sortData || isCustomVisible && visibleData || isCustomFixed && fixedData || isCustomAggGroup && aggGroupData || isCustomAggFunc && aggFuncData) {
5426
+ const sortColMaps = {};
5427
+ if (isCustomSort && sortData) {
5428
+ // 转换兼容老版本数据,即将废弃兼容
5429
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(sortData)) {
5430
+ const sortRests = [];
5431
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(sortData, (index, colKey) => {
5432
+ sortRests.push({
5433
+ key: colKey,
5434
+ index
5435
+ });
5436
+ });
5437
+ sortData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(sortRests, {
5438
+ field: 'index',
5439
+ order: 'asc'
5440
+ }).map(item => ({
5441
+ k: item.key
5442
+ }));
5443
+ }
5444
+ let colNum = 1;
5445
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sortData, (sObj, index, sOjs, path, pSObj) => {
5446
+ sortColMaps[sObj.k] = {
5447
+ key: sObj.k,
5448
+ sNum: colNum++,
5449
+ pKey: pSObj ? pSObj.k : null
5450
+ };
5451
+ }, {
5452
+ children: 'c'
5453
+ });
5454
+ }
5455
+ const colKeyMaps = {};
5456
+ const allCols = [];
5457
+ const aggGroupConfs = [];
5391
5458
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn, (column, index, items, path, parentColumn) => {
5392
5459
  const colKey = column.getKey();
5393
5460
  // 支持一级
5394
5461
  if (!parentColumn) {
5395
- if (fixedData && fixedData[colKey] !== undefined) {
5462
+ if (isCustomFixed && fixedData && fixedData[colKey] !== undefined) {
5396
5463
  column.fixed = fixedData[colKey];
5397
5464
  }
5398
- if (sortData && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(sortData[colKey])) {
5399
- hasCustomSort = true;
5400
- column.renderSortNumber = sortData[colKey];
5401
- }
5402
5465
  }
5403
- if (resizableData && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(resizableData[colKey])) {
5466
+ if (isCustomResizable && resizableData && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(resizableData[colKey])) {
5404
5467
  column.resizeWidth = resizableData[colKey];
5405
5468
  }
5406
- if (visibleData && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(visibleData[colKey])) {
5469
+ if (isCustomVisible && visibleData && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(visibleData[colKey])) {
5407
5470
  column.visible = visibleData[colKey];
5408
5471
  }
5472
+ if (isCustomAggFunc && aggFuncData && (aggregateConfig || rowGroupConfig) && aggFuncData[colKey]) {
5473
+ column.aggFunc = aggFuncData[colKey];
5474
+ }
5475
+ if (isCustomAggGroup && aggGroupData && aggGroupData[colKey]) {
5476
+ aggGroupConfs.push({
5477
+ field: column.field
5478
+ });
5479
+ }
5480
+ colKeyMaps[colKey] = column;
5481
+ allCols.push(column);
5409
5482
  });
5483
+ if ((aggregateConfig || rowGroupConfig) && aggGroupConfs.length) {
5484
+ const groupRest = handleGroupData($xeTable, internalData.tableFullData, aggGroupConfs);
5485
+ internalData.tableFullTreeData = [];
5486
+ internalData.tableFullGroupData = groupRest.treeData;
5487
+ reactData.isRowGroupStatus = true;
5488
+ reactData.rowGroupList = aggGroupConfs;
5489
+ $xeTable.cacheRowMap(false);
5490
+ }
5410
5491
  // 如果自定义了顺序
5411
- if (hasCustomSort) {
5412
- collectColumn = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(collectColumn, 'renderSortNumber');
5413
- internalData.collectColumn = collectColumn;
5414
- internalData.tableFullColumn = getColumnList(collectColumn);
5492
+ if (isCustomSort && sortData) {
5493
+ allCols.forEach(column => {
5494
+ const colKey = column.getKey();
5495
+ const scItem = sortColMaps[colKey];
5496
+ if (scItem) {
5497
+ const parentColumn = scItem.pKey ? colKeyMaps[scItem.pKey] : null;
5498
+ column.parentId = parentColumn ? parentColumn.id : null;
5499
+ column.renderSortNumber = scItem.sNum;
5500
+ }
5501
+ });
5502
+ const newCollectCols = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(allCols, 'renderSortNumber'), {
5503
+ key: 'id',
5504
+ parentKey: 'parentId',
5505
+ children: 'children'
5506
+ });
5507
+ internalData.collectColumn = newCollectCols;
5508
+ internalData.tableFullColumn = getColumnList(newCollectCols);
5415
5509
  }
5416
5510
  reactData.isCustomStatus = true;
5417
5511
  } else {
@@ -5886,6 +5980,7 @@ function updateAfterListIndex($xeTable) {
5886
5980
  $index: -1,
5887
5981
  _index: index,
5888
5982
  treeIndex: -1,
5983
+ _tIndex: -1,
5889
5984
  items: [],
5890
5985
  parent: null,
5891
5986
  level: 0,
@@ -5924,6 +6019,7 @@ function updateAfterDataIndex($xeTable) {
5924
6019
  const childrenField = treeOpts.children || treeOpts.childrenField;
5925
6020
  const fullMaps = {};
5926
6021
  if (treeConfig) {
6022
+ let _treeIndex = 0;
5927
6023
  const {
5928
6024
  handleGetRowId
5929
6025
  } = createHandleGetRowId($xeTable);
@@ -5934,6 +6030,7 @@ function updateAfterDataIndex($xeTable) {
5934
6030
  if (rowRest) {
5935
6031
  rowRest.seq = seq;
5936
6032
  rowRest.treeIndex = index;
6033
+ rowRest._tIndex = _treeIndex;
5937
6034
  } else {
5938
6035
  const rest = {
5939
6036
  row,
@@ -5943,6 +6040,7 @@ function updateAfterDataIndex($xeTable) {
5943
6040
  $index: -1,
5944
6041
  _index: -1,
5945
6042
  treeIndex: -1,
6043
+ _tIndex: _treeIndex,
5946
6044
  items: [],
5947
6045
  parent: null,
5948
6046
  level: 0,
@@ -5954,6 +6052,7 @@ function updateAfterDataIndex($xeTable) {
5954
6052
  fullAllDataRowIdData[rowid] = rest;
5955
6053
  fullDataRowIdData[rowid] = rest;
5956
6054
  }
6055
+ _treeIndex++;
5957
6056
  fullMaps[rowid] = row;
5958
6057
  }, {
5959
6058
  children: transform ? treeOpts.mapChildrenField : childrenField
@@ -7657,6 +7756,10 @@ function removeFooterMerges($xeTable, merges) {
7657
7756
  return rest;
7658
7757
  }
7659
7758
  function handleSortEvent($xeTable, evnt, sortConfs, isUpdate) {
7759
+ const internalData = $xeTable;
7760
+ const {
7761
+ tableFullColumn
7762
+ } = internalData;
7660
7763
  const sortOpts = $xeTable.computeSortOpts;
7661
7764
  const {
7662
7765
  multiple,
@@ -7667,10 +7770,16 @@ function handleSortEvent($xeTable, evnt, sortConfs, isUpdate) {
7667
7770
  sortConfs = [sortConfs];
7668
7771
  }
7669
7772
  if (sortConfs && sortConfs.length) {
7773
+ const orderActiveMaps = {};
7670
7774
  if (!multiple) {
7671
7775
  sortConfs = [sortConfs[0]];
7672
- clearAllSort($xeTable);
7776
+ tableFullColumn.forEach(column => {
7777
+ if (column.order) {
7778
+ orderActiveMaps[column.id] = column;
7779
+ }
7780
+ });
7673
7781
  }
7782
+ const sortColMpps = {};
7674
7783
  let firstColumn = null;
7675
7784
  sortConfs.forEach((confs, index) => {
7676
7785
  let {
@@ -7692,8 +7801,16 @@ function handleSortEvent($xeTable, evnt, sortConfs, isUpdate) {
7692
7801
  column.order = order;
7693
7802
  }
7694
7803
  column.sortTime = Date.now() + index;
7804
+ sortColMpps[column.id] = column;
7695
7805
  }
7696
7806
  });
7807
+ if (!multiple) {
7808
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(orderActiveMaps, (oaCol, oaId) => {
7809
+ if (!sortColMpps[oaId]) {
7810
+ oaCol.order = null;
7811
+ }
7812
+ });
7813
+ }
7697
7814
  if (isUpdate) {
7698
7815
  if (!remote) {
7699
7816
  $xeTable.handleTableData(true);
@@ -7898,7 +8015,7 @@ const calcCellHeight = $xeTable => {
7898
8015
  } = internalData;
7899
8016
  const defaultRowHeight = $xeTable.computeDefaultRowHeight;
7900
8017
  const el = $xeTable.$refs.refElem;
7901
- if (!isAllOverflow && scrollYLoad && el) {
8018
+ if (!isAllOverflow && (scrollYLoad || scrollXLoad) && el) {
7902
8019
  const {
7903
8020
  handleGetRowId
7904
8021
  } = createHandleGetRowId($xeTable);
@@ -8437,18 +8554,18 @@ function handleUpdateAggValues($xeTable) {
8437
8554
  }
8438
8555
  function handleUpdateRowGroup($xeTable, groupFields) {
8439
8556
  const reactData = $xeTable;
8440
- const aggFields = [];
8441
- const aggConfs = [];
8557
+ const aggGroupFields = [];
8558
+ const aggGroupConfs = [];
8442
8559
  if (groupFields) {
8443
8560
  (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(groupFields) ? groupFields : [groupFields]).forEach(field => {
8444
- aggFields.push(field);
8445
- aggConfs.push({
8561
+ aggGroupFields.push(field);
8562
+ aggGroupConfs.push({
8446
8563
  field
8447
8564
  });
8448
8565
  });
8449
8566
  }
8450
- reactData.rowGroupList = aggConfs;
8451
- reactData.aggHandleFields = aggFields;
8567
+ reactData.rowGroupList = aggGroupConfs;
8568
+ reactData.aggHandleFields = aggGroupFields;
8452
8569
  handleUpdateAggValues($xeTable);
8453
8570
  }
8454
8571
  function handleeGroupSummary($xeTable, aggList) {
@@ -8874,14 +8991,6 @@ function loadScrollXData($xeTable) {
8874
8991
  }
8875
8992
  $xeTable.closeTooltip();
8876
8993
  }
8877
- // 获取所有的列,排除分组
8878
- function getColumnList(columns) {
8879
- const result = [];
8880
- columns.forEach(column => {
8881
- result.push(...(column.children && column.children.length ? getColumnList(column.children) : [column]));
8882
- });
8883
- return result;
8884
- }
8885
8994
  function parseColumns($xeTable, isReset) {
8886
8995
  const props = $xeTable;
8887
8996
  const reactData = $xeTable;
@@ -8912,7 +9021,7 @@ function parseColumns($xeTable, isReset) {
8912
9021
  if (parentColumn && parentColumn.fixed) {
8913
9022
  column.fixed = parentColumn.fixed;
8914
9023
  }
8915
- if (parentColumn && column.fixed !== parentColumn.fixed) {
9024
+ if (parentColumn && (column.fixed || '') !== (parentColumn.fixed || '')) {
8916
9025
  errLog('vxe.error.groupFixed');
8917
9026
  }
8918
9027
  if (isColGroup) {
@@ -9020,18 +9129,22 @@ function parseColumns($xeTable, isReset) {
9020
9129
  }
9021
9130
  return $xeTable.updateFooter();
9022
9131
  }
9023
- function initColumnSort($xeTable) {
9132
+ function initColumnHierarchy($xeTable) {
9024
9133
  const internalData = $xeTable;
9025
9134
  const {
9026
9135
  collectColumn
9027
9136
  } = internalData;
9028
- collectColumn.forEach((column, index) => {
9029
- const sortIndex = index + 1;
9137
+ let sortIndex = 1;
9138
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn, (column, index, items, path, parentColumn) => {
9139
+ const parentId = parentColumn ? parentColumn.id : null;
9140
+ column.parentId = parentId;
9141
+ column.defaultParentId = parentId;
9030
9142
  column.sortNumber = sortIndex;
9031
9143
  column.renderSortNumber = sortIndex;
9144
+ sortIndex++;
9032
9145
  });
9033
9146
  }
9034
- function handleColumn($xeTable, collectColumn) {
9147
+ function handleInitColumn($xeTable, collectColumn) {
9035
9148
  const $xeToolbar = $xeTable.$refs.$xeToolbar;
9036
9149
  const reactData = $xeTable;
9037
9150
  const internalData = $xeTable;
@@ -9040,7 +9153,7 @@ function handleColumn($xeTable, collectColumn) {
9040
9153
  const tableFullColumn = getColumnList(collectColumn);
9041
9154
  internalData.tableFullColumn = tableFullColumn;
9042
9155
  reactData.isColLoading = true;
9043
- initColumnSort($xeTable);
9156
+ initColumnHierarchy($xeTable);
9044
9157
  return Promise.resolve(restoreCustomStorage($xeTable)).then(() => {
9045
9158
  const {
9046
9159
  scrollXLoad,
@@ -9767,7 +9880,7 @@ const Methods = {
9767
9880
  const collectColumn = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().mapTree(columns, column => cell.createColumn($xeTable, column), {
9768
9881
  children: 'children'
9769
9882
  });
9770
- return handleColumn($xeTable, collectColumn).then(() => {
9883
+ return handleInitColumn($xeTable, collectColumn).then(() => {
9771
9884
  let targetScrollLeft = lastScrollLeft;
9772
9885
  let targetScrollTop = lastScrollTop;
9773
9886
  const virtualXOpts = $xeTable.computeVirtualXOpts;
@@ -9792,9 +9905,9 @@ const Methods = {
9792
9905
  return this.loadColumn(columns);
9793
9906
  });
9794
9907
  },
9795
- handleColumn(collectColumn) {
9908
+ handleInitColumn(collectColumn) {
9796
9909
  const $xeTable = this;
9797
- return handleColumn($xeTable, collectColumn);
9910
+ return handleInitColumn($xeTable, collectColumn);
9798
9911
  },
9799
9912
  /**
9800
9913
  * 更新数据行的 Map
@@ -9835,6 +9948,7 @@ const Methods = {
9835
9948
  _index: -1,
9836
9949
  $index: -1,
9837
9950
  treeIndex: index,
9951
+ _tIndex: -1,
9838
9952
  items,
9839
9953
  parent: parentRow,
9840
9954
  level,
@@ -9978,6 +10092,7 @@ const Methods = {
9978
10092
  _index: -1,
9979
10093
  $index: -1,
9980
10094
  treeIndex: -1,
10095
+ _tIndex: -1,
9981
10096
  items,
9982
10097
  parent: parentRow,
9983
10098
  level: parentLevel + nodes.length,
@@ -11103,8 +11218,9 @@ const Methods = {
11103
11218
  const isCustomResizable = hangleStorageDefaultValue(storageOpts.resizable, isAllCustom);
11104
11219
  const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom);
11105
11220
  const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom);
11221
+ const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom);
11106
11222
  const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom);
11107
- if (storage && (customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort)) {
11223
+ if (storage && (customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomAggGroup || isCustomSort)) {
11108
11224
  if (!tableId) {
11109
11225
  errLog('vxe.error.reqProp', ['id']);
11110
11226
  return;
@@ -11130,12 +11246,18 @@ const Methods = {
11130
11246
  getCustomStoreData() {
11131
11247
  const $xeTable = this;
11132
11248
  const props = $xeTable;
11249
+ const reactData = $xeTable;
11133
11250
  const internalData = $xeTable;
11134
11251
  const {
11135
11252
  id
11136
11253
  } = props;
11137
11254
  const customOpts = $xeTable.computeCustomOpts;
11138
11255
  const {
11256
+ isRowGroupStatus,
11257
+ rowGroupList
11258
+ } = reactData;
11259
+ const {
11260
+ fullColumnFieldData,
11139
11261
  collectColumn
11140
11262
  } = internalData;
11141
11263
  const {
@@ -11149,17 +11271,20 @@ const Methods = {
11149
11271
  const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom);
11150
11272
  const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom);
11151
11273
  const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom);
11274
+ const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom);
11152
11275
  const isCustomAggFunc = hangleStorageDefaultValue(storageOpts.aggFunc, isAllCustom);
11153
11276
  const resizableData = {};
11154
- const sortData = {};
11277
+ const sortData = [];
11155
11278
  const visibleData = {};
11156
11279
  const fixedData = {};
11280
+ const aggGroupData = {};
11157
11281
  const aggFuncData = {};
11158
11282
  const storeData = {
11159
11283
  resizableData: undefined,
11160
11284
  sortData: undefined,
11161
11285
  visibleData: undefined,
11162
11286
  fixedData: undefined,
11287
+ aggGroupData: undefined,
11163
11288
  aggFuncData: undefined
11164
11289
  };
11165
11290
  if (!id) {
@@ -11173,19 +11298,40 @@ const Methods = {
11173
11298
  let hasFixed = 0;
11174
11299
  let hasVisible = 0;
11175
11300
  let hasAggFunc = 0;
11301
+ const sortMaps = {};
11176
11302
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn, (column, index, items, path, parentColumn) => {
11177
11303
  const colKey = column.getKey();
11178
11304
  if (!colKey) {
11179
11305
  errLog('vxe.error.reqProp', [`${column.getTitle() || column.type || ''} -> column.field=?`]);
11180
11306
  return;
11181
11307
  }
11182
- // 只支持一级
11183
- if (!parentColumn) {
11308
+ if (parentColumn) {
11184
11309
  if (isCustomSort) {
11310
+ const pColKey = parentColumn.getKey();
11311
+ const psObj = sortMaps[pColKey];
11185
11312
  hasSort = 1;
11186
- sortData[colKey] = column.renderSortNumber;
11313
+ if (psObj) {
11314
+ const sObj = {
11315
+ k: colKey
11316
+ };
11317
+ sortMaps[colKey] = sObj;
11318
+ if (!psObj.c) {
11319
+ psObj.c = [];
11320
+ }
11321
+ psObj.c.push(sObj);
11322
+ }
11187
11323
  }
11188
- if (isCustomFixed && column.fixed !== column.defaultFixed) {
11324
+ } else {
11325
+ if (isCustomSort) {
11326
+ hasSort = 1;
11327
+ const sObj = {
11328
+ k: colKey
11329
+ };
11330
+ sortMaps[colKey] = sObj;
11331
+ sortData.push(sObj);
11332
+ }
11333
+ // 只支持一级
11334
+ if (isCustomFixed && (column.fixed || '') !== (column.defaultFixed || '')) {
11189
11335
  hasFixed = 1;
11190
11336
  fixedData[colKey] = column.fixed;
11191
11337
  }
@@ -11206,7 +11352,7 @@ const Methods = {
11206
11352
  visibleData[colKey] = true;
11207
11353
  }
11208
11354
  }
11209
- if (isCustomAggFunc && column.aggFunc !== column.defaultAggFunc) {
11355
+ if (isCustomAggFunc && (column.aggFunc || '') !== (column.defaultAggFunc || '')) {
11210
11356
  hasAggFunc = 1;
11211
11357
  aggFuncData[colKey] = column.aggFunc;
11212
11358
  }
@@ -11223,6 +11369,15 @@ const Methods = {
11223
11369
  if (hasVisible) {
11224
11370
  storeData.visibleData = visibleData;
11225
11371
  }
11372
+ if (isCustomAggGroup && isRowGroupStatus) {
11373
+ rowGroupList.forEach(aggConf => {
11374
+ const colRest = fullColumnFieldData[aggConf.field];
11375
+ if (colRest) {
11376
+ aggGroupData[colRest.column.getKey()] = true;
11377
+ }
11378
+ });
11379
+ storeData.aggGroupData = aggGroupData;
11380
+ }
11226
11381
  if (hasAggFunc) {
11227
11382
  storeData.aggFuncData = aggFuncData;
11228
11383
  }
@@ -11248,11 +11403,12 @@ const Methods = {
11248
11403
  const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom);
11249
11404
  const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom);
11250
11405
  const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom);
11406
+ const isCustomAggGroup = hangleStorageDefaultValue(storageOpts.aggGroup, isAllCustom);
11251
11407
  const isCustomAggFunc = hangleStorageDefaultValue(storageOpts.aggFunc, isAllCustom);
11252
11408
  if (type !== 'reset') {
11253
11409
  reactData.isCustomStatus = true;
11254
11410
  }
11255
- if (storage && (customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort || isCustomAggFunc)) {
11411
+ if (storage && (customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort || isCustomAggGroup || isCustomAggFunc)) {
11256
11412
  if (!tableId) {
11257
11413
  errLog('vxe.error.reqProp', ['id']);
11258
11414
  return this.$nextTick();
@@ -11261,7 +11417,9 @@ const Methods = {
11261
11417
  resizableData: {},
11262
11418
  sortData: {},
11263
11419
  visibleData: {},
11264
- fixedData: {}
11420
+ fixedData: {},
11421
+ aggGroupData: {},
11422
+ aggFuncData: {}
11265
11423
  } : this.getCustomStoreData();
11266
11424
  if (updateStore) {
11267
11425
  return updateStore({
@@ -15415,9 +15573,9 @@ const Methods = {
15415
15573
  const $xeTable = this;
15416
15574
  return handleSortEvent($xeTable, null, sortConfs, isUpdate);
15417
15575
  },
15418
- setSortByEvent(evnt, sortConfs, isUpdate) {
15576
+ setSortByEvent(evnt, sortConfs) {
15419
15577
  const $xeTable = this;
15420
- return handleSortEvent($xeTable, evnt, sortConfs, isUpdate);
15578
+ return handleSortEvent($xeTable, evnt, sortConfs, true);
15421
15579
  },
15422
15580
  /**
15423
15581
  * 清空指定列的排序条件
@@ -15450,6 +15608,9 @@ const Methods = {
15450
15608
  tableFullColumn
15451
15609
  } = internalData;
15452
15610
  const sortOpts = $xeTable.computeSortOpts;
15611
+ const {
15612
+ multiple
15613
+ } = sortOpts;
15453
15614
  const sortCols = [];
15454
15615
  let column = null;
15455
15616
  if (evnt) {
@@ -15469,7 +15630,13 @@ const Methods = {
15469
15630
  if (!sortOpts.remote) {
15470
15631
  $xeTable.handleTableData(true);
15471
15632
  }
15472
- if (sortCols.length) {
15633
+ if (!multiple) {
15634
+ column = sortCols[0];
15635
+ }
15636
+ if (column) {
15637
+ $xeTable.handleColumnSortEvent(evnt, column);
15638
+ }
15639
+ if (multiple && sortCols.length) {
15473
15640
  const params = {
15474
15641
  $table: $xeTable,
15475
15642
  $event: evnt,
@@ -15477,8 +15644,6 @@ const Methods = {
15477
15644
  sortList: []
15478
15645
  };
15479
15646
  $xeTable.dispatchEvent('clear-all-sort', params, evnt);
15480
- } else if (column) {
15481
- $xeTable.handleColumnSortEvent(evnt, column);
15482
15647
  }
15483
15648
  }
15484
15649
  return $xeTable.$nextTick().then(() => {
@@ -15524,22 +15689,12 @@ const Methods = {
15524
15689
  }
15525
15690
  return sortList;
15526
15691
  },
15527
- setFilterByEvent(evnt, fieldOrColumn, options, isUpdate) {
15692
+ setFilterByEvent(evnt, fieldOrColumn, options) {
15528
15693
  const $xeTable = this;
15529
- const reactData = $xeTable;
15530
- const {
15531
- filterStore
15532
- } = reactData;
15533
15694
  const column = handleFieldOrColumn($xeTable, fieldOrColumn);
15534
15695
  if (column && column.filters) {
15535
15696
  column.filters = toFilters(options || []);
15536
- if (isUpdate) {
15537
- return $xeTable.handleColumnConfirmFilter(column, evnt);
15538
- } else {
15539
- if (filterStore.visible) {
15540
- $xeTable.handleFilterOptions(column);
15541
- }
15542
- }
15697
+ return $xeTable.handleColumnConfirmFilter(column, evnt);
15543
15698
  }
15544
15699
  return $xeTable.$nextTick();
15545
15700
  },
@@ -15598,6 +15753,9 @@ const Methods = {
15598
15753
  tableFullColumn
15599
15754
  } = internalData;
15600
15755
  const filterOpts = $xeTable.computeFilterOpts;
15756
+ const {
15757
+ multiple
15758
+ } = filterOpts;
15601
15759
  const filterCols = [];
15602
15760
  let column = null;
15603
15761
  if (fieldOrColumn) {
@@ -15627,7 +15785,34 @@ const Methods = {
15627
15785
  if (!filterOpts.remote) {
15628
15786
  $xeTable.updateData();
15629
15787
  }
15630
- if (filterCols.length) {
15788
+ if (!multiple) {
15789
+ column = filterCols[0];
15790
+ }
15791
+ if (column) {
15792
+ const filterList = () => $xeTable.getCheckedFilters();
15793
+ const values = [];
15794
+ const datas = [];
15795
+ column.filters.forEach(item => {
15796
+ if (item.checked) {
15797
+ values.push(item.value);
15798
+ datas.push(item.data);
15799
+ }
15800
+ });
15801
+ const params = {
15802
+ $table: $xeTable,
15803
+ $event: evnt,
15804
+ column,
15805
+ field: column.field,
15806
+ property: column.field,
15807
+ values,
15808
+ datas,
15809
+ filters: filterList,
15810
+ filterList
15811
+ };
15812
+ $xeTable.dispatchEvent('filter-change', params, evnt);
15813
+ $xeTable.dispatchEvent('clear-filter', params, evnt);
15814
+ }
15815
+ if (multiple && filterCols.length) {
15631
15816
  const params = {
15632
15817
  $table: $xeTable,
15633
15818
  $event: evnt,
@@ -15635,10 +15820,6 @@ const Methods = {
15635
15820
  filterList: []
15636
15821
  };
15637
15822
  $xeTable.dispatchEvent('clear-all-filter', params, evnt);
15638
- } else if (column) {
15639
- $xeTable.dispatchEvent('clear-filter', {
15640
- filterList: () => $xeTable.getCheckedFilters()
15641
- }, evnt);
15642
15823
  }
15643
15824
  return $xeTable.$nextTick();
15644
15825
  },
@@ -18033,7 +18214,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
18033
18214
  if (!fixedHiddenColumn && editConfig && (editRender || cellRender) && (editOpts.showStatus || editOpts.showUpdateStatus)) {
18034
18215
  isDirty = $xeTable.isUpdateByRow(row, column.field);
18035
18216
  }
18036
- const isVNAutoHeight = scrollYLoad && !hasEllipsis;
18217
+ const isVNAutoHeight = !hasEllipsis && (scrollYLoad || scrollXLoad);
18037
18218
  let cellHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight);
18038
18219
  const isLastColumn = $columnIndex === columns.length - 1;
18039
18220
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
@@ -18069,7 +18250,7 @@ function renderTdColumn(h, $xeTable, seq, rowid, fixedType, isOptimizeMode, rowL
18069
18250
  }
18070
18251
  tcStyle.width = `${column.renderWidth + mergeColWidth - cellOffsetWidth}px`;
18071
18252
  }
18072
- if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
18253
+ if (scrollYLoad || scrollXLoad || hasEllipsis || isCsHeight || isRsHeight) {
18073
18254
  tcStyle.height = `${cellHeight}px`;
18074
18255
  } else {
18075
18256
  tcStyle.minHeight = `${cellHeight}px`;
@@ -18261,14 +18442,15 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
18261
18442
  };
18262
18443
  }
18263
18444
  if (rowRest) {
18445
+ rowIndex = rowRest.index;
18446
+ _rowIndex = rowRest._index;
18264
18447
  rowLevel = rowRest.level;
18448
+ seq = rowRest.seq;
18265
18449
  if (hasRowGroupAggregate || treeConfig && transform && seqMode === 'increasing') {
18266
18450
  seq = rowRest._index + 1;
18267
- } else {
18268
- seq = rowRest.seq;
18451
+ } else if (treeConfig && seqMode === 'fixed') {
18452
+ seq = rowRest._tIndex + 1;
18269
18453
  }
18270
- rowIndex = rowRest.index;
18271
- _rowIndex = rowRest._index;
18272
18454
  }
18273
18455
  const params = {
18274
18456
  $table: $xeTable,
@@ -23185,6 +23367,7 @@ function insertTreeRow($xeTable, newRecords, isAppend) {
23185
23367
  _index: -1,
23186
23368
  $index: -1,
23187
23369
  treeIndex: -1,
23370
+ _tIndex: -1,
23188
23371
  items: parentChilds,
23189
23372
  parent: parentRow,
23190
23373
  level: parentLevel + 1,
@@ -23209,6 +23392,7 @@ function insertTreeRow($xeTable, newRecords, isAppend) {
23209
23392
  _index: -1,
23210
23393
  $index: -1,
23211
23394
  treeIndex: -1,
23395
+ _tIndex: -1,
23212
23396
  items: tableFullTreeData,
23213
23397
  parent: null,
23214
23398
  level: 0,
@@ -23279,6 +23463,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
23279
23463
  _index: -1,
23280
23464
  $index: -1,
23281
23465
  treeIndex: -1,
23466
+ _tIndex: -1,
23282
23467
  items: afterFullData,
23283
23468
  parent: null,
23284
23469
  level: 0,
@@ -23325,6 +23510,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
23325
23510
  _index: -1,
23326
23511
  $index: -1,
23327
23512
  treeIndex: -1,
23513
+ _tIndex: -1,
23328
23514
  items: afterFullData,
23329
23515
  parent: null,
23330
23516
  level: 0,
@@ -23375,6 +23561,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
23375
23561
  _index: -1,
23376
23562
  $index: -1,
23377
23563
  treeIndex: -1,
23564
+ _tIndex: -1,
23378
23565
  items: parentMapChilds,
23379
23566
  parent: parentRow,
23380
23567
  level: parentLevel + 1,
@@ -27509,6 +27696,8 @@ function checkRuleStatus(rule, val) {
27509
27696
  });
27510
27697
  ;// CONCATENATED MODULE: ./packages/table/module/custom/mixin.ts
27511
27698
 
27699
+
27700
+
27512
27701
  function calcMaxHeight($xeTable) {
27513
27702
  const reactData = $xeTable;
27514
27703
  const {
@@ -27617,21 +27806,20 @@ function emitCustomEvent($xeTable, type, evnt) {
27617
27806
  }
27618
27807
  });
27619
27808
  reactData.isCustomStatus = true;
27620
- return $xeTable.saveCustomStore('confirm').then(() => {
27621
- if (allowGroup && allowValues && $xeTable.handlePivotTableAggregateData) {
27622
- if (rowGroupList.length !== aggHandleFields.length || rowGroupList.some((conf, i) => conf.field !== aggHandleFields[i])) {
27623
- // 更新数据分组
27624
- if (aggHandleFields.length) {
27625
- $xeTable.setRowGroups(aggHandleFields);
27626
- } else {
27627
- $xeTable.clearRowGroups();
27628
- }
27809
+ if (allowGroup && allowValues && !!$xeTable.handlePivotTableAggregateData) {
27810
+ if (rowGroupList.length !== aggHandleFields.length || rowGroupList.some((conf, i) => conf.field !== aggHandleFields[i])) {
27811
+ // 更新数据分组
27812
+ if (aggHandleFields.length) {
27813
+ $xeTable.setRowGroups(aggHandleFields);
27629
27814
  } else {
27630
- // 更新聚合函数
27631
- $xeTable.handleUpdateAggData();
27815
+ $xeTable.clearRowGroups();
27632
27816
  }
27817
+ } else if (allowValues) {
27818
+ // 更新聚合函数
27819
+ $xeTable.handleUpdateAggData();
27633
27820
  }
27634
- });
27821
+ }
27822
+ return $xeTable.saveCustomStore('confirm');
27635
27823
  },
27636
27824
  _cancelCustom() {
27637
27825
  const $xeTable = this;
@@ -27696,6 +27884,7 @@ function emitCustomEvent($xeTable, type, evnt) {
27696
27884
  sort: options === true,
27697
27885
  aggFunc: options === true
27698
27886
  }, options);
27887
+ const allCols = [];
27699
27888
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn, column => {
27700
27889
  if (opts.resizable) {
27701
27890
  column.resizeWidth = 0;
@@ -27705,6 +27894,7 @@ function emitCustomEvent($xeTable, type, evnt) {
27705
27894
  }
27706
27895
  if (opts.sort) {
27707
27896
  column.renderSortNumber = column.sortNumber;
27897
+ column.parentId = column.defaultParentId;
27708
27898
  }
27709
27899
  if (!checkMethod || checkMethod({
27710
27900
  $table: $xeTable,
@@ -27717,9 +27907,18 @@ function emitCustomEvent($xeTable, type, evnt) {
27717
27907
  column.renderAggFn = column.defaultAggFunc;
27718
27908
  }
27719
27909
  column.renderResizeWidth = column.renderWidth;
27910
+ allCols.push(column);
27720
27911
  });
27912
+ if (opts.sort) {
27913
+ const newCollectCols = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(allCols, 'renderSortNumber'), {
27914
+ key: 'id',
27915
+ parentKey: 'parentId',
27916
+ children: 'children'
27917
+ });
27918
+ internalData.collectColumn = newCollectCols;
27919
+ internalData.tableFullColumn = getColumnList(newCollectCols);
27920
+ }
27721
27921
  reactData.isCustomStatus = false;
27722
- $xeTable.saveCustomStore('reset');
27723
27922
  return $xeTable.handleCustom().then(() => {
27724
27923
  if (opts.aggFunc && $xeTable.handlePivotTableAggregateData) {
27725
27924
  const rowGroupFields = $xeTable.computeRowGroupFields;
@@ -27733,6 +27932,7 @@ function emitCustomEvent($xeTable, type, evnt) {
27733
27932
  $xeTable.handleUpdateAggData();
27734
27933
  }
27735
27934
  }
27935
+ $xeTable.saveCustomStore('reset');
27736
27936
  });
27737
27937
  },
27738
27938
  _toggleCustomAllCheckbox() {
@@ -28164,15 +28364,16 @@ function renderRowExpandedVNs(h, $xeTable) {
28164
28364
  let rowIndex = -1;
28165
28365
  let $rowIndex = -1;
28166
28366
  if (rowRest) {
28367
+ rowIndex = rowRest.index;
28368
+ $rowIndex = rowRest.$index;
28369
+ _rowIndex = rowRest._index;
28167
28370
  rowLevel = rowRest.level;
28371
+ seq = rowRest.seq;
28168
28372
  if (isRowGroupStatus || treeConfig && transform && seqMode === 'increasing') {
28169
28373
  seq = rowRest._index + 1;
28170
- } else {
28171
- seq = rowRest.seq;
28374
+ } else if (treeConfig && seqMode === 'fixed') {
28375
+ seq = rowRest._tIndex + 1;
28172
28376
  }
28173
- rowIndex = rowRest.index;
28174
- $rowIndex = rowRest.$index;
28175
- _rowIndex = rowRest._index;
28176
28377
  }
28177
28378
  if (expandHeight) {
28178
28379
  cellStyle.height = `${expandHeight}px`;
@@ -29248,7 +29449,7 @@ function renderBody(h, $xeTable) {
29248
29449
  });
29249
29450
  },
29250
29451
  staticColumns(value) {
29251
- this.handleColumn(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(value));
29452
+ this.$nextTick(() => this.handleInitColumn(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(value)));
29252
29453
  },
29253
29454
  tableColumn() {
29254
29455
  this.analyColumnWidth();
@@ -31058,9 +31259,11 @@ function getTableOns(_vm) {
31058
31259
  if (proxyConfig) {
31059
31260
  if (proxyOpts.sort) {
31060
31261
  ons['sort-change'] = _vm.sortChangeEvent;
31262
+ ons['clear-all-sort'] = _vm.clearAllSortEvent;
31061
31263
  }
31062
31264
  if (proxyOpts.filter) {
31063
31265
  ons['filter-change'] = _vm.filterChangeEvent;
31266
+ ons['clear-all-filter'] = _vm.clearAllFilterEvent;
31064
31267
  }
31065
31268
  }
31066
31269
  return ons;
@@ -31329,6 +31532,14 @@ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default(
31329
31532
  const pagerOpts = $xeGrid.computePagerOpts;
31330
31533
  return pagerOpts.total;
31331
31534
  },
31535
+ computePageCount() {
31536
+ const $xeGrid = this;
31537
+ const reactData = $xeGrid.reactData;
31538
+ const {
31539
+ tablePage
31540
+ } = reactData;
31541
+ return Math.max(Math.ceil(tablePage.total / tablePage.pageSize), 1);
31542
+ },
31332
31543
  computeIsLoading() {
31333
31544
  const $xeGrid = this;
31334
31545
  const props = $xeGrid;
@@ -31418,7 +31629,7 @@ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default(
31418
31629
  tablePage.pageSize = pageSize;
31419
31630
  }
31420
31631
  if (total) {
31421
- tablePage.pageSize = total;
31632
+ tablePage.total = total;
31422
31633
  }
31423
31634
  }
31424
31635
  }
@@ -32159,29 +32370,71 @@ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default(
32159
32370
  return $xeGrid.$nextTick();
32160
32371
  },
32161
32372
  homePage() {
32373
+ const $xeGrid = this;
32374
+ const reactData = $xeGrid.reactData;
32375
+ const {
32376
+ tablePage
32377
+ } = reactData;
32378
+ tablePage.currentPage = 1;
32379
+ return $xeGrid.$nextTick();
32380
+ },
32381
+ homePageByEvent(evnt) {
32162
32382
  const $xeGrid = this;
32163
32383
  const $pager = $xeGrid.$refs.refPager;
32164
32384
  if ($pager) {
32165
- return $pager.homePage();
32385
+ $pager.homePageByEvent(evnt);
32166
32386
  }
32167
- return $xeGrid.$nextTick();
32168
32387
  },
32169
32388
  endPage() {
32389
+ const $xeGrid = this;
32390
+ const reactData = $xeGrid.reactData;
32391
+ const {
32392
+ tablePage
32393
+ } = reactData;
32394
+ const pageCount = $xeGrid.computePageCount;
32395
+ tablePage.currentPage = pageCount;
32396
+ return $xeGrid.$nextTick();
32397
+ },
32398
+ endPageByEvent(evnt) {
32170
32399
  const $xeGrid = this;
32171
32400
  const $pager = $xeGrid.$refs.refPager;
32172
32401
  if ($pager) {
32173
- return $pager.endPage();
32402
+ $pager.endPageByEvent(evnt);
32174
32403
  }
32404
+ },
32405
+ setCurrentPage(currentPage) {
32406
+ const $xeGrid = this;
32407
+ const reactData = $xeGrid.reactData;
32408
+ const {
32409
+ tablePage
32410
+ } = reactData;
32411
+ const pageCount = $xeGrid.computePageCount;
32412
+ tablePage.currentPage = Math.min(pageCount, Math.max(1, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(currentPage)));
32175
32413
  return $xeGrid.$nextTick();
32176
32414
  },
32177
- jumpPage(currentPage) {
32415
+ setCurrentPageByEvent(evnt, currentPage) {
32178
32416
  const $xeGrid = this;
32179
32417
  const $pager = $xeGrid.$refs.refPager;
32180
32418
  if ($pager) {
32181
- return $pager.jumpPage(currentPage);
32419
+ $pager.setCurrentPageByEvent(evnt, currentPage);
32182
32420
  }
32421
+ },
32422
+ setPageSize(pageSize) {
32423
+ const $xeGrid = this;
32424
+ const reactData = $xeGrid.reactData;
32425
+ const {
32426
+ tablePage
32427
+ } = reactData;
32428
+ tablePage.pageSize = Math.max(1, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(pageSize));
32183
32429
  return $xeGrid.$nextTick();
32184
32430
  },
32431
+ setPageSizeByEvent(evnt, pageSize) {
32432
+ const $xeGrid = this;
32433
+ const $pager = $xeGrid.$refs.refPager;
32434
+ if ($pager) {
32435
+ $pager.setPageSizeByEvent(evnt, pageSize);
32436
+ }
32437
+ },
32185
32438
  triggerToolbarCommitEvent(params, evnt) {
32186
32439
  const $xeGrid = this;
32187
32440
  const {
@@ -32212,28 +32465,6 @@ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default(
32212
32465
  tool
32213
32466
  }, evnt);
32214
32467
  },
32215
- sortChangeEvent(params) {
32216
- const $xeGrid = this;
32217
- const props = $xeGrid;
32218
- const reactData = $xeGrid.reactData;
32219
- const $xeTable = $xeGrid.$refs.refTable;
32220
- const {
32221
- proxyConfig
32222
- } = props;
32223
- const proxyOpts = $xeGrid.computeProxyOpts;
32224
- const sortOpts = $xeTable.computeSortOpts;
32225
- // 如果是服务端排序
32226
- if (sortOpts.remote) {
32227
- reactData.sortData = params.sortList;
32228
- if (proxyConfig && isEnableConf(proxyOpts)) {
32229
- reactData.tablePage.currentPage = 1;
32230
- $xeGrid.commitProxy('query').then(rest => {
32231
- $xeGrid.dispatchEvent('proxy-query', rest, params.$event);
32232
- });
32233
- }
32234
- }
32235
- $xeGrid.dispatchEvent('sort-change', params, params.$event);
32236
- },
32237
32468
  pageChangeEvent(params) {
32238
32469
  const $xeGrid = this;
32239
32470
  const props = $xeGrid;
@@ -32259,7 +32490,38 @@ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default(
32259
32490
  });
32260
32491
  }
32261
32492
  },
32262
- filterChangeEvent(params) {
32493
+ handleSortEvent(params) {
32494
+ const $xeGrid = this;
32495
+ const props = $xeGrid;
32496
+ const reactData = $xeGrid.reactData;
32497
+ const $xeTable = $xeGrid.$refs.refTable;
32498
+ const {
32499
+ proxyConfig
32500
+ } = props;
32501
+ const proxyOpts = $xeGrid.computeProxyOpts;
32502
+ const sortOpts = $xeTable.computeSortOpts;
32503
+ // 如果是服务端排序
32504
+ if (sortOpts.remote) {
32505
+ reactData.sortData = params.sortList;
32506
+ if (proxyConfig && isEnableConf(proxyOpts)) {
32507
+ reactData.tablePage.currentPage = 1;
32508
+ $xeGrid.commitProxy('query').then(rest => {
32509
+ $xeGrid.dispatchEvent('proxy-query', rest, params.$event);
32510
+ });
32511
+ }
32512
+ }
32513
+ },
32514
+ sortChangeEvent(params) {
32515
+ const $xeGrid = this;
32516
+ $xeGrid.handleSortEvent(params);
32517
+ $xeGrid.dispatchEvent('sort-change', params, params.$event);
32518
+ },
32519
+ clearAllSortEvent(params) {
32520
+ const $xeGrid = this;
32521
+ $xeGrid.handleSortEvent(params);
32522
+ $xeGrid.dispatchEvent('clear-all-sort', params, params.$event);
32523
+ },
32524
+ handleFilterEvent(params) {
32263
32525
  const $xeGrid = this;
32264
32526
  const props = $xeGrid;
32265
32527
  const reactData = $xeGrid.reactData;
@@ -32279,8 +32541,17 @@ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default(
32279
32541
  });
32280
32542
  }
32281
32543
  }
32544
+ },
32545
+ filterChangeEvent(params) {
32546
+ const $xeGrid = this;
32547
+ $xeGrid.handleFilterEvent(params);
32282
32548
  $xeGrid.dispatchEvent('filter-change', params, params.$event);
32283
32549
  },
32550
+ clearAllFilterEvent(params) {
32551
+ const $xeGrid = this;
32552
+ $xeGrid.handleFilterEvent(params);
32553
+ $xeGrid.dispatchEvent('clear-all-filter', params, params.$event);
32554
+ },
32284
32555
  submitFormEvent(params) {
32285
32556
  const $xeGrid = this;
32286
32557
  const props = $xeGrid;
@@ -32344,6 +32615,11 @@ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default(
32344
32615
  type: reactData.isZMax ? 'max' : 'revert'
32345
32616
  }, evnt);
32346
32617
  },
32618
+ getParams() {
32619
+ const $xeGrid = this;
32620
+ const props = $xeGrid;
32621
+ return props.params;
32622
+ },
32347
32623
  zoom() {
32348
32624
  const $xeGrid = this;
32349
32625
  const reactData = $xeGrid.reactData;