vxe-table 4.16.20 → 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 (77) 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/column.js +2 -0
  10. package/es/table/src/columnInfo.js +14 -6
  11. package/es/table/src/header.js +118 -3
  12. package/es/table/src/props.js +2 -0
  13. package/es/table/src/table.js +29 -26
  14. package/es/table/src/util.js +8 -5
  15. package/es/table/style.css +2 -1
  16. package/es/table/style.min.css +1 -1
  17. package/es/ui/index.js +4 -1
  18. package/es/ui/src/log.js +1 -1
  19. package/es/ui/src/vn.js +11 -0
  20. package/es/vxe-table/style.css +2 -1
  21. package/es/vxe-table/style.min.css +1 -1
  22. package/lib/grid/src/grid.js +12 -0
  23. package/lib/grid/src/grid.min.js +1 -1
  24. package/lib/index.css +1 -1
  25. package/lib/index.min.css +1 -1
  26. package/lib/index.umd.js +510 -134
  27. package/lib/index.umd.min.js +1 -1
  28. package/lib/style.css +1 -1
  29. package/lib/style.min.css +1 -1
  30. package/lib/table/module/filter/hook.js +123 -66
  31. package/lib/table/module/filter/hook.min.js +1 -1
  32. package/lib/table/module/filter/panel.js +59 -26
  33. package/lib/table/module/filter/panel.min.js +1 -1
  34. package/lib/table/render/index.js +109 -8
  35. package/lib/table/render/index.min.js +1 -1
  36. package/lib/table/src/column.js +2 -0
  37. package/lib/table/src/column.min.js +1 -1
  38. package/lib/table/src/columnInfo.js +18 -5
  39. package/lib/table/src/columnInfo.min.js +1 -1
  40. package/lib/table/src/header.js +133 -3
  41. package/lib/table/src/header.min.js +1 -1
  42. package/lib/table/src/props.js +2 -0
  43. package/lib/table/src/props.min.js +1 -1
  44. package/lib/table/src/table.js +10 -10
  45. package/lib/table/src/table.min.js +1 -1
  46. package/lib/table/src/util.js +18 -14
  47. package/lib/table/src/util.min.js +1 -1
  48. package/lib/table/style/style.css +2 -1
  49. package/lib/table/style/style.min.css +1 -1
  50. package/lib/ui/index.js +4 -1
  51. package/lib/ui/index.min.js +1 -1
  52. package/lib/ui/src/log.js +1 -1
  53. package/lib/ui/src/log.min.js +1 -1
  54. package/lib/ui/src/vn.js +12 -0
  55. package/lib/ui/src/vn.min.js +1 -1
  56. package/lib/vxe-table/style/style.css +2 -1
  57. package/lib/vxe-table/style/style.min.css +1 -1
  58. package/package.json +1 -1
  59. package/packages/grid/src/grid.ts +8 -0
  60. package/packages/table/module/filter/hook.ts +110 -64
  61. package/packages/table/module/filter/panel.ts +56 -28
  62. package/packages/table/render/index.ts +110 -15
  63. package/packages/table/src/column.ts +2 -0
  64. package/packages/table/src/columnInfo.ts +19 -7
  65. package/packages/table/src/header.ts +137 -8
  66. package/packages/table/src/props.ts +2 -0
  67. package/packages/table/src/table.ts +30 -26
  68. package/packages/table/src/util.ts +8 -5
  69. package/packages/ui/index.ts +3 -0
  70. package/packages/ui/src/vn.ts +12 -0
  71. package/styles/components/table-module/filter.scss +4 -1
  72. /package/es/{iconfont.1758850674944.ttf → iconfont.1759031444881.ttf} +0 -0
  73. /package/es/{iconfont.1758850674944.woff → iconfont.1759031444881.woff} +0 -0
  74. /package/es/{iconfont.1758850674944.woff2 → iconfont.1759031444881.woff2} +0 -0
  75. /package/lib/{iconfont.1758850674944.ttf → iconfont.1759031444881.ttf} +0 -0
  76. /package/lib/{iconfont.1758850674944.woff → iconfont.1759031444881.woff} +0 -0
  77. /package/lib/{iconfont.1758850674944.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 [];
@@ -6635,6 +6666,8 @@ const columnProps = {
6635
6666
  filterRecoverMethod: Function,
6636
6667
  // 筛选模板配置项
6637
6668
  filterRender: Object,
6669
+ // 是否显示浮动筛选
6670
+ floatingFilters: Object,
6638
6671
  // 设置为分组节点
6639
6672
  rowGroupNode: Boolean,
6640
6673
  // 设置为树节点
@@ -7039,6 +7072,8 @@ const tableProps = {
7039
7072
  sortConfig: Object,
7040
7073
  // 筛选配置项
7041
7074
  filterConfig: Object,
7075
+ // 浮动筛选配置项
7076
+ floatingFilterConfig: Object,
7042
7077
  // 单选框配置
7043
7078
  radioConfig: Object,
7044
7079
  // 复选框配置项
@@ -8199,6 +8234,9 @@ const renderType = 'body';
8199
8234
 
8200
8235
 
8201
8236
 
8237
+
8238
+
8239
+
8202
8240
  const {
8203
8241
  renderer: header_renderer,
8204
8242
  renderEmptyElement: header_renderEmptyElement
@@ -8249,7 +8287,8 @@ function getColumnLastChild(column) {
8249
8287
  computeMouseOpts,
8250
8288
  computeHeaderCellOpts,
8251
8289
  computeDefaultRowHeight,
8252
- computeVirtualXOpts
8290
+ computeVirtualXOpts,
8291
+ computeFloatingFilterOpts
8253
8292
  } = $xeTable.getComputeMaps();
8254
8293
  const headerColumn = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)([]);
8255
8294
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -8501,15 +8540,136 @@ function getColumnLastChild(column) {
8501
8540
  }) : header_renderEmptyElement($xeTable)]);
8502
8541
  });
8503
8542
  };
8504
- const renderHeads = (isGroup, isOptimizeMode, headerGroups) => {
8543
+ const renderFilterRows = (isOptimizeMode, cols) => {
8544
+ const $xeGrid = $xeTable.xeGrid;
8545
+ const $xeGantt = $xeTable.xeGantt;
8505
8546
  const {
8506
8547
  fixedType
8507
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;
8508
8664
  const {
8509
8665
  headerRowClassName,
8510
8666
  headerRowStyle
8511
8667
  } = tableProps;
8512
- return headerGroups.map((cols, $rowIndex) => {
8668
+ const {
8669
+ visibleColumn
8670
+ } = tableInternalData;
8671
+ const floatingFilterOpts = computeFloatingFilterOpts.value;
8672
+ const rowVNs = headerGroups.map((cols, $rowIndex) => {
8513
8673
  const params = {
8514
8674
  $table: $xeTable,
8515
8675
  $rowIndex,
@@ -8522,6 +8682,13 @@ function getColumnLastChild(column) {
8522
8682
  style: headerRowStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle : null
8523
8683
  }, renderRows(isGroup, isOptimizeMode, headerGroups, $rowIndex, cols));
8524
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;
8525
8692
  };
8526
8693
  const renderVN = () => {
8527
8694
  const {
@@ -10341,12 +10508,16 @@ function panel_createInternalData() {
10341
10508
  const {
10342
10509
  getI18n: filter_panel_getI18n,
10343
10510
  getIcon: filter_panel_getIcon,
10344
- renderer: panel_renderer
10511
+ renderer: panel_renderer,
10512
+ renderEmptyElement: filter_panel_renderEmptyElement
10345
10513
  } = core_.VxeUI;
10346
10514
  /* harmony default export */ var filter_panel = (defineVxeComponent({
10347
10515
  name: 'VxeTableFilterPanel',
10348
10516
  props: {
10349
- filterStore: Object
10517
+ filterStore: {
10518
+ type: Object,
10519
+ default: () => ({})
10520
+ }
10350
10521
  },
10351
10522
  setup(props, context) {
10352
10523
  const xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
@@ -10373,17 +10544,25 @@ const {
10373
10544
  const {
10374
10545
  filterStore
10375
10546
  } = props;
10376
- 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);
10377
10551
  });
10378
10552
  // 全部筛选事件
10379
10553
  const filterCheckAllEvent = (evnt, value) => {
10380
10554
  const {
10381
10555
  filterStore
10382
10556
  } = props;
10383
- filterStore.options.forEach(option => {
10384
- option._checked = value;
10385
- option.checked = value;
10386
- });
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
+ }
10387
10566
  filterStore.isAllSelected = value;
10388
10567
  filterStore.isIndeterminate = false;
10389
10568
  };
@@ -10392,10 +10571,13 @@ const {
10392
10571
  *************************/
10393
10572
  // 确认筛选
10394
10573
  const confirmFilter = evnt => {
10574
+ const {
10575
+ filterStore
10576
+ } = props;
10395
10577
  if (!evnt) {
10396
10578
  warnLog('vxe.error.delFunc', ['confirmFilter', 'saveFilterPanelByEvent']);
10397
10579
  }
10398
- $xeTable.handleFilterConfirmFilter(evnt || new Event('click'));
10580
+ $xeTable.handleFilterConfirmFilter(evnt || new Event('click'), filterStore.column || null);
10399
10581
  };
10400
10582
  // (单选)筛选发生改变
10401
10583
  const changeRadioOption = (evnt, checked, item) => {
@@ -10407,7 +10589,10 @@ const {
10407
10589
  * @param {Event} evnt 事件
10408
10590
  */
10409
10591
  const resetFilter = evnt => {
10410
- $xeTable.handleFilterResetFilter(evnt);
10592
+ const {
10593
+ filterStore
10594
+ } = props;
10595
+ $xeTable.handleFilterResetFilter(evnt, filterStore.column || null);
10411
10596
  };
10412
10597
  // (多选)筛选发生改变
10413
10598
  const changeMultipleOption = (evnt, checked, item) => {
@@ -10421,7 +10606,10 @@ const {
10421
10606
  const {
10422
10607
  filterStore
10423
10608
  } = props;
10424
- if (filterStore.multiple) {
10609
+ const {
10610
+ column
10611
+ } = filterStore;
10612
+ if (column && column.filterMultiple) {
10425
10613
  filterCheckAllEvent(evnt, checked);
10426
10614
  } else {
10427
10615
  resetFilter(evnt);
@@ -10445,10 +10633,17 @@ const {
10445
10633
  } = props;
10446
10634
  const {
10447
10635
  column,
10448
- multiple,
10449
10636
  maxHeight
10450
10637
  } = filterStore;
10451
- 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 || [];
10452
10647
  const filterSlot = slots ? slots.filter : null;
10453
10648
  const params = Object.assign({}, tableInternalData._currFilterParams, {
10454
10649
  $panel: $xeFilterPanel,
@@ -10462,7 +10657,7 @@ const {
10462
10657
  maxHeight: toCssUnit(maxHeight)
10463
10658
  } : {}
10464
10659
  }, $xeTable.callSlot(filterSlot, params))];
10465
- } else if (rtFilter) {
10660
+ } else if (filterRender && rtFilter) {
10466
10661
  return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
10467
10662
  class: 'vxe-table--filter-template',
10468
10663
  style: maxHeight ? {
@@ -10470,8 +10665,8 @@ const {
10470
10665
  } : {}
10471
10666
  }, getSlotVNs(rtFilter(filterRender, params)))];
10472
10667
  }
10473
- const isAllChecked = multiple ? filterStore.isAllSelected : !filterStore.options.some(item => item._checked);
10474
- const isAllIndeterminate = multiple && filterStore.isIndeterminate;
10668
+ const isAllChecked = filterMultiple ? filterStore.isAllSelected : !filterOptions.some(item => item._checked);
10669
+ const isAllIndeterminate = filterMultiple && filterStore.isIndeterminate;
10475
10670
  return [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('ul', {
10476
10671
  class: 'vxe-table--filter-header'
10477
10672
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('li', {
@@ -10479,11 +10674,11 @@ const {
10479
10674
  'is--checked': isAllChecked,
10480
10675
  'is--indeterminate': isAllIndeterminate
10481
10676
  }],
10482
- title: filter_panel_getI18n(multiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter'),
10677
+ title: filter_panel_getI18n(filterMultiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter'),
10483
10678
  onClick: evnt => {
10484
10679
  changeAllOption(evnt, !filterStore.isAllSelected);
10485
10680
  }
10486
- }, (multiple ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10681
+ }, (filterMultiple ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10487
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]
10488
10683
  })] : []).concat([(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10489
10684
  class: 'vxe-checkbox--label'
@@ -10492,7 +10687,7 @@ const {
10492
10687
  style: maxHeight ? {
10493
10688
  maxHeight: toCssUnit(maxHeight)
10494
10689
  } : {}
10495
- }, filterStore.options.map(item => {
10690
+ }, filterOptions.map(item => {
10496
10691
  const isChecked = item._checked;
10497
10692
  const isIndeterminate = false;
10498
10693
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('li', {
@@ -10503,7 +10698,7 @@ const {
10503
10698
  onClick: evnt => {
10504
10699
  changeOption(evnt, !item._checked, item);
10505
10700
  }
10506
- }, (multiple ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10701
+ }, (filterMultiple ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10507
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]
10508
10703
  })] : []).concat([(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
10509
10704
  class: 'vxe-checkbox--label'
@@ -10515,17 +10710,20 @@ const {
10515
10710
  filterStore
10516
10711
  } = props;
10517
10712
  const {
10518
- column,
10519
- multiple
10713
+ column
10520
10714
  } = filterStore;
10715
+ if (!column) {
10716
+ return [];
10717
+ }
10521
10718
  const filterOpts = computeFilterOpts.value;
10522
10719
  const hasCheckOption = computeHasCheckOption.value;
10523
10720
  const {
10524
- filterRender
10721
+ filterRender,
10722
+ filterMultiple
10525
10723
  } = column;
10526
10724
  const compConf = isEnableConf(filterRender) ? panel_renderer.get(filterRender.name) : null;
10527
10725
  const isDisabled = !hasCheckOption && !filterStore.isAllSelected && !filterStore.isIndeterminate;
10528
- 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', {
10529
10727
  class: 'vxe-table--filter-footer'
10530
10728
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('button', {
10531
10729
  class: {
@@ -10546,11 +10744,13 @@ const {
10546
10744
  } = tableReactData;
10547
10745
  const {
10548
10746
  visible,
10549
- multiple,
10550
10747
  column
10551
10748
  } = filterStore;
10749
+ if (!column) {
10750
+ return filter_panel_renderEmptyElement($xeFilterPanel);
10751
+ }
10552
10752
  const filterRender = column ? column.filterRender : null;
10553
- const compConf = isEnableConf(filterRender) ? panel_renderer.get(filterRender.name) : null;
10753
+ const compConf = filterRender && isEnableConf(filterRender) ? panel_renderer.get(filterRender.name) : null;
10554
10754
  const filterClassName = compConf ? compConf.tableFilterClassName || compConf.filterClassName : '';
10555
10755
  const params = Object.assign({}, tableInternalData._currFilterParams, {
10556
10756
  $panel: $xeFilterPanel,
@@ -10575,7 +10775,7 @@ const {
10575
10775
  class: ['vxe-table--filter-wrapper', 'filter--prevent-default', className, getPropClass(filterClassName, params), {
10576
10776
  [`size--${vSize}`]: vSize,
10577
10777
  'is--animat': tableProps.animat,
10578
- 'is--multiple': multiple,
10778
+ 'is--multiple': column.filterMultiple,
10579
10779
  'is--active': visible
10580
10780
  }],
10581
10781
  style: filterStore.style
@@ -11463,57 +11663,19 @@ hook_hooks.add('tableFilterModule', {
11463
11663
  computeFilterOpts,
11464
11664
  computeMouseOpts
11465
11665
  } = $xeTable.getComputeMaps();
11466
- // 确认筛选
11467
- const handleFilterConfirmFilter = evnt => {
11468
- const {
11469
- filterStore
11470
- } = reactData;
11471
- filterStore.options.forEach(option => {
11472
- option.checked = option._checked;
11473
- });
11474
- $xeTable.confirmFilterEvent(evnt);
11475
- };
11476
- // (单选)筛选发生改变
11477
- const changeRadioOption = (evnt, checked, item) => {
11478
- const {
11479
- filterStore
11480
- } = reactData;
11481
- filterStore.options.forEach(option => {
11482
- option._checked = false;
11483
- });
11484
- item._checked = checked;
11485
- $xeTable.checkFilterOptions();
11486
- handleFilterConfirmFilter(evnt);
11487
- };
11488
- // (多选)筛选发生改变
11489
- const changeMultipleOption = (evnt, checked, item) => {
11490
- item._checked = checked;
11491
- $xeTable.checkFilterOptions();
11492
- };
11493
- /**
11494
- * 重置筛选
11495
- * 当筛选面板中的重置按钮被按下时触发
11496
- * @param {Event} evnt 事件
11497
- */
11498
- const handleFilterResetFilter = evnt => {
11499
- const {
11500
- filterStore
11501
- } = reactData;
11502
- $xeTable.handleClearFilter(filterStore.column);
11503
- $xeTable.confirmFilterEvent(evnt);
11504
- if (evnt) {
11505
- $xeTable.dispatchEvent('clear-filter', {
11506
- filterList: []
11507
- }, evnt);
11508
- }
11509
- };
11510
11666
  const filterPrivateMethods = {
11511
11667
  checkFilterOptions() {
11512
11668
  const {
11513
11669
  filterStore
11514
11670
  } = reactData;
11515
- filterStore.isAllSelected = filterStore.options.every(item => item._checked);
11516
- 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
+ }
11517
11679
  },
11518
11680
  /**
11519
11681
  * 点击筛选事件
@@ -11656,11 +11818,13 @@ hook_hooks.add('tableFilterModule', {
11656
11818
  const filterOpts = computeFilterOpts.value;
11657
11819
  const mouseOpts = computeMouseOpts.value;
11658
11820
  const {
11659
- field
11821
+ field,
11822
+ filters
11660
11823
  } = column;
11824
+ const filterOptions = filters || [];
11661
11825
  const values = [];
11662
11826
  const datas = [];
11663
- column.filters.forEach(item => {
11827
+ filterOptions.forEach(item => {
11664
11828
  if (item.checked) {
11665
11829
  values.push(item.value);
11666
11830
  datas.push(item.data);
@@ -11715,32 +11879,84 @@ hook_hooks.add('tableFilterModule', {
11715
11879
  /**
11716
11880
  * 确认筛选
11717
11881
  * 当筛选面板中的确定按钮被按下时触发
11718
- * @param {Event} evnt 事件
11719
11882
  */
11720
- confirmFilterEvent(evnt) {
11883
+ confirmFilterEvent(evnt, column) {
11884
+ if (column) {
11885
+ $xeTable.handleColumnConfirmFilter(column, evnt);
11886
+ }
11887
+ },
11888
+ // (单选)筛选发生改变
11889
+ handleFilterChangeRadioOption(evnt, checked, item) {
11721
11890
  const {
11722
11891
  filterStore
11723
11892
  } = reactData;
11724
11893
  const {
11725
11894
  column
11726
11895
  } = filterStore;
11727
- $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();
11728
11910
  },
11729
- handleFilterChangeRadioOption: changeRadioOption,
11730
- handleFilterChangeMultipleOption: changeMultipleOption,
11731
11911
  // 筛选发生改变
11732
11912
  handleFilterChangeOption(evnt, checked, item) {
11733
11913
  const {
11734
11914
  filterStore
11735
11915
  } = reactData;
11736
- if (filterStore.multiple) {
11737
- changeMultipleOption(evnt, checked, item);
11738
- } else {
11739
- 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
+ }
11740
11933
  }
11741
11934
  },
11742
- handleFilterConfirmFilter,
11743
- handleFilterResetFilter
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);
11943
+ }
11944
+ },
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
+ }
11744
11960
  };
11745
11961
  const filterMethods = {
11746
11962
  /**
@@ -11777,7 +11993,7 @@ hook_hooks.add('tableFilterModule', {
11777
11993
  } = reactData;
11778
11994
  const column = handleFieldOrColumn($xeTable, fieldOrColumn);
11779
11995
  if (column && column.filters) {
11780
- column.filters = toFilters(options || []);
11996
+ column.filters = toFilters(options || [], column.id);
11781
11997
  if (isUpdate) {
11782
11998
  return $xeTable.handleColumnConfirmFilter(column, null);
11783
11999
  } else {
@@ -11826,20 +12042,60 @@ hook_hooks.add('tableFilterModule', {
11826
12042
  }
11827
12043
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
11828
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
+ },
11829
12073
  saveFilterPanel() {
11830
- handleFilterConfirmFilter(null);
12074
+ const {
12075
+ filterStore
12076
+ } = reactData;
12077
+ $xeTable.handleFilterConfirmFilter(null, filterStore.column || null);
11831
12078
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
11832
12079
  },
11833
12080
  saveFilterPanelByEvent(evnt) {
11834
- handleFilterConfirmFilter(evnt);
12081
+ const {
12082
+ filterStore
12083
+ } = reactData;
12084
+ $xeTable.handleFilterConfirmFilter(evnt, filterStore.column || null);
11835
12085
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
11836
12086
  },
11837
12087
  resetFilterPanel() {
11838
- handleFilterResetFilter(null);
12088
+ const {
12089
+ filterStore
12090
+ } = reactData;
12091
+ $xeTable.handleFilterResetFilter(null, filterStore.column || null);
11839
12092
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
11840
12093
  },
11841
12094
  resetFilterPanelByEvent(evnt) {
11842
- handleFilterResetFilter(evnt);
12095
+ const {
12096
+ filterStore
12097
+ } = reactData;
12098
+ $xeTable.handleFilterResetFilter(evnt, filterStore.column || null);
11843
12099
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
11844
12100
  },
11845
12101
  getCheckedFilters() {
@@ -11852,10 +12108,11 @@ hook_hooks.add('tableFilterModule', {
11852
12108
  field,
11853
12109
  filters
11854
12110
  } = column;
12111
+ const filterOptions = filters || [];
11855
12112
  const valueList = [];
11856
12113
  const dataList = [];
11857
- if (filters && filters.length) {
11858
- filters.forEach(item => {
12114
+ if (filterOptions) {
12115
+ filterOptions.forEach(item => {
11859
12116
  if (item.checked) {
11860
12117
  valueList.push(item.value);
11861
12118
  dataList.push(item.data);
@@ -17269,11 +17526,18 @@ function getOldComponent({
17269
17526
  }) {
17270
17527
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.resolveComponent)(getOldComponentName(name));
17271
17528
  }
17272
- 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) {
17273
17536
  const {
17274
- $panel
17537
+ $table,
17538
+ column
17275
17539
  } = params;
17276
- $panel.changeOption({}, checked, option);
17540
+ $table.saveFilterByEvent(new Event('change'), column);
17277
17541
  }
17278
17542
  function getNativeAttrs(renderOpts) {
17279
17543
  let {
@@ -17389,6 +17653,7 @@ function getNativeElementOns(renderOpts, params, eFns) {
17389
17653
  return ons;
17390
17654
  }
17391
17655
  const blurEvent = 'blur';
17656
+ const clearEvent = 'clear';
17392
17657
  /**
17393
17658
  * 组件事件处理
17394
17659
  * @param renderOpts
@@ -17405,7 +17670,8 @@ function getComponentOns(renderOpts, params, eFns, eventOns) {
17405
17670
  const {
17406
17671
  model: modelFunc,
17407
17672
  change: changeFunc,
17408
- blur: blurFunc
17673
+ blur: blurFunc,
17674
+ clear: clearFunc
17409
17675
  } = eFns || {};
17410
17676
  const ons = {};
17411
17677
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().objectEach(events, (func, key) => {
@@ -17440,6 +17706,14 @@ function getComponentOns(renderOpts, params, eFns, eventOns) {
17440
17706
  }
17441
17707
  };
17442
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
+ }
17443
17717
  return eventOns ? Object.assign(ons, eventOns) : ons;
17444
17718
  }
17445
17719
  function getEditOns(renderOpts, params) {
@@ -17491,10 +17765,57 @@ function getFilterOns(renderOpts, params, option) {
17491
17765
  option.data = value;
17492
17766
  },
17493
17767
  change() {
17494
- 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);
17495
17769
  },
17496
17770
  blur() {
17497
- 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);
17498
17819
  }
17499
17820
  });
17500
17821
  }
@@ -17548,10 +17869,10 @@ function getNativeFilterOns(renderOpts, params, option) {
17548
17869
  }
17549
17870
  },
17550
17871
  change() {
17551
- 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);
17552
17873
  },
17553
17874
  blur() {
17554
- 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);
17555
17876
  }
17556
17877
  });
17557
17878
  }
@@ -17729,6 +18050,21 @@ function defaultFilterRender(renderOpts, params) {
17729
18050
  });
17730
18051
  });
17731
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
+ }
17732
18068
  /**
17733
18069
  * 已废弃
17734
18070
  * @deprecated
@@ -18049,7 +18385,9 @@ render_renderer.mixin({
18049
18385
  return getCellLabelVNs(renderOpts, params, cellValue);
18050
18386
  },
18051
18387
  renderTableDefault: defaultEditRender,
18388
+ createTableFilterOptions: defaultFilterOptions,
18052
18389
  renderTableFilter: defaultFilterRender,
18390
+ renderTableFloatingFilter: defaultFloatingFilterRender,
18053
18391
  tableFilterDefaultMethod: handleInputFilterMethod
18054
18392
  },
18055
18393
  FormatNumberInput: {
@@ -18115,7 +18453,9 @@ render_renderer.mixin({
18115
18453
  return getFuncText(itemValue, 1);
18116
18454
  },
18117
18455
  renderTableDefault: defaultEditRender,
18456
+ createTableFilterOptions: defaultFilterOptions,
18118
18457
  renderTableFilter: defaultFilterRender,
18458
+ renderTableFloatingFilter: defaultFloatingFilterRender,
18119
18459
  tableFilterDefaultMethod: handleInputFilterMethod,
18120
18460
  tableExportMethod(params) {
18121
18461
  const {
@@ -18146,7 +18486,9 @@ render_renderer.mixin({
18146
18486
  return getCellLabelVNs(renderOpts, params, cellValue);
18147
18487
  },
18148
18488
  renderTableDefault: defaultEditRender,
18489
+ createTableFilterOptions: defaultFilterOptions,
18149
18490
  renderTableFilter: defaultFilterRender,
18491
+ renderTableFloatingFilter: defaultFloatingFilterRender,
18150
18492
  tableFilterDefaultMethod: handleFilterMethod
18151
18493
  },
18152
18494
  VxeDateRangePicker: {
@@ -18266,6 +18608,7 @@ render_renderer.mixin({
18266
18608
  renderTableCell(renderOpts, params) {
18267
18609
  return getCellLabelVNs(renderOpts, params, getSelectCellValue(renderOpts, params));
18268
18610
  },
18611
+ createTableFilterOptions: defaultFilterOptions,
18269
18612
  renderTableFilter(renderOpts, params) {
18270
18613
  const {
18271
18614
  column
@@ -18290,6 +18633,27 @@ render_renderer.mixin({
18290
18633
  });
18291
18634
  });
18292
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
+ },
18293
18657
  tableFilterDefaultMethod: handleFilterMethod,
18294
18658
  tableExportMethod: handleExportSelectMethod
18295
18659
  },
@@ -18638,7 +19002,7 @@ upDataFlag:0,// 刷新列标识,当列的特定属性被改变时,触发表
18638
19002
  reColumnFlag:0,// 初始化标识
18639
19003
  initStore:{filter:false,import:false,export:false,custom:false},// 自定义列相关的信息
18640
19004
  customStore:{btnEl:null,isAll:false,isIndeterminate:false,activeBtn:false,activeWrapper:false,visible:false,maxHeight:0,oldSortMaps:{},oldFixedMaps:{},oldVisibleMaps:{}},customColumnList:[],// 当前选中的筛选列
18641
- 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},// 存放列相关的信息
18642
19006
  columnStore:{leftList:[],centerList:[],rightList:[],resizeList:[],pxList:[],pxMinList:[],autoMinList:[],scaleList:[],scaleMinList:[],autoList:[],remainList:[]},// 存放快捷菜单的信息
18643
19007
  ctxMenuStore:{selected:null,visible:false,showChild:false,selectChild:null,list:[],style:null},// 存放可编辑相关信息
18644
19008
  editStore:{indexs:{columns:[]},titles:{columns:[]},// 选中源
@@ -18657,10 +19021,10 @@ exportStore:{inited:false,name:'',modeList:[],typeList:[],columns:[],isPrint:fal
18657
19021
  return Object.assign({},globalScrollX,scrollX);}if(globalVirtualXConfig){return Object.assign({},globalVirtualXConfig,virtualXConfig);}// 已废弃,保留兼容
18658
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){// 已废弃,保留兼容
18659
19023
  return Object.assign({},globalScrollY,scrollY);}if(globalVirtualYConfig){return Object.assign({},globalVirtualYConfig,virtualYConfig);}// 已废弃,保留兼容
18660
- 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;// 只判断第一层
18661
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){// 暂时不支持树形结构
18662
19026
  }// 如果所有行都被禁用
18663
- 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,// 已废弃
18664
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 行高
18665
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)){// 编辑模式默认最小高度
18666
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;// 处理还原
@@ -18672,7 +19036,7 @@ if(isCustomSort&&sortData){allCols.forEach(column=>{const colKey=column.getKey()
18672
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);}}};/**
18673
19037
  * 更新数据列的 Map
18674
19038
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
18675
- */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');// 如果启用虚拟滚动,默认高度
18676
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');}};/**
18677
19041
  * 列宽算法,计算单元格列宽,动态分配可用剩余空间
18678
19042
  * 支持 px、%、固定 混合分配
@@ -19093,10 +19457,10 @@ if(!remote){tablePrivateMethods.handleTableData(true);}return (0,external_common
19093
19457
  * 清空指定列的排序条件
19094
19458
  * 如果为空则清空所有列的排序条件
19095
19459
  * @param {String} fieldOrColumn 列或字段名
19096
- */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)();},/**
19097
19461
  * 关闭筛选
19098
19462
  * @param {Event} evnt 事件
19099
- */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)();},/**
19100
19464
  * 判断指定列是否为筛选状态,如果为空则判断所有列
19101
19465
  * @param {String} fieldOrColumn 字段名
19102
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)();},/**
@@ -19197,10 +19561,10 @@ if(isCustomFixed&&(column.fixed||'')!==(column.defaultFixed||'')){hasFixed=1;fix
19197
19561
  * @param $toolbar
19198
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)();}};/**
19199
19563
  * 全局按下事件处理
19200
- */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;// 筛选
19201
19565
  if(tableFilter){if(getEventTargetNode(evnt,el,'vxe-cell--filter').flag){// 如果点击了筛选按钮
19202
19566
  }else if(getEventTargetNode(evnt,tableFilter.getRefMaps().refElem.value).flag){// 如果点击筛选容器
19203
- }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);}}}// 自定义列
19204
19568
  if(tableCustom){if(customStore.btnEl===evnt.target||getEventTargetNode(evnt,document.body,'vxe-toolbar-custom-target').flag){// 如果点击了自定义列按钮
19205
19569
  }else if(getEventTargetNode(evnt,tableCustom.getRefMaps().refElem.value).flag){// 如果点击自定义列容器
19206
19570
  }else{if(!getEventTargetNode(evnt,document.body,'vxe-table--ignore-clear').flag){tablePrivateMethods.preventEvent(evnt,'event.clearCustom',{},()=>{if($xeTable.closeCustom){$xeTable.closeCustom();}});}}}// 如果已激活了编辑状态
@@ -19293,8 +19657,8 @@ if(treeConfig){const childrenField=treeOpts.children||treeOpts.childrenField;ext
19293
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;}}}}// 处理拖动事件
19294
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;// 处理拖动事件
19295
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:修复拖动列宽,重置按钮无法点击的问题
19296
- 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;// 复原状态
19297
- 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);// 兼容老版本
19298
19662
  if(!evntList.length&&type==='event.clearEdit'){evntList=table_interceptor.get('event.clearActived');if(evntList.length){warnLog('vxe.error.delEvent',['event.clearActived','event.clearEdit']);}}// 兼容老版本
19299
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){// 行分组
19300
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){// 树结构
@@ -21829,6 +22193,12 @@ function grid_createInternalData() {
21829
22193
  $pager.endPageByEvent(evnt);
21830
22194
  }
21831
22195
  },
22196
+ getCurrentPage() {
22197
+ const {
22198
+ tablePage
22199
+ } = reactData;
22200
+ return tablePage.currentPage;
22201
+ },
21832
22202
  setCurrentPage(currentPage) {
21833
22203
  const {
21834
22204
  tablePage
@@ -21843,6 +22213,12 @@ function grid_createInternalData() {
21843
22213
  $pager.setCurrentPageByEvent(evnt, currentPage);
21844
22214
  }
21845
22215
  },
22216
+ getPageSize() {
22217
+ const {
22218
+ tablePage
22219
+ } = reactData;
22220
+ return tablePage.pageSize;
22221
+ },
21846
22222
  setPageSize(pageSize) {
21847
22223
  const {
21848
22224
  tablePage