bkui-vue 0.0.2-beta.120 → 0.0.2-beta.122

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.
@@ -14,8 +14,8 @@ import * as __WEBPACK_EXTERNAL_MODULE__pagination_6e36ddb9__ from "../pagination
14
14
  import * as __WEBPACK_EXTERNAL_MODULE__directives_9cc9ba10__ from "../directives";
15
15
  import * as __WEBPACK_EXTERNAL_MODULE__exception_12c197e0__ from "../exception";
16
16
  import * as __WEBPACK_EXTERNAL_MODULE__button_59c00871__ from "../button";
17
- import * as __WEBPACK_EXTERNAL_MODULE__popover_cf5f8dce__ from "../popover";
18
17
  import * as __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__ from "../icon/";
18
+ import * as __WEBPACK_EXTERNAL_MODULE__popover_cf5f8dce__ from "../popover";
19
19
  /******/ // The require scope
20
20
  /******/ var __webpack_require__ = {};
21
21
  /******/
@@ -1607,6 +1607,7 @@ function use_pagination_objectSpread(target) { for (var i = 1; i < arguments.len
1607
1607
  * IN THE SOFTWARE.
1608
1608
  */
1609
1609
 
1610
+
1610
1611
  /**
1611
1612
  * 处理 Prop中的分页配置
1612
1613
  * prop中的配置会覆盖本地的配置
@@ -1684,6 +1685,16 @@ var resolvePaginationOption = function resolvePaginationOption(propPagination, d
1684
1685
  });
1685
1686
  }
1686
1687
  };
1688
+ /**
1689
+ * 初始化排序动作
1690
+ * @param data
1691
+ * @param sortColumns
1692
+ */
1693
+ var multiSort = function multiSort(data, sortColumns) {
1694
+ sortColumns.forEach(function (item) {
1695
+ sort(data, item.schema[COLUMN_ATTRIBUTE.COL_SORT_FN], item.column, item.schema[COLUMN_ATTRIBUTE.COL_SORT_TYPE], item.schema[COLUMN_ATTRIBUTE.COL_SORT_SCOPE]);
1696
+ });
1697
+ };
1687
1698
  var filter = function filter(sourceData, filterFn) {
1688
1699
  if (typeof filterFn === 'function') {
1689
1700
  var filterVals = sourceData.filter(function (row, index) {
@@ -1694,14 +1705,20 @@ var resolvePaginationOption = function resolvePaginationOption(propPagination, d
1694
1705
  }
1695
1706
  return sourceData;
1696
1707
  };
1697
- var resolvePageData = function resolvePageData(filterFn, sortFn, column, type, sortScope) {
1708
+ var resolvePageData = function resolvePageData(filterFn, sortFn, column, type, sortScope, multiCol) {
1698
1709
  var sourceData = indexData.value.slice();
1710
+ if (multiCol !== null && multiCol !== void 0 && multiCol.length) {
1711
+ multiSort(sourceData, multiCol);
1712
+ }
1699
1713
  pageData.length = 0;
1700
1714
  pageData.push.apply(pageData, _toConsumableArray(sourceData.slice(startIndex.value, endIndex.value)));
1701
1715
  filter(pageData, filterFn);
1702
1716
  sort(pageData, sortFn, column, type, sortScope);
1703
1717
  resolveLocalPagination();
1704
1718
  };
1719
+ var resolvePageDataBySortList = function resolvePageDataBySortList(multiCol) {
1720
+ resolvePageData(null, null, null, null, null, multiCol);
1721
+ };
1705
1722
  var multiFilter = function multiFilter(filterFnList) {
1706
1723
  var sourceData = indexData.value.slice();
1707
1724
  var target = filterFnList.reduce(function (result, fn) {
@@ -1729,6 +1746,7 @@ var resolvePaginationOption = function resolvePaginationOption(propPagination, d
1729
1746
  indexData: indexData,
1730
1747
  localPagination: localPagination,
1731
1748
  resolvePageData: resolvePageData,
1749
+ resolvePageDataBySortList: resolvePageDataBySortList,
1732
1750
  resetStartEndIndex: resetStartEndIndex,
1733
1751
  multiFilter: multiFilter,
1734
1752
  sort: sort
@@ -3056,8 +3074,9 @@ var getSortFn = function getSortFn(column, sortType) {
3056
3074
  return getRowText(row, fieldName);
3057
3075
  };
3058
3076
  var sortFn0 = function sortFn0(a, b) {
3059
- var val0 = getVal(a) || '';
3060
- var val1 = getVal(b) || '';
3077
+ var _getVal, _getVal2;
3078
+ var val0 = (_getVal = getVal(a)) !== null && _getVal !== void 0 ? _getVal : '';
3079
+ var val1 = (_getVal2 = getVal(b)) !== null && _getVal2 !== void 0 ? _getVal2 : '';
3061
3080
  if (typeof val0 === 'number' && typeof val1 === 'number') {
3062
3081
  return val0 - val1;
3063
3082
  }
@@ -3072,13 +3091,13 @@ var getSortFn = function getSortFn(column, sortType) {
3072
3091
  };
3073
3092
  var getNextSortType = function getNextSortType(sortType) {
3074
3093
  var _steps;
3075
- var steps = (_steps = {}, defineProperty_defineProperty(_steps, SORT_OPTION.NULL, 0), defineProperty_defineProperty(_steps, SORT_OPTION.ASC, 1), defineProperty_defineProperty(_steps, SORT_OPTION.DESC, 2), _steps);
3094
+ var steps = (_steps = {}, defineProperty_defineProperty(_steps, SORT_OPTION.NULL, 3), defineProperty_defineProperty(_steps, SORT_OPTION.ASC, 1), defineProperty_defineProperty(_steps, SORT_OPTION.DESC, 2), _steps);
3076
3095
  if (steps[sortType] === undefined) {
3077
- return SORT_OPTION.NULL;
3096
+ return SORT_OPTION.ASC;
3078
3097
  }
3079
3098
  return Object.keys(steps)[(steps[sortType] + 1) % 3];
3080
3099
  };
3081
- var resolveSort = function resolveSort(sort) {
3100
+ var resolveSort = function resolveSort(sort, column) {
3082
3101
  if (typeof sort === 'string') {
3083
3102
  return {
3084
3103
  value: sort
@@ -3090,12 +3109,15 @@ var resolveSort = function resolveSort(sort) {
3090
3109
  };
3091
3110
  }
3092
3111
  if (typeof_typeof(sort) === 'object' && sort !== null) {
3093
- if (typeof_typeof(sort.sortFn)) {
3112
+ var _sort$value;
3113
+ if (typeof sort.sortFn === 'function') {
3094
3114
  return utils_objectSpread({
3095
3115
  value: 'custom'
3096
3116
  }, sort);
3097
3117
  }
3098
- return sort;
3118
+ return Object.assign({}, {
3119
+ sortFn: getSortFn(column, (_sort$value = sort.value) !== null && _sort$value !== void 0 ? _sort$value : SORT_OPTION.NULL)
3120
+ }, sort);
3099
3121
  }
3100
3122
  return null;
3101
3123
  };
@@ -3124,7 +3146,7 @@ var getRowId = function getRowId(row, defVal, props) {
3124
3146
  };
3125
3147
  var resolveColumnSortProp = function resolveColumnSortProp(col, props) {
3126
3148
  var _resolveSort, _col$sort;
3127
- var _ref4 = (_resolveSort = resolveSort((_col$sort = col.sort) !== null && _col$sort !== void 0 ? _col$sort : props.defaultSort)) !== null && _resolveSort !== void 0 ? _resolveSort : {},
3149
+ var _ref4 = (_resolveSort = resolveSort((_col$sort = col.sort) !== null && _col$sort !== void 0 ? _col$sort : props.defaultSort, col)) !== null && _resolveSort !== void 0 ? _resolveSort : {},
3128
3150
  value = _ref4.value,
3129
3151
  sortFn = _ref4.sortFn,
3130
3152
  sortScope = _ref4.sortScope;
@@ -3132,7 +3154,7 @@ var resolveColumnSortProp = function resolveColumnSortProp(col, props) {
3132
3154
  type: value,
3133
3155
  fn: sortFn,
3134
3156
  scope: sortScope,
3135
- active: false
3157
+ active: !!col.sort
3136
3158
  };
3137
3159
  };
3138
3160
  ;// CONCATENATED MODULE: ../../packages/table/src/use-attributes.ts
@@ -3205,6 +3227,7 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3205
3227
  pageData = _usePagination.pageData,
3206
3228
  localPagination = _usePagination.localPagination,
3207
3229
  resolvePageData = _usePagination.resolvePageData,
3230
+ resolvePageDataBySortList = _usePagination.resolvePageDataBySortList,
3208
3231
  multiFilter = _usePagination.multiFilter,
3209
3232
  sort = _usePagination.sort,
3210
3233
  resetStartEndIndex = _usePagination.resetStartEndIndex;
@@ -3270,7 +3293,16 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3270
3293
  fn = _resolveColumnSortPro.fn,
3271
3294
  scope = _resolveColumnSortPro.scope,
3272
3295
  active = _resolveColumnSortPro.active;
3273
- formatData.columnSchema.set(col, (_formatData$columnSch = {}, defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.CALC_WIDTH, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.RESIZE_WIDTH, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_MIN_WIDTH, resolveMinWidth(col)), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.LISTENERS, new Map()), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.WIDTH, col.width), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.IS_HIDDEN, isColumnHidden(formatData.settings.fields, col, formatData.settings.checked)), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_TYPE, type), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_FN, fn), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_FILTER_FN, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_FILTER_SCOPE, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_SCOPE, scope), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_ACTIVE, active), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_IS_DRAG, false), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SPAN, {
3296
+ var getSortFn = function getSortFn(col) {
3297
+ if (col.type === 'index') {
3298
+ return function (a, b) {
3299
+ var _formatData$dataSchem, _formatData$dataSchem2;
3300
+ return fn === null || fn === void 0 ? void 0 : fn((_formatData$dataSchem = formatData.dataSchema.get(a)) === null || _formatData$dataSchem === void 0 ? void 0 : _formatData$dataSchem[TABLE_ROW_ATTRIBUTE.ROW_INDEX], (_formatData$dataSchem2 = formatData.dataSchema.get(b)) === null || _formatData$dataSchem2 === void 0 ? void 0 : _formatData$dataSchem2[TABLE_ROW_ATTRIBUTE.ROW_INDEX]);
3301
+ };
3302
+ }
3303
+ return fn;
3304
+ };
3305
+ formatData.columnSchema.set(col, (_formatData$columnSch = {}, defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.CALC_WIDTH, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.RESIZE_WIDTH, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_MIN_WIDTH, resolveMinWidth(col)), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.LISTENERS, new Map()), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.WIDTH, col.width), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.IS_HIDDEN, isColumnHidden(formatData.settings.fields, col, formatData.settings.checked)), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_TYPE, type), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_FN, getSortFn(col)), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_FILTER_FN, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_FILTER_SCOPE, undefined), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_SCOPE, scope), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SORT_ACTIVE, active), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_IS_DRAG, false), defineProperty_defineProperty(_formatData$columnSch, COLUMN_ATTRIBUTE.COL_SPAN, {
3274
3306
  skipCol: skipCol,
3275
3307
  skipColumnNum: skipColumnNum,
3276
3308
  skipColLen: skipColLen
@@ -3369,17 +3401,26 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3369
3401
  }
3370
3402
  setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_ACTIVE, active);
3371
3403
  };
3404
+ var isRowChecked = function isRowChecked(row, index) {
3405
+ if (isRowSelectEnable(props, {
3406
+ row: row,
3407
+ index: index
3408
+ })) {
3409
+ return getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION);
3410
+ }
3411
+ return true;
3412
+ };
3372
3413
  /**
3373
3414
  * 是否数据全选
3374
3415
  */
3375
3416
  var isCheckedAll = function isCheckedAll() {
3376
3417
  if (props.acrossAll) {
3377
- return formatData.data.every(function (row) {
3378
- return getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION);
3418
+ return formatData.data.every(function (row, index) {
3419
+ return isRowChecked(row, index);
3379
3420
  });
3380
3421
  }
3381
- return pageData.every(function (row) {
3382
- return getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION);
3422
+ return pageData.every(function (row, index) {
3423
+ return isRowChecked(row, index);
3383
3424
  });
3384
3425
  };
3385
3426
  /**
@@ -3502,7 +3543,7 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3502
3543
  * @param data
3503
3544
  */
3504
3545
  var formatDataSchema = function formatDataSchema(data) {
3505
- var _formatData$data, _formatData$dataSchem2;
3546
+ var _formatData$data, _formatData$dataSchem4;
3506
3547
  formatData.data.length = 0;
3507
3548
  (_formatData$data = formatData.data).push.apply(_formatData$data, _toConsumableArray(data));
3508
3549
  var hasSelectedRow = false;
@@ -3516,8 +3557,8 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3516
3557
  hasUnSelectedRow = true;
3517
3558
  }
3518
3559
  if (!formatData.dataSchema.has(row)) {
3519
- var _formatData$dataSchem;
3520
- formatData.dataSchema.set(row, (_formatData$dataSchem = {}, defineProperty_defineProperty(_formatData$dataSchem, TABLE_ROW_ATTRIBUTE.ROW_EXPAND, false), defineProperty_defineProperty(_formatData$dataSchem, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, isSelected), defineProperty_defineProperty(_formatData$dataSchem, TABLE_ROW_ATTRIBUTE.ROW_UID, rowId), defineProperty_defineProperty(_formatData$dataSchem, TABLE_ROW_ATTRIBUTE.ROW_INDEX, index + 1), defineProperty_defineProperty(_formatData$dataSchem, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, false), _formatData$dataSchem));
3560
+ var _formatData$dataSchem3;
3561
+ formatData.dataSchema.set(row, (_formatData$dataSchem3 = {}, defineProperty_defineProperty(_formatData$dataSchem3, TABLE_ROW_ATTRIBUTE.ROW_EXPAND, false), defineProperty_defineProperty(_formatData$dataSchem3, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, isSelected), defineProperty_defineProperty(_formatData$dataSchem3, TABLE_ROW_ATTRIBUTE.ROW_UID, rowId), defineProperty_defineProperty(_formatData$dataSchem3, TABLE_ROW_ATTRIBUTE.ROW_INDEX, index + 1), defineProperty_defineProperty(_formatData$dataSchem3, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, false), _formatData$dataSchem3));
3521
3562
  }
3522
3563
  // 当传入的data改变时,更新相关属性
3523
3564
  // ROW_EXPAND & ROW_SELECTION & ROW_UID 不做更新
@@ -3525,7 +3566,7 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3525
3566
  rowId = target[TABLE_ROW_ATTRIBUTE.ROW_UID];
3526
3567
  target[TABLE_ROW_ATTRIBUTE.ROW_INDEX] = index + 1;
3527
3568
  });
3528
- formatData.dataSchema.set(CHECK_ALL_OBJ, (_formatData$dataSchem2 = {}, defineProperty_defineProperty(_formatData$dataSchem2, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, hasSelectedRow), defineProperty_defineProperty(_formatData$dataSchem2, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, hasSelectedRow && hasUnSelectedRow), _formatData$dataSchem2));
3569
+ formatData.dataSchema.set(CHECK_ALL_OBJ, (_formatData$dataSchem4 = {}, defineProperty_defineProperty(_formatData$dataSchem4, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, hasSelectedRow), defineProperty_defineProperty(_formatData$dataSchem4, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, hasSelectedRow && hasUnSelectedRow), _formatData$dataSchem4));
3529
3570
  formatData.dataSchema.set(NEED_COL_ROW_SPAN, defineProperty_defineProperty({}, TABLE_ROW_ATTRIBUTE.ROW_SPAN, neepColspanOrRowspan(['rowspan'])));
3530
3571
  };
3531
3572
  /**
@@ -3561,7 +3602,17 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3561
3602
  * @param isSelected
3562
3603
  */
3563
3604
  var setRowSelection = function setRowSelection(row, isSelected) {
3564
- setRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, isSelected);
3605
+ var value = isSelected;
3606
+ if (typeof props.isSelectedFn === 'function') {
3607
+ value = props.isSelectedFn({
3608
+ row: row
3609
+ });
3610
+ }
3611
+ if (isRowSelectEnable(props, {
3612
+ row: row
3613
+ })) {
3614
+ setRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, value);
3615
+ }
3565
3616
  setRowIndeterminate();
3566
3617
  };
3567
3618
  /**
@@ -3581,14 +3632,20 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3581
3632
  setRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_EXPAND, isExpand);
3582
3633
  };
3583
3634
  var getRowAttribute = function getRowAttribute(row, attrName) {
3584
- var _formatData$dataSchem4;
3585
- return (_formatData$dataSchem4 = formatData.dataSchema.get(row)) === null || _formatData$dataSchem4 === void 0 ? void 0 : _formatData$dataSchem4[attrName];
3635
+ var _formatData$dataSchem6;
3636
+ return (_formatData$dataSchem6 = formatData.dataSchema.get(row)) === null || _formatData$dataSchem6 === void 0 ? void 0 : _formatData$dataSchem6[attrName];
3586
3637
  };
3587
3638
  var toggleRowSelection = function toggleRowSelection(row) {
3639
+ if (typeof props.isSelectedFn === 'function') {
3640
+ setRowSelection(row, props.isSelectedFn({
3641
+ row: row
3642
+ }));
3643
+ return;
3644
+ }
3588
3645
  setRowSelection(row, !getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION));
3589
3646
  };
3590
3647
  var toggleAllSelection = function toggleAllSelection(value) {
3591
- var _formatData$dataSchem5;
3648
+ var _formatData$dataSchem7;
3592
3649
  var val = value !== null && value !== void 0 ? value : !isCheckedAll();
3593
3650
  if (props.acrossAll) {
3594
3651
  formatData.data.forEach(function (row) {
@@ -3599,7 +3656,7 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3599
3656
  pageData.forEach(function (row) {
3600
3657
  return setRowSelection(row, val);
3601
3658
  });
3602
- formatData.dataSchema.set(CHECK_ALL_OBJ, (_formatData$dataSchem5 = {}, defineProperty_defineProperty(_formatData$dataSchem5, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, val), defineProperty_defineProperty(_formatData$dataSchem5, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, false), _formatData$dataSchem5));
3659
+ formatData.dataSchema.set(CHECK_ALL_OBJ, (_formatData$dataSchem7 = {}, defineProperty_defineProperty(_formatData$dataSchem7, TABLE_ROW_ATTRIBUTE.ROW_SELECTION, val), defineProperty_defineProperty(_formatData$dataSchem7, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE, false), _formatData$dataSchem7));
3603
3660
  };
3604
3661
  var clearSelection = function clearSelection() {
3605
3662
  formatData.data.forEach(function (row) {
@@ -3717,6 +3774,20 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3717
3774
  return getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION);
3718
3775
  });
3719
3776
  };
3777
+ var resolveByDefColumns = function resolveByDefColumns() {
3778
+ var multiSortColumns = [];
3779
+ formatData.columns.forEach(function (column) {
3780
+ var _schema$COLUMN_ATTRIB;
3781
+ var schema = formatData.columnSchema.get(column);
3782
+ if (typeof (schema === null || schema === void 0 ? void 0 : schema[COLUMN_ATTRIBUTE.COL_SORT_FN]) === 'function' && !((_schema$COLUMN_ATTRIB = schema === null || schema === void 0 ? void 0 : schema[COLUMN_ATTRIBUTE.IS_HIDDEN]) !== null && _schema$COLUMN_ATTRIB !== void 0 ? _schema$COLUMN_ATTRIB : true)) {
3783
+ multiSortColumns.push({
3784
+ column: column,
3785
+ schema: schema
3786
+ });
3787
+ }
3788
+ });
3789
+ resolvePageDataBySortList(multiSortColumns);
3790
+ };
3720
3791
  return {
3721
3792
  formatColumns: formatColumns,
3722
3793
  formatDataSchema: formatDataSchema,
@@ -3737,6 +3808,7 @@ function use_attributes_objectSpread(target) { for (var i = 1; i < arguments.len
3737
3808
  isActiveColumn: isActiveColumn,
3738
3809
  isHiddenColumn: isHiddenColumn,
3739
3810
  resolvePageData: resolvePageData,
3811
+ resolveByDefColumns: resolveByDefColumns,
3740
3812
  resetStartEndIndex: resetStartEndIndex,
3741
3813
  toggleAllSelection: toggleAllSelection,
3742
3814
  setAllRowExpand: setAllRowExpand,
@@ -4501,12 +4573,15 @@ const external_exception_namespaceObject = external_exception_x({ ["default"]: (
4501
4573
  var external_button_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
4502
4574
  var external_button_y = x => () => x
4503
4575
  const external_button_namespaceObject = external_button_x({ ["default"]: () => __WEBPACK_EXTERNAL_MODULE__button_59c00871__["default"] });
4576
+ ;// CONCATENATED MODULE: external "../icon/"
4577
+ var _x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
4578
+ var _y = x => () => x
4579
+ const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.AngleDownFill, ["AngleUpFill"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.AngleUpFill, ["CloseLine"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.CloseLine, ["CogShape"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.CogShape });
4504
4580
  ;// CONCATENATED MODULE: external "../popover"
4505
4581
  var external_popover_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
4506
4582
  var external_popover_y = x => () => x
4507
4583
  const external_popover_namespaceObject = external_popover_x({ ["default"]: () => __WEBPACK_EXTERNAL_MODULE__popover_cf5f8dce__["default"] });
4508
- ;// CONCATENATED MODULE: ../../packages/table/src/plugins/head-filter.tsx
4509
-
4584
+ ;// CONCATENATED MODULE: ../../packages/table/src/plugins/settings.tsx
4510
4585
 
4511
4586
 
4512
4587
  /*
@@ -4544,145 +4619,452 @@ const external_popover_namespaceObject = external_popover_x({ ["default"]: () =>
4544
4619
 
4545
4620
 
4546
4621
 
4547
-
4548
4622
  function _isSlot(s) {
4549
4623
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0,external_vue_namespaceObject.isVNode)(s);
4550
4624
  }
4551
- /* harmony default export */ const head_filter = ((0,external_vue_namespaceObject.defineComponent)({
4552
- name: 'HeadFilter',
4625
+ /* harmony default export */ const plugins_settings = ((0,external_vue_namespaceObject.defineComponent)({
4626
+ name: 'Settings',
4553
4627
  props: {
4554
- column: IColumnType,
4555
- height: external_shared_namespaceObject.PropTypes.number.def(LINE_HEIGHT)
4628
+ settings: ITableSettings,
4629
+ columns: external_shared_namespaceObject.PropTypes.arrayOf(IColumnType).def([])
4556
4630
  },
4557
- emits: ['change', 'filterSave'],
4631
+ emits: ['change'],
4558
4632
  setup: function setup(props, _ref) {
4559
- var emit = _ref.emit;
4633
+ var emit = _ref.emit,
4634
+ slots = _ref.slots;
4560
4635
  var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
4561
4636
  resolveClassName = _usePrefix.resolveClassName;
4562
4637
  var t = (0,external_config_provider_namespaceObject.useLocale)('table');
4563
- var column = props.column;
4564
- var _toRefs = (0,external_vue_namespaceObject.toRefs)(props.column),
4565
- filter = _toRefs.filter;
4566
- var checked = (0,external_vue_namespaceObject.computed)(function () {
4567
- var _filter$value$checked, _filter$value;
4568
- return (_filter$value$checked = (_filter$value = filter.value) === null || _filter$value === void 0 ? void 0 : _filter$value.checked) !== null && _filter$value$checked !== void 0 ? _filter$value$checked : [];
4569
- });
4570
- var state = (0,external_vue_namespaceObject.reactive)({
4571
- isOpen: false,
4572
- checked: checked.value
4573
- });
4574
- var maxHeight = (0,external_vue_namespaceObject.computed)(function () {
4575
- var _filter$value$maxHeig, _filter$value2;
4576
- return (_filter$value$maxHeig = (_filter$value2 = filter.value) === null || _filter$value2 === void 0 ? void 0 : _filter$value2.maxHeight) !== null && _filter$value$maxHeig !== void 0 ? _filter$value$maxHeig : LINE_HEIGHT * 15;
4577
- });
4578
- var height = (0,external_vue_namespaceObject.computed)(function () {
4579
- var _filter$value3;
4580
- return ((_filter$value3 = filter.value) === null || _filter$value3 === void 0 ? void 0 : _filter$value3.height) || '100%';
4581
- });
4582
- (0,external_vue_namespaceObject.watch)(function () {
4583
- return filter.value;
4584
- }, function () {
4585
- state.checked = checked.value;
4586
- }, {
4587
- immediate: true,
4588
- deep: true
4589
- });
4590
- var headClass = (0,external_vue_namespaceObject.computed)(function () {
4591
- var _classes;
4592
- return (0,external_shared_namespaceObject.classes)((_classes = {}, defineProperty_defineProperty(_classes, resolveClassName('table-head-action'), true), defineProperty_defineProperty(_classes, 'column-filter', true), defineProperty_defineProperty(_classes, '--row-height', "".concat(props.height, "px")), defineProperty_defineProperty(_classes, "active", state.checked.length), defineProperty_defineProperty(_classes, "opened", state.isOpen), _classes));
4593
- });
4594
- var headFilterContentClass = (0,external_shared_namespaceObject.classes)(defineProperty_defineProperty({}, resolveClassName('table-head-filter'), true));
4595
- var refVirtualRender = (0,external_vue_namespaceObject.ref)(null);
4596
- var handlePopShow = function handlePopShow(isOpen) {
4597
- state.isOpen = isOpen;
4598
- isOpen && setTimeout(function () {
4599
- refVirtualRender.value.reset();
4600
- });
4638
+ var defaultSizeList = createDefaultSizeList(t);
4639
+ var resolvedColVal = function resolvedColVal(item, index) {
4640
+ return resolvePropVal(item, ['id', 'field', 'type'], [item, index]);
4601
4641
  };
4602
- var theme = "light ".concat(resolveClassName('table-head-filter'));
4603
- var localData = (0,external_vue_namespaceObject.computed)(function () {
4604
- var _filter$value$list = filter.value.list,
4605
- list = _filter$value$list === void 0 ? [] : _filter$value$list;
4606
- return list;
4642
+ var checkAll = (0,external_vue_namespaceObject.ref)(false);
4643
+ var isShow = (0,external_vue_namespaceObject.ref)(false);
4644
+ var localSettings = (0,external_vue_namespaceObject.computed)(function () {
4645
+ var deafultSettings = {
4646
+ fields: props.columns.map(function (col) {
4647
+ return Object.assign({}, col, {
4648
+ field: col.field || col.type
4649
+ });
4650
+ }),
4651
+ checked: [],
4652
+ limit: 0,
4653
+ size: 'small',
4654
+ sizeList: defaultSizeList,
4655
+ showLineHeight: true,
4656
+ trigger: 'manual'
4657
+ };
4658
+ if (typeof props.settings === 'boolean') {
4659
+ return deafultSettings;
4660
+ }
4661
+ return Object.assign({}, deafultSettings, props.settings);
4607
4662
  });
4608
- var getRegExp = function getRegExp(searchValue) {
4609
- var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'ig';
4610
- return new RegExp("".concat(searchValue).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'), flags);
4663
+ var activeSize = (0,external_vue_namespaceObject.ref)(localSettings.value.size || 'small');
4664
+ var activeHeight = (0,external_vue_namespaceObject.ref)(SETTING_SIZE.small);
4665
+ var checkedFields = (0,external_vue_namespaceObject.ref)(localSettings.value.checked || []);
4666
+ var className = resolveClassName('table-settings');
4667
+ var theme = "light ".concat(className);
4668
+ var renderFields = (0,external_vue_namespaceObject.computed)(function () {
4669
+ return localSettings.value.fields || props.columns || [];
4670
+ });
4671
+ var cachedValue = {
4672
+ checkAll: checkAll.value,
4673
+ activeSize: activeSize.value,
4674
+ activeHeight: activeHeight.value,
4675
+ checkedFields: localSettings.value.checked || []
4611
4676
  };
4612
- var defaultFilterFn = function defaultFilterFn(checked, row) {
4613
- var match = filter.value.match;
4614
- var matchText = getRowText(row, resolvePropVal(column, 'field', [column, row]));
4615
- if (match === 'full') {
4616
- return checked.includes(matchText);
4617
- }
4618
- return checked.some(function (str) {
4619
- return getRegExp(str, 'img').test(matchText);
4677
+ var handleSaveClick = function handleSaveClick() {
4678
+ Object.assign(cachedValue, {
4679
+ checkAll: checkAll.value,
4680
+ activeSize: activeSize.value,
4681
+ activeHeight: activeHeight.value,
4682
+ checkedFields: checkedFields.value
4620
4683
  });
4684
+ emit('change', {
4685
+ checked: checkedFields.value,
4686
+ size: activeSize.value,
4687
+ height: activeHeight.value,
4688
+ fields: (0,external_vue_namespaceObject.unref)(renderFields)
4689
+ });
4690
+ isShow.value = false;
4621
4691
  };
4622
- var filterFn = typeof filter.value.filterFn === 'function' ?
4623
- // eslint-disable-next-line max-len
4624
- function (checked, row, index, data) {
4625
- return filter.value.filterFn(checked, row, props.column, index, data);
4626
- } : function (checked, row) {
4627
- return checked.length ? defaultFilterFn(checked, row) : true;
4628
- };
4629
- var handleBtnSaveClick = function handleBtnSaveClick() {
4630
- handleFilterChange(true);
4631
- emit('filterSave', state.checked);
4632
- state.isOpen = false;
4692
+ var handleCancelClick = function handleCancelClick() {
4693
+ checkAll.value = cachedValue.checkAll;
4694
+ activeSize.value = cachedValue.activeSize;
4695
+ activeHeight.value = cachedValue.activeHeight;
4696
+ checkedFields.value = cachedValue.checkedFields;
4697
+ isShow.value = false;
4633
4698
  };
4634
- var handleFilterChange = function handleFilterChange() {
4635
- var btnSaveClick = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
4636
- var _resolveBtnOption = resolveBtnOption(btnSave, t.value.confirm),
4637
- disabled = _resolveBtnOption.disabled;
4638
- if (disabled || btnSaveClick) {
4639
- if (filter.value === 'custom') {
4640
- emit('change', state.checked, null);
4641
- state.isOpen = false;
4642
- return;
4643
- }
4644
- filter.value.checked = state.checked;
4645
- emit('change', state.checked, filterFn);
4699
+ var handleSettingClick = function handleSettingClick() {
4700
+ if (localSettings.value.trigger === 'manual') {
4701
+ isShow.value = true;
4646
4702
  }
4647
4703
  };
4648
- var handleBtnResetClick = function handleBtnResetClick() {
4649
- if (state.checked.length) {
4650
- state.checked.length = 0;
4651
- state.isOpen = false;
4652
- (0,external_vue_namespaceObject.nextTick)(function () {
4653
- return emit('change', state.checked, filterFn);
4704
+ var handleCheckAllClick = function handleCheckAllClick(e) {
4705
+ e.stopImmediatePropagation();
4706
+ e.stopPropagation();
4707
+ e.preventDefault();
4708
+ checkAll.value = !checkAll.value;
4709
+ var fields = localSettings.value.fields || props.columns || [];
4710
+ var readonlyFields = fields.filter(function (f, index) {
4711
+ return f.disabled && checkedFields.value.includes(resolvedColVal(f, index));
4712
+ }).map(function (item, index) {
4713
+ return resolvedColVal(item, index);
4714
+ });
4715
+ if (checkAll.value) {
4716
+ var _checkedFields$value;
4717
+ var allFields = fields.filter(function (f) {
4718
+ return !f.disabled;
4719
+ }).map(function (item, index) {
4720
+ return resolvedColVal(item, index);
4654
4721
  });
4722
+ (_checkedFields$value = checkedFields.value).splice.apply(_checkedFields$value, [0, checkedFields.value.length].concat(_toConsumableArray(allFields), _toConsumableArray(readonlyFields)));
4723
+ } else {
4724
+ var _checkedFields$value2;
4725
+ (_checkedFields$value2 = checkedFields.value).splice.apply(_checkedFields$value2, [0, checkedFields.value.length].concat(_toConsumableArray(readonlyFields)));
4655
4726
  }
4656
4727
  };
4657
- var resolveBtnOption = function resolveBtnOption(opt, defText) {
4658
- var disabled = opt === 'disabled' || opt === false;
4659
- var text = typeof opt === 'string' ? opt : defText;
4728
+ var isLimit = (0,external_vue_namespaceObject.computed)(function () {
4729
+ var _localSettings$value$;
4730
+ return ((_localSettings$value$ = localSettings.value.limit) !== null && _localSettings$value$ !== void 0 ? _localSettings$value$ : 0) > 0;
4731
+ });
4732
+ var sizeList = localSettings.value.sizeList || defaultSizeList;
4733
+ var isFiledDisabled = (0,external_vue_namespaceObject.computed)(function () {
4734
+ return isLimit.value && (localSettings.value.limit ? localSettings.value.limit : 0) <= checkedFields.value.length;
4735
+ });
4736
+ var isItemReadonly = function isItemReadonly(item, index) {
4737
+ return item.disabled || isFiledDisabled.value && !checkedFields.value.includes(resolvedColVal(item, index));
4738
+ };
4739
+ var handleSizeItemClick = function handleSizeItemClick(item) {
4740
+ activeSize.value = item.value;
4741
+ activeHeight.value = item.height;
4742
+ };
4743
+ var getItemClass = function getItemClass(item) {
4660
4744
  return {
4661
- disabled: disabled,
4662
- text: text
4745
+ 'line-size': true,
4746
+ 'is-medium': activeSize.value === 'medium',
4747
+ active: item.value === activeSize.value
4663
4748
  };
4664
4749
  };
4665
- var _filter$value4 = filter.value,
4666
- btnSave = _filter$value4.btnSave,
4667
- btnReset = _filter$value4.btnReset;
4668
- var renderSaveBtn = function renderSaveBtn() {
4669
- var _resolveBtnOption2 = resolveBtnOption(btnSave, t.value.confirm),
4670
- disabled = _resolveBtnOption2.disabled,
4671
- text = _resolveBtnOption2.text;
4672
- if (disabled) {
4750
+ var buttonStyle = {
4751
+ marginRight: '12px'
4752
+ };
4753
+ var renderSize = function renderSize() {
4754
+ return sizeList.map(function (item) {
4673
4755
  return (0,external_vue_namespaceObject.createVNode)("span", {
4674
- "class": "btn-filter-save disabled"
4675
- }, [text]);
4676
- }
4677
- return (0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
4678
- "theme": "primary",
4679
- "size": "small",
4680
- "style": "width: 56px; margin-right: 8px;",
4681
- "onClick": handleBtnSaveClick
4682
- }, _isSlot(text) ? text : {
4683
- "default": function _default() {
4684
- return [text];
4685
- }
4756
+ "class": getItemClass(item),
4757
+ "onClick": function onClick() {
4758
+ return handleSizeItemClick(item);
4759
+ }
4760
+ }, [item.label]);
4761
+ });
4762
+ };
4763
+ var indeterminate = (0,external_vue_namespaceObject.computed)(function () {
4764
+ return checkedFields.value.length > 0 && checkedFields.value.length < renderFields.value.length;
4765
+ });
4766
+ var showLineHeight = (0,external_vue_namespaceObject.computed)(function () {
4767
+ return typeof localSettings.value.showLineHeight === 'boolean' ? localSettings.value.showLineHeight : true;
4768
+ });
4769
+ (0,external_vue_namespaceObject.watch)(function () {
4770
+ return [checkedFields.value];
4771
+ }, function () {
4772
+ if (!checkedFields.value.length) {
4773
+ checkAll.value = false;
4774
+ }
4775
+ if (checkedFields.value.length && renderFields.value.every(function (field, index) {
4776
+ return checkedFields.value.includes(resolvedColVal(field, index));
4777
+ })) {
4778
+ checkAll.value = true;
4779
+ }
4780
+ }, {
4781
+ immediate: true,
4782
+ deep: true
4783
+ });
4784
+ (0,external_vue_namespaceObject.watch)(function () {
4785
+ return [props.settings.checked];
4786
+ }, function () {
4787
+ var _checkedFields$value3;
4788
+ (_checkedFields$value3 = checkedFields.value).splice.apply(_checkedFields$value3, [0, checkedFields.value.length].concat(_toConsumableArray(localSettings.value.checked)));
4789
+ }, {
4790
+ immediate: true,
4791
+ deep: true
4792
+ });
4793
+ return function () {
4794
+ var _localSettings$value$2;
4795
+ return props.settings ? (0,external_vue_namespaceObject.createVNode)(external_popover_namespaceObject["default"], (0,external_vue_namespaceObject.mergeProps)({
4796
+ "trigger": (_localSettings$value$2 = localSettings.value.trigger) !== null && _localSettings$value$2 !== void 0 ? _localSettings$value$2 : 'manual',
4797
+ "isShow": isShow.value,
4798
+ "placement": "bottom-end",
4799
+ "arrow": true
4800
+ }, {
4801
+ theme: theme
4802
+ }), {
4803
+ "default": function _default() {
4804
+ return (0,external_vue_namespaceObject.createVNode)("span", {
4805
+ "class": "table-head-settings",
4806
+ "onClick": handleSettingClick
4807
+ }, [(0,external_vue_namespaceObject.createVNode)(_namespaceObject.CogShape, {
4808
+ "style": "color: #c4c6cc;"
4809
+ }, null)]);
4810
+ },
4811
+ content: function content() {
4812
+ var _slots$default;
4813
+ var _slot2;
4814
+ return (0,external_vue_namespaceObject.createVNode)("div", {
4815
+ "class": "setting-content"
4816
+ }, [(0,external_vue_namespaceObject.createVNode)("div", {
4817
+ "class": "setting-head"
4818
+ }, [(0,external_vue_namespaceObject.createVNode)("span", {
4819
+ "class": "head-title"
4820
+ }, [t.value.setting.title]), (0,external_vue_namespaceObject.createVNode)(_namespaceObject.CloseLine, {
4821
+ "class": "icon-close-action",
4822
+ "onClick": handleCancelClick
4823
+ }, null)]), (0,external_vue_namespaceObject.createVNode)("div", {
4824
+ "class": "setting-body"
4825
+ }, [(0,external_vue_namespaceObject.createVNode)("div", {
4826
+ "class": "setting-body-title"
4827
+ }, [(0,external_vue_namespaceObject.createVNode)("div", null, [(0,external_vue_namespaceObject.createVNode)("span", {
4828
+ "class": "field-setting-label"
4829
+ }, [t.value.setting.fields.title]), isLimit.value ? (0,external_vue_namespaceObject.createVNode)("span", {
4830
+ "class": "limit"
4831
+ }, [t.value.setting.fields.subtitle(localSettings.value.limit)]) : '']), isLimit.value ? '' : (0,external_vue_namespaceObject.createVNode)("span", {
4832
+ "class": "check-all",
4833
+ "onClick": handleCheckAllClick
4834
+ }, [(0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
4835
+ "label": t.value.setting.fields.selectAll,
4836
+ "indeterminate": Boolean(indeterminate.value),
4837
+ "modelValue": checkedFields.value.length > 0
4838
+ }, {
4839
+ "default": function _default() {
4840
+ return [t.value.setting.fields.selectAll];
4841
+ }
4842
+ })])]), (0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject.BkCheckboxGroup, {
4843
+ "class": "setting-body-fields",
4844
+ "modelValue": checkedFields.value,
4845
+ "onUpdate:modelValue": function onUpdateModelValue($event) {
4846
+ return checkedFields.value = $event;
4847
+ }
4848
+ }, _isSlot(_slot2 = renderFields.value.map(function (item, index) {
4849
+ var _slot;
4850
+ return (0,external_vue_namespaceObject.createVNode)("div", {
4851
+ "class": "field-item"
4852
+ }, [(0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
4853
+ "checked": checkedFields.value.includes(resolvedColVal(item, index)),
4854
+ "label": resolvedColVal(item, index),
4855
+ "disabled": isItemReadonly(item, index)
4856
+ }, _isSlot(_slot = resolvePropVal(item, ['name', 'label'], [item, index])) ? _slot : {
4857
+ "default": function _default() {
4858
+ return [_slot];
4859
+ }
4860
+ })]);
4861
+ })) ? _slot2 : {
4862
+ "default": function _default() {
4863
+ return [_slot2];
4864
+ }
4865
+ }), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots), showLineHeight.value ? (0,external_vue_namespaceObject.createVNode)("div", {
4866
+ "class": "setting-body-line-height"
4867
+ }, [t.value.setting.lineHeight.title, (0,external_vue_namespaceObject.createTextVNode)("\uFF1A"), renderSize()]) : '']), (0,external_vue_namespaceObject.createVNode)("div", {
4868
+ "class": "setting-footer"
4869
+ }, [(0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
4870
+ "theme": "primary",
4871
+ "style": buttonStyle,
4872
+ "onClick": handleSaveClick
4873
+ }, {
4874
+ "default": function _default() {
4875
+ return [t.value.setting.options.ok];
4876
+ }
4877
+ }), (0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
4878
+ "style": buttonStyle,
4879
+ "onClick": handleCancelClick
4880
+ }, {
4881
+ "default": function _default() {
4882
+ return [t.value.setting.options.cancel];
4883
+ }
4884
+ })])]);
4885
+ }
4886
+ }) : '';
4887
+ };
4888
+ }
4889
+ }));
4890
+ ;// CONCATENATED MODULE: ../../packages/table/src/plugins/head-filter.tsx
4891
+
4892
+
4893
+
4894
+ /*
4895
+ * Tencent is pleased to support the open source community by making
4896
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
4897
+ *
4898
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
4899
+ *
4900
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
4901
+ *
4902
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
4903
+ *
4904
+ * ---------------------------------------------------
4905
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
4906
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
4907
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
4908
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4909
+ *
4910
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
4911
+ * the Software.
4912
+ *
4913
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
4914
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4915
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
4916
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
4917
+ * IN THE SOFTWARE.
4918
+ */
4919
+
4920
+
4921
+
4922
+
4923
+
4924
+
4925
+
4926
+
4927
+
4928
+
4929
+
4930
+ function head_filter_isSlot(s) {
4931
+ return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0,external_vue_namespaceObject.isVNode)(s);
4932
+ }
4933
+ /* harmony default export */ const head_filter = ((0,external_vue_namespaceObject.defineComponent)({
4934
+ name: 'HeadFilter',
4935
+ props: {
4936
+ column: IColumnType,
4937
+ height: external_shared_namespaceObject.PropTypes.number.def(LINE_HEIGHT)
4938
+ },
4939
+ emits: ['change', 'filterSave'],
4940
+ setup: function setup(props, _ref) {
4941
+ var emit = _ref.emit;
4942
+ var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
4943
+ resolveClassName = _usePrefix.resolveClassName;
4944
+ var t = (0,external_config_provider_namespaceObject.useLocale)('table');
4945
+ var column = props.column;
4946
+ var _toRefs = (0,external_vue_namespaceObject.toRefs)(props.column),
4947
+ filter = _toRefs.filter;
4948
+ var checked = (0,external_vue_namespaceObject.computed)(function () {
4949
+ var _filter$value$checked, _filter$value;
4950
+ return (_filter$value$checked = (_filter$value = filter.value) === null || _filter$value === void 0 ? void 0 : _filter$value.checked) !== null && _filter$value$checked !== void 0 ? _filter$value$checked : [];
4951
+ });
4952
+ var state = (0,external_vue_namespaceObject.reactive)({
4953
+ isOpen: false,
4954
+ checked: checked.value
4955
+ });
4956
+ var maxHeight = (0,external_vue_namespaceObject.computed)(function () {
4957
+ var _filter$value$maxHeig, _filter$value2;
4958
+ return (_filter$value$maxHeig = (_filter$value2 = filter.value) === null || _filter$value2 === void 0 ? void 0 : _filter$value2.maxHeight) !== null && _filter$value$maxHeig !== void 0 ? _filter$value$maxHeig : LINE_HEIGHT * 15;
4959
+ });
4960
+ var height = (0,external_vue_namespaceObject.computed)(function () {
4961
+ var _filter$value3;
4962
+ return ((_filter$value3 = filter.value) === null || _filter$value3 === void 0 ? void 0 : _filter$value3.height) || '100%';
4963
+ });
4964
+ (0,external_vue_namespaceObject.watch)(function () {
4965
+ return filter.value;
4966
+ }, function () {
4967
+ state.checked = checked.value;
4968
+ }, {
4969
+ immediate: true,
4970
+ deep: true
4971
+ });
4972
+ var headClass = (0,external_vue_namespaceObject.computed)(function () {
4973
+ var _classes;
4974
+ return (0,external_shared_namespaceObject.classes)((_classes = {}, defineProperty_defineProperty(_classes, resolveClassName('table-head-action'), true), defineProperty_defineProperty(_classes, 'column-filter', true), defineProperty_defineProperty(_classes, '--row-height', "".concat(props.height, "px")), defineProperty_defineProperty(_classes, "active", state.checked.length), defineProperty_defineProperty(_classes, "opened", state.isOpen), _classes));
4975
+ });
4976
+ var headFilterContentClass = (0,external_shared_namespaceObject.classes)(defineProperty_defineProperty({}, resolveClassName('table-head-filter'), true));
4977
+ var refVirtualRender = (0,external_vue_namespaceObject.ref)(null);
4978
+ var handlePopShow = function handlePopShow(isOpen) {
4979
+ state.isOpen = isOpen;
4980
+ isOpen && setTimeout(function () {
4981
+ refVirtualRender.value.reset();
4982
+ });
4983
+ };
4984
+ var theme = "light ".concat(resolveClassName('table-head-filter'));
4985
+ var localData = (0,external_vue_namespaceObject.computed)(function () {
4986
+ var _filter$value$list = filter.value.list,
4987
+ list = _filter$value$list === void 0 ? [] : _filter$value$list;
4988
+ return list;
4989
+ });
4990
+ var getRegExp = function getRegExp(searchValue) {
4991
+ var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'ig';
4992
+ return new RegExp("".concat(searchValue).replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'), flags);
4993
+ };
4994
+ var defaultFilterFn = function defaultFilterFn(checked, row) {
4995
+ var match = filter.value.match;
4996
+ var matchText = getRowText(row, resolvePropVal(column, 'field', [column, row]));
4997
+ if (match === 'full') {
4998
+ return checked.includes(matchText);
4999
+ }
5000
+ return checked.some(function (str) {
5001
+ return getRegExp(str, 'img').test(matchText);
5002
+ });
5003
+ };
5004
+ var filterFn = typeof filter.value.filterFn === 'function' ?
5005
+ // eslint-disable-next-line max-len
5006
+ function (checked, row, index, data) {
5007
+ return filter.value.filterFn(checked, row, props.column, index, data);
5008
+ } : function (checked, row) {
5009
+ return checked.length ? defaultFilterFn(checked, row) : true;
5010
+ };
5011
+ var handleBtnSaveClick = function handleBtnSaveClick() {
5012
+ handleFilterChange(true);
5013
+ emit('filterSave', state.checked);
5014
+ state.isOpen = false;
5015
+ };
5016
+ var handleFilterChange = function handleFilterChange() {
5017
+ var btnSaveClick = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
5018
+ var _resolveBtnOption = resolveBtnOption(btnSave, t.value.confirm),
5019
+ disabled = _resolveBtnOption.disabled;
5020
+ if (disabled || btnSaveClick) {
5021
+ if (filter.value === 'custom') {
5022
+ emit('change', state.checked, null);
5023
+ state.isOpen = false;
5024
+ return;
5025
+ }
5026
+ filter.value.checked = state.checked;
5027
+ emit('change', state.checked, filterFn);
5028
+ }
5029
+ };
5030
+ var handleBtnResetClick = function handleBtnResetClick() {
5031
+ if (state.checked.length) {
5032
+ state.checked.length = 0;
5033
+ state.isOpen = false;
5034
+ (0,external_vue_namespaceObject.nextTick)(function () {
5035
+ return emit('change', state.checked, filterFn);
5036
+ });
5037
+ }
5038
+ };
5039
+ var resolveBtnOption = function resolveBtnOption(opt, defText) {
5040
+ var disabled = opt === 'disabled' || opt === false;
5041
+ var text = typeof opt === 'string' ? opt : defText;
5042
+ return {
5043
+ disabled: disabled,
5044
+ text: text
5045
+ };
5046
+ };
5047
+ var _filter$value4 = filter.value,
5048
+ btnSave = _filter$value4.btnSave,
5049
+ btnReset = _filter$value4.btnReset;
5050
+ var renderSaveBtn = function renderSaveBtn() {
5051
+ var _resolveBtnOption2 = resolveBtnOption(btnSave, t.value.confirm),
5052
+ disabled = _resolveBtnOption2.disabled,
5053
+ text = _resolveBtnOption2.text;
5054
+ if (disabled) {
5055
+ return (0,external_vue_namespaceObject.createVNode)("span", {
5056
+ "class": "btn-filter-save disabled"
5057
+ }, [text]);
5058
+ }
5059
+ return (0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
5060
+ "theme": "primary",
5061
+ "size": "small",
5062
+ "style": "width: 56px; margin-right: 8px;",
5063
+ "onClick": handleBtnSaveClick
5064
+ }, head_filter_isSlot(text) ? text : {
5065
+ "default": function _default() {
5066
+ return [text];
5067
+ }
4686
5068
  });
4687
5069
  };
4688
5070
  var renderResetBtn = function renderResetBtn() {
@@ -4697,7 +5079,7 @@ function _isSlot(s) {
4697
5079
  "size": "small",
4698
5080
  "disabled": state.checked.length === 0,
4699
5081
  "onClick": handleBtnResetClick
4700
- }, _isSlot(text) ? text : {
5082
+ }, head_filter_isSlot(text) ? text : {
4701
5083
  "default": function _default() {
4702
5084
  return [text];
4703
5085
  }
@@ -4845,10 +5227,6 @@ function _nonIterableRest() {
4845
5227
  function _slicedToArray(arr, i) {
4846
5228
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
4847
5229
  }
4848
- ;// CONCATENATED MODULE: external "../icon/"
4849
- var _x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
4850
- var _y = x => () => x
4851
- const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.AngleDownFill, ["AngleUpFill"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.AngleUpFill, ["CloseLine"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.CloseLine, ["CogShape"]: () => __WEBPACK_EXTERNAL_MODULE__icon__2ba2075d__.CogShape });
4852
5230
  ;// CONCATENATED MODULE: ../../packages/table/src/plugins/head-sort.tsx
4853
5231
 
4854
5232
 
@@ -4893,19 +5271,23 @@ const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE
4893
5271
  },
4894
5272
  emits: ['change'],
4895
5273
  setup: function setup(props, _ref) {
4896
- var _props$column;
4897
- var emit = _ref.emit;
5274
+ var _ref2, _props$column$sort$va, _props$column;
5275
+ var emit = _ref.emit,
5276
+ expose = _ref.expose;
4898
5277
  var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
4899
5278
  resolveClassName = _usePrefix.resolveClassName;
4900
- var defSort = ((_props$column = props.column) === null || _props$column === void 0 || (_props$column = _props$column.sort) === null || _props$column === void 0 ? void 0 : _props$column.value) || props.defaultSort || SORT_OPTION.NULL;
5279
+ var defSort = (_ref2 = (_props$column$sort$va = (_props$column = props.column) === null || _props$column === void 0 || (_props$column = _props$column.sort) === null || _props$column === void 0 ? void 0 : _props$column.value) !== null && _props$column$sort$va !== void 0 ? _props$column$sort$va : props.defaultSort) !== null && _ref2 !== void 0 ? _ref2 : SORT_OPTION.NULL;
4901
5280
  var sortType = (0,external_vue_namespaceObject.ref)(defSort);
4902
5281
  (0,external_vue_namespaceObject.watch)(function () {
4903
5282
  return [props.defaultSort];
4904
- }, function (_ref2) {
4905
- var _ref3 = _slicedToArray(_ref2, 1),
4906
- val = _ref3[0];
5283
+ }, function (_ref3) {
5284
+ var _ref4 = _slicedToArray(_ref3, 1),
5285
+ val = _ref4[0];
4907
5286
  sortType.value = val;
4908
5287
  });
5288
+ var setNextSortType = function setNextSortType(type) {
5289
+ sortType.value = type;
5290
+ };
4909
5291
  /**
4910
5292
  * 点击排序事件
4911
5293
  * @param e 鼠标事件
@@ -4924,7 +5306,7 @@ const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE
4924
5306
  currentSort = SORT_OPTION.NULL;
4925
5307
  }
4926
5308
  var execFn = getSortFn(props.column, currentSort);
4927
- var sort = resolveSort(props.column.sort);
5309
+ var sort = resolveSort(props.column.sort, props.column);
4928
5310
  if ((sort === null || sort === void 0 ? void 0 : sort.value) === 'custom') {
4929
5311
  var _sort$sortFn;
4930
5312
  emit('change', (_sort$sortFn = sort === null || sort === void 0 ? void 0 : sort.sortFn) !== null && _sort$sortFn !== void 0 ? _sort$sortFn : execFn, currentSort);
@@ -4932,6 +5314,9 @@ const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE
4932
5314
  }
4933
5315
  emit('change', execFn, currentSort);
4934
5316
  };
5317
+ expose({
5318
+ setNextSortType: setNextSortType
5319
+ });
4935
5320
  return function () {
4936
5321
  return (0,external_vue_namespaceObject.createVNode)("span", {
4937
5322
  "class": resolveClassName('head-cell-sort')
@@ -4951,8 +5336,9 @@ const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE
4951
5336
  };
4952
5337
  }
4953
5338
  }));
4954
- ;// CONCATENATED MODULE: ../../packages/table/src/plugins/settings.tsx
5339
+ ;// CONCATENATED MODULE: ../../packages/table/src/plugins/use-head-cell.tsx
4955
5340
 
5341
+ var use_head_cell_this = undefined;
4956
5342
 
4957
5343
  /*
4958
5344
  * Tencent is pleased to support the open source community by making
@@ -4987,278 +5373,236 @@ const _namespaceObject = _x({ ["AngleDownFill"]: () => __WEBPACK_EXTERNAL_MODULE
4987
5373
 
4988
5374
 
4989
5375
 
4990
-
4991
-
4992
- function settings_isSlot(s) {
5376
+ function use_head_cell_isSlot(s) {
4993
5377
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0,external_vue_namespaceObject.isVNode)(s);
4994
5378
  }
4995
- /* harmony default export */ const plugins_settings = ((0,external_vue_namespaceObject.defineComponent)({
4996
- name: 'Settings',
4997
- props: {
4998
- settings: ITableSettings,
4999
- columns: external_shared_namespaceObject.PropTypes.arrayOf(IColumnType).def([])
5000
- },
5001
- emits: ['change'],
5002
- setup: function setup(props, _ref) {
5003
- var emit = _ref.emit,
5004
- slots = _ref.slots;
5005
- var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
5006
- resolveClassName = _usePrefix.resolveClassName;
5007
- var t = (0,external_config_provider_namespaceObject.useLocale)('table');
5008
- var defaultSizeList = createDefaultSizeList(t);
5009
- var resolvedColVal = function resolvedColVal(item, index) {
5010
- return resolvePropVal(item, ['id', 'field', 'type'], [item, index]);
5011
- };
5012
- var checkAll = (0,external_vue_namespaceObject.ref)(false);
5013
- var isShow = (0,external_vue_namespaceObject.ref)(false);
5014
- var localSettings = (0,external_vue_namespaceObject.computed)(function () {
5015
- if (typeof props.settings === 'boolean') {
5016
- return {
5017
- fields: props.columns.map(function (col) {
5018
- return Object.assign({}, col, {
5019
- field: col.field || col.type
5020
- });
5021
- }),
5022
- checked: [],
5023
- limit: 0,
5024
- size: 'small',
5025
- sizeList: defaultSizeList,
5026
- showLineHeight: true
5027
- };
5028
- }
5029
- return props.settings;
5030
- });
5031
- var activeSize = (0,external_vue_namespaceObject.ref)(localSettings.value.size || 'small');
5032
- var activeHeight = (0,external_vue_namespaceObject.ref)(SETTING_SIZE.small);
5033
- var checkedFields = (0,external_vue_namespaceObject.ref)(localSettings.value.checked || []);
5034
- var className = resolveClassName('table-settings');
5035
- var theme = "light ".concat(className);
5036
- var renderFields = (0,external_vue_namespaceObject.computed)(function () {
5037
- return localSettings.value.fields || props.columns || [];
5038
- });
5039
- var cachedValue = {
5040
- checkAll: checkAll.value,
5041
- activeSize: activeSize.value,
5042
- activeHeight: activeHeight.value,
5043
- checkedFields: localSettings.value.checked || []
5044
- };
5045
- var handleSaveClick = function handleSaveClick() {
5046
- Object.assign(cachedValue, {
5047
- checkAll: checkAll.value,
5048
- activeSize: activeSize.value,
5049
- activeHeight: activeHeight.value,
5050
- checkedFields: checkedFields.value
5051
- });
5052
- emit('change', {
5053
- checked: checkedFields.value,
5054
- size: activeSize.value,
5055
- height: activeHeight.value,
5056
- fields: (0,external_vue_namespaceObject.unref)(renderFields)
5057
- });
5058
- isShow.value = false;
5059
- };
5060
- var handleCancelClick = function handleCancelClick() {
5061
- checkAll.value = cachedValue.checkAll;
5062
- activeSize.value = cachedValue.activeSize;
5063
- activeHeight.value = cachedValue.activeHeight;
5064
- checkedFields.value = cachedValue.checkedFields;
5065
- isShow.value = false;
5066
- };
5067
- var handleSettingClick = function handleSettingClick() {
5068
- isShow.value = true;
5069
- };
5070
- var handleCheckAllClick = function handleCheckAllClick(e) {
5071
- e.stopImmediatePropagation();
5072
- e.stopPropagation();
5073
- e.preventDefault();
5074
- checkAll.value = !checkAll.value;
5075
- var fields = localSettings.value.fields || props.columns || [];
5076
- var readonlyFields = fields.filter(function (f, index) {
5077
- return f.disabled && checkedFields.value.includes(resolvedColVal(f, index));
5078
- }).map(function (item, index) {
5079
- return resolvedColVal(item, index);
5379
+ /* harmony default export */ const use_head_cell = (function (props, context, column, tableResp) {
5380
+ var _tableResp$formatData;
5381
+ var nextSort = (0,external_vue_namespaceObject.ref)((_tableResp$formatData = tableResp.formatData.columnSchema.get(column)) === null || _tableResp$formatData === void 0 ? void 0 : _tableResp$formatData[COLUMN_ATTRIBUTE.COL_SORT_TYPE]);
5382
+ var active = (0,external_vue_namespaceObject.computed)(function () {
5383
+ var _tableResp$formatData2, _tableResp$formatData3;
5384
+ return (_tableResp$formatData2 = (_tableResp$formatData3 = tableResp.formatData.columnSchema.get(column)) === null || _tableResp$formatData3 === void 0 ? void 0 : _tableResp$formatData3[COLUMN_ATTRIBUTE.COL_SORT_ACTIVE]) !== null && _tableResp$formatData2 !== void 0 ? _tableResp$formatData2 : false;
5385
+ });
5386
+ var resolveEventListener = function resolveEventListener(col) {
5387
+ var listeners = tableResp.getColumnAttribute(col, COLUMN_ATTRIBUTE.LISTENERS);
5388
+ if (!listeners) {
5389
+ return {};
5390
+ }
5391
+ return Array.from(listeners === null || listeners === void 0 ? void 0 : listeners.keys()).reduce(function (handle, key) {
5392
+ var eventName = key.split('_').slice(-1)[0];
5393
+ return Object.assign(handle, defineProperty_defineProperty({}, eventName, function (e) {
5394
+ listeners.get(key).forEach(function (fn) {
5395
+ return Reflect.apply(fn, use_head_cell_this, [e, col]);
5396
+ });
5397
+ }));
5398
+ }, {});
5399
+ };
5400
+ var getSortFnByColumn = function getSortFnByColumn(column, fn, a, b) {
5401
+ if (column.type === 'index') {
5402
+ return fn(tableResp.getRowAttribute(a, TABLE_ROW_ATTRIBUTE.ROW_INDEX), tableResp.getRowAttribute(b, TABLE_ROW_ATTRIBUTE.ROW_INDEX));
5403
+ }
5404
+ return fn(a, b);
5405
+ };
5406
+ /**
5407
+ * 点击选中一列事件
5408
+ * @param index 当前选中列Index
5409
+ * @param column 当前选中列
5410
+ */
5411
+ var handleColumnHeadClick = function handleColumnHeadClick(index, column) {
5412
+ if (tableResp.getColumnAttribute(column, COLUMN_ATTRIBUTE.COL_IS_DRAG)) {
5413
+ return;
5414
+ }
5415
+ if (column.sort && !column.filter) {
5416
+ var type = tableResp.getColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE);
5417
+ nextSort.value = getNextSortType(type);
5418
+ var sortFn = function sortFn(a, b) {
5419
+ return getSortFnByColumn(column, getSortFn(column, nextSort.value), a, b);
5420
+ };
5421
+ tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE, nextSort.value);
5422
+ tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_FN, sortFn);
5423
+ tableResp.setColumnSortActive(column, true);
5424
+ tableResp.sortData(column);
5425
+ context.emit(EMIT_EVENTS.COLUMN_SORT, {
5426
+ column: (0,external_vue_namespaceObject.unref)(column),
5427
+ index: index,
5428
+ type: nextSort.value
5080
5429
  });
5081
- if (checkAll.value) {
5082
- var _checkedFields$value;
5083
- var allFields = fields.filter(function (f) {
5084
- return !f.disabled;
5085
- }).map(function (item, index) {
5086
- return resolvedColVal(item, index);
5430
+ }
5431
+ };
5432
+ var handleColCellClick = function handleColCellClick(index) {
5433
+ handleColumnHeadClick(index, column);
5434
+ };
5435
+ var renderCheckboxColumn = function renderCheckboxColumn(row, index) {
5436
+ var isAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
5437
+ var handleChecked = function handleChecked(value) {
5438
+ if (isAll) {
5439
+ tableResp.setRowSelectionAll(value);
5440
+ context.emit(EMIT_EVENTS.ROW_SELECT_ALL, {
5441
+ checked: value,
5442
+ data: props.data
5087
5443
  });
5088
- (_checkedFields$value = checkedFields.value).splice.apply(_checkedFields$value, [0, checkedFields.value.length].concat(_toConsumableArray(allFields), _toConsumableArray(readonlyFields)));
5089
- } else {
5090
- var _checkedFields$value2;
5091
- (_checkedFields$value2 = checkedFields.value).splice.apply(_checkedFields$value2, [0, checkedFields.value.length].concat(_toConsumableArray(readonlyFields)));
5444
+ return;
5092
5445
  }
5446
+ tableResp.setRowSelection(row, value);
5447
+ context.emit(EMIT_EVENTS.ROW_SELECT, {
5448
+ row: row,
5449
+ index: index,
5450
+ checked: value,
5451
+ data: props.data
5452
+ });
5453
+ context.emit(EMIT_EVENTS.ROW_SELECT_CHANGE, {
5454
+ row: row,
5455
+ index: index,
5456
+ checked: value,
5457
+ data: props.data
5458
+ });
5093
5459
  };
5094
- var isLimit = (0,external_vue_namespaceObject.computed)(function () {
5095
- var _localSettings$value$;
5096
- return ((_localSettings$value$ = localSettings.value.limit) !== null && _localSettings$value$ !== void 0 ? _localSettings$value$ : 0) > 0;
5097
- });
5098
- var sizeList = localSettings.value.sizeList || defaultSizeList;
5099
- var isFiledDisabled = (0,external_vue_namespaceObject.computed)(function () {
5100
- return isLimit.value && (localSettings.value.limit ? localSettings.value.limit : 0) <= checkedFields.value.length;
5460
+ var indeterminate = tableResp.getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION_INDETERMINATE);
5461
+ var isChecked = tableResp.getRowAttribute(row, TABLE_ROW_ATTRIBUTE.ROW_SELECTION);
5462
+ var isEnable = isRowSelectEnable(props, {
5463
+ row: row,
5464
+ index: index,
5465
+ isCheckAll: isAll
5101
5466
  });
5102
- var isItemReadonly = function isItemReadonly(item, index) {
5103
- return item.disabled || isFiledDisabled.value && !checkedFields.value.includes(resolvedColVal(item, index));
5104
- };
5105
- var handleSizeItemClick = function handleSizeItemClick(item) {
5106
- activeSize.value = item.value;
5107
- activeHeight.value = item.height;
5108
- };
5109
- var getItemClass = function getItemClass(item) {
5110
- return {
5111
- 'line-size': true,
5112
- 'is-medium': activeSize.value === 'medium',
5113
- active: item.value === activeSize.value
5467
+ return (0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
5468
+ "onChange": handleChecked,
5469
+ "disabled": !isEnable,
5470
+ "modelValue": isChecked,
5471
+ "indeterminate": indeterminate
5472
+ }, null);
5473
+ };
5474
+ /**
5475
+ * 获取排序设置表头
5476
+ * @param column 当前渲染排序列
5477
+ * @param index 排序列所在index
5478
+ * @returns
5479
+ */
5480
+ var getSortCell = function getSortCell(column, index) {
5481
+ /**
5482
+ * 点击排序事件
5483
+ * @param sortFn 排序函数
5484
+ * @param type 排序类型
5485
+ */
5486
+ var handleSortClick = function handleSortClick(sortFn, type) {
5487
+ var fn = function fn(a, b) {
5488
+ return getSortFnByColumn(column, sortFn, a, b);
5114
5489
  };
5490
+ tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE, type);
5491
+ tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_FN, fn);
5492
+ tableResp.sortData(column);
5493
+ tableResp.setColumnSortActive(column, true);
5494
+ context.emit(EMIT_EVENTS.COLUMN_SORT, {
5495
+ column: column,
5496
+ index: index,
5497
+ type: type
5498
+ });
5115
5499
  };
5116
- var buttonStyle = {
5117
- marginRight: '12px'
5500
+ // 如果是独立的,则只高亮当前排序
5501
+ return (0,external_vue_namespaceObject.createVNode)(head_sort, {
5502
+ "column": column,
5503
+ "defaultSort": active.value ? nextSort.value : SORT_OPTION.NULL,
5504
+ "onChange": handleSortClick,
5505
+ "active": active.value
5506
+ }, null);
5507
+ };
5508
+ var getFilterCell = function getFilterCell(column, index) {
5509
+ var handleFilterChange = function handleFilterChange(checked, filterFn) {
5510
+ var filterFn0 = function filterFn0(row, index) {
5511
+ return filterFn(checked, row, index);
5512
+ };
5513
+ tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_FILTER_FN, filterFn0);
5514
+ tableResp.filter();
5515
+ context.emit(EMIT_EVENTS.COLUMN_FILTER, {
5516
+ checked: checked,
5517
+ column: (0,external_vue_namespaceObject.unref)(column),
5518
+ index: index
5519
+ });
5118
5520
  };
5119
- var renderSize = function renderSize() {
5120
- return sizeList.map(function (item) {
5121
- return (0,external_vue_namespaceObject.createVNode)("span", {
5122
- "class": getItemClass(item),
5123
- "onClick": function onClick() {
5124
- return handleSizeItemClick(item);
5125
- }
5126
- }, [item.label]);
5521
+ var filterSave = function filterSave(values) {
5522
+ context.emit(EMIT_EVENTS.COLUMN_FILTER_SAVE, {
5523
+ column: column,
5524
+ values: values
5127
5525
  });
5128
5526
  };
5129
- var indeterminate = (0,external_vue_namespaceObject.computed)(function () {
5130
- return checkedFields.value.length > 0 && !renderFields.value.every(function (field, index) {
5131
- return checkedFields.value.includes(resolvePropVal(field, 'field', [field, index]));
5132
- });
5133
- });
5134
- var showLineHeight = (0,external_vue_namespaceObject.computed)(function () {
5135
- return typeof localSettings.value.showLineHeight === 'boolean' ? localSettings.value.showLineHeight : true;
5136
- });
5137
- (0,external_vue_namespaceObject.watch)(function () {
5138
- return [checkedFields.value];
5139
- }, function () {
5140
- if (!checkedFields.value.length) {
5141
- checkAll.value = false;
5142
- }
5143
- if (checkedFields.value.length && renderFields.value.every(function (field, index) {
5144
- return checkedFields.value.includes(resolvedColVal(field, index));
5145
- })) {
5146
- checkAll.value = true;
5527
+ return (0,external_vue_namespaceObject.createVNode)(head_filter, {
5528
+ "column": column,
5529
+ "height": props.headHeight,
5530
+ "onChange": handleFilterChange,
5531
+ "onFilterSave": filterSave
5532
+ }, null);
5533
+ };
5534
+ var config = resolveHeadConfig(props);
5535
+ var cellFn = config.cellFn;
5536
+ var getHeadCellText = function getHeadCellText(column, index) {
5537
+ if (typeof cellFn === 'function') {
5538
+ return cellFn(column, index);
5539
+ }
5540
+ if (typeof column.renderHead === 'function') {
5541
+ return column.renderHead(column, index);
5542
+ }
5543
+ return resolvePropVal(column, 'label', [column, index]);
5544
+ };
5545
+ /**
5546
+ * table head cell render
5547
+ * @param column
5548
+ * @param index
5549
+ * @returns
5550
+ */
5551
+ var renderHeadCell = function renderHeadCell(column, index) {
5552
+ if (column.type === 'selection') {
5553
+ return [renderCheckboxColumn(CHECK_ALL_OBJ, null, true)];
5554
+ }
5555
+ var cells = [];
5556
+ if (column.sort) {
5557
+ cells.push(getSortCell(column, index));
5558
+ }
5559
+ if (column.filter) {
5560
+ cells.push(getFilterCell(column, index));
5561
+ }
5562
+ var cellText = getHeadCellText(column, index);
5563
+ cells.unshift((0,external_vue_namespaceObject.createVNode)("span", {
5564
+ "class": "head-text"
5565
+ }, [cellText]));
5566
+ var showTitle = typeof cellText === 'string' ? cellText : undefined;
5567
+ var headClass = {
5568
+ 'has-sort': !!column.sort,
5569
+ 'has-filter': !!column.filter
5570
+ };
5571
+ return (0,external_vue_namespaceObject.createVNode)(table_cell, {
5572
+ "class": headClass,
5573
+ "title": showTitle,
5574
+ "observerResize": props.observerResize,
5575
+ "resizerWay": props.resizerWay,
5576
+ "isHead": true,
5577
+ "column": column,
5578
+ "parentSetting": props.showOverflowTooltip,
5579
+ "headExplain": resolvePropVal(column.explain, 'head', [column])
5580
+ }, use_head_cell_isSlot(cells) ? cells : {
5581
+ "default": function _default() {
5582
+ return [cells];
5147
5583
  }
5148
- }, {
5149
- immediate: true,
5150
- deep: true
5151
- });
5152
- (0,external_vue_namespaceObject.watch)(function () {
5153
- return [props.settings.checked];
5154
- }, function () {
5155
- var _checkedFields$value3;
5156
- (_checkedFields$value3 = checkedFields.value).splice.apply(_checkedFields$value3, [0, checkedFields.value.length].concat(_toConsumableArray(localSettings.value.checked)));
5157
- }, {
5158
- immediate: true,
5159
- deep: true
5160
5584
  });
5161
- return function () {
5162
- return props.settings ? (0,external_vue_namespaceObject.createVNode)(external_popover_namespaceObject["default"], (0,external_vue_namespaceObject.mergeProps)({
5163
- "trigger": "manual",
5164
- "isShow": isShow.value,
5165
- "placement": "bottom-end",
5166
- "arrow": true
5167
- }, {
5168
- theme: theme
5169
- }), {
5170
- "default": function _default() {
5171
- return (0,external_vue_namespaceObject.createVNode)("span", {
5172
- "class": "table-head-settings",
5173
- "onClick": handleSettingClick
5174
- }, [(0,external_vue_namespaceObject.createVNode)(_namespaceObject.CogShape, {
5175
- "style": "color: #c4c6cc;"
5176
- }, null)]);
5177
- },
5178
- content: function content() {
5179
- var _slots$default;
5180
- var _slot2;
5181
- return (0,external_vue_namespaceObject.createVNode)("div", {
5182
- "class": "setting-content"
5183
- }, [(0,external_vue_namespaceObject.createVNode)("div", {
5184
- "class": "setting-head"
5185
- }, [(0,external_vue_namespaceObject.createVNode)("span", {
5186
- "class": "head-title"
5187
- }, [t.value.setting.title]), (0,external_vue_namespaceObject.createVNode)(_namespaceObject.CloseLine, {
5188
- "class": "icon-close-action",
5189
- "onClick": handleCancelClick
5190
- }, null)]), (0,external_vue_namespaceObject.createVNode)("div", {
5191
- "class": "setting-body"
5192
- }, [(0,external_vue_namespaceObject.createVNode)("div", {
5193
- "class": "setting-body-title"
5194
- }, [(0,external_vue_namespaceObject.createVNode)("div", null, [(0,external_vue_namespaceObject.createVNode)("span", {
5195
- "class": "field-setting-label"
5196
- }, [t.value.setting.fields.title]), isLimit.value ? (0,external_vue_namespaceObject.createVNode)("span", {
5197
- "class": "limit"
5198
- }, [t.value.setting.fields.subtitle(localSettings.value.limit)]) : '']), isLimit.value ? '' : (0,external_vue_namespaceObject.createVNode)("span", {
5199
- "class": "check-all",
5200
- "onClick": handleCheckAllClick
5201
- }, [(0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
5202
- "label": t.value.setting.fields.selectAll,
5203
- "indeterminate": Boolean(indeterminate.value),
5204
- "modelValue": checkedFields.value.length > 0
5205
- }, {
5206
- "default": function _default() {
5207
- return [t.value.setting.fields.selectAll];
5208
- }
5209
- })])]), (0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject.BkCheckboxGroup, {
5210
- "class": "setting-body-fields",
5211
- "modelValue": checkedFields.value,
5212
- "onUpdate:modelValue": function onUpdateModelValue($event) {
5213
- return checkedFields.value = $event;
5214
- }
5215
- }, settings_isSlot(_slot2 = renderFields.value.map(function (item, index) {
5216
- var _slot;
5217
- return (0,external_vue_namespaceObject.createVNode)("div", {
5218
- "class": "field-item"
5219
- }, [(0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
5220
- "checked": checkedFields.value.includes(resolvedColVal(item, index)),
5221
- "label": resolvedColVal(item, index),
5222
- "disabled": isItemReadonly(item, index)
5223
- }, settings_isSlot(_slot = resolvePropVal(item, ['name', 'label'], [item, index])) ? _slot : {
5224
- "default": function _default() {
5225
- return [_slot];
5226
- }
5227
- })]);
5228
- })) ? _slot2 : {
5229
- "default": function _default() {
5230
- return [_slot2];
5231
- }
5232
- }), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots), showLineHeight.value ? (0,external_vue_namespaceObject.createVNode)("div", {
5233
- "class": "setting-body-line-height"
5234
- }, [t.value.setting.lineHeight.title, (0,external_vue_namespaceObject.createTextVNode)("\uFF1A"), renderSize()]) : '']), (0,external_vue_namespaceObject.createVNode)("div", {
5235
- "class": "setting-footer"
5236
- }, [(0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
5237
- "theme": "primary",
5238
- "style": buttonStyle,
5239
- "onClick": handleSaveClick
5240
- }, {
5241
- "default": function _default() {
5242
- return [t.value.setting.options.ok];
5243
- }
5244
- }), (0,external_vue_namespaceObject.createVNode)(external_button_namespaceObject["default"], {
5245
- "style": buttonStyle,
5246
- "onClick": handleCancelClick
5247
- }, {
5248
- "default": function _default() {
5249
- return [t.value.setting.options.cancel];
5250
- }
5251
- })])]);
5252
- }
5253
- }) : '';
5254
- };
5255
- }
5256
- }));
5585
+ };
5586
+ var getTH = function getTH(classList, style, index) {
5587
+ return (0,external_vue_namespaceObject.createVNode)("th", (0,external_vue_namespaceObject.mergeProps)({
5588
+ "colspan": 1,
5589
+ "rowspan": 1,
5590
+ "data-id": tableResp.getColumnId(column),
5591
+ "class": classList,
5592
+ "style": style,
5593
+ "onClick": function onClick() {
5594
+ return handleColCellClick(index);
5595
+ }
5596
+ }, resolveEventListener(column)), [renderHeadCell(column, index)]);
5597
+ };
5598
+ return {
5599
+ getTH: getTH
5600
+ };
5601
+ });
5257
5602
  ;// CONCATENATED MODULE: ../../packages/table/src/use-render.tsx
5258
5603
 
5259
5604
 
5260
5605
 
5261
- var use_render_this = undefined;
5262
5606
 
5263
5607
  function use_render_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
5264
5608
  function use_render_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? use_render_ownKeys(Object(source), !0).forEach(function (key) { defineProperty_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : use_render_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -5303,8 +5647,6 @@ function use_render_objectSpread(target) { for (var i = 1; i < arguments.length;
5303
5647
 
5304
5648
 
5305
5649
 
5306
-
5307
-
5308
5650
  function use_render_isSlot(s) {
5309
5651
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !(0,external_vue_namespaceObject.isVNode)(s);
5310
5652
  }
@@ -5320,7 +5662,7 @@ function use_render_isSlot(s) {
5320
5662
  var settings = (0,external_vue_namespaceObject.computed)(function () {
5321
5663
  return formatData.value.settings;
5322
5664
  });
5323
- var activeSortIndex = (0,external_vue_namespaceObject.ref)(null);
5665
+ // const activeSortIndex = ref(null);
5324
5666
  /**
5325
5667
  * 过滤当前可渲染的列
5326
5668
  */
@@ -5435,175 +5777,17 @@ function use_render_isSlot(s) {
5435
5777
  });
5436
5778
  context.emit(EMIT_EVENTS.PAGE_VALUE_CHANGE, current);
5437
5779
  };
5438
- var getSortFnByColumn = function getSortFnByColumn(column, fn, a, b) {
5439
- if (column.type === 'index') {
5440
- return fn(tableResp.getRowAttribute(a, TABLE_ROW_ATTRIBUTE.ROW_INDEX), tableResp.getRowAttribute(b, TABLE_ROW_ATTRIBUTE.ROW_INDEX));
5441
- }
5442
- return fn(a, b);
5443
- };
5444
- /**
5445
- * 点击选中一列事件
5446
- * @param index 当前选中列Index
5447
- * @param column 当前选中列
5448
- */
5449
- var handleColumnHeadClick = function handleColumnHeadClick(index, column) {
5450
- if (tableResp.getColumnAttribute(column, COLUMN_ATTRIBUTE.COL_IS_DRAG)) {
5451
- return;
5452
- }
5453
- if (column.sort && !column.filter) {
5454
- var type = tableResp.getColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE);
5455
- var nextSort = getNextSortType(type);
5456
- var sortFn = function sortFn(a, b) {
5457
- return getSortFnByColumn(column, getSortFn(column, nextSort), a, b);
5458
- };
5459
- tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE, nextSort);
5460
- tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_FN, sortFn);
5461
- tableResp.sortData(column);
5462
- context.emit(EMIT_EVENTS.COLUMN_SORT, {
5463
- column: (0,external_vue_namespaceObject.unref)(column),
5464
- index: index,
5465
- type: nextSort
5466
- });
5467
- }
5468
- };
5469
- /**
5470
- * 获取排序设置表头
5471
- * @param column 当前渲染排序列
5472
- * @param index 排序列所在index
5473
- * @returns
5474
- */
5475
- var getSortCell = function getSortCell(column, index) {
5476
- /**
5477
- * 点击排序事件
5478
- * @param sortFn 排序函数
5479
- * @param type 排序类型
5480
- */
5481
- var handleSortClick = function handleSortClick(sortFn, type) {
5482
- var fn = function fn(a, b) {
5483
- return getSortFnByColumn(column, sortFn, a, b);
5484
- };
5485
- tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE, type);
5486
- tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_FN, fn);
5487
- tableResp.sortData(column);
5488
- activeSortIndex.value = index;
5489
- context.emit(EMIT_EVENTS.COLUMN_SORT, {
5490
- column: column,
5491
- index: index,
5492
- type: type
5493
- });
5494
- };
5495
- var nextSort = tableResp.getColumnAttribute(column, COLUMN_ATTRIBUTE.COL_SORT_TYPE);
5496
- var active = props.colSortBehavior === IColSortBehavior.independent ? activeSortIndex.value === index : true;
5497
- // 如果是独立的,则只高亮当前排序
5498
- return (0,external_vue_namespaceObject.createVNode)(head_sort, {
5499
- "column": column,
5500
- "defaultSort": active ? nextSort : SORT_OPTION.NULL,
5501
- "onChange": handleSortClick,
5502
- "active": active
5503
- }, null);
5504
- };
5505
- var getFilterCell = function getFilterCell(column, index) {
5506
- var handleFilterChange = function handleFilterChange(checked, filterFn) {
5507
- var filterFn0 = function filterFn0(row, index) {
5508
- return filterFn(checked, row, index);
5509
- };
5510
- tableResp.setColumnAttribute(column, COLUMN_ATTRIBUTE.COL_FILTER_FN, filterFn0);
5511
- tableResp.filter();
5512
- context.emit(EMIT_EVENTS.COLUMN_FILTER, {
5513
- checked: checked,
5514
- column: (0,external_vue_namespaceObject.unref)(column),
5515
- index: index
5516
- });
5517
- };
5518
- var filterSave = function filterSave(values) {
5519
- context.emit(EMIT_EVENTS.COLUMN_FILTER_SAVE, {
5520
- column: column,
5521
- values: values
5522
- });
5523
- };
5524
- return (0,external_vue_namespaceObject.createVNode)(head_filter, {
5525
- "column": column,
5526
- "height": props.headHeight,
5527
- "onChange": handleFilterChange,
5528
- "onFilterSave": filterSave
5529
- }, null);
5530
- };
5531
5780
  /**
5532
5781
  * 渲染Table Header
5533
5782
  * @returns
5534
5783
  */
5535
5784
  var renderHeader = function renderHeader() {
5536
5785
  var config = resolveHeadConfig(props);
5537
- var cellFn = config.cellFn;
5538
5786
  var rowStyle = {
5539
5787
  // @ts-ignore:next-line
5540
5788
  '--row-height': "".concat(resolvePropVal(config, 'height', ['thead']), "px"),
5541
5789
  backgroundColor: props.thead.color
5542
5790
  };
5543
- var getHeadCellText = function getHeadCellText(column, index) {
5544
- if (typeof cellFn === 'function') {
5545
- return cellFn(column, index);
5546
- }
5547
- if (typeof column.renderHead === 'function') {
5548
- return column.renderHead(column, index);
5549
- }
5550
- return resolvePropVal(column, 'label', [column, index]);
5551
- };
5552
- /**
5553
- * table head cell render
5554
- * @param column
5555
- * @param index
5556
- * @returns
5557
- */
5558
- var renderHeadCell = function renderHeadCell(column, index) {
5559
- if (column.type === 'selection') {
5560
- return renderCheckboxColumn(CHECK_ALL_OBJ, null, true);
5561
- }
5562
- var cells = [];
5563
- if (column.sort) {
5564
- cells.push(getSortCell(column, index));
5565
- }
5566
- if (column.filter) {
5567
- cells.push(getFilterCell(column, index));
5568
- }
5569
- var cellText = getHeadCellText(column, index);
5570
- cells.unshift((0,external_vue_namespaceObject.createVNode)("span", {
5571
- "class": "head-text"
5572
- }, [cellText]));
5573
- var showTitle = typeof cellText === 'string' ? cellText : undefined;
5574
- var headClass = {
5575
- 'has-sort': !!column.sort,
5576
- 'has-filter': !!column.filter
5577
- };
5578
- return (0,external_vue_namespaceObject.createVNode)(table_cell, {
5579
- "class": headClass,
5580
- "title": showTitle,
5581
- "observerResize": props.observerResize,
5582
- "resizerWay": props.resizerWay,
5583
- "isHead": true,
5584
- "column": column,
5585
- "parentSetting": props.showOverflowTooltip,
5586
- "headExplain": resolvePropVal(column.explain, 'head', [column])
5587
- }, use_render_isSlot(cells) ? cells : {
5588
- "default": function _default() {
5589
- return [cells];
5590
- }
5591
- });
5592
- };
5593
- var resolveEventListener = function resolveEventListener(col) {
5594
- var listeners = tableResp.getColumnAttribute(col, COLUMN_ATTRIBUTE.LISTENERS);
5595
- if (!listeners) {
5596
- return {};
5597
- }
5598
- return Array.from(listeners === null || listeners === void 0 ? void 0 : listeners.keys()).reduce(function (handle, key) {
5599
- var eventName = key.split('_').slice(-1)[0];
5600
- return Object.assign(handle, defineProperty_defineProperty({}, eventName, function (e) {
5601
- listeners.get(key).forEach(function (fn) {
5602
- return Reflect.apply(fn, use_render_this, [e, col]);
5603
- });
5604
- }));
5605
- }, {});
5606
- };
5607
5791
  var _useFixedColumn = use_fixed_column(props, tableResp, head),
5608
5792
  resolveFixedColumnStyle = _useFixedColumn.resolveFixedColumnStyle;
5609
5793
  var getScrollFix = function getScrollFix() {
@@ -5624,19 +5808,13 @@ function use_render_isSlot(s) {
5624
5808
  "default": function _default() {
5625
5809
  return [(0,external_vue_namespaceObject.createVNode)("tr", null, [filterColGroups.value.map(function (column, index) {
5626
5810
  var _props$thead$color, _props$thead;
5811
+ var _useHeadCell = use_head_cell(props, context, column, tableResp),
5812
+ getTH = _useHeadCell.getTH;
5627
5813
  var headStyle = Object.assign({}, resolveFixedColumnStyle(column, styleRef.value.hasScrollY), {
5628
5814
  '--background-color': DEF_COLOR[(_props$thead$color = (_props$thead = props.thead) === null || _props$thead === void 0 ? void 0 : _props$thead.color) !== null && _props$thead$color !== void 0 ? _props$thead$color : IHeadColor.DEF1]
5629
5815
  });
5630
- return (0,external_vue_namespaceObject.createVNode)("th", (0,external_vue_namespaceObject.mergeProps)({
5631
- "colspan": 1,
5632
- "rowspan": 1,
5633
- "data-id": tableResp.getColumnId(column),
5634
- "class": [getHeadColumnClass(column, index), getColumnCustomClass(column), column.align || props.headerAlign || props.align],
5635
- "style": headStyle,
5636
- "onClick": function onClick() {
5637
- return handleColumnHeadClick(index, column);
5638
- }
5639
- }, resolveEventListener(column)), [renderHeadCell(column, index)]);
5816
+ var classList = [getHeadColumnClass(column, index), getColumnCustomClass(column), column.align || props.headerAlign || props.align];
5817
+ return getTH(classList, headStyle, index);
5640
5818
  }), getScrollFix()])];
5641
5819
  }
5642
5820
  })])]);
@@ -6150,13 +6328,19 @@ function table_objectSpread(target) { for (var i = 1; i < arguments.length; i++)
6150
6328
  tableOffsetRight.value = $tableScrollWidth - $contentWidth;
6151
6329
  }
6152
6330
  };
6331
+ var isFirstLoad = (0,external_vue_namespaceObject.ref)(true);
6153
6332
  (0,external_vue_namespaceObject.watch)(function () {
6154
6333
  return [props.data, columns];
6155
6334
  }, function () {
6156
6335
  tableSchema.formatColumns(columns);
6157
6336
  tableSchema.formatDataSchema(props.data);
6158
6337
  tableSchema.resetStartEndIndex();
6159
- tableSchema.resolvePageData();
6338
+ if (isFirstLoad.value) {
6339
+ tableSchema.resolveByDefColumns();
6340
+ isFirstLoad.value = false;
6341
+ } else {
6342
+ tableSchema.resolvePageData();
6343
+ }
6160
6344
  registerResizeEvent();
6161
6345
  (0,external_vue_namespaceObject.nextTick)(function () {
6162
6346
  updateOffsetRight();