vxe-table 4.16.19 → 4.17.0-beta.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 (81) hide show
  1. package/es/grid/src/grid.js +8 -0
  2. package/es/index.css +1 -1
  3. package/es/index.min.css +1 -1
  4. package/es/style.css +1 -1
  5. package/es/style.min.css +1 -1
  6. package/es/table/module/filter/hook.js +108 -58
  7. package/es/table/module/filter/panel.js +45 -25
  8. package/es/table/render/index.js +93 -9
  9. package/es/table/src/cell.js +9 -3
  10. package/es/table/src/column.js +2 -0
  11. package/es/table/src/columnInfo.js +14 -6
  12. package/es/table/src/header.js +118 -3
  13. package/es/table/src/props.js +2 -0
  14. package/es/table/src/table.js +29 -26
  15. package/es/table/src/util.js +8 -5
  16. package/es/table/style.css +2 -1
  17. package/es/table/style.min.css +1 -1
  18. package/es/ui/index.js +4 -1
  19. package/es/ui/src/log.js +1 -1
  20. package/es/ui/src/vn.js +11 -0
  21. package/es/vxe-table/style.css +2 -1
  22. package/es/vxe-table/style.min.css +1 -1
  23. package/lib/grid/src/grid.js +12 -0
  24. package/lib/grid/src/grid.min.js +1 -1
  25. package/lib/index.css +1 -1
  26. package/lib/index.min.css +1 -1
  27. package/lib/index.umd.js +525 -137
  28. package/lib/index.umd.min.js +1 -1
  29. package/lib/style.css +1 -1
  30. package/lib/style.min.css +1 -1
  31. package/lib/table/module/filter/hook.js +123 -66
  32. package/lib/table/module/filter/hook.min.js +1 -1
  33. package/lib/table/module/filter/panel.js +59 -26
  34. package/lib/table/module/filter/panel.min.js +1 -1
  35. package/lib/table/render/index.js +109 -8
  36. package/lib/table/render/index.min.js +1 -1
  37. package/lib/table/src/cell.js +15 -3
  38. package/lib/table/src/cell.min.js +1 -1
  39. package/lib/table/src/column.js +2 -0
  40. package/lib/table/src/column.min.js +1 -1
  41. package/lib/table/src/columnInfo.js +18 -5
  42. package/lib/table/src/columnInfo.min.js +1 -1
  43. package/lib/table/src/header.js +133 -3
  44. package/lib/table/src/header.min.js +1 -1
  45. package/lib/table/src/props.js +2 -0
  46. package/lib/table/src/props.min.js +1 -1
  47. package/lib/table/src/table.js +10 -10
  48. package/lib/table/src/table.min.js +1 -1
  49. package/lib/table/src/util.js +18 -14
  50. package/lib/table/src/util.min.js +1 -1
  51. package/lib/table/style/style.css +2 -1
  52. package/lib/table/style/style.min.css +1 -1
  53. package/lib/ui/index.js +4 -1
  54. package/lib/ui/index.min.js +1 -1
  55. package/lib/ui/src/log.js +1 -1
  56. package/lib/ui/src/log.min.js +1 -1
  57. package/lib/ui/src/vn.js +12 -0
  58. package/lib/ui/src/vn.min.js +1 -1
  59. package/lib/vxe-table/style/style.css +2 -1
  60. package/lib/vxe-table/style/style.min.css +1 -1
  61. package/package.json +2 -2
  62. package/packages/grid/src/grid.ts +8 -0
  63. package/packages/table/module/filter/hook.ts +110 -64
  64. package/packages/table/module/filter/panel.ts +56 -28
  65. package/packages/table/render/index.ts +110 -15
  66. package/packages/table/src/cell.ts +9 -3
  67. package/packages/table/src/column.ts +2 -0
  68. package/packages/table/src/columnInfo.ts +19 -7
  69. package/packages/table/src/header.ts +137 -8
  70. package/packages/table/src/props.ts +2 -0
  71. package/packages/table/src/table.ts +30 -26
  72. package/packages/table/src/util.ts +8 -5
  73. package/packages/ui/index.ts +3 -0
  74. package/packages/ui/src/vn.ts +12 -0
  75. package/styles/components/table-module/filter.scss +4 -1
  76. /package/es/{iconfont.1758609514163.ttf → iconfont.1759031444881.ttf} +0 -0
  77. /package/es/{iconfont.1758609514163.woff → iconfont.1759031444881.woff} +0 -0
  78. /package/es/{iconfont.1758609514163.woff2 → iconfont.1759031444881.woff2} +0 -0
  79. /package/lib/{iconfont.1758609514163.ttf → iconfont.1759031444881.ttf} +0 -0
  80. /package/lib/{iconfont.1758609514163.woff → iconfont.1759031444881.woff} +0 -0
  81. /package/lib/{iconfont.1758609514163.woff2 → iconfont.1759031444881.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -3138,7 +3138,7 @@ function eqEmptyValue(cellValue) {
3138
3138
  ;// ./packages/ui/index.ts
3139
3139
 
3140
3140
 
3141
- const version = "4.16.19";
3141
+ const version = "4.17.0-beta.0";
3142
3142
  core_.VxeUI.version = version;
3143
3143
  core_.VxeUI.tableVersion = version;
3144
3144
  core_.VxeUI.setConfig({
@@ -3288,6 +3288,9 @@ core_.VxeUI.setConfig({
3288
3288
  multiple: true,
3289
3289
  showIcon: true
3290
3290
  },
3291
+ floatingFilterConfig: {
3292
+ // enabled: false
3293
+ },
3291
3294
  aggregateConfig: {
3292
3295
  padding: true,
3293
3296
  rowField: 'id',
@@ -3647,7 +3650,7 @@ var esnext_iterator_some = __webpack_require__(7550);
3647
3650
  const {
3648
3651
  log: log_log
3649
3652
  } = core_.VxeUI;
3650
- const log_version = `table v${"4.16.19"}`;
3653
+ const log_version = `table v${"4.17.0-beta.0"}`;
3651
3654
  const warnLog = log_log.create('warn', log_version);
3652
3655
  const errLog = log_log.create('error', log_version);
3653
3656
  ;// ./packages/table/src/columnInfo.ts
@@ -3658,7 +3661,8 @@ const errLog = log_log.create('error', log_version);
3658
3661
 
3659
3662
  const {
3660
3663
  getI18n: columnInfo_getI18n,
3661
- formats: columnInfo_formats
3664
+ formats: columnInfo_formats,
3665
+ renderer: columnInfo_renderer
3662
3666
  } = core_.VxeUI;
3663
3667
  class ColumnInfo {
3664
3668
  /* eslint-disable @typescript-eslint/no-use-before-define */
@@ -3674,10 +3678,15 @@ class ColumnInfo {
3674
3678
  const $xeGGWrapper = $xeGrid || $xeGantt;
3675
3679
  const {
3676
3680
  field,
3677
- editRender
3681
+ editRender,
3682
+ filterRender
3678
3683
  } = _vm;
3684
+ const colId = _vm.colId || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId('col_');
3679
3685
  const formatter = _vm.formatter;
3680
3686
  const visible = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(_vm.visible) ? _vm.visible : true;
3687
+ const flCompConf = isEnableConf(filterRender) ? columnInfo_renderer.get(filterRender.name) : null;
3688
+ const ctFilterOptions = flCompConf ? flCompConf.createTableFilterOptions : null;
3689
+ const filters = toFilters(_vm.filters, colId);
3681
3690
  const types = ['seq', 'checkbox', 'radio', 'expand', 'html'];
3682
3691
  if (_vm.type && types.indexOf(_vm.type) === -1) {
3683
3692
  warnLog('vxe.error.errProp', [`type=${_vm.type}`, types.join(', ')]);
@@ -3754,12 +3763,13 @@ class ColumnInfo {
3754
3763
  sortable: _vm.sortable,
3755
3764
  sortBy: _vm.sortBy,
3756
3765
  sortType: _vm.sortType,
3757
- filters: toFilters(_vm.filters),
3766
+ filters: filters,
3758
3767
  filterMultiple: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(_vm.filterMultiple) ? _vm.filterMultiple : true,
3759
3768
  filterMethod: _vm.filterMethod,
3760
3769
  filterResetMethod: _vm.filterResetMethod,
3761
3770
  filterRecoverMethod: _vm.filterRecoverMethod,
3762
- filterRender: _vm.filterRender,
3771
+ filterRender: filterRender,
3772
+ floatingFilters: _vm.floatingFilters,
3763
3773
  rowGroupNode: _vm.rowGroupNode,
3764
3774
  treeNode: _vm.treeNode,
3765
3775
  dragSort: _vm.dragSort,
@@ -3778,7 +3788,7 @@ class ColumnInfo {
3778
3788
  // 自定义参数
3779
3789
  params: _vm.params,
3780
3790
  // 渲染属性
3781
- id: _vm.colId || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId('col_'),
3791
+ id: colId,
3782
3792
  parentId: null,
3783
3793
  visible,
3784
3794
  // 内部属性(一旦被使用,将导致不可升级版本)
@@ -3821,6 +3831,12 @@ class ColumnInfo {
3821
3831
  // 单元格插槽,只对 grid 有效
3822
3832
  slots: _vm.slots
3823
3833
  });
3834
+ if (ctFilterOptions && (!filters || !filters.length)) {
3835
+ this.filters = toFilters(ctFilterOptions({
3836
+ $table: $xeTable,
3837
+ column: this
3838
+ }), colId);
3839
+ }
3824
3840
  if ($xeGGWrapper) {
3825
3841
  const {
3826
3842
  computeProxyOpts
@@ -4432,24 +4448,28 @@ function getElementMarginAndWidth(elem) {
4432
4448
  }
4433
4449
  return 0;
4434
4450
  }
4435
- function toFilters(filters) {
4436
- if (filters && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(filters)) {
4437
- return filters.map(({
4438
- label,
4439
- value,
4440
- data,
4441
- resetValue,
4442
- checked
4443
- }) => {
4444
- return {
4451
+ function toFilters(filters, colid) {
4452
+ if (filters) {
4453
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(filters)) {
4454
+ return filters.map(({
4445
4455
  label,
4446
4456
  value,
4447
4457
  data,
4448
4458
  resetValue,
4449
- checked: !!checked,
4450
- _checked: !!checked
4451
- };
4452
- });
4459
+ checked
4460
+ }) => {
4461
+ return {
4462
+ label,
4463
+ value,
4464
+ data,
4465
+ resetValue,
4466
+ checked: !!checked,
4467
+ _checked: !!checked,
4468
+ _colId: colid
4469
+ };
4470
+ });
4471
+ }
4472
+ return [];
4453
4473
  }
4454
4474
  return filters;
4455
4475
  }
@@ -4952,6 +4972,17 @@ function getChangeEvent(renderOpts) {
4952
4972
  }
4953
4973
  return 'change';
4954
4974
  }
4975
+ function hasInputType(renderOpts) {
4976
+ switch (renderOpts.name) {
4977
+ case 'VxeInput':
4978
+ case 'VxeNumberInput':
4979
+ case 'VxeTextarea':
4980
+ case '$input':
4981
+ case '$textarea':
4982
+ return true;
4983
+ }
4984
+ return false;
4985
+ }
4955
4986
  function getSlotVNs(vns) {
4956
4987
  if (vns === null || vns === undefined) {
4957
4988
  return [];
@@ -5343,7 +5374,7 @@ function renderCellHandle(params) {
5343
5374
  case 'html':
5344
5375
  return isDeepCell ? Cell.renderDeepHTMLCell(params) : Cell.renderHTMLCell(params);
5345
5376
  }
5346
- if (isEnableConf(editConfig) && editRender) {
5377
+ if (editConfig && isEnableConf(editOpts) && editRender) {
5347
5378
  return editOpts.mode === 'cell' ? isDeepCell ? Cell.renderDeepCellEdit(params) : Cell.renderCellEdit(params) : isDeepCell ? Cell.renderDeepRowEdit(params) : Cell.renderRowEdit(params);
5348
5379
  }
5349
5380
  return isDeepCell ? Cell.renderDeepCell(params) : Cell.renderDefaultCell(params);
@@ -5354,9 +5385,13 @@ function renderHeaderHandle(params) {
5354
5385
  $table
5355
5386
  } = params;
5356
5387
  const tableProps = $table.props;
5388
+ const {
5389
+ computeEditOpts
5390
+ } = $table.getComputeMaps();
5357
5391
  const {
5358
5392
  editConfig
5359
5393
  } = tableProps;
5394
+ const editOpts = computeEditOpts.value;
5360
5395
  const {
5361
5396
  type,
5362
5397
  filters,
@@ -5380,7 +5415,7 @@ function renderHeaderHandle(params) {
5380
5415
  }
5381
5416
  break;
5382
5417
  }
5383
- if (editConfig && editRender) {
5418
+ if (editConfig && isEnableConf(editOpts) && editRender) {
5384
5419
  return Cell.renderEditHeader(params);
5385
5420
  } else if (filters && sortable) {
5386
5421
  return Cell.renderSortAndFilterHeader(params);
@@ -5447,11 +5482,19 @@ const Cell = {
5447
5482
  row,
5448
5483
  column
5449
5484
  } = params;
5485
+ const tableProps = $table.props;
5450
5486
  const tableReactData = $table.reactData;
5451
5487
  const tableInternalData = $table.internalData;
5452
5488
  const {
5453
5489
  isRowGroupStatus
5454
5490
  } = tableReactData;
5491
+ const {
5492
+ computeEditOpts
5493
+ } = $table.getComputeMaps();
5494
+ const {
5495
+ editConfig
5496
+ } = tableProps;
5497
+ const editOpts = computeEditOpts.value;
5455
5498
  const {
5456
5499
  field,
5457
5500
  slots,
@@ -5460,7 +5503,7 @@ const Cell = {
5460
5503
  rowGroupNode,
5461
5504
  aggFunc
5462
5505
  } = column;
5463
- const renderOpts = editRender || cellRender;
5506
+ const renderOpts = editConfig && isEnableConf(editOpts) && editRender ? editRender : cellRender;
5464
5507
  const defaultSlot = slots ? slots.default : null;
5465
5508
  const gcSlot = slots ? slots.groupContent || slots['group-content'] : null;
5466
5509
  let cellValue = '';
@@ -6623,6 +6666,8 @@ const columnProps = {
6623
6666
  filterRecoverMethod: Function,
6624
6667
  // 筛选模板配置项
6625
6668
  filterRender: Object,
6669
+ // 是否显示浮动筛选
6670
+ floatingFilters: Object,
6626
6671
  // 设置为分组节点
6627
6672
  rowGroupNode: Boolean,
6628
6673
  // 设置为树节点
@@ -7027,6 +7072,8 @@ const tableProps = {
7027
7072
  sortConfig: Object,
7028
7073
  // 筛选配置项
7029
7074
  filterConfig: Object,
7075
+ // 浮动筛选配置项
7076
+ floatingFilterConfig: Object,
7030
7077
  // 单选框配置
7031
7078
  radioConfig: Object,
7032
7079
  // 复选框配置项
@@ -8187,6 +8234,9 @@ const renderType = 'body';
8187
8234
 
8188
8235
 
8189
8236
 
8237
+
8238
+
8239
+
8190
8240
  const {
8191
8241
  renderer: header_renderer,
8192
8242
  renderEmptyElement: header_renderEmptyElement
@@ -8237,7 +8287,8 @@ function getColumnLastChild(column) {
8237
8287
  computeMouseOpts,
8238
8288
  computeHeaderCellOpts,
8239
8289
  computeDefaultRowHeight,
8240
- computeVirtualXOpts
8290
+ computeVirtualXOpts,
8291
+ computeFloatingFilterOpts
8241
8292
  } = $xeTable.getComputeMaps();
8242
8293
  const headerColumn = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
8243
8294
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -8489,15 +8540,136 @@ function getColumnLastChild(column) {
8489
8540
  }) : header_renderEmptyElement($xeTable)]);
8490
8541
  });
8491
8542
  };
8492
- const renderHeads = (isGroup, isOptimizeMode, headerGroups) => {
8543
+ const renderFilterRows = (isOptimizeMode, cols) => {
8544
+ const $xeGrid = $xeTable.xeGrid;
8545
+ const $xeGantt = $xeTable.xeGantt;
8493
8546
  const {
8494
8547
  fixedType
8495
8548
  } = props;
8549
+ const {
8550
+ showHeaderOverflow: allColumnHeaderOverflow,
8551
+ headerAlign: allHeaderAlign,
8552
+ align: allAlign
8553
+ } = tableProps;
8554
+ const {
8555
+ currentColumn,
8556
+ overflowX
8557
+ } = tableReactData;
8558
+ const {
8559
+ fullColumnIdData
8560
+ } = tableInternalData;
8561
+ const cellOpts = computeCellOpts.value;
8562
+ const defaultRowHeight = computeDefaultRowHeight.value;
8563
+ const headerCellOpts = computeHeaderCellOpts.value;
8564
+ const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight;
8565
+ return cols.map((column, $columnIndex) => {
8566
+ const {
8567
+ type,
8568
+ showHeaderOverflow,
8569
+ headerAlign,
8570
+ align,
8571
+ filters,
8572
+ editRender,
8573
+ cellRender,
8574
+ floatingFilters,
8575
+ filterRender,
8576
+ slots
8577
+ } = column;
8578
+ const colid = column.id;
8579
+ const colRest = fullColumnIdData[colid] || {};
8580
+ const renderOpts = editRender || cellRender;
8581
+ const flSlot = slots ? slots.floatingFilter || slots['floating-filter'] : null;
8582
+ const compConf = renderOpts ? header_renderer.get(renderOpts.name) : null;
8583
+ const flCompConf = isEnableConf(filterRender) ? header_renderer.get(filterRender.name) : null;
8584
+ const rtFloatingFilter = flCompConf ? flCompConf.renderTableFloatingFilter : null;
8585
+ const fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed);
8586
+ const isPadding = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding;
8587
+ const headOverflow = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
8588
+ const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
8589
+ const showEllipsis = headOverflow === 'ellipsis';
8590
+ const showTitle = headOverflow === 'title';
8591
+ const showTooltip = headOverflow === true || headOverflow === 'tooltip';
8592
+ const hasEllipsis = showTitle || showTooltip || showEllipsis;
8593
+ let hasFilter = false;
8594
+ let firstFilterOption = null;
8595
+ if (filters) {
8596
+ firstFilterOption = filters[0];
8597
+ hasFilter = filters.some(item => item.checked);
8598
+ }
8599
+ const columnIndex = colRest.index;
8600
+ const _columnIndex = colRest._index;
8601
+ const cellParams = {
8602
+ $table: $xeTable,
8603
+ $grid: $xeGrid,
8604
+ $gantt: $xeGantt,
8605
+ column,
8606
+ columnIndex,
8607
+ $columnIndex,
8608
+ _columnIndex,
8609
+ option: firstFilterOption,
8610
+ fixed: fixedType,
8611
+ type: header_renderType,
8612
+ isHidden: fixedHiddenColumn,
8613
+ hasFilter
8614
+ };
8615
+ const thAttrs = {
8616
+ colid
8617
+ };
8618
+ const isLastColumn = $columnIndex === cols.length - 1;
8619
+ const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
8620
+ const tcStyle = {};
8621
+ if (hasEllipsis) {
8622
+ tcStyle.height = `${currCellHeight}px`;
8623
+ } else {
8624
+ tcStyle.minHeight = `${currCellHeight}px`;
8625
+ }
8626
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('th', {
8627
+ class: ['vxe-table--column vxe-header--column', colid, fixedHiddenColumn ? 'fixed--hidden' : 'fixed--visible', {
8628
+ [`col--${headAlign}`]: headAlign,
8629
+ [`col--${type}`]: type,
8630
+ 'col--last': isLastColumn,
8631
+ 'col--fixed': column.fixed,
8632
+ 'col--ellipsis': hasEllipsis,
8633
+ 'fixed--width': !isAutoCellWidth,
8634
+ 'is--padding': isPadding,
8635
+ 'is--sortable': column.sortable,
8636
+ 'col--current': currentColumn === column
8637
+ }],
8638
+ key: colid,
8639
+ ...thAttrs
8640
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
8641
+ class: ['vxe-cell', {
8642
+ 'c--title': showTitle,
8643
+ 'c--tooltip': showTooltip,
8644
+ 'c--ellipsis': showEllipsis
8645
+ }],
8646
+ style: tcStyle
8647
+ }, isOptimizeMode && fixedHiddenColumn && !floatingFilters ? [] : [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
8648
+ colid,
8649
+ class: 'vxe-cell--wrapper vxe-header-cell--wrapper'
8650
+ }, flSlot ? $xeTable.callSlot(flSlot, cellParams) : rtFloatingFilter && firstFilterOption ? getSlotVNs(rtFloatingFilter(filterRender, {
8651
+ $table: $xeTable,
8652
+ option: firstFilterOption,
8653
+ column: column,
8654
+ columnIndex,
8655
+ $columnIndex
8656
+ })) : [])])]);
8657
+ });
8658
+ };
8659
+ const renderHeads = (isGroup, isOptimizeMode, headerGroups) => {
8660
+ const {
8661
+ fixedType,
8662
+ fixedColumn
8663
+ } = props;
8496
8664
  const {
8497
8665
  headerRowClassName,
8498
8666
  headerRowStyle
8499
8667
  } = tableProps;
8500
- return headerGroups.map((cols, $rowIndex) => {
8668
+ const {
8669
+ visibleColumn
8670
+ } = tableInternalData;
8671
+ const floatingFilterOpts = computeFloatingFilterOpts.value;
8672
+ const rowVNs = headerGroups.map((cols, $rowIndex) => {
8501
8673
  const params = {
8502
8674
  $table: $xeTable,
8503
8675
  $rowIndex,
@@ -8510,6 +8682,13 @@ function getColumnLastChild(column) {
8510
8682
  style: headerRowStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle : null
8511
8683
  }, renderRows(isGroup, isOptimizeMode, headerGroups, $rowIndex, cols));
8512
8684
  });
8685
+ if (floatingFilterOpts.enabled) {
8686
+ rowVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tr', {
8687
+ key: 'ff',
8688
+ class: ['vxe-header--row']
8689
+ }, renderFilterRows(isOptimizeMode, isOptimizeMode && fixedType ? fixedColumn : visibleColumn)));
8690
+ }
8691
+ return rowVNs;
8513
8692
  };
8514
8693
  const renderVN = () => {
8515
8694
  const {
@@ -10329,12 +10508,16 @@ function panel_createInternalData() {
10329
10508
  const {
10330
10509
  getI18n: filter_panel_getI18n,
10331
10510
  getIcon: filter_panel_getIcon,
10332
- renderer: panel_renderer
10511
+ renderer: panel_renderer,
10512
+ renderEmptyElement: filter_panel_renderEmptyElement
10333
10513
  } = core_.VxeUI;
10334
10514
  /* harmony default export */ var filter_panel = (defineVxeComponent({
10335
10515
  name: 'VxeTableFilterPanel',
10336
10516
  props: {
10337
- filterStore: Object
10517
+ filterStore: {
10518
+ type: Object,
10519
+ default: () => ({})
10520
+ }
10338
10521
  },
10339
10522
  setup(props, context) {
10340
10523
  const xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
@@ -10361,17 +10544,25 @@ const {
10361
10544
  const {
10362
10545
  filterStore
10363
10546
  } = props;
10364
- return filterStore && filterStore.options.some(option => option.checked);
10547
+ const {
10548
+ column
10549
+ } = filterStore;
10550
+ return column && column.filters && column.filters.some(option => option.checked);
10365
10551
  });
10366
10552
  // 全部筛选事件
10367
10553
  const filterCheckAllEvent = (evnt, value) => {
10368
10554
  const {
10369
10555
  filterStore
10370
10556
  } = props;
10371
- filterStore.options.forEach(option => {
10372
- option._checked = value;
10373
- option.checked = value;
10374
- });
10557
+ const {
10558
+ column
10559
+ } = filterStore;
10560
+ if (column && column.filters) {
10561
+ column.filters.forEach(option => {
10562
+ option._checked = value;
10563
+ option.checked = value;
10564
+ });
10565
+ }
10375
10566
  filterStore.isAllSelected = value;
10376
10567
  filterStore.isIndeterminate = false;
10377
10568
  };
@@ -10380,10 +10571,13 @@ const {
10380
10571
  *************************/
10381
10572
  // 确认筛选
10382
10573
  const confirmFilter = evnt => {
10574
+ const {
10575
+ filterStore
10576
+ } = props;
10383
10577
  if (!evnt) {
10384
10578
  warnLog('vxe.error.delFunc', ['confirmFilter', 'saveFilterPanelByEvent']);
10385
10579
  }
10386
- $xeTable.handleFilterConfirmFilter(evnt || new Event('click'));
10580
+ $xeTable.handleFilterConfirmFilter(evnt || new Event('click'), filterStore.column || null);
10387
10581
  };
10388
10582
  // (单选)筛选发生改变
10389
10583
  const changeRadioOption = (evnt, checked, item) => {
@@ -10395,7 +10589,10 @@ const {
10395
10589
  * @param {Event} evnt 事件
10396
10590
  */
10397
10591
  const resetFilter = evnt => {
10398
- $xeTable.handleFilterResetFilter(evnt);
10592
+ const {
10593
+ filterStore
10594
+ } = props;
10595
+ $xeTable.handleFilterResetFilter(evnt, filterStore.column || null);
10399
10596
  };
10400
10597
  // (多选)筛选发生改变
10401
10598
  const changeMultipleOption = (evnt, checked, item) => {
@@ -10409,7 +10606,10 @@ const {
10409
10606
  const {
10410
10607
  filterStore
10411
10608
  } = props;
10412
- if (filterStore.multiple) {
10609
+ const {
10610
+ column
10611
+ } = filterStore;
10612
+ if (column && column.filterMultiple) {
10413
10613
  filterCheckAllEvent(evnt, checked);
10414
10614
  } else {
10415
10615
  resetFilter(evnt);
@@ -10433,10 +10633,17 @@ const {
10433
10633
  } = props;
10434
10634
  const {
10435
10635
  column,
10436
- multiple,
10437
10636
  maxHeight
10438
10637
  } = filterStore;
10439
- const slots = column ? column.slots : null;
10638
+ if (!column) {
10639
+ return [];
10640
+ }
10641
+ const {
10642
+ filterMultiple,
10643
+ filters,
10644
+ slots
10645
+ } = column;
10646
+ const filterOptions = filters || [];
10440
10647
  const filterSlot = slots ? slots.filter : null;
10441
10648
  const params = Object.assign({}, tableInternalData._currFilterParams, {
10442
10649
  $panel: $xeFilterPanel,
@@ -10450,7 +10657,7 @@ const {
10450
10657
  maxHeight: toCssUnit(maxHeight)
10451
10658
  } : {}
10452
10659
  }, $xeTable.callSlot(filterSlot, params))];
10453
- } else if (rtFilter) {
10660
+ } else if (filterRender && rtFilter) {
10454
10661
  return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
10455
10662
  class: 'vxe-table--filter-template',
10456
10663
  style: maxHeight ? {
@@ -10458,8 +10665,8 @@ const {
10458
10665
  } : {}
10459
10666
  }, getSlotVNs(rtFilter(filterRender, params)))];
10460
10667
  }
10461
- const isAllChecked = multiple ? filterStore.isAllSelected : !filterStore.options.some(item => item._checked);
10462
- const isAllIndeterminate = multiple && filterStore.isIndeterminate;
10668
+ const isAllChecked = filterMultiple ? filterStore.isAllSelected : !filterOptions.some(item => item._checked);
10669
+ const isAllIndeterminate = filterMultiple && filterStore.isIndeterminate;
10463
10670
  return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('ul', {
10464
10671
  class: 'vxe-table--filter-header'
10465
10672
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('li', {
@@ -10467,11 +10674,11 @@ const {
10467
10674
  'is--checked': isAllChecked,
10468
10675
  'is--indeterminate': isAllIndeterminate
10469
10676
  }],
10470
- title: filter_panel_getI18n(multiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter'),
10677
+ title: filter_panel_getI18n(filterMultiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter'),
10471
10678
  onClick: evnt => {
10472
10679
  changeAllOption(evnt, !filterStore.isAllSelected);
10473
10680
  }
10474
- }, (multiple ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10681
+ }, (filterMultiple ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10475
10682
  class: ['vxe-checkbox--icon', isAllIndeterminate ? filter_panel_getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? filter_panel_getIcon().TABLE_CHECKBOX_CHECKED : filter_panel_getIcon().TABLE_CHECKBOX_UNCHECKED]
10476
10683
  })] : []).concat([(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10477
10684
  class: 'vxe-checkbox--label'
@@ -10480,7 +10687,7 @@ const {
10480
10687
  style: maxHeight ? {
10481
10688
  maxHeight: toCssUnit(maxHeight)
10482
10689
  } : {}
10483
- }, filterStore.options.map(item => {
10690
+ }, filterOptions.map(item => {
10484
10691
  const isChecked = item._checked;
10485
10692
  const isIndeterminate = false;
10486
10693
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('li', {
@@ -10491,7 +10698,7 @@ const {
10491
10698
  onClick: evnt => {
10492
10699
  changeOption(evnt, !item._checked, item);
10493
10700
  }
10494
- }, (multiple ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10701
+ }, (filterMultiple ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10495
10702
  class: ['vxe-checkbox--icon', isIndeterminate ? filter_panel_getIcon().TABLE_CHECKBOX_INDETERMINATE : isChecked ? filter_panel_getIcon().TABLE_CHECKBOX_CHECKED : filter_panel_getIcon().TABLE_CHECKBOX_UNCHECKED]
10496
10703
  })] : []).concat([(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10497
10704
  class: 'vxe-checkbox--label'
@@ -10503,17 +10710,20 @@ const {
10503
10710
  filterStore
10504
10711
  } = props;
10505
10712
  const {
10506
- column,
10507
- multiple
10713
+ column
10508
10714
  } = filterStore;
10715
+ if (!column) {
10716
+ return [];
10717
+ }
10509
10718
  const filterOpts = computeFilterOpts.value;
10510
10719
  const hasCheckOption = computeHasCheckOption.value;
10511
10720
  const {
10512
- filterRender
10721
+ filterRender,
10722
+ filterMultiple
10513
10723
  } = column;
10514
10724
  const compConf = isEnableConf(filterRender) ? panel_renderer.get(filterRender.name) : null;
10515
10725
  const isDisabled = !hasCheckOption && !filterStore.isAllSelected && !filterStore.isIndeterminate;
10516
- return multiple && (compConf ? !(compConf.showTableFilterFooter === false || compConf.showFilterFooter === false || compConf.isFooter === false) : true) ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
10726
+ return (compConf ? !(compConf.showTableFilterFooter === false || compConf.showFilterFooter === false || compConf.isFooter === false) : filterMultiple) ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
10517
10727
  class: 'vxe-table--filter-footer'
10518
10728
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('button', {
10519
10729
  class: {
@@ -10534,11 +10744,13 @@ const {
10534
10744
  } = tableReactData;
10535
10745
  const {
10536
10746
  visible,
10537
- multiple,
10538
10747
  column
10539
10748
  } = filterStore;
10749
+ if (!column) {
10750
+ return filter_panel_renderEmptyElement($xeFilterPanel);
10751
+ }
10540
10752
  const filterRender = column ? column.filterRender : null;
10541
- const compConf = isEnableConf(filterRender) ? panel_renderer.get(filterRender.name) : null;
10753
+ const compConf = filterRender && isEnableConf(filterRender) ? panel_renderer.get(filterRender.name) : null;
10542
10754
  const filterClassName = compConf ? compConf.tableFilterClassName || compConf.filterClassName : '';
10543
10755
  const params = Object.assign({}, tableInternalData._currFilterParams, {
10544
10756
  $panel: $xeFilterPanel,
@@ -10563,7 +10775,7 @@ const {
10563
10775
  class: ['vxe-table--filter-wrapper', 'filter--prevent-default', className, getPropClass(filterClassName, params), {
10564
10776
  [`size--${vSize}`]: vSize,
10565
10777
  'is--animat': tableProps.animat,
10566
- 'is--multiple': multiple,
10778
+ 'is--multiple': column.filterMultiple,
10567
10779
  'is--active': visible
10568
10780
  }],
10569
10781
  style: filterStore.style
@@ -11451,57 +11663,19 @@ hook_hooks.add('tableFilterModule', {
11451
11663
  computeFilterOpts,
11452
11664
  computeMouseOpts
11453
11665
  } = $xeTable.getComputeMaps();
11454
- // 确认筛选
11455
- const handleFilterConfirmFilter = evnt => {
11456
- const {
11457
- filterStore
11458
- } = reactData;
11459
- filterStore.options.forEach(option => {
11460
- option.checked = option._checked;
11461
- });
11462
- $xeTable.confirmFilterEvent(evnt);
11463
- };
11464
- // (单选)筛选发生改变
11465
- const changeRadioOption = (evnt, checked, item) => {
11466
- const {
11467
- filterStore
11468
- } = reactData;
11469
- filterStore.options.forEach(option => {
11470
- option._checked = false;
11471
- });
11472
- item._checked = checked;
11473
- $xeTable.checkFilterOptions();
11474
- handleFilterConfirmFilter(evnt);
11475
- };
11476
- // (多选)筛选发生改变
11477
- const changeMultipleOption = (evnt, checked, item) => {
11478
- item._checked = checked;
11479
- $xeTable.checkFilterOptions();
11480
- };
11481
- /**
11482
- * 重置筛选
11483
- * 当筛选面板中的重置按钮被按下时触发
11484
- * @param {Event} evnt 事件
11485
- */
11486
- const handleFilterResetFilter = evnt => {
11487
- const {
11488
- filterStore
11489
- } = reactData;
11490
- $xeTable.handleClearFilter(filterStore.column);
11491
- $xeTable.confirmFilterEvent(evnt);
11492
- if (evnt) {
11493
- $xeTable.dispatchEvent('clear-filter', {
11494
- filterList: []
11495
- }, evnt);
11496
- }
11497
- };
11498
11666
  const filterPrivateMethods = {
11499
11667
  checkFilterOptions() {
11500
11668
  const {
11501
11669
  filterStore
11502
11670
  } = reactData;
11503
- filterStore.isAllSelected = filterStore.options.every(item => item._checked);
11504
- filterStore.isIndeterminate = !filterStore.isAllSelected && filterStore.options.some(item => item._checked);
11671
+ const {
11672
+ column
11673
+ } = filterStore;
11674
+ if (column) {
11675
+ const filterOptions = column.filters || [];
11676
+ filterStore.isAllSelected = filterOptions.every(item => item._checked);
11677
+ filterStore.isIndeterminate = !filterStore.isAllSelected && filterOptions.some(item => item._checked);
11678
+ }
11505
11679
  },
11506
11680
  /**
11507
11681
  * 点击筛选事件
@@ -11644,11 +11818,13 @@ hook_hooks.add('tableFilterModule', {
11644
11818
  const filterOpts = computeFilterOpts.value;
11645
11819
  const mouseOpts = computeMouseOpts.value;
11646
11820
  const {
11647
- field
11821
+ field,
11822
+ filters
11648
11823
  } = column;
11824
+ const filterOptions = filters || [];
11649
11825
  const values = [];
11650
11826
  const datas = [];
11651
- column.filters.forEach(item => {
11827
+ filterOptions.forEach(item => {
11652
11828
  if (item.checked) {
11653
11829
  values.push(item.value);
11654
11830
  datas.push(item.data);
@@ -11703,32 +11879,84 @@ hook_hooks.add('tableFilterModule', {
11703
11879
  /**
11704
11880
  * 确认筛选
11705
11881
  * 当筛选面板中的确定按钮被按下时触发
11706
- * @param {Event} evnt 事件
11707
11882
  */
11708
- confirmFilterEvent(evnt) {
11883
+ confirmFilterEvent(evnt, column) {
11884
+ if (column) {
11885
+ $xeTable.handleColumnConfirmFilter(column, evnt);
11886
+ }
11887
+ },
11888
+ // (单选)筛选发生改变
11889
+ handleFilterChangeRadioOption(evnt, checked, item) {
11709
11890
  const {
11710
11891
  filterStore
11711
11892
  } = reactData;
11712
11893
  const {
11713
11894
  column
11714
11895
  } = filterStore;
11715
- $xeTable.handleColumnConfirmFilter(column, evnt);
11896
+ if (column) {
11897
+ const filterOptions = column.filters || [];
11898
+ filterOptions.forEach(option => {
11899
+ option._checked = false;
11900
+ });
11901
+ item._checked = checked;
11902
+ $xeTable.checkFilterOptions();
11903
+ $xeTable.handleFilterConfirmFilter(evnt, column);
11904
+ }
11905
+ },
11906
+ // (多选)筛选发生改变
11907
+ handleFilterChangeMultipleOption(evnt, checked, item) {
11908
+ item._checked = checked;
11909
+ $xeTable.checkFilterOptions();
11716
11910
  },
11717
- handleFilterChangeRadioOption: changeRadioOption,
11718
- handleFilterChangeMultipleOption: changeMultipleOption,
11719
11911
  // 筛选发生改变
11720
11912
  handleFilterChangeOption(evnt, checked, item) {
11721
11913
  const {
11722
11914
  filterStore
11723
11915
  } = reactData;
11724
- if (filterStore.multiple) {
11725
- changeMultipleOption(evnt, checked, item);
11726
- } else {
11727
- changeRadioOption(evnt, checked, item);
11916
+ const {
11917
+ fullColumnIdData
11918
+ } = internalData;
11919
+ let column = filterStore.column;
11920
+ if (!column) {
11921
+ const colRest = fullColumnIdData[item._colId];
11922
+ if (colRest) {
11923
+ column = colRest.column;
11924
+ filterStore.column = column;
11925
+ }
11926
+ }
11927
+ if (column) {
11928
+ if (column.filterMultiple) {
11929
+ $xeTable.handleFilterChangeMultipleOption(evnt, checked, item);
11930
+ } else {
11931
+ $xeTable.handleFilterChangeRadioOption(evnt, checked, item);
11932
+ }
11933
+ }
11934
+ },
11935
+ // 确认筛选
11936
+ handleFilterConfirmFilter(evnt, column) {
11937
+ if (column) {
11938
+ const filterOptions = column.filters || [];
11939
+ filterOptions.forEach(option => {
11940
+ option.checked = option._checked;
11941
+ });
11942
+ $xeTable.confirmFilterEvent(evnt, column);
11728
11943
  }
11729
11944
  },
11730
- handleFilterConfirmFilter,
11731
- handleFilterResetFilter
11945
+ /**
11946
+ * 重置筛选
11947
+ * 当筛选面板中的重置按钮被按下时触发
11948
+ */
11949
+ handleFilterResetFilter(evnt, column) {
11950
+ if (column) {
11951
+ $xeTable.handleClearFilter(column);
11952
+ $xeTable.confirmFilterEvent(evnt, column);
11953
+ if (evnt) {
11954
+ $xeTable.dispatchEvent('clear-filter', {
11955
+ filterList: []
11956
+ }, evnt);
11957
+ }
11958
+ }
11959
+ }
11732
11960
  };
11733
11961
  const filterMethods = {
11734
11962
  /**
@@ -11765,7 +11993,7 @@ hook_hooks.add('tableFilterModule', {
11765
11993
  } = reactData;
11766
11994
  const column = handleFieldOrColumn($xeTable, fieldOrColumn);
11767
11995
  if (column && column.filters) {
11768
- column.filters = toFilters(options || []);
11996
+ column.filters = toFilters(options || [], column.id);
11769
11997
  if (isUpdate) {
11770
11998
  return $xeTable.handleColumnConfirmFilter(column, null);
11771
11999
  } else {
@@ -11814,20 +12042,60 @@ hook_hooks.add('tableFilterModule', {
11814
12042
  }
11815
12043
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
11816
12044
  },
12045
+ saveFilter(fieldOrColumn) {
12046
+ if (fieldOrColumn) {
12047
+ const column = handleFieldOrColumn($xeTable, fieldOrColumn);
12048
+ $xeTable.handleFilterConfirmFilter(null, column);
12049
+ }
12050
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
12051
+ },
12052
+ saveFilterByEvent(evnt, fieldOrColumn) {
12053
+ if (fieldOrColumn) {
12054
+ const column = handleFieldOrColumn($xeTable, fieldOrColumn);
12055
+ $xeTable.handleFilterConfirmFilter(evnt, column);
12056
+ }
12057
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
12058
+ },
12059
+ resetFilter(fieldOrColumn) {
12060
+ if (fieldOrColumn) {
12061
+ const column = handleFieldOrColumn($xeTable, fieldOrColumn);
12062
+ $xeTable.handleFilterResetFilter(null, column);
12063
+ }
12064
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
12065
+ },
12066
+ resetFilterByEvent(evnt, fieldOrColumn) {
12067
+ if (fieldOrColumn) {
12068
+ const column = handleFieldOrColumn($xeTable, fieldOrColumn);
12069
+ $xeTable.handleFilterResetFilter(evnt, column);
12070
+ }
12071
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
12072
+ },
11817
12073
  saveFilterPanel() {
11818
- handleFilterConfirmFilter(null);
12074
+ const {
12075
+ filterStore
12076
+ } = reactData;
12077
+ $xeTable.handleFilterConfirmFilter(null, filterStore.column || null);
11819
12078
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
11820
12079
  },
11821
12080
  saveFilterPanelByEvent(evnt) {
11822
- handleFilterConfirmFilter(evnt);
12081
+ const {
12082
+ filterStore
12083
+ } = reactData;
12084
+ $xeTable.handleFilterConfirmFilter(evnt, filterStore.column || null);
11823
12085
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
11824
12086
  },
11825
12087
  resetFilterPanel() {
11826
- handleFilterResetFilter(null);
12088
+ const {
12089
+ filterStore
12090
+ } = reactData;
12091
+ $xeTable.handleFilterResetFilter(null, filterStore.column || null);
11827
12092
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
11828
12093
  },
11829
12094
  resetFilterPanelByEvent(evnt) {
11830
- handleFilterResetFilter(evnt);
12095
+ const {
12096
+ filterStore
12097
+ } = reactData;
12098
+ $xeTable.handleFilterResetFilter(evnt, filterStore.column || null);
11831
12099
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
11832
12100
  },
11833
12101
  getCheckedFilters() {
@@ -11840,10 +12108,11 @@ hook_hooks.add('tableFilterModule', {
11840
12108
  field,
11841
12109
  filters
11842
12110
  } = column;
12111
+ const filterOptions = filters || [];
11843
12112
  const valueList = [];
11844
12113
  const dataList = [];
11845
- if (filters && filters.length) {
11846
- filters.forEach(item => {
12114
+ if (filterOptions) {
12115
+ filterOptions.forEach(item => {
11847
12116
  if (item.checked) {
11848
12117
  valueList.push(item.value);
11849
12118
  dataList.push(item.data);
@@ -17257,11 +17526,18 @@ function getOldComponent({
17257
17526
  }) {
17258
17527
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)(getOldComponentName(name));
17259
17528
  }
17260
- function handleConfirmFilter(params, checked, option) {
17529
+ function updateFilterChangeOption(params, checked, option) {
17530
+ const {
17531
+ $table
17532
+ } = params;
17533
+ $table.updateFilterOptionStatus(option, checked);
17534
+ }
17535
+ function saveFilterEvent(params) {
17261
17536
  const {
17262
- $panel
17537
+ $table,
17538
+ column
17263
17539
  } = params;
17264
- $panel.changeOption({}, checked, option);
17540
+ $table.saveFilterByEvent(new Event('change'), column);
17265
17541
  }
17266
17542
  function getNativeAttrs(renderOpts) {
17267
17543
  let {
@@ -17377,6 +17653,7 @@ function getNativeElementOns(renderOpts, params, eFns) {
17377
17653
  return ons;
17378
17654
  }
17379
17655
  const blurEvent = 'blur';
17656
+ const clearEvent = 'clear';
17380
17657
  /**
17381
17658
  * 组件事件处理
17382
17659
  * @param renderOpts
@@ -17393,7 +17670,8 @@ function getComponentOns(renderOpts, params, eFns, eventOns) {
17393
17670
  const {
17394
17671
  model: modelFunc,
17395
17672
  change: changeFunc,
17396
- blur: blurFunc
17673
+ blur: blurFunc,
17674
+ clear: clearFunc
17397
17675
  } = eFns || {};
17398
17676
  const ons = {};
17399
17677
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().objectEach(events, (func, key) => {
@@ -17428,6 +17706,14 @@ function getComponentOns(renderOpts, params, eFns, eventOns) {
17428
17706
  }
17429
17707
  };
17430
17708
  }
17709
+ if (clearFunc) {
17710
+ ons[getOnName(clearEvent)] = function (...args) {
17711
+ clearFunc(...args);
17712
+ if (events && events[clearEvent]) {
17713
+ events[clearEvent](params, ...args);
17714
+ }
17715
+ };
17716
+ }
17431
17717
  return eventOns ? Object.assign(ons, eventOns) : ons;
17432
17718
  }
17433
17719
  function getEditOns(renderOpts, params) {
@@ -17479,10 +17765,57 @@ function getFilterOns(renderOpts, params, option) {
17479
17765
  option.data = value;
17480
17766
  },
17481
17767
  change() {
17482
- handleConfirmFilter(params, !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(option.data), option);
17768
+ updateFilterChangeOption(params, !isEmptyValue(option.data), option);
17483
17769
  },
17484
17770
  blur() {
17485
- handleConfirmFilter(params, !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(option.data), option);
17771
+ updateFilterChangeOption(params, !isEmptyValue(option.data), option);
17772
+ }
17773
+ });
17774
+ }
17775
+ function getFloatingFilterOns(renderOpts, params, option) {
17776
+ const {
17777
+ $table,
17778
+ column
17779
+ } = params;
17780
+ if (hasInputType(renderOpts)) {
17781
+ return getComponentOns(renderOpts, params, {
17782
+ model(value) {
17783
+ // 处理 model 值双向绑定
17784
+ option.data = value;
17785
+ },
17786
+ change() {
17787
+ updateFilterChangeOption(params, !isEmptyValue(option.data), option);
17788
+ },
17789
+ clear() {
17790
+ updateFilterChangeOption(params, !isEmptyValue(option.data), option);
17791
+ saveFilterEvent(params);
17792
+ },
17793
+ blur() {
17794
+ $table.saveFilterByEvent(new Event('change'), column);
17795
+ }
17796
+ }, renderOpts.name === 'VxeNumberInput' ? {
17797
+ [getOnName('plus-number')]() {
17798
+ updateFilterChangeOption(params, !isEmptyValue(option.data), option);
17799
+ saveFilterEvent(params);
17800
+ },
17801
+ [getOnName('minus-number')]() {
17802
+ updateFilterChangeOption(params, !isEmptyValue(option.data), option);
17803
+ saveFilterEvent(params);
17804
+ }
17805
+ } : {});
17806
+ }
17807
+ return getComponentOns(renderOpts, params, {
17808
+ model(value) {
17809
+ // 处理 model 值双向绑定
17810
+ option.data = value;
17811
+ },
17812
+ clear() {
17813
+ updateFilterChangeOption(params, !isEmptyValue(option.data), option);
17814
+ $table.saveFilterByEvent(new Event('change'), column);
17815
+ },
17816
+ change() {
17817
+ updateFilterChangeOption(params, !isEmptyValue(option.data), option);
17818
+ $table.saveFilterByEvent(new Event('change'), column);
17486
17819
  }
17487
17820
  });
17488
17821
  }
@@ -17536,10 +17869,10 @@ function getNativeFilterOns(renderOpts, params, option) {
17536
17869
  }
17537
17870
  },
17538
17871
  change() {
17539
- handleConfirmFilter(params, !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(option.data), option);
17872
+ updateFilterChangeOption(params, !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(option.data), option);
17540
17873
  },
17541
17874
  blur() {
17542
- handleConfirmFilter(params, !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(option.data), option);
17875
+ updateFilterChangeOption(params, !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(option.data), option);
17543
17876
  }
17544
17877
  });
17545
17878
  }
@@ -17717,6 +18050,21 @@ function defaultFilterRender(renderOpts, params) {
17717
18050
  });
17718
18051
  });
17719
18052
  }
18053
+ function defaultFloatingFilterRender(renderOpts, params) {
18054
+ const {
18055
+ option
18056
+ } = params;
18057
+ const optionValue = option.data;
18058
+ return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(getDefaultComponent(renderOpts), {
18059
+ ...getCellEditFilterProps(renderOpts, renderOpts, optionValue),
18060
+ ...getFloatingFilterOns(renderOpts, params, option)
18061
+ })];
18062
+ }
18063
+ function defaultFilterOptions() {
18064
+ return [{
18065
+ data: null
18066
+ }];
18067
+ }
17720
18068
  /**
17721
18069
  * 已废弃
17722
18070
  * @deprecated
@@ -18037,7 +18385,9 @@ render_renderer.mixin({
18037
18385
  return getCellLabelVNs(renderOpts, params, cellValue);
18038
18386
  },
18039
18387
  renderTableDefault: defaultEditRender,
18388
+ createTableFilterOptions: defaultFilterOptions,
18040
18389
  renderTableFilter: defaultFilterRender,
18390
+ renderTableFloatingFilter: defaultFloatingFilterRender,
18041
18391
  tableFilterDefaultMethod: handleInputFilterMethod
18042
18392
  },
18043
18393
  FormatNumberInput: {
@@ -18103,7 +18453,9 @@ render_renderer.mixin({
18103
18453
  return getFuncText(itemValue, 1);
18104
18454
  },
18105
18455
  renderTableDefault: defaultEditRender,
18456
+ createTableFilterOptions: defaultFilterOptions,
18106
18457
  renderTableFilter: defaultFilterRender,
18458
+ renderTableFloatingFilter: defaultFloatingFilterRender,
18107
18459
  tableFilterDefaultMethod: handleInputFilterMethod,
18108
18460
  tableExportMethod(params) {
18109
18461
  const {
@@ -18134,7 +18486,9 @@ render_renderer.mixin({
18134
18486
  return getCellLabelVNs(renderOpts, params, cellValue);
18135
18487
  },
18136
18488
  renderTableDefault: defaultEditRender,
18489
+ createTableFilterOptions: defaultFilterOptions,
18137
18490
  renderTableFilter: defaultFilterRender,
18491
+ renderTableFloatingFilter: defaultFloatingFilterRender,
18138
18492
  tableFilterDefaultMethod: handleFilterMethod
18139
18493
  },
18140
18494
  VxeDateRangePicker: {
@@ -18254,6 +18608,7 @@ render_renderer.mixin({
18254
18608
  renderTableCell(renderOpts, params) {
18255
18609
  return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
18256
18610
  },
18611
+ createTableFilterOptions: defaultFilterOptions,
18257
18612
  renderTableFilter(renderOpts, params) {
18258
18613
  const {
18259
18614
  column
@@ -18278,6 +18633,27 @@ render_renderer.mixin({
18278
18633
  });
18279
18634
  });
18280
18635
  },
18636
+ renderTableFloatingFilter(renderOpts, params) {
18637
+ const {
18638
+ option
18639
+ } = params;
18640
+ const {
18641
+ options,
18642
+ optionProps,
18643
+ optionGroups,
18644
+ optionGroupProps
18645
+ } = renderOpts;
18646
+ const optionValue = option.data;
18647
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(getDefaultComponent(renderOpts), {
18648
+ ...getCellEditFilterProps(renderOpts, params, optionValue, {
18649
+ options,
18650
+ optionProps,
18651
+ optionGroups,
18652
+ optionGroupProps
18653
+ }),
18654
+ ...getFloatingFilterOns(renderOpts, params, option)
18655
+ });
18656
+ },
18281
18657
  tableFilterDefaultMethod: handleFilterMethod,
18282
18658
  tableExportMethod: handleExportSelectMethod
18283
18659
  },
@@ -18626,7 +19002,7 @@ upDataFlag:0,// 刷新列标识,当列的特定属性被改变时,触发表
18626
19002
  reColumnFlag:0,// 初始化标识
18627
19003
  initStore:{filter:false,import:false,export:false,custom:false},// 自定义列相关的信息
18628
19004
  customStore:{btnEl:null,isAll:false,isIndeterminate:false,activeBtn:false,activeWrapper:false,visible:false,maxHeight:0,oldSortMaps:{},oldFixedMaps:{},oldVisibleMaps:{}},customColumnList:[],// 当前选中的筛选列
18629
- filterStore:{isAllSelected:false,isIndeterminate:false,style:null,options:[],column:null,multiple:false,visible:false,maxHeight:null},// 存放列相关的信息
19005
+ filterStore:{isAllSelected:false,isIndeterminate:false,style:null,column:null,visible:false,maxHeight:null},// 存放列相关的信息
18630
19006
  columnStore:{leftList:[],centerList:[],rightList:[],resizeList:[],pxList:[],pxMinList:[],autoMinList:[],scaleList:[],scaleMinList:[],autoList:[],remainList:[]},// 存放快捷菜单的信息
18631
19007
  ctxMenuStore:{selected:null,visible:false,showChild:false,selectChild:null,list:[],style:null},// 存放可编辑相关信息
18632
19008
  editStore:{indexs:{columns:[]},titles:{columns:[]},// 选中源
@@ -18645,10 +19021,10 @@ exportStore:{inited:false,name:'',modeList:[],typeList:[],columns:[],isPrint:fal
18645
19021
  return Object.assign({},globalScrollX,scrollX);}if(globalVirtualXConfig){return Object.assign({},globalVirtualXConfig,virtualXConfig);}// 已废弃,保留兼容
18646
19022
  return Object.assign({},globalScrollX,scrollX);});const computeVirtualYOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{virtualYConfig,scrollY}=props;const globalVirtualYConfig=table_getConfig().table.virtualYConfig;const globalScrollY=table_getConfig().table.scrollY;if(virtualYConfig){return Object.assign({},globalVirtualYConfig,virtualYConfig);}if(scrollY){// 已废弃,保留兼容
18647
19023
  return Object.assign({},globalScrollY,scrollY);}if(globalVirtualYConfig){return Object.assign({},globalVirtualYConfig,virtualYConfig);}// 已废弃,保留兼容
18648
- return Object.assign({},globalScrollY,scrollY);});const computeScrollbarOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.scrollbarConfig,props.scrollbarConfig);});const computeScrollbarXToTop=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const scrollbarOpts=computeScrollbarOpts.value;return!!(scrollbarOpts.x&&scrollbarOpts.x.position==='top');});const computeScrollbarYToLeft=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const scrollbarOpts=computeScrollbarOpts.value;return!!(scrollbarOpts.y&&scrollbarOpts.y.position==='left');});const computeScrollYThreshold=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const virtualYOpts=computeVirtualYOpts.value;const{threshold}=virtualYOpts;if(threshold){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(threshold);}return 0;});const computeRowHeightMaps=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return reactData.rowHeightStore;});const computeDefaultRowHeight=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const vSize=computeSize.value;const rowHeightMaps=computeRowHeightMaps.value;return rowHeightMaps[vSize||'default']||18;});const computeColumnOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.columnConfig,props.columnConfig);});const computeCurrentColumnOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.currentColumnConfig,props.currentColumnConfig);});const computeCellOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const cellOpts=Object.assign({},table_getConfig().table.cellConfig,props.cellConfig);if(cellOpts.height){cellOpts.height=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellOpts.height);}return cellOpts;});const computeHeaderCellOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const headerCellOpts=Object.assign({},table_getConfig().table.headerCellConfig,props.headerCellConfig);const defaultRowHeight=computeDefaultRowHeight.value;const cellOpts=computeCellOpts.value;let headCellHeight=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(getCalcHeight(headerCellOpts.height||cellOpts.height));if($xeGantt){const{computeTaskScaleConfs}=$xeGantt.getComputeMaps();const taskScaleConfs=computeTaskScaleConfs.value;if(taskScaleConfs&&taskScaleConfs.length>2){const ganttMinHeadCellHeight=defaultRowHeight/2*taskScaleConfs.length;headCellHeight=Math.max(ganttMinHeadCellHeight,headCellHeight);}}headerCellOpts.height=headCellHeight;return headerCellOpts;});const computeFooterCellOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const footerCellOpts=Object.assign({},table_getConfig().table.footerCellConfig,props.footerCellConfig);const cellOpts=computeCellOpts.value;footerCellOpts.height=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(getCalcHeight(footerCellOpts.height||cellOpts.height));return footerCellOpts;});const computeRowOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.rowConfig,props.rowConfig);});const computeAggregateOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.aggregateConfig||table_getConfig().table.rowGroupConfig,props.aggregateConfig||props.rowGroupConfig);});const computeRowGroupOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return computeAggregateOpts.value;});const computeCurrentRowOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.currentRowConfig,props.currentRowConfig);});const computeRowDragOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.rowDragConfig,props.rowDragConfig);});const computeColumnDragOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.columnDragConfig,props.columnDragConfig);});const computeResizeOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.resizeConfig,props.resizeConfig);});const computeResizableOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.resizableConfig,props.resizableConfig);});const computeSeqOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({startIndex:0},table_getConfig().table.seqConfig,props.seqConfig);});const computeRadioOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.radioConfig,props.radioConfig);});const computeCheckboxOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.checkboxConfig,props.checkboxConfig);});const computeTooltipOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().tooltip,table_getConfig().table.tooltipConfig,props.tooltipConfig);});const computeHeaderTooltipOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().tooltip,table_getConfig().table.headerTooltipConfig,props.headerTooltipConfig);});const computeFooterTooltipOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().tooltip,table_getConfig().table.footerTooltipConfig,props.footerTooltipConfig);});const computeTableTipConfig=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{tooltipStore}=reactData;const tooltipOpts=computeTooltipOpts.value;return Object.assign({},tooltipOpts,tooltipStore.currOpts);});const computeValidTipConfig=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const tooltipOpts=computeTooltipOpts.value;return Object.assign({},tooltipOpts);});const computeEditOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.editConfig,props.editConfig);});const computeSortOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({orders:['asc','desc',null]},table_getConfig().table.sortConfig,props.sortConfig);});const computeFilterOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.filterConfig,props.filterConfig);});const computeMouseOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.mouseConfig,props.mouseConfig);});const computeAreaOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.areaConfig,props.areaConfig);});const computeKeyboardOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.keyboardConfig,props.keyboardConfig);});const computeClipOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.clipConfig,props.clipConfig);});const computeFNROpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const fnrOpts=computeFnrOpts.value;return fnrOpts;});const computeFnrOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.fnrConfig,props.fnrConfig);});const computeMenuOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.menuConfig,props.menuConfig);});const computeLeftFixedWidth=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{columnStore}=reactData;const{leftList}=columnStore;let leftWidth=0;for(let i=0;i<leftList.length;i++){const column=leftList[i];leftWidth+=column.renderWidth;}return leftWidth;});const computeRightFixedWidth=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{columnStore}=reactData;const{rightList}=columnStore;let leftWidth=0;for(let i=0;i<rightList.length;i++){const column=rightList[i];leftWidth+=column.renderWidth;}return leftWidth;});const computeHeaderMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const menuOpts=computeMenuOpts.value;const headerOpts=menuOpts.header;return headerOpts&&headerOpts.options?headerOpts.options:[];});const computeBodyMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const menuOpts=computeMenuOpts.value;const bodyOpts=menuOpts.body;return bodyOpts&&bodyOpts.options?bodyOpts.options:[];});const computeFooterMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const menuOpts=computeMenuOpts.value;const footerOpts=menuOpts.footer;return footerOpts&&footerOpts.options?footerOpts.options:[];});const computeIsMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const isContentMenu=computeIsContentMenu.value;return isContentMenu;});const computeIsContentMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const menuOpts=computeMenuOpts.value;const headerMenu=computeHeaderMenu.value;const bodyMenu=computeBodyMenu.value;const footerMenu=computeFooterMenu.value;return!!(props.menuConfig&&isEnableConf(menuOpts)&&(headerMenu.length||bodyMenu.length||footerMenu.length));});const computeMenuList=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{ctxMenuStore}=reactData;const rest=[];ctxMenuStore.list.forEach(list=>{list.forEach(item=>{rest.push(item);});});return rest;});const computeExportOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.exportConfig,props.exportConfig);});const computeImportOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.importConfig,props.importConfig);});const computePrintOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.printConfig,props.printConfig);});const computeExpandOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.expandConfig,props.expandConfig);});const computeTreeOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.treeConfig,props.treeConfig);});const computeEmptyOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.emptyRender,props.emptyRender);});const computeLoadingOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.loadingConfig,props.loadingConfig);});const computeCellOffsetWidth=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return props.border?Math.max(2,Math.ceil(reactData.scrollbarWidth/reactData.tableColumn.length)):1;});const computeCustomOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.customConfig,props.customConfig);});const computeTableRowExpandedList=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{tableData,rowExpandedFlag,expandColumn,rowGroupExpandedFlag,treeExpandedFlag}=reactData;const{visibleDataRowIdData,rowExpandedMaps}=internalData;const expandList=[];if(tableData.length&&expandColumn&&rowExpandedFlag&&rowGroupExpandedFlag&&treeExpandedFlag){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(rowExpandedMaps,(row,rowid)=>{if(visibleDataRowIdData[rowid]){expandList.push(row);}});}return expandList;});const computeAutoWidthColumnList=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{visibleColumn}=internalData;const{tableColumn}=reactData;return tableColumn.length||visibleColumn.length?visibleColumn.filter(column=>column.width==='auto'||column.minWidth==='auto'):[];});const computeFixedColumnSize=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{tableColumn}=reactData;const{collectColumn}=internalData;let fixedSize=0;// 只判断第一层
19024
+ return Object.assign({},globalScrollY,scrollY);});const computeScrollbarOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.scrollbarConfig,props.scrollbarConfig);});const computeScrollbarXToTop=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const scrollbarOpts=computeScrollbarOpts.value;return!!(scrollbarOpts.x&&scrollbarOpts.x.position==='top');});const computeScrollbarYToLeft=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const scrollbarOpts=computeScrollbarOpts.value;return!!(scrollbarOpts.y&&scrollbarOpts.y.position==='left');});const computeScrollYThreshold=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const virtualYOpts=computeVirtualYOpts.value;const{threshold}=virtualYOpts;if(threshold){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(threshold);}return 0;});const computeRowHeightMaps=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return reactData.rowHeightStore;});const computeDefaultRowHeight=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const vSize=computeSize.value;const rowHeightMaps=computeRowHeightMaps.value;return rowHeightMaps[vSize||'default']||18;});const computeColumnOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.columnConfig,props.columnConfig);});const computeCurrentColumnOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.currentColumnConfig,props.currentColumnConfig);});const computeCellOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const cellOpts=Object.assign({},table_getConfig().table.cellConfig,props.cellConfig);if(cellOpts.height){cellOpts.height=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellOpts.height);}return cellOpts;});const computeHeaderCellOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const headerCellOpts=Object.assign({},table_getConfig().table.headerCellConfig,props.headerCellConfig);const defaultRowHeight=computeDefaultRowHeight.value;const cellOpts=computeCellOpts.value;let headCellHeight=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(getCalcHeight(headerCellOpts.height||cellOpts.height));if($xeGantt){const{computeTaskScaleConfs}=$xeGantt.getComputeMaps();const taskScaleConfs=computeTaskScaleConfs.value;if(taskScaleConfs&&taskScaleConfs.length>2){const ganttMinHeadCellHeight=defaultRowHeight/2*taskScaleConfs.length;headCellHeight=Math.max(ganttMinHeadCellHeight,headCellHeight);}}headerCellOpts.height=headCellHeight;return headerCellOpts;});const computeFooterCellOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const footerCellOpts=Object.assign({},table_getConfig().table.footerCellConfig,props.footerCellConfig);const cellOpts=computeCellOpts.value;footerCellOpts.height=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(getCalcHeight(footerCellOpts.height||cellOpts.height));return footerCellOpts;});const computeRowOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.rowConfig,props.rowConfig);});const computeAggregateOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.aggregateConfig||table_getConfig().table.rowGroupConfig,props.aggregateConfig||props.rowGroupConfig);});const computeRowGroupOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return computeAggregateOpts.value;});const computeCurrentRowOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.currentRowConfig,props.currentRowConfig);});const computeRowDragOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.rowDragConfig,props.rowDragConfig);});const computeColumnDragOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.columnDragConfig,props.columnDragConfig);});const computeResizeOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.resizeConfig,props.resizeConfig);});const computeResizableOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.resizableConfig,props.resizableConfig);});const computeSeqOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({startIndex:0},table_getConfig().table.seqConfig,props.seqConfig);});const computeRadioOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.radioConfig,props.radioConfig);});const computeCheckboxOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.checkboxConfig,props.checkboxConfig);});const computeTooltipOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().tooltip,table_getConfig().table.tooltipConfig,props.tooltipConfig);});const computeHeaderTooltipOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().tooltip,table_getConfig().table.headerTooltipConfig,props.headerTooltipConfig);});const computeFooterTooltipOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().tooltip,table_getConfig().table.footerTooltipConfig,props.footerTooltipConfig);});const computeTableTipConfig=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{tooltipStore}=reactData;const tooltipOpts=computeTooltipOpts.value;return Object.assign({},tooltipOpts,tooltipStore.currOpts);});const computeValidTipConfig=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const tooltipOpts=computeTooltipOpts.value;return Object.assign({},tooltipOpts);});const computeEditOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.editConfig,props.editConfig);});const computeSortOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({orders:['asc','desc',null]},table_getConfig().table.sortConfig,props.sortConfig);});const computeFilterOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.filterConfig,props.filterConfig);});const computeFloatingFilterOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.floatingFilterConfig,props.floatingFilterConfig);});const computeMouseOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.mouseConfig,props.mouseConfig);});const computeAreaOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.areaConfig,props.areaConfig);});const computeKeyboardOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.keyboardConfig,props.keyboardConfig);});const computeClipOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.clipConfig,props.clipConfig);});const computeFNROpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const fnrOpts=computeFnrOpts.value;return fnrOpts;});const computeFnrOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.fnrConfig,props.fnrConfig);});const computeMenuOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.menuConfig,props.menuConfig);});const computeLeftFixedWidth=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{columnStore}=reactData;const{leftList}=columnStore;let leftWidth=0;for(let i=0;i<leftList.length;i++){const column=leftList[i];leftWidth+=column.renderWidth;}return leftWidth;});const computeRightFixedWidth=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{columnStore}=reactData;const{rightList}=columnStore;let leftWidth=0;for(let i=0;i<rightList.length;i++){const column=rightList[i];leftWidth+=column.renderWidth;}return leftWidth;});const computeHeaderMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const menuOpts=computeMenuOpts.value;const headerOpts=menuOpts.header;return headerOpts&&headerOpts.options?headerOpts.options:[];});const computeBodyMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const menuOpts=computeMenuOpts.value;const bodyOpts=menuOpts.body;return bodyOpts&&bodyOpts.options?bodyOpts.options:[];});const computeFooterMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const menuOpts=computeMenuOpts.value;const footerOpts=menuOpts.footer;return footerOpts&&footerOpts.options?footerOpts.options:[];});const computeIsMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const isContentMenu=computeIsContentMenu.value;return isContentMenu;});const computeIsContentMenu=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const menuOpts=computeMenuOpts.value;const headerMenu=computeHeaderMenu.value;const bodyMenu=computeBodyMenu.value;const footerMenu=computeFooterMenu.value;return!!(props.menuConfig&&isEnableConf(menuOpts)&&(headerMenu.length||bodyMenu.length||footerMenu.length));});const computeMenuList=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{ctxMenuStore}=reactData;const rest=[];ctxMenuStore.list.forEach(list=>{list.forEach(item=>{rest.push(item);});});return rest;});const computeExportOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.exportConfig,props.exportConfig);});const computeImportOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.importConfig,props.importConfig);});const computePrintOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.printConfig,props.printConfig);});const computeExpandOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.expandConfig,props.expandConfig);});const computeTreeOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.treeConfig,props.treeConfig);});const computeEmptyOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.emptyRender,props.emptyRender);});const computeLoadingOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.loadingConfig,props.loadingConfig);});const computeCellOffsetWidth=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return props.border?Math.max(2,Math.ceil(reactData.scrollbarWidth/reactData.tableColumn.length)):1;});const computeCustomOpts=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{return Object.assign({},table_getConfig().table.customConfig,props.customConfig);});const computeTableRowExpandedList=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{tableData,rowExpandedFlag,expandColumn,rowGroupExpandedFlag,treeExpandedFlag}=reactData;const{visibleDataRowIdData,rowExpandedMaps}=internalData;const expandList=[];if(tableData.length&&expandColumn&&rowExpandedFlag&&rowGroupExpandedFlag&&treeExpandedFlag){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(rowExpandedMaps,(row,rowid)=>{if(visibleDataRowIdData[rowid]){expandList.push(row);}});}return expandList;});const computeAutoWidthColumnList=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{visibleColumn}=internalData;const{tableColumn}=reactData;return tableColumn.length||visibleColumn.length?visibleColumn.filter(column=>column.width==='auto'||column.minWidth==='auto'):[];});const computeFixedColumnSize=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{tableColumn}=reactData;const{collectColumn}=internalData;let fixedSize=0;// 只判断第一层
18649
19025
  if(tableColumn.length&&collectColumn.length){collectColumn.forEach(column=>{if(column.renderFixed){fixedSize++;}});}return fixedSize;});const computeIsMaxFixedColumn=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const fixedColumnSize=computeFixedColumnSize.value;const columnOpts=computeColumnOpts.value;const{maxFixedSize}=columnOpts;if(maxFixedSize){return fixedColumnSize>=maxFixedSize;}return false;});const computeTableBorder=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{border}=props;if(border===true){return'full';}if(border){return border;}return'default';});const computeIsAllCheckboxDisabled=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{treeConfig}=props;const{tableData}=reactData;const{tableFullData}=internalData;const checkboxOpts=computeCheckboxOpts.value;const{strict,checkMethod}=checkboxOpts;if(strict){if(tableData.length||tableFullData.length){if(checkMethod){if(treeConfig){// 暂时不支持树形结构
18650
19026
  }// 如果所有行都被禁用
18651
- return tableFullData.every(row=>!checkMethod({$table:$xeTable,row}));}return false;}return true;}return false;});const computeVirtualScrollBars=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{overflowX,scrollXLoad,overflowY,scrollYLoad}=reactData;return{x:overflowX&&scrollXLoad,y:overflowY&&scrollYLoad};});const computeRowGroupFields=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const rowGroupOpts=computeRowGroupOpts.value;return rowGroupOpts.groupFields;});const computeRowGroupColumns=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{rowGroupList}=reactData;const{fullColumnFieldData}=internalData;const rgColumns=[];rowGroupList.forEach(aggConf=>{const colRest=fullColumnFieldData[aggConf.field];if(colRest){rgColumns.push(colRest.column);}});return rgColumns;});const refMaps={refElem,refTooltip,refValidTooltip,refTableFilter,refTableCustom,refTableMenu,refTableHeader,refTableBody,refTableFooter,refTableLeftHeader,refTableLeftBody,refTableLeftFooter,refTableRightHeader,refTableRightBody,refTableRightFooter,refLeftContainer,refRightContainer,refColResizeBar,refRowResizeBar,refScrollXVirtualElem,refScrollYVirtualElem,refScrollXHandleElem,refScrollYHandleElem,refScrollXSpaceElem,refScrollYSpaceElem};const computeMaps={computeSize,computeTableId,computeValidOpts,computeRowField,computeVirtualXOpts,computeVirtualYOpts,computeScrollbarOpts,computeScrollbarXToTop,computeScrollbarYToLeft,computeColumnOpts,computeCurrentColumnOpts,computeScrollXThreshold,computeScrollYThreshold,computeRowHeightMaps,computeDefaultRowHeight,computeCellOpts,computeHeaderCellOpts,computeFooterCellOpts,computeRowOpts,computeAggregateOpts,computeRowGroupOpts,computeCurrentRowOpts,computeRowDragOpts,computeColumnDragOpts,computeResizeOpts,computeResizableOpts,computeSeqOpts,computeRadioOpts,computeCheckboxOpts,computeTooltipOpts,computeHeaderTooltipOpts,computeFooterTooltipOpts,computeEditOpts,computeSortOpts,computeFilterOpts,computeMouseOpts,computeAreaOpts,computeKeyboardOpts,computeClipOpts,computeFnrOpts,computeHeaderMenu,computeBodyMenu,computeFooterMenu,computeIsMenu,computeIsContentMenu,computeMenuList,computeMenuOpts,computeExportOpts,computeImportOpts,computePrintOpts,computeExpandOpts,computeTreeOpts,computeEmptyOpts,computeLoadingOpts,computeCellOffsetWidth,computeCustomOpts,computeLeftFixedWidth,computeRightFixedWidth,computeFixedColumnSize,computeIsMaxFixedColumn,computeIsAllCheckboxDisabled,computeVirtualScrollBars,computeRowGroupFields,computeRowGroupColumns,computeFNROpts,computeSXOpts,computeSYOpts};const $xeTable={xID,props:props,context,reactData,internalData,getRefMaps:()=>refMaps,getComputeMaps:()=>computeMaps,xeGrid:$xeGrid,xeGantt:$xeGantt,// 已废弃
19027
+ return tableFullData.every(row=>!checkMethod({$table:$xeTable,row}));}return false;}return true;}return false;});const computeVirtualScrollBars=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{overflowX,scrollXLoad,overflowY,scrollYLoad}=reactData;return{x:overflowX&&scrollXLoad,y:overflowY&&scrollYLoad};});const computeRowGroupFields=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const rowGroupOpts=computeRowGroupOpts.value;return rowGroupOpts.groupFields;});const computeRowGroupColumns=(0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(()=>{const{rowGroupList}=reactData;const{fullColumnFieldData}=internalData;const rgColumns=[];rowGroupList.forEach(aggConf=>{const colRest=fullColumnFieldData[aggConf.field];if(colRest){rgColumns.push(colRest.column);}});return rgColumns;});const refMaps={refElem,refTooltip,refValidTooltip,refTableFilter,refTableCustom,refTableMenu,refTableHeader,refTableBody,refTableFooter,refTableLeftHeader,refTableLeftBody,refTableLeftFooter,refTableRightHeader,refTableRightBody,refTableRightFooter,refLeftContainer,refRightContainer,refColResizeBar,refRowResizeBar,refScrollXVirtualElem,refScrollYVirtualElem,refScrollXHandleElem,refScrollYHandleElem,refScrollXSpaceElem,refScrollYSpaceElem};const computeMaps={computeSize,computeTableId,computeValidOpts,computeRowField,computeVirtualXOpts,computeVirtualYOpts,computeScrollbarOpts,computeScrollbarXToTop,computeScrollbarYToLeft,computeColumnOpts,computeCurrentColumnOpts,computeScrollXThreshold,computeScrollYThreshold,computeRowHeightMaps,computeDefaultRowHeight,computeCellOpts,computeHeaderCellOpts,computeFooterCellOpts,computeRowOpts,computeAggregateOpts,computeRowGroupOpts,computeCurrentRowOpts,computeRowDragOpts,computeColumnDragOpts,computeResizeOpts,computeResizableOpts,computeSeqOpts,computeRadioOpts,computeCheckboxOpts,computeTooltipOpts,computeHeaderTooltipOpts,computeFooterTooltipOpts,computeEditOpts,computeSortOpts,computeFilterOpts,computeFloatingFilterOpts,computeMouseOpts,computeAreaOpts,computeKeyboardOpts,computeClipOpts,computeFnrOpts,computeHeaderMenu,computeBodyMenu,computeFooterMenu,computeIsMenu,computeIsContentMenu,computeMenuList,computeMenuOpts,computeExportOpts,computeImportOpts,computePrintOpts,computeExpandOpts,computeTreeOpts,computeEmptyOpts,computeLoadingOpts,computeCellOffsetWidth,computeCustomOpts,computeLeftFixedWidth,computeRightFixedWidth,computeFixedColumnSize,computeIsMaxFixedColumn,computeIsAllCheckboxDisabled,computeVirtualScrollBars,computeRowGroupFields,computeRowGroupColumns,computeFNROpts,computeSXOpts,computeSYOpts};const $xeTable={xID,props:props,context,reactData,internalData,getRefMaps:()=>refMaps,getComputeMaps:()=>computeMaps,xeGrid:$xeGrid,xeGantt:$xeGantt,// 已废弃
18652
19028
  xegrid:$xeGrid};const eqCellValue=(row1,row2,field)=>{const val1=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row1,field);const val2=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row2,field);if(eqEmptyValue(val1)&&eqEmptyValue(val2)){return true;}if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(val1)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(val1)){return''+val1===''+val2;}return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isEqual(val1,val2);};const handleKeyField=()=>{const keyField=computeRowField.value;internalData.currKeyField=keyField;internalData.isCurrDeepKey=hasDeepKey(keyField);};const hangleStorageDefaultValue=(value,isAll)=>{return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(value)?value:isAll;};const getNextSortOrder=column=>{const sortOpts=computeSortOpts.value;const{orders=[]}=sortOpts;const currOrder=column.order||null;const oIndex=orders.indexOf(currOrder)+1;return orders[oIndex<orders.length?oIndex:0];};const getCustomStorageMap=id=>{const version=table_getConfig().version;const rest=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toStringJSON(localStorage.getItem(customStorageKey)||'');const maps=rest&&rest._v===version?rest:{_v:version};return(id?maps[id]:maps)||{};};const setCustomStorageMap=(id,data)=>{const version=table_getConfig().version;const maps=getCustomStorageMap();maps[id]=data||undefined;maps._v=version;localStorage.setItem(customStorageKey,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toJSONString(maps));};const getRecoverRowMaps=keyMaps=>{const{fullAllDataRowIdData}=internalData;const restKeys={};external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(keyMaps,(row,rowid)=>{if(fullAllDataRowIdData[rowid]){restKeys[rowid]=row;}});return restKeys;};const handleReserveRow=reserveRowMap=>{const{fullDataRowIdData}=internalData;const reserveList=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(reserveRowMap,(item,rowid)=>{if(fullDataRowIdData[rowid]&&$xeTable.findRowIndexOf(reserveList,fullDataRowIdData[rowid].row)===-1){reserveList.push(fullDataRowIdData[rowid].row);}});return reserveList;};const handleVirtualXVisible=()=>{const{isScrollXBig,scrollXWidth}=reactData;const{elemStore,visibleColumn,fullColumnIdData}=internalData;const leftFixedWidth=computeLeftFixedWidth.value;const rightFixedWidth=computeRightFixedWidth.value;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(bodyScrollElem){const clientWidth=bodyScrollElem.clientWidth;let scrollLeft=bodyScrollElem.scrollLeft;if(isScrollXBig){scrollLeft=Math.ceil((scrollXWidth-clientWidth)*Math.min(1,scrollLeft/(maxXWidth-clientWidth)));}const startLeft=scrollLeft+leftFixedWidth;const endLeft=scrollLeft+clientWidth-rightFixedWidth;let leftIndex=0;let rightIndex=visibleColumn.length;while(leftIndex<rightIndex){const cIndex=Math.floor((leftIndex+rightIndex)/2);const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid]||{};if(colRest.oLeft<=startLeft){leftIndex=cIndex+1;}else{rightIndex=cIndex;}}let visibleSize=0;const toVisibleIndex=leftIndex===visibleColumn.length?leftIndex:Math.max(0,leftIndex<visibleColumn.length?leftIndex-2:0);for(let cIndex=toVisibleIndex,cLen=visibleColumn.length;cIndex<cLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid]||{};visibleSize++;if(colRest.oLeft>endLeft||visibleSize>=60){break;}}return{toVisibleIndex:Math.max(0,toVisibleIndex),visibleSize:Math.max(1,visibleSize)};}return{toVisibleIndex:0,visibleSize:6};};const calcVarRowHeightConfig=(sizeKey,sizeEl)=>{const{rowHeightStore}=reactData;if(sizeEl&&sizeEl.clientHeight){rowHeightStore[sizeKey]=sizeEl.clientHeight;}};const computeRowHeight=()=>{const{isAllOverflow}=reactData;const tableHeader=refTableHeader.value;const tableBody=refTableBody.value;const tableBodyElem=tableBody?tableBody.$el:null;const defaultRowHeight=computeDefaultRowHeight.value;let rowHeight=0;if(isAllOverflow){if(tableBodyElem){const tableHeaderElem=tableHeader?tableHeader.$el:null;let firstTrElem;firstTrElem=tableBodyElem.querySelector('tr');if(!firstTrElem&&tableHeaderElem){firstTrElem=tableHeaderElem.querySelector('tr');}if(firstTrElem){rowHeight=firstTrElem.clientHeight;}}if(!rowHeight){rowHeight=defaultRowHeight;}}else{rowHeight=defaultRowHeight;}// 最低支持 18px 行高
18653
19029
  return Math.max(18,rowHeight);};const handleVirtualYVisible=()=>{const{isAllOverflow,expandColumn,isScrollYBig,scrollYHeight}=reactData;const{elemStore,isResizeCellHeight,afterFullData,fullAllDataRowIdData}=internalData;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(bodyScrollElem){const clientHeight=bodyScrollElem.clientHeight;let scrollTop=bodyScrollElem.scrollTop;if(isScrollYBig){scrollTop=Math.ceil((scrollYHeight-clientHeight)*Math.min(1,scrollTop/(maxYHeight-clientHeight)));}const startTop=scrollTop;const endTop=scrollTop+clientHeight;let toVisibleIndex=-1;let visibleSize=0;const isCustomCellHeight=isResizeCellHeight||cellOpts.height||rowOpts.height;if(!isCustomCellHeight&&!expandColumn&&isAllOverflow){toVisibleIndex=Math.floor(startTop/defaultRowHeight)-1;visibleSize=Math.ceil(clientHeight/defaultRowHeight)+1;}else{const{handleGetRowId}=createHandleGetRowId($xeTable);let leftIndex=0;let rightIndex=afterFullData.length;while(leftIndex<rightIndex){const rIndex=Math.floor((leftIndex+rightIndex)/2);const row=afterFullData[rIndex];const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};if(rowRest.oTop<=startTop){leftIndex=rIndex+1;}else{rightIndex=rIndex;}}toVisibleIndex=leftIndex===afterFullData.length?leftIndex:Math.max(0,leftIndex<afterFullData.length?leftIndex-2:0);for(let rIndex=toVisibleIndex,rLen=afterFullData.length;rIndex<rLen;rIndex++){const row=afterFullData[rIndex];const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};visibleSize++;if(rowRest.oTop>endTop||visibleSize>=100){break;}}}return{toVisibleIndex:Math.max(0,toVisibleIndex),visibleSize:Math.max(6,visibleSize)};}return{toVisibleIndex:0,visibleSize:6};};const calculateMergerOffsetIndex=(list,offsetItem,type)=>{for(let mcIndex=0,len=list.length;mcIndex<len;mcIndex++){const mergeItem=list[mcIndex];const{startIndex,endIndex}=offsetItem;const mergeStartIndex=mergeItem[type];const mergeSpanNumber=mergeItem[type+'span'];const mergeEndIndex=mergeStartIndex+mergeSpanNumber;if(mergeStartIndex<startIndex&&startIndex<mergeEndIndex){offsetItem.startIndex=mergeStartIndex;}if(mergeStartIndex<endIndex&&endIndex<mergeEndIndex){offsetItem.endIndex=mergeEndIndex;}if(offsetItem.startIndex!==startIndex||offsetItem.endIndex!==endIndex){mcIndex=-1;}}};function buildMergeData(mergeConfigs){const mergeMaps={};if(mergeConfigs&&mergeConfigs.length){for(let mIndex=0;mIndex<mergeConfigs.length;mIndex++){const{row:_rowIndex,col:_columnIndex,rowspan:mergeRowspan,colspan:mergeColspan}=mergeConfigs[mIndex];for(let i=0;i<mergeRowspan;i++){for(let j=0;j<mergeColspan;j++){mergeMaps[`${_rowIndex+i}:${_columnIndex+j}`]=!i&&!j?{rowspan:mergeRowspan,colspan:mergeColspan}:{rowspan:0,colspan:0};}}}}return mergeMaps;}const handleUpdateMergeBodyCells=merges=>{internalData.mergeBodyList=[];internalData.mergeBodyMaps={};internalData.mergeBodyCellMaps={};$xeTable.setMergeCells(merges);};const handleBodyMerge=merges=>{const{fullAllDataRowIdData,fullColumnIdData,visibleColumn,afterFullData,mergeBodyList,mergeBodyMaps}=internalData;if(merges){const{handleGetRowId}=createHandleGetRowId($xeTable);if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)){merges=[merges];}merges.forEach(item=>{let{row:margeRow,col:margeCol,rowspan,colspan}=item;let mergeRowIndex=-1;let mergeColumnIndex=-1;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow)){mergeRowIndex=margeRow;}else{const rowid=margeRow?handleGetRowId(margeRow):null;const rowRest=rowid?fullAllDataRowIdData[rowid]:null;if(rowRest){mergeRowIndex=rowRest._index;}}if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)){mergeColumnIndex=margeCol;}else{const colid=margeCol?margeCol.id:null;const colRest=colid?fullColumnIdData[colid]:null;if(colRest){mergeColumnIndex=colRest._index;}}if(mergeRowIndex>-1&&mergeColumnIndex>-1&&(rowspan||colspan)){rowspan=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(rowspan)||1;colspan=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(colspan)||1;if(rowspan>1||colspan>1){const row=afterFullData[mergeRowIndex];const column=visibleColumn[mergeColumnIndex];let mergeItem=mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`];if(mergeItem){mergeItem.rowspan=rowspan;mergeItem.colspan=colspan;mergeItem._rowspan=rowspan;mergeItem._colspan=colspan;}else{mergeItem={row:mergeRowIndex,col:mergeColumnIndex,rowspan,colspan,_row:row,_col:column,_rowspan:rowspan,_colspan:colspan};mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`]=mergeItem;mergeBodyList.push(mergeItem);}}}});}};const removeBodyMerges=merges=>{const{mergeBodyList,fullColumnIdData,fullAllDataRowIdData,mergeBodyMaps}=internalData;const rest=[];if(merges){const{handleGetRowId}=createHandleGetRowId($xeTable);if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)){merges=[merges];}merges.forEach(item=>{const{row:margeRow,col:margeCol}=item;let mergeRowIndex=-1;let mergeColumnIndex=-1;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow)){mergeRowIndex=margeRow;}else{const rowid=margeRow?handleGetRowId(margeRow):null;const rowRest=rowid?fullAllDataRowIdData[rowid]:null;if(rowRest){mergeRowIndex=rowRest._index;}}if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)){mergeColumnIndex=margeCol;}else{const colid=margeCol?margeCol.id:null;const colRest=colid?fullColumnIdData[colid]:null;if(colRest){mergeColumnIndex=colRest._index;}}const mcIndex=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(mergeBodyList,item=>item.row===mergeRowIndex&&item.col===mergeColumnIndex);if(mcIndex>-1){const rItems=mergeBodyList.splice(mcIndex,1);const item=rItems[0];if(item){rest.push(rItems[0]);if(mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`]){delete mergeBodyMaps[`${mergeRowIndex}:${mergeColumnIndex}`];}}}});}return rest;};const handleUpdateMergeHeaderCells=merges=>{internalData.mergeHeaderList=[];internalData.mergeHeaderMaps={};internalData.mergeHeaderCellMaps={};$xeTable.setMergeHeaderCells(merges);};const handleHeaderMerge=merges=>{const{showCustomHeader}=props;const{footerTableData}=reactData;const{mergeHeaderList,mergeHeaderMaps,fullColumnIdData}=internalData;if(merges){const{visibleColumn}=internalData;if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)){merges=[merges];}merges.forEach(item=>{let{row:margeRow,col:margeCol,rowspan,colspan}=item;const mergeRowIndex=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow)?margeRow:-1;let mergeColumnIndex=-1;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)){mergeColumnIndex=margeCol;}else{const colid=margeCol?margeCol.id:null;const colRest=colid?fullColumnIdData[colid]:null;if(colRest){mergeColumnIndex=colRest._index;}}if(mergeRowIndex>-1&&mergeColumnIndex>-1&&(rowspan||colspan)){rowspan=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(rowspan)||1;colspan=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(colspan)||1;if(!showCustomHeader&&rowspan>1){errLog('vxe.error.notSupportProp',['[table] show-custom-header=false',`rowspan=${rowspan}`,'rowspan=1']);return;}if(rowspan>1||colspan>1){const row=footerTableData[mergeRowIndex];const column=visibleColumn[mergeColumnIndex];let mergeItem=mergeHeaderMaps[`${mergeRowIndex}:${mergeColumnIndex}`];if(mergeItem){mergeItem.rowspan=rowspan;mergeItem.colspan=colspan;mergeItem._rowspan=rowspan;mergeItem._colspan=colspan;}else{mergeItem={row:mergeRowIndex,col:mergeColumnIndex,rowspan,colspan,_row:row,_col:column,_rowspan:rowspan,_colspan:colspan};mergeHeaderMaps[`${mergeRowIndex}:${mergeColumnIndex}`]=mergeItem;mergeHeaderList.push(mergeItem);}}}});}};const removeHeaderMerges=merges=>{const{mergeHeaderList,fullColumnIdData,mergeHeaderMaps}=internalData;const rest=[];if(merges){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)){merges=[merges];}merges.forEach(item=>{const{row:margeRow,col:margeCol}=item;const mergeRowIndex=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow)?margeRow:-1;let mergeColumnIndex=-1;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)){mergeColumnIndex=margeCol;}else{const colid=margeCol?margeCol.id:null;const colRest=colid?fullColumnIdData[colid]:null;if(colRest){mergeColumnIndex=colRest._index;}}const mcIndex=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(mergeHeaderList,item=>item.row===mergeRowIndex&&item.col===mergeColumnIndex);if(mcIndex>-1){const rItems=mergeHeaderList.splice(mcIndex,1);const item=rItems[0];if(item){rest.push(item);if(mergeHeaderMaps[`${mergeRowIndex}:${mergeColumnIndex}`]){delete mergeHeaderMaps[`${mergeRowIndex}:${mergeColumnIndex}`];}}}});}return rest;};const handleUpdateMergeFooterCells=merges=>{internalData.mergeFooterList=[];internalData.mergeFooterMaps={};internalData.mergeFooterCellMaps={};$xeTable.setMergeFooterCells(merges);};const handleFooterMerge=merges=>{const{footerTableData}=reactData;const{mergeFooterList,mergeFooterMaps,fullColumnIdData}=internalData;if(merges){const{visibleColumn}=internalData;if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)){merges=[merges];}merges.forEach(item=>{let{row:margeRow,col:margeCol,rowspan,colspan}=item;const mergeRowIndex=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow)?margeRow:-1;let mergeColumnIndex=-1;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)){mergeColumnIndex=margeCol;}else{const colid=margeCol?margeCol.id:null;const colRest=colid?fullColumnIdData[colid]:null;if(colRest){mergeColumnIndex=colRest._index;}}if(mergeRowIndex>-1&&mergeColumnIndex>-1&&(rowspan||colspan)){rowspan=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(rowspan)||1;colspan=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(colspan)||1;if(rowspan>1||colspan>1){const row=footerTableData[mergeRowIndex];const column=visibleColumn[mergeColumnIndex];let mergeItem=mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`];if(mergeItem){mergeItem.rowspan=rowspan;mergeItem.colspan=colspan;mergeItem._rowspan=rowspan;mergeItem._colspan=colspan;}else{mergeItem={row:mergeRowIndex,col:mergeColumnIndex,rowspan,colspan,_row:row,_col:column,_rowspan:rowspan,_colspan:colspan};mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`]=mergeItem;mergeFooterList.push(mergeItem);}}}});}};const removeFooterMerges=merges=>{const{mergeFooterList,fullColumnIdData,mergeFooterMaps}=internalData;const rest=[];if(merges){if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(merges)){merges=[merges];}merges.forEach(item=>{const{row:margeRow,col:margeCol}=item;const mergeRowIndex=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeRow)?margeRow:-1;let mergeColumnIndex=-1;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(margeCol)){mergeColumnIndex=margeCol;}else{const colid=margeCol?margeCol.id:null;const colRest=colid?fullColumnIdData[colid]:null;if(colRest){mergeColumnIndex=colRest._index;}}const mcIndex=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(mergeFooterList,item=>item.row===mergeRowIndex&&item.col===mergeColumnIndex);if(mcIndex>-1){const rItems=mergeFooterList.splice(mcIndex,1);const item=rItems[0];if(item){rest.push(item);if(mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`]){delete mergeFooterMaps[`${mergeRowIndex}:${mergeColumnIndex}`];}}}});}return rest;};const handleSortEvent=(evnt,sortConfs,isUpdate)=>{const{tableFullColumn}=internalData;const sortOpts=computeSortOpts.value;const{multiple,remote,orders}=sortOpts;if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(sortConfs)){sortConfs=[sortConfs];}if(sortConfs&&sortConfs.length){const orderActiveMaps={};if(!multiple){sortConfs=[sortConfs[0]];tableFullColumn.forEach(column=>{if(column.order){orderActiveMaps[column.id]=column;}});}const sortColMpps={};let firstColumn=null;sortConfs.forEach((confs,index)=>{let{field,order}=confs;let column=field;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(field)){column=$xeTable.getColumnByField(field);}if(!firstColumn){firstColumn=column;}if(column&&column.sortable){if(orders&&orders.indexOf(order)===-1){order=getNextSortOrder(column);}if(column.order!==order){column.order=order;}column.sortTime=Date.now()+index;sortColMpps[column.id]=column;}});if(!multiple){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(orderActiveMaps,(oaCol,oaId)=>{if(!sortColMpps[oaId]){oaCol.order=null;}});}if(isUpdate){if(!remote){$xeTable.handleTableData(true);}}if(evnt){$xeTable.handleColumnSortEvent(evnt,firstColumn);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();$xeTable.updateCellAreas();return updateStyle();});}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();};const clearAllSort=()=>{const{tableFullColumn}=internalData;tableFullColumn.forEach(column=>{column.order=null;});};const calcTableHeight=key=>{const{editConfig}=props;const{parentHeight}=reactData;let val=props[key];if(key==='minHeight'){const defMinHeight=table_getConfig().table.minHeight;if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(val)){if(eqEmptyValue(defMinHeight)){// 编辑模式默认最小高度
18654
19030
  if(isEnableConf(editConfig)){val=144;}}else{val=defMinHeight;}}}let num=0;if(val){if(val==='100%'||val==='auto'){num=parentHeight;}else{const excludeHeight=$xeTable.getExcludeHeight();if(isScale(val)){num=Math.floor((external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(val)||1)/100*parentHeight);}else{num=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(val);}num=Math.max(40,num-excludeHeight);}}return num;};const handleCustomRestore=storeData=>{const{aggregateConfig,rowGroupConfig}=props;const{collectColumn}=internalData;const customOpts=computeCustomOpts.value;const{storage,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggGroup=hangleStorageDefaultValue(storageOpts.aggGroup,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);let{resizableData,sortData,visibleData,fixedData,aggGroupData,aggFuncData}=storeData;// 处理还原
@@ -18660,7 +19036,7 @@ if(isCustomSort&&sortData){allCols.forEach(column=>{const colKey=column.getKey()
18660
19036
  */const restoreCustomStorage=()=>{const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{storage,restoreStore,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggGroup=hangleStorageDefaultValue(storageOpts.aggGroup,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);if(storage&&(customConfig?isEnableConf(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggGroup||isCustomAggFunc)){if(!tableId){errLog('vxe.error.reqProp',['id']);return;}const storeData=getCustomStorageMap(tableId);if(restoreStore){return Promise.resolve(restoreStore({$table:$xeTable,id:tableId,type:'restore',storeData})).then(storeData=>{if(!storeData){return;}return handleCustomRestore(storeData);}).catch(e=>e);}else{return handleCustomRestore(storeData);}}};/**
18661
19037
  * 更新数据列的 Map
18662
19038
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
18663
- */const cacheColumnMap=()=>{const{treeConfig,showOverflow}=props;const{tableFullColumn,collectColumn}=internalData;const fullColIdData=internalData.fullColumnIdData={};const fullColFieldData=internalData.fullColumnFieldData={};const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const virtualYOpts=computeVirtualYOpts.value;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=computeCustomOpts.value;const treeOpts=computeTreeOpts.value;const{storage}=customOpts;const rowOpts=computeRowOpts.value;const isGroup=collectColumn.some(hasChildrenList);let isAllOverflow=!!showOverflow;let rowGroupColumn;let expandColumn;let treeNodeColumn;let checkboxColumn;let radioColumn;let htmlColumn;let hasFixed;const handleFunc=(column,index,items,path,parentColumn)=>{const{id:colid,field,fixed,type,treeNode,rowGroupNode}=column;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}else{if(storage&&!type){errLog('vxe.error.reqSupportProp',['storage',`${column.getTitle()||type||''} -> field=?`]);}if(columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){errLog('vxe.error.reqSupportProp',['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag',`${column.getTitle()||type||''} -> field=?`]);}}if(!hasFixed&&fixed){hasFixed=fixed;}if(!htmlColumn&&type==='html'){htmlColumn=column;}if(treeNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['tree-node',treeNode]);}if(!treeNodeColumn){treeNodeColumn=column;}}if(rowGroupNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['row-group-node',rowGroupNode]);}if(!rowGroupColumn){rowGroupColumn=column;}}if(type==='expand'){if(expandColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!expandColumn){expandColumn=column;}}if(type==='checkbox'){if(checkboxColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!checkboxColumn){checkboxColumn=column;}}else if(type==='radio'){if(radioColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!radioColumn){radioColumn=column;}}if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}if(fullColIdData[colid]){errLog('vxe.error.colRepet',['colId',colid]);}fullColIdData[colid]=rest;};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn,nodes)=>{column.level=nodes.length;handleFunc(column,index,items,path,parentColumn);});}else{tableFullColumn.forEach(handleFunc);}if(expandColumn&&expandOpts.mode!=='fixed'&&virtualYOpts.enabled){warnLog('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandColumn&&expandOpts.mode!=='fixed'&&mouseOpts.area){errLog('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(expandColumn&&expandOpts.mode!=='inside'&&treeConfig&&!treeOpts.transform){errLog('vxe.error.notConflictProp',['tree-config.transform=false','expand-config.mode=fixed']);}if(htmlColumn){if(!columnOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','column-config.useKey=false','column-config.useKey=true']);}if(!rowOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','row-config.useKey=false','row-config.useKey=true']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.checkboxColumn=checkboxColumn;reactData.radioColumn=radioColumn;reactData.isAllOverflow=isAllOverflow;};const updateHeight=()=>{internalData.customHeight=calcTableHeight('height');internalData.customMinHeight=calcTableHeight('minHeight');internalData.customMaxHeight=calcTableHeight('maxHeight');// 如果启用虚拟滚动,默认高度
19039
+ */const cacheColumnMap=()=>{const{treeConfig,showOverflow}=props;const{tableFullColumn,collectColumn}=internalData;const fullColIdData=internalData.fullColumnIdData={};const fullColFieldData=internalData.fullColumnFieldData={};const mouseOpts=computeMouseOpts.value;const expandOpts=computeExpandOpts.value;const columnOpts=computeColumnOpts.value;const columnDragOpts=computeColumnDragOpts.value;const virtualYOpts=computeVirtualYOpts.value;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=computeCustomOpts.value;const treeOpts=computeTreeOpts.value;const{storage}=customOpts;const rowOpts=computeRowOpts.value;const isGroup=collectColumn.some(hasChildrenList);let isAllOverflow=!!showOverflow;let rowGroupColumn;let expandColumn;let treeNodeColumn;let checkboxColumn;let radioColumn;let htmlColumn;let hasFixed;const handleFunc=(column,index,items,path,parentColumn)=>{const{id:colid,field,fixed,type,treeNode,rowGroupNode}=column;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}else{if(storage&&!type){errLog('vxe.error.reqSupportProp',['storage',`[${type?`type=${type}`:`title=${column.getTitle()}`}]field=?`]);}if(columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){errLog('vxe.error.reqSupportProp',['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag',`${column.getTitle()||type||''} -> field=?`]);}}if(!hasFixed&&fixed){hasFixed=fixed;}if(!htmlColumn&&type==='html'){htmlColumn=column;}if(treeNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['tree-node',treeNode]);}if(!treeNodeColumn){treeNodeColumn=column;}}if(rowGroupNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['row-group-node',rowGroupNode]);}if(!rowGroupColumn){rowGroupColumn=column;}}if(type==='expand'){if(expandColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!expandColumn){expandColumn=column;}}if(type==='checkbox'){if(checkboxColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!checkboxColumn){checkboxColumn=column;}}else if(type==='radio'){if(radioColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!radioColumn){radioColumn=column;}}if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}if(fullColIdData[colid]){errLog('vxe.error.colRepet',['colId',colid]);}fullColIdData[colid]=rest;};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn,nodes)=>{column.level=nodes.length;handleFunc(column,index,items,path,parentColumn);});}else{tableFullColumn.forEach(handleFunc);}if(expandColumn&&expandOpts.mode!=='fixed'&&virtualYOpts.enabled){warnLog('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandColumn&&expandOpts.mode!=='fixed'&&mouseOpts.area){errLog('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(expandColumn&&expandOpts.mode!=='inside'&&treeConfig&&!treeOpts.transform){errLog('vxe.error.notConflictProp',['tree-config.transform=false','expand-config.mode=fixed']);}if(htmlColumn){if(!columnOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','column-config.useKey=false','column-config.useKey=true']);}if(!rowOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','row-config.useKey=false','row-config.useKey=true']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.checkboxColumn=checkboxColumn;reactData.radioColumn=radioColumn;reactData.isAllOverflow=isAllOverflow;};const updateHeight=()=>{internalData.customHeight=calcTableHeight('height');internalData.customMinHeight=calcTableHeight('minHeight');internalData.customMaxHeight=calcTableHeight('maxHeight');// 如果启用虚拟滚动,默认高度
18664
19040
  if(reactData.scrollYLoad&&!(internalData.customHeight||internalData.customMinHeight)){internalData.customHeight=300;}};const calcColumnAutoWidth=(column,wrapperEl)=>{const columnOpts=computeColumnOpts.value;const{autoOptions}=columnOpts;const{isCalcHeader,isCalcBody,isCalcFooter}=autoOptions||{};const querySelections=[];if(isCalcHeader){querySelections.push(`.vxe-header-cell--wrapper[colid="${column.id}"]`);}if(isCalcBody){querySelections.push(`.vxe-body-cell--wrapper[colid="${column.id}"]`);}if(isCalcFooter){querySelections.push(`.vxe-footer-cell--wrapper[colid="${column.id}"]`);}const cellElemList=querySelections.length?wrapperEl.querySelectorAll(querySelections.join(',')):[];let leftRightPadding=0;const firstCellEl=cellElemList[0];if(firstCellEl&&firstCellEl.parentElement){const cellStyle=getComputedStyle(firstCellEl.parentElement);leftRightPadding=Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingLeft)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingRight));}let colWidth=column.renderAutoWidth-leftRightPadding;for(let i=0;i<cellElemList.length;i++){const celEl=cellElemList[i];colWidth=Math.max(colWidth,celEl?Math.ceil(celEl.scrollWidth)+4:0);}return colWidth+leftRightPadding;};const calcCellWidth=()=>{const autoWidthColumnList=computeAutoWidthColumnList.value;const{fullColumnIdData}=internalData;const el=refElem.value;if(el){el.setAttribute('data-calc-col','Y');autoWidthColumnList.forEach(column=>{const colid=column.id;const colRest=fullColumnIdData[colid];const colWidth=calcColumnAutoWidth(column,el);if(colRest){colRest.width=Math.max(colWidth,colRest.width);}column.renderAutoWidth=colWidth;});$xeTable.analyColumnWidth();el.removeAttribute('data-calc-col');}};/**
18665
19041
  * 列宽算法,计算单元格列宽,动态分配可用剩余空间
18666
19042
  * 支持 px、%、固定 混合分配
@@ -19081,10 +19457,10 @@ if(!remote){tablePrivateMethods.handleTableData(true);}return (0,external_common
19081
19457
  * 清空指定列的排序条件
19082
19458
  * 如果为空则清空所有列的排序条件
19083
19459
  * @param {String} fieldOrColumn 列或字段名
19084
- */clearSort(fieldOrColumn){const sortOpts=computeSortOpts.value;if(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){column.order=null;}}else{clearAllSort();}if(!sortOpts.remote){$xeTable.handleTableData(true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();return updateStyle();});},clearSortByEvent(evnt,fieldOrColumn){const{tableFullColumn}=internalData;const sortOpts=computeSortOpts.value;const{multiple}=sortOpts;const sortCols=[];let column=null;if(evnt){if(fieldOrColumn){column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){column.order=null;}}else{tableFullColumn.forEach(column=>{if(column.order){column.order=null;sortCols.push(column);}});}if(!sortOpts.remote){$xeTable.handleTableData(true);}if(!multiple){column=sortCols[0];}if(column){$xeTable.handleColumnSortEvent(evnt,column);}if(multiple&&sortCols.length){const params={$table:$xeTable,$event:evnt,cols:sortCols,sortList:[]};dispatchEvent('clear-all-sort',params,evnt);}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();return updateStyle();});},isSort(fieldOrColumn){if(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);return column?column.sortable&&!!column.order:false;}return tableMethods.getSortColumns().length>0;},getSortColumns(){const sortOpts=computeSortOpts.value;const{multiple,chronological}=sortOpts;const sortList=[];const{tableFullColumn}=internalData;tableFullColumn.forEach(column=>{const{field,order}=column;if(column.sortable&&order){sortList.push({column,field,property:field,order:order,sortTime:column.sortTime});}});if(multiple&&chronological&&sortList.length>1){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(sortList,'sortTime');}return sortList;},setFilterByEvent(evnt,fieldOrColumn,options){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column&&column.filters){column.filters=toFilters(options||[]);return $xeTable.handleColumnConfirmFilter(column,evnt);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
19460
+ */clearSort(fieldOrColumn){const sortOpts=computeSortOpts.value;if(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){column.order=null;}}else{clearAllSort();}if(!sortOpts.remote){$xeTable.handleTableData(true);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();return updateStyle();});},clearSortByEvent(evnt,fieldOrColumn){const{tableFullColumn}=internalData;const sortOpts=computeSortOpts.value;const{multiple}=sortOpts;const sortCols=[];let column=null;if(evnt){if(fieldOrColumn){column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){column.order=null;}}else{tableFullColumn.forEach(column=>{if(column.order){column.order=null;sortCols.push(column);}});}if(!sortOpts.remote){$xeTable.handleTableData(true);}if(!multiple){column=sortCols[0];}if(column){$xeTable.handleColumnSortEvent(evnt,column);}if(multiple&&sortCols.length){const params={$table:$xeTable,$event:evnt,cols:sortCols,sortList:[]};dispatchEvent('clear-all-sort',params,evnt);}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(()=>{updateRowOffsetTop();return updateStyle();});},isSort(fieldOrColumn){if(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);return column?column.sortable&&!!column.order:false;}return tableMethods.getSortColumns().length>0;},getSortColumns(){const sortOpts=computeSortOpts.value;const{multiple,chronological}=sortOpts;const sortList=[];const{tableFullColumn}=internalData;tableFullColumn.forEach(column=>{const{field,order}=column;if(column.sortable&&order){sortList.push({column,field,property:field,order:order,sortTime:column.sortTime});}});if(multiple&&chronological&&sortList.length>1){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(sortList,'sortTime');}return sortList;},setFilterByEvent(evnt,fieldOrColumn,options){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column&&column.filters){column.filters=toFilters(options||[],column.id);return $xeTable.handleColumnConfirmFilter(column,evnt);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
19085
19461
  * 关闭筛选
19086
19462
  * @param {Event} evnt 事件
19087
- */closeFilter(){const{filterStore}=reactData;const{column,visible}=filterStore;filterStore.isAllSelected=false;filterStore.isIndeterminate=false;filterStore.options=[];filterStore.visible=false;if(visible){dispatchEvent('filter-visible',{column,property:column.field,field:column.field,filterList:()=>$xeTable.getCheckedFilters(),visible:false},null);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
19463
+ */closeFilter(){const{filterStore}=reactData;const{column,visible}=filterStore;filterStore.isAllSelected=false;filterStore.isIndeterminate=false;filterStore.visible=false;if(visible){const field=column?column.field:null;dispatchEvent('filter-visible',{column,property:field,field,filterList:()=>$xeTable.getCheckedFilters(),visible:false},null);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
19088
19464
  * 判断指定列是否为筛选状态,如果为空则判断所有列
19089
19465
  * @param {String} fieldOrColumn 字段名
19090
19466
  */isActiveFilterByColumn(fieldOrColumn){const column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){return column.filters&&column.filters.some(option=>option.checked);}return $xeTable.getCheckedFilters().length>0;},isFilter(fieldOrColumn){return tableMethods.isActiveFilterByColumn(fieldOrColumn);},clearFilterByEvent(evnt,fieldOrColumn){const{filterStore}=reactData;const{tableFullColumn}=internalData;const filterOpts=computeFilterOpts.value;const{multiple}=filterOpts;const filterCols=[];let column=null;if(fieldOrColumn){column=handleFieldOrColumn($xeTable,fieldOrColumn);if(column){$xeTable.handleClearFilter(column);}}else{tableFullColumn.forEach(column=>{if(column.filters){filterCols.push(column);$xeTable.handleClearFilter(column);}});}if(!fieldOrColumn||column!==filterStore.column){Object.assign(filterStore,{isAllSelected:false,isIndeterminate:false,style:null,options:[],column:null,multiple:false,visible:false});}if(!filterOpts.remote){$xeTable.updateData();}if(!multiple){column=filterCols[0];}if(column){const filterList=()=>$xeTable.getCheckedFilters();const values=[];const datas=[];column.filters.forEach(item=>{if(item.checked){values.push(item.value);datas.push(item.data);}});const params={$table:$xeTable,$event:evnt,column,field:column.field,property:column.field,values,datas,filters:filterList,filterList};$xeTable.dispatchEvent('filter-change',params,evnt);$xeTable.dispatchEvent('clear-filter',params,evnt);}if(multiple&&filterCols.length){const params={$table:$xeTable,$event:evnt,cols:filterCols,filterList:[]};dispatchEvent('clear-all-filter',params,evnt);}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},/**
@@ -19185,10 +19561,10 @@ if(isCustomFixed&&(column.fixed||'')!==(column.defaultFixed||'')){hasFixed=1;fix
19185
19561
  * @param $toolbar
19186
19562
  */connectToolbar($toolbar){if($toolbar){$xeToolbar=$toolbar;$xeToolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});}else{errLog('vxe.error.barUnableLink');}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}};/**
19187
19563
  * 全局按下事件处理
19188
- */const handleGlobalMousedownEvent=evnt=>{const{editStore,ctxMenuStore,filterStore,customStore}=reactData;const{mouseConfig,editRules}=props;const el=refElem.value;const editOpts=computeEditOpts.value;const validOpts=computeValidOpts.value;const areaOpts=computeAreaOpts.value;const{actived}=editStore;const $validTooltip=refValidTooltip.value;const tableFilter=refTableFilter.value;const tableCustom=refTableCustom.value;const tableMenu=refTableMenu.value;// 筛选
19564
+ */const handleGlobalMousedownEvent=evnt=>{const{editStore,ctxMenuStore,customStore}=reactData;const{mouseConfig,editRules}=props;const el=refElem.value;const editOpts=computeEditOpts.value;const validOpts=computeValidOpts.value;const areaOpts=computeAreaOpts.value;const{actived}=editStore;const $validTooltip=refValidTooltip.value;const tableFilter=refTableFilter.value;const tableCustom=refTableCustom.value;const tableMenu=refTableMenu.value;// 筛选
19189
19565
  if(tableFilter){if(getEventTargetNode(evnt,el,'vxe-cell--filter').flag){// 如果点击了筛选按钮
19190
19566
  }else if(getEventTargetNode(evnt,tableFilter.getRefMaps().refElem.value).flag){// 如果点击筛选容器
19191
- }else{if(!getEventTargetNode(evnt,document.body,'vxe-table--ignore-clear').flag){tablePrivateMethods.preventEvent(evnt,'event.clearFilter',filterStore.args,tableMethods.closeFilter);}}}// 自定义列
19567
+ }else{if(!getEventTargetNode(evnt,document.body,'vxe-table--ignore-clear').flag){tablePrivateMethods.preventEvent(evnt,'event.clearFilter',internalData._currFilterParams,tableMethods.closeFilter);}}}// 自定义列
19192
19568
  if(tableCustom){if(customStore.btnEl===evnt.target||getEventTargetNode(evnt,document.body,'vxe-toolbar-custom-target').flag){// 如果点击了自定义列按钮
19193
19569
  }else if(getEventTargetNode(evnt,tableCustom.getRefMaps().refElem.value).flag){// 如果点击自定义列容器
19194
19570
  }else{if(!getEventTargetNode(evnt,document.body,'vxe-table--ignore-clear').flag){tablePrivateMethods.preventEvent(evnt,'event.clearCustom',{},()=>{if($xeTable.closeCustom){$xeTable.closeCustom();}});}}}// 如果已激活了编辑状态
@@ -19281,8 +19657,8 @@ if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;ext
19281
19657
  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;}}}}// 处理拖动事件
19282
19658
  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);const resizeBarLeft=Math.max(1,dragLeft);resizeBarElem.style.left=`${resizeBarLeft}px`;resizeBarElem.style.top=`${scrollbarXToTop?osbHeight:0}px`;resizeBarElem.style.height=`${scrollbarXToTop?tableHeight-osbHeight:tableHeight}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=table_getI18n('vxe.table.resizeColTip',[Math.floor(resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft))]);const tableWrapperWidth=tableEl.clientWidth;const resizeBarWidth=resizeBarElem.clientWidth;const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeTipLeft=-resizeTipWidth;if(resizeBarLeft<resizeTipWidth+resizeBarWidth){resizeTipLeft=0;}else if(resizeBarLeft>tableWrapperWidth){resizeTipLeft+=tableWrapperWidth-resizeBarLeft;}resizeTipElem.style.left=`${resizeTipLeft}px`;resizeTipElem.style.top=`${Math.min(tableHeight-resizeTipHeight,Math.max(0,evnt.clientY-tableRect.y-resizeTipHeight/2))}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;addClass(tableEl,'col-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);const resizeWidth=resizeColumn.renderWidth+(isRightFixed?dragPosLeft-dragLeft:dragLeft-dragPosLeft);const resizeParams={...params,resizeWidth,resizeColumn};if(resizableOpts.dragMode==='fixed'){visibleColumn.forEach(item=>{if(item.id!==resizeColumn.id){if(!item.resizeWidth){item.resizeWidth=item.renderWidth;}}});}if($xeTable.handleColResizeCellAreaEvent){$xeTable.handleColResizeCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}removeClass(tableEl,'col-drag--resize');};updateEvent(evnt);if($xeTable.closeMenu){$xeTable.closeMenu();}},handleColResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoWidth}=resizableOpts;const el=refElem.value;if(isDblclickAutoWidth&&el){evnt.stopPropagation();evnt.preventDefault();const{fullColumnIdData}=internalData;const{column}=params;let resizeColumn=column;if(column.children&&column.children.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(column.children,childColumn=>{resizeColumn=childColumn;});}const colid=resizeColumn.id;const colRest=fullColumnIdData[colid];const dragBtnElem=evnt.target;const cell=dragBtnElem.parentNode;const cellParams=Object.assign(params,{cell,$table:$xeTable});const colMinWidth=getColReMinWidth(cellParams);el.setAttribute('data-calc-col','Y');let resizeWidth=calcColumnAutoWidth(resizeColumn,el);el.removeAttribute('data-calc-col');if(colRest){resizeWidth=Math.max(resizeWidth,colRest.width);}resizeWidth=Math.max(colMinWidth,resizeWidth);const resizeParams={...params,resizeWidth,resizeColumn};reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleColResizeDblclickCellAreaEvent){$xeTable.handleColResizeDblclickCellAreaEvent(evnt,resizeParams);}else{resizeColumn.resizeWidth=resizeWidth;handleUpdateColResize(evnt,resizeParams);}}},handleRowResizeMousedownEvent(evnt,params){evnt.stopPropagation();evnt.preventDefault();const{row}=params;const{showOverflow}=props;const{overflowX,scrollbarWidth,overflowY,scrollbarHeight}=reactData;const{elemStore,fullAllDataRowIdData}=internalData;const osbWidth=overflowY?scrollbarWidth:0;const osbHeight=overflowX?scrollbarHeight:0;const scrollbarYToLeft=computeScrollbarYToLeft.value;const resizableOpts=computeResizableOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;let tableEl=refElem.value;if($xeGantt){const{refGanttContainerElem}=$xeGantt.getRefMaps();const ganttContainerElem=refGanttContainerElem.value;if(ganttContainerElem){tableEl=ganttContainerElem;}}const resizeBarElem=refRowResizeBar.value;if(!resizeBarElem){return;}const{clientY:dragClientY}=evnt;const resizeTipElem=resizeBarElem.firstElementChild;const dragBtnElem=evnt.currentTarget;const tdEl=dragBtnElem.parentNode;const trEl=tdEl.parentNode;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(!bodyScrollElem){return;}const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const defaultRowHeight=computeDefaultRowHeight.value;let currCellHeight=rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;if(!showOverflow){currCellHeight=tdEl.clientHeight;}const tableRect=tableEl.getBoundingClientRect();const trRect=trEl.getBoundingClientRect();const targetOffsetY=dragClientY-trRect.y-trEl.clientHeight;let resizeHeight=currCellHeight;const cellEl=tdEl.querySelector('.vxe-cell');let cellMinHeight=0;if(cellEl){const cellStyle=getComputedStyle(cellEl);cellMinHeight=Math.max(1,Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingTop)+external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(cellStyle.paddingBottom)));}const minTop=trRect.y-tableRect.y+cellMinHeight;// 处理拖动事件
19283
19659
  const updateEvent=evnt=>{evnt.stopPropagation();evnt.preventDefault();const rtWidth=tableEl.clientWidth-osbWidth;const tableHeight=tableEl.clientHeight-osbHeight;let dragTop=evnt.clientY-tableRect.y-targetOffsetY;if(dragTop<minTop){dragTop=minTop;}else{resizeHeight=Math.max(cellMinHeight,currCellHeight+evnt.clientY-dragClientY);}resizeBarElem.style.left=`${scrollbarYToLeft?osbWidth:0}px`;resizeBarElem.style.top=`${dragTop}px`;resizeBarElem.style.width=`${rtWidth}px`;if(resizableOpts.showDragTip&&resizeTipElem){resizeTipElem.textContent=table_getI18n('vxe.table.resizeRowTip',[resizeHeight]);const resizeTipWidth=resizeTipElem.clientWidth;const resizeTipHeight=resizeTipElem.clientHeight;let resizeBarLeft=Math.max(2,evnt.clientX-tableRect.x);let resizeBarTop=0;if(resizeBarLeft+resizeTipWidth>=rtWidth-2){resizeBarLeft=rtWidth-resizeTipWidth-2;}if(dragTop+resizeTipHeight>=tableHeight){resizeBarTop=tableHeight-(dragTop+resizeTipHeight);}resizeTipElem.style.left=`${resizeBarLeft}px`;resizeTipElem.style.top=`${resizeBarTop}px`;}reactData.isDragResize=true;};reactData.isDragResize=true;addClass(tableEl,'row-drag--resize');resizeBarElem.style.display='block';document.onmousemove=updateEvent;document.onmouseup=function(evnt){document.onmousemove=null;document.onmouseup=null;resizeBarElem.style.display='none';internalData._lastResizeTime=Date.now();setTimeout(()=>{reactData.isDragResize=false;},50);if(resizeHeight!==currCellHeight){const resizeParams={...params,resizeHeight,resizeRow:row};internalData.isResizeCellHeight=true;if($xeTable.handleRowResizeCellAreaEvent){$xeTable.handleRowResizeCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);updateRowOffsetTop();}}removeClass(tableEl,'row-drag--resize');};updateEvent(evnt);},handleRowResizeDblclickEvent(evnt,params){const resizableOpts=computeResizableOpts.value;const{isDblclickAutoHeight}=resizableOpts;const el=refElem.value;if(isDblclickAutoHeight&&el){evnt.stopPropagation();evnt.preventDefault();const{editStore}=reactData;const{fullAllDataRowIdData}=internalData;const{actived}=editStore;const{row}=params;const rowid=getRowid($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(!rowRest){return;}const handleRsHeight=()=>{el.setAttribute('data-calc-row','Y');const resizeHeight=calcCellAutoHeight(rowRest,el);el.removeAttribute('data-calc-row');const resizeParams={...params,resizeHeight,resizeRow:row};reactData.isDragResize=false;internalData._lastResizeTime=Date.now();if($xeTable.handleRowResizeDblclickCellAreaEvent){$xeTable.handleRowResizeDblclickCellAreaEvent(evnt,resizeParams);}else{rowRest.resizeHeight=resizeHeight;handleUpdateRowResize(evnt,resizeParams);}};if(actived.row||actived.column){$xeTable.clearEdit().then(handleRsHeight);}else{handleRsHeight();}}},saveCustomStore(type){const{customConfig}=props;const tableId=computeTableId.value;const customOpts=computeCustomOpts.value;const{updateStore,storage,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=isAllCustom?{}:Object.assign({},storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggGroup=hangleStorageDefaultValue(storageOpts.aggGroup,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);if(type!=='reset'){// fix:修复拖动列宽,重置按钮无法点击的问题
19284
- reactData.isCustomStatus=true;}if(storage&&(customConfig?isEnableConf(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggGroup||isCustomAggFunc)){if(!tableId){errLog('vxe.error.reqProp',['id']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}const storeData=type==='reset'?{resizableData:{},sortData:[],visibleData:{},fixedData:{},aggGroupData:{},aggFuncData:{}}:tableMethods.getCustomStoreData();if(updateStore){return updateStore({$table:$xeTable,id:tableId,type,storeData});}else{setCustomStorageMap(tableId,type==='reset'?null:storeData);}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},handleCustom(){const{mouseConfig}=props;if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}tablePrivateMethods.analyColumnWidth();return tableMethods.refreshColumn(true);},handleUpdateDataQueue(){reactData.upDataFlag++;},handleRefreshColumnQueue(){reactData.reColumnFlag++;},handleFilterOptions(column){const{filterStore}=reactData;const{filters,filterMultiple,filterRender}=column;const compConf=isEnableConf(filterRender)?table_renderer.get(filterRender.name):null;const frMethod=column.filterRecoverMethod||(compConf?compConf.tableFilterRecoverMethod||compConf.filterRecoverMethod:null);filterStore.multiple=filterMultiple;filterStore.options=filters;filterStore.column=column;// 复原状态
19285
- filterStore.options.forEach(option=>{const{_checked,checked}=option;option._checked=checked;if(!checked&&_checked!==checked){if(frMethod){frMethod({option,column,$table:$xeTable});}}});$xeTable.checkFilterOptions();},preventEvent(evnt,type,args,next,end){let evntList=table_interceptor.get(type);// 兼容老版本
19660
+ reactData.isCustomStatus=true;}if(storage&&(customConfig?isEnableConf(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggGroup||isCustomAggFunc)){if(!tableId){errLog('vxe.error.reqProp',['id']);return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();}const storeData=type==='reset'?{resizableData:{},sortData:[],visibleData:{},fixedData:{},aggGroupData:{},aggFuncData:{}}:tableMethods.getCustomStoreData();if(updateStore){return updateStore({$table:$xeTable,id:tableId,type,storeData});}else{setCustomStorageMap(tableId,type==='reset'?null:storeData);}}return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();},handleCustom(){const{mouseConfig}=props;if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}tablePrivateMethods.analyColumnWidth();return tableMethods.refreshColumn(true);},handleUpdateDataQueue(){reactData.upDataFlag++;},handleRefreshColumnQueue(){reactData.reColumnFlag++;},handleFilterOptions(column){if(column){const{filterStore}=reactData;const{filterRender,filters}=column;const filterOptions=filters||[];const compConf=isEnableConf(filterRender)?table_renderer.get(filterRender.name):null;const frMethod=column.filterRecoverMethod||(compConf?compConf.tableFilterRecoverMethod||compConf.filterRecoverMethod:null);filterStore.column=column;// 复原状态
19661
+ filterOptions.forEach(option=>{const{_checked,checked}=option;option._checked=checked;if(!checked&&_checked!==checked){if(frMethod){frMethod({option,column,$table:$xeTable});}}});$xeTable.checkFilterOptions();}},preventEvent(evnt,type,args,next,end){let evntList=table_interceptor.get(type);// 兼容老版本
19286
19662
  if(!evntList.length&&type==='event.clearEdit'){evntList=table_interceptor.get('event.clearActived');if(evntList.length){warnLog('vxe.error.delEvent',['event.clearActived','event.clearEdit']);}}// 兼容老版本
19287
19663
  let rest=null;let isStop=false;for(let i=0;i<evntList.length;i++){const func=evntList[i];const fnRest=func(Object.assign({$table:$xeTable,$grid:$xeGrid,gantt:$xeGantt,$event:evnt},args));if(fnRest===false){isStop=true;break;}else if(fnRest&&fnRest.status===false){rest=fnRest.result;isStop=true;break;}}if(!isStop){if(next){rest=next();}}if(end){end();}return rest;},updateCheckboxStatus(){const{treeConfig}=props;const{isRowGroupStatus}=reactData;const{afterTreeFullData,afterGroupFullData,selectCheckboxMaps,treeIndeterminateRowMaps}=internalData;const aggregateOpts=computeAggregateOpts.value;const treeOpts=computeTreeOpts.value;const childrenField=treeOpts.children||treeOpts.childrenField;const checkboxOpts=computeCheckboxOpts.value;const{checkField,indeterminateField,checkStrictly,checkMethod}=checkboxOpts;if(checkStrictly){return;}if(isRowGroupStatus||treeConfig){const{handleGetRowId}=createHandleGetRowId($xeTable);const childRowMaps={};const childRowList=[];if(isRowGroupStatus){// 行分组
19288
19664
  const mapChildrenField=aggregateOpts.mapChildrenField;if(mapChildrenField){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterGroupFullData,row=>{const rowid=handleGetRowId(row);const childList=row[mapChildrenField];if(childList&&childList.length&&!childRowMaps[rowid]){childRowMaps[rowid]=1;childRowList.unshift([row,rowid,childList]);}},{children:mapChildrenField});}}else if(treeConfig){// 树结构
@@ -21817,6 +22193,12 @@ function grid_createInternalData() {
21817
22193
  $pager.endPageByEvent(evnt);
21818
22194
  }
21819
22195
  },
22196
+ getCurrentPage() {
22197
+ const {
22198
+ tablePage
22199
+ } = reactData;
22200
+ return tablePage.currentPage;
22201
+ },
21820
22202
  setCurrentPage(currentPage) {
21821
22203
  const {
21822
22204
  tablePage
@@ -21831,6 +22213,12 @@ function grid_createInternalData() {
21831
22213
  $pager.setCurrentPageByEvent(evnt, currentPage);
21832
22214
  }
21833
22215
  },
22216
+ getPageSize() {
22217
+ const {
22218
+ tablePage
22219
+ } = reactData;
22220
+ return tablePage.pageSize;
22221
+ },
21834
22222
  setPageSize(pageSize) {
21835
22223
  const {
21836
22224
  tablePage