linkmore-design 1.0.100 → 1.1.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.
@@ -43,6 +43,8 @@ var LmFilter = function LmFilter(_ref, ref) {
43
43
  // 是否启用自定义筛选
44
44
  enableClear: true,
45
45
  // 是否展示一件清空
46
+ enableAutoString: true,
47
+ // 是否自动将筛选结构值转换为字符串
46
48
  size: 'middle',
47
49
  // 尺寸
48
50
  searchKey: 'search',
@@ -0,0 +1,60 @@
1
+ export declare const initLocalization: (props: any) => {
2
+ searchFilter: any;
3
+ searchQuery: {};
4
+ basicFilter: any;
5
+ basicQuery: {};
6
+ customFilter: any;
7
+ customQuery: {};
8
+ };
9
+ declare const useCoreOptions: ({ state, dispatch, props }: {
10
+ state: any;
11
+ dispatch: any;
12
+ props: any;
13
+ }) => {
14
+ CoreMethods: {
15
+ onQuery: ({ complexFilter, type, basicFilter, basicQuery, searchFilter, searchQuery, customFilter, }?: {
16
+ complexFilter?: {};
17
+ type?: string;
18
+ basicFilter?: any;
19
+ basicQuery?: any;
20
+ searchFilter?: any;
21
+ searchQuery?: any;
22
+ customFilter?: any;
23
+ }) => void;
24
+ setCustomFilter: (val: any) => void;
25
+ setSearchFilter: (itemValue: any) => void;
26
+ };
27
+ RefMethods: {
28
+ getState: () => any;
29
+ getBasicFilter: () => any;
30
+ getFilterValue: ({ field, type }: {
31
+ field: any;
32
+ type: any;
33
+ }) => any;
34
+ getFilterQuery: (originData?: any) => {
35
+ fuzzyFilter: any;
36
+ basicFilter: {};
37
+ fuzzyQuery: {
38
+ filters: {
39
+ conditions: any[];
40
+ }[];
41
+ };
42
+ globalQuery: {
43
+ filters: {
44
+ conditions: any[];
45
+ }[];
46
+ };
47
+ filterQuery: {
48
+ filters: {
49
+ conditions: any[];
50
+ }[];
51
+ };
52
+ type: string;
53
+ };
54
+ setFilterValue: (itemValue: any, item: any) => void;
55
+ setFilterFieldValue: (field: any, value: any) => void;
56
+ setLocalization: (localization?: any) => void;
57
+ onClearChange: () => void;
58
+ };
59
+ };
60
+ export default useCoreOptions;
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
7
5
  Object.defineProperty(exports, "__esModule", {
@@ -13,15 +11,13 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
13
11
 
14
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
13
 
16
- var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
17
-
18
- var _react = _interopRequireWildcard(require("react"));
14
+ var _react = require("react");
19
15
 
20
16
  var _utils = require("../utils");
21
17
 
22
18
  // 初始化查询结构
23
19
  var initLocalization = function initLocalization(props) {
24
- var _globalQuery$filters, _globalQuery$filters$, _fuzzyQuery$filters, _fuzzyQuery$filters$, _filterQuery$filters, _filterQuery$filters$;
20
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
25
21
 
26
22
  var localization = props.localization,
27
23
  dataSource = props.dataSource,
@@ -40,17 +36,15 @@ var initLocalization = function initLocalization(props) {
40
36
  var searchQuery = {}; // 模糊查询结构
41
37
 
42
38
  var customFilter = (customOptions === null || customOptions === void 0 ? void 0 : customOptions.find(function (v) {
43
- var _localization$customF;
39
+ var _a;
44
40
 
45
- return (v === null || v === void 0 ? void 0 : v.value) === (localization === null || localization === void 0 ? void 0 : (_localization$customF = localization.customFilter) === null || _localization$customF === void 0 ? void 0 : _localization$customF.value);
41
+ return (v === null || v === void 0 ? void 0 : v.value) === ((_a = localization === null || localization === void 0 ? void 0 : localization.customFilter) === null || _a === void 0 ? void 0 : _a.value);
46
42
  })) || {};
47
43
  var customQuery = {}; // 自定义筛选存储结构
48
44
  // 一级查询
49
45
 
50
- if (globalQuery === null || globalQuery === void 0 ? void 0 : (_globalQuery$filters = globalQuery.filters) === null || _globalQuery$filters === void 0 ? void 0 : (_globalQuery$filters$ = _globalQuery$filters[0]) === null || _globalQuery$filters$ === void 0 ? void 0 : _globalQuery$filters$.conditions) {
51
- var _globalQuery$filters2, _globalQuery$filters3;
52
-
53
- var globalQueryArr = (globalQuery === null || globalQuery === void 0 ? void 0 : (_globalQuery$filters2 = globalQuery.filters) === null || _globalQuery$filters2 === void 0 ? void 0 : (_globalQuery$filters3 = _globalQuery$filters2[0]) === null || _globalQuery$filters3 === void 0 ? void 0 : _globalQuery$filters3.conditions) || [];
46
+ if ((_b = (_a = globalQuery === null || globalQuery === void 0 ? void 0 : globalQuery.filters) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.conditions) {
47
+ var globalQueryArr = ((_d = (_c = globalQuery === null || globalQuery === void 0 ? void 0 : globalQuery.filters) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.conditions) || [];
54
48
  customQuery = globalQueryArr.reduce(function (pre, cur) {
55
49
  var checkedValue = cur.value; // 选中的数据
56
50
  // 查找该数据是否展示
@@ -65,11 +59,9 @@ var initLocalization = function initLocalization(props) {
65
59
 
66
60
 
67
61
  if ((0, _utils.getIsHas)(searchFilter)) {
68
- var _Object$keys;
69
-
70
- searchQuery = (_Object$keys = Object.keys(searchFilter)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.reduce(function (pre, cur) {
62
+ searchQuery = (_e = Object.keys(searchFilter)) === null || _e === void 0 ? void 0 : _e.reduce(function (pre, cur) {
71
63
  if ((0, _utils.getIsHas)(searchFilter[cur])) {
72
- pre[cur] = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, searchConfig), {}, {
64
+ pre[cur] = Object.assign(Object.assign({}, searchConfig), {
73
65
  fieldName: cur,
74
66
  value: [searchFilter[cur]]
75
67
  });
@@ -77,10 +69,8 @@ var initLocalization = function initLocalization(props) {
77
69
 
78
70
  return pre;
79
71
  }, {});
80
- } else if (fuzzyQuery === null || fuzzyQuery === void 0 ? void 0 : (_fuzzyQuery$filters = fuzzyQuery.filters) === null || _fuzzyQuery$filters === void 0 ? void 0 : (_fuzzyQuery$filters$ = _fuzzyQuery$filters[0]) === null || _fuzzyQuery$filters$ === void 0 ? void 0 : _fuzzyQuery$filters$.conditions) {
81
- var _fuzzyQuery$filters2, _fuzzyQuery$filters2$;
82
-
83
- var fuzzyQueryArr = (fuzzyQuery === null || fuzzyQuery === void 0 ? void 0 : (_fuzzyQuery$filters2 = fuzzyQuery.filters) === null || _fuzzyQuery$filters2 === void 0 ? void 0 : (_fuzzyQuery$filters2$ = _fuzzyQuery$filters2[0]) === null || _fuzzyQuery$filters2$ === void 0 ? void 0 : _fuzzyQuery$filters2$.conditions) || []; // 初始化基础查询缓存
72
+ } else if ((_g = (_f = fuzzyQuery === null || fuzzyQuery === void 0 ? void 0 : fuzzyQuery.filters) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.conditions) {
73
+ var fuzzyQueryArr = ((_j = (_h = fuzzyQuery === null || fuzzyQuery === void 0 ? void 0 : fuzzyQuery.filters) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.conditions) || []; // 初始化基础查询缓存
84
74
 
85
75
  searchFilter = fuzzyQueryArr.reduce(function (pre, cur) {
86
76
  var checkedValue = cur.value; // 选中的数据
@@ -96,9 +86,7 @@ var initLocalization = function initLocalization(props) {
96
86
 
97
87
 
98
88
  if ((0, _utils.getIsHas)(basicFilter)) {
99
- var _Object$keys2;
100
-
101
- basicQuery = (_Object$keys2 = Object.keys(basicFilter)) === null || _Object$keys2 === void 0 ? void 0 : _Object$keys2.reduce(function (pre, cur) {
89
+ basicQuery = (_k = Object.keys(basicFilter)) === null || _k === void 0 ? void 0 : _k.reduce(function (pre, cur) {
102
90
  var item = dataSource.find(function (v) {
103
91
  if (cur === v.field) {
104
92
  return v.show || typeof v.show !== 'boolean';
@@ -116,22 +104,18 @@ var initLocalization = function initLocalization(props) {
116
104
  }
117
105
 
118
106
  if ((0, _utils.getIsHas)(basicFilter[cur]) && !!item) {
119
- var _item, _item2;
120
-
121
107
  pre[cur] = {
122
108
  fieldName: cur,
123
- fieldType: ((_item = item) === null || _item === void 0 ? void 0 : _item.valueType) || 'string',
109
+ fieldType: (item === null || item === void 0 ? void 0 : item.valueType) || 'string',
124
110
  value: Array.isArray(basicFilter[cur]) ? basicFilter[cur] : [basicFilter[cur]],
125
- operator: ((_item2 = item) === null || _item2 === void 0 ? void 0 : _item2.operator) || 'equal'
111
+ operator: (item === null || item === void 0 ? void 0 : item.operator) || 'equal'
126
112
  };
127
113
  }
128
114
 
129
115
  return pre;
130
116
  }, {});
131
- } else if (filterQuery === null || filterQuery === void 0 ? void 0 : (_filterQuery$filters = filterQuery.filters) === null || _filterQuery$filters === void 0 ? void 0 : (_filterQuery$filters$ = _filterQuery$filters[0]) === null || _filterQuery$filters$ === void 0 ? void 0 : _filterQuery$filters$.conditions) {
132
- var _filterQuery$filters2, _filterQuery$filters3;
133
-
134
- var filterQueryArr = (filterQuery === null || filterQuery === void 0 ? void 0 : (_filterQuery$filters2 = filterQuery.filters) === null || _filterQuery$filters2 === void 0 ? void 0 : (_filterQuery$filters3 = _filterQuery$filters2[0]) === null || _filterQuery$filters3 === void 0 ? void 0 : _filterQuery$filters3.conditions) || []; // 初始化基础查询缓存
117
+ } else if ((_m = (_l = filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filters) === null || _l === void 0 ? void 0 : _l[0]) === null || _m === void 0 ? void 0 : _m.conditions) {
118
+ var filterQueryArr = ((_p = (_o = filterQuery === null || filterQuery === void 0 ? void 0 : filterQuery.filters) === null || _o === void 0 ? void 0 : _o[0]) === null || _p === void 0 ? void 0 : _p.conditions) || []; // 初始化基础查询缓存
135
119
 
136
120
  basicFilter = filterQueryArr.reduce(function (pre, cur) {
137
121
  var checkedValue = cur.value; // 选中的数据
@@ -182,12 +166,13 @@ var useCoreOptions = function useCoreOptions(_ref) {
182
166
  dataSource = props.dataSource,
183
167
  searchKey = props.searchKey,
184
168
  searchConfig = props.searchConfig,
185
- customOptions = props.customOptions; // 转换一级查询结构 object => array
169
+ customOptions = props.customOptions,
170
+ enableAutoString = props.enableAutoString; // 转换一级查询结构 object => array
186
171
 
187
172
  var tranformGlobalQuery = (0, _react.useCallback)(function (obj) {
188
- var _Object$keys3;
173
+ var _a;
189
174
 
190
- var nArr = ((_Object$keys3 = Object.keys(obj)) === null || _Object$keys3 === void 0 ? void 0 : _Object$keys3.reduce(function (pre, cur) {
175
+ var nArr = ((_a = Object.keys(obj)) === null || _a === void 0 ? void 0 : _a.reduce(function (pre, cur) {
191
176
  var item = dataSource.find(function (v) {
192
177
  return cur === v.field;
193
178
  });
@@ -209,14 +194,14 @@ var useCoreOptions = function useCoreOptions(_ref) {
209
194
  }, [dataSource]); // 转行查询结构
210
195
 
211
196
  var tranformQuery = (0, _react.useCallback)(function (_ref2) {
212
- var _Object$keys4, _Object$keys5;
213
-
214
- var _ref2$customFilter = _ref2.customFilter,
215
- customFilter = _ref2$customFilter === void 0 ? {} : _ref2$customFilter,
197
+ var customFilter = _ref2.customFilter,
216
198
  _ref2$searchQuery = _ref2.searchQuery,
217
199
  searchQuery = _ref2$searchQuery === void 0 ? {} : _ref2$searchQuery,
218
200
  _ref2$basicQuery = _ref2.basicQuery,
219
201
  basicQuery = _ref2$basicQuery === void 0 ? {} : _ref2$basicQuery;
202
+
203
+ var _a, _b;
204
+
220
205
  var globalQuery = {
221
206
  filters: [{
222
207
  conditions: tranformGlobalQuery(customFilter === null || customFilter === void 0 ? void 0 : customFilter.data)
@@ -224,14 +209,14 @@ var useCoreOptions = function useCoreOptions(_ref) {
224
209
  };
225
210
  var fuzzyQuery = {
226
211
  filters: [{
227
- conditions: (_Object$keys4 = Object.keys(searchQuery)) === null || _Object$keys4 === void 0 ? void 0 : _Object$keys4.map(function (k) {
212
+ conditions: (_a = Object.keys(searchQuery)) === null || _a === void 0 ? void 0 : _a.map(function (k) {
228
213
  return searchQuery[k];
229
214
  })
230
215
  }]
231
216
  };
232
217
  var filterQuery = {
233
218
  filters: [{
234
- conditions: (_Object$keys5 = Object.keys(basicQuery)) === null || _Object$keys5 === void 0 ? void 0 : _Object$keys5.map(function (k) {
219
+ conditions: (_b = Object.keys(basicQuery)) === null || _b === void 0 ? void 0 : _b.map(function (k) {
235
220
  return basicQuery[k];
236
221
  })
237
222
  }]
@@ -260,6 +245,8 @@ var useCoreOptions = function useCoreOptions(_ref) {
260
245
  _ref3$customFilter = _ref3.customFilter,
261
246
  customFilter = _ref3$customFilter === void 0 ? state.customFilter || {} : _ref3$customFilter;
262
247
 
248
+ var _a;
249
+
263
250
  if (type === 'custom') {
264
251
  dispatch({
265
252
  type: 'changeCustomFilter',
@@ -354,10 +341,8 @@ var useCoreOptions = function useCoreOptions(_ref) {
354
341
  }
355
342
 
356
343
  if (type === 'complex') {
357
- var _Object$keys6;
358
-
359
344
  // eslint-disable-next-line no-shadow
360
- var _basicQuery = (_Object$keys6 = Object.keys(complexFilter)) === null || _Object$keys6 === void 0 ? void 0 : _Object$keys6.reduce(function (pre, cur) {
345
+ var _basicQuery = (_a = Object.keys(complexFilter)) === null || _a === void 0 ? void 0 : _a.reduce(function (pre, cur) {
361
346
  var item = dataSource.find(function (v) {
362
347
  return cur === v.field;
363
348
  });
@@ -446,7 +431,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
446
431
  }, [tranformQuery, state]); // 清除事件
447
432
 
448
433
  var onClearChange = (0, _react.useCallback)(function () {
449
- var _props$onClearChange;
434
+ var _a;
450
435
 
451
436
  var params = {
452
437
  searchFilter: {},
@@ -456,7 +441,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
456
441
  basicQuery: {},
457
442
  type: 'clear'
458
443
  };
459
- (_props$onClearChange = props.onClearChange) === null || _props$onClearChange === void 0 ? void 0 : _props$onClearChange.call(props, params);
444
+ (_a = props.onClearChange) === null || _a === void 0 ? void 0 : _a.call(props, params);
460
445
  onQuery(params);
461
446
  }, [onQuery]); // 根据字段查找过滤的数据, 不存在时返回默认值
462
447
 
@@ -508,14 +493,16 @@ var useCoreOptions = function useCoreOptions(_ref) {
508
493
  var field = item.field;
509
494
 
510
495
  if (field) {
511
- // 基础查询数据(受控数据)
512
- var basicFilter = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state.basicFilter), {}, (0, _defineProperty2.default)({}, field, itemValue)); // 外部查询数据结构
496
+ // 将结果转换为字符串
497
+ var stringValue = enableAutoString ? String(itemValue) : itemValue; // 基础查询数据(受控数据)
498
+
499
+ var basicFilter = Object.assign(Object.assign({}, state.basicFilter), (0, _defineProperty2.default)({}, field, stringValue)); // 外部查询数据结构
513
500
 
514
- var basicQuery = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, state.basicQuery), {}, (0, _defineProperty2.default)({}, field, {
501
+ var basicQuery = Object.assign(Object.assign({}, state.basicQuery), (0, _defineProperty2.default)({}, field, {
515
502
  fieldName: field,
516
503
  fieldType: item.valueType || 'string',
517
504
  type: item.type,
518
- value: Array.isArray(itemValue) ? itemValue : [itemValue],
505
+ value: Array.isArray(stringValue) ? stringValue : [stringValue],
519
506
  operator: item.operator || 'equal'
520
507
  })); // 数据清除时不返回结构体
521
508
 
@@ -543,7 +530,7 @@ var useCoreOptions = function useCoreOptions(_ref) {
543
530
  var setLocalization = (0, _react.useCallback)(function () {
544
531
  var localization = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.localization;
545
532
 
546
- var _initLocalization = initLocalization((0, _objectSpread4.default)((0, _objectSpread4.default)({}, props), {}, {
533
+ var _initLocalization = initLocalization(Object.assign(Object.assign({}, props), {
547
534
  localization: localization
548
535
  })),
549
536
  searchFilter = _initLocalization.searchFilter,
@@ -579,18 +566,18 @@ var useCoreOptions = function useCoreOptions(_ref) {
579
566
  });
580
567
  }, [props]); // 模糊查询结构
581
568
 
582
- var setSearchFilter = (0, _react.useCallback)(function (itemValue, item) {
569
+ var setSearchFilter = (0, _react.useCallback)(function (itemValue) {
583
570
  var searchFilter = searchKey === null || searchKey === void 0 ? void 0 : searchKey.reduce(function (pre, cur) {
584
571
  pre[cur] = itemValue;
585
572
  return pre;
586
- }, (0, _objectSpread4.default)({}, state.searchFilter));
573
+ }, Object.assign({}, state.searchFilter));
587
574
  var searchQuery = searchKey === null || searchKey === void 0 ? void 0 : searchKey.reduce(function (pre, cur) {
588
- pre[cur] = (0, _objectSpread4.default)((0, _objectSpread4.default)({}, searchConfig), {}, {
575
+ pre[cur] = Object.assign(Object.assign({}, searchConfig), {
589
576
  fieldName: cur,
590
577
  value: [itemValue]
591
578
  });
592
579
  return pre;
593
- }, (0, _objectSpread4.default)({}, state.searchQuery)); // 数据清除时不返回结构体
580
+ }, Object.assign({}, state.searchQuery)); // 数据清除时不返回结构体
594
581
 
595
582
  if (!(0, _utils.getIsHas)(itemValue)) {
596
583
  searchFilter = {};
@@ -59,7 +59,7 @@ var _resetConfig = _interopRequireDefault(require("./resetConfig"));
59
59
 
60
60
  var _virTual = require("./virTual");
61
61
 
62
- var _excluded = ["columns", "dataSource", "autoSize", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "sortOpen", "colSortOpen", "resizeable", "customCheck", "components", "rowSelection", "columnsState", "onChange", "filterChange", "tableRowType", "size", "openSheet", "editSheet", "dataChange", "groupInfo", "emptyProps", "columnKeys"],
62
+ var _excluded = ["columns", "dataSource", "autoSize", "rowClick", "onDoubleClick", "checkConfig", "summary", "pagination", "hiddenPage", "loading", "virtual", "sortOpen", "colSortOpen", "resizeable", "customCheck", "components", "rowSelection", "columnsState", "onChange", "filterChange", "tableRowType", "size", "openSheet", "editSheet", "dataChange", "groupRowKeys", "groupColKeys", "emptyProps"],
63
63
  _excluded2 = ["className", "style"],
64
64
  _excluded3 = ["onResize", "width", "onResizeStop"];
65
65
  var Summary = _proTable.default.Summary;
@@ -131,9 +131,9 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
131
131
  _props$editSheet = props.editSheet,
132
132
  editSheet = _props$editSheet === void 0 ? false : _props$editSheet,
133
133
  dataChange = props.dataChange,
134
- groupInfo = props.groupInfo,
134
+ groupRowKeys = props.groupRowKeys,
135
+ groupColKeys = props.groupColKeys,
135
136
  emptyProps = props.emptyProps,
136
- columnKeys = props.columnKeys,
137
137
  resetProps = (0, _objectWithoutProperties2.default)(props, _excluded);
138
138
  var _resetProps$rowKey = resetProps.rowKey,
139
139
  rowKey = _resetProps$rowKey === void 0 ? 'id' : _resetProps$rowKey;
@@ -171,6 +171,12 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
171
171
 
172
172
  var deepDataSourceRef = (0, _react.useRef)([]);
173
173
  var deepColumnsRef = (0, _react.useRef)([]);
174
+ /** 行分组表格对应数据的隐藏数列表 */
175
+
176
+ var hideListRef = (0, _react.useRef)([]);
177
+ /** 行分组的空行列表数据 */
178
+
179
+ var skipListRef = (0, _react.useRef)([]);
174
180
  /** 记录最原始数据 */
175
181
 
176
182
  (0, _react.useEffect)(function () {
@@ -179,30 +185,33 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
179
185
  /** 行分组 */
180
186
 
181
187
  var groupDataSource = (0, _react.useMemo)(function () {
182
- if (!(groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length)) {
188
+ if (!(groupRowKeys === null || groupRowKeys === void 0 ? void 0 : groupRowKeys.length)) {
183
189
  return customizeDataSource;
184
190
  }
185
191
 
186
- return (0, _util.transformWithRowGroup)(customizeDataSource, groupInfo);
187
- }, [customizeDataSource, groupInfo]);
192
+ return (0, _util.transformWithRowGroup)(customizeDataSource, groupRowKeys);
193
+ }, [customizeDataSource, groupRowKeys]);
188
194
  /** 列分组 */
189
195
 
190
196
  var _useMemo = (0, _react.useMemo)(function () {
191
- if (!(columnKeys === null || columnKeys === void 0 ? void 0 : columnKeys.length)) {
197
+ if (!(groupColKeys === null || groupColKeys === void 0 ? void 0 : groupColKeys.length)) {
192
198
  return {
193
199
  dataSource: groupDataSource,
194
200
  columns: customizeColumns
195
201
  };
196
202
  }
197
203
 
198
- return (0, _util.transformWithColGroup)(customizeColumns, groupDataSource, columnKeys);
199
- }, [customizeColumns, groupDataSource, columnKeys]),
204
+ return (0, _util.transformWithColGroup)(customizeColumns, groupDataSource, groupColKeys);
205
+ }, [customizeColumns, groupDataSource, groupColKeys]),
200
206
  columns = _useMemo.columns,
201
207
  dataSource = _useMemo.dataSource;
202
208
 
203
209
  (0, _react.useEffect)(function () {
204
210
  setExpandedRowKeys([]);
205
- }, [groupInfo]);
211
+ deepDataSourceRef.current = [];
212
+ deepColumnsRef.current = [];
213
+ hideListRef.current = [];
214
+ }, [groupRowKeys]);
206
215
  /** sheel数据的表格 */
207
216
 
208
217
  var _useState9 = (0, _react.useState)({
@@ -286,18 +295,46 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
286
295
  (0, _react.useEffect)(function () {
287
296
  var source = [];
288
297
 
298
+ var dfs = function dfs(children) {
299
+ var num = 0;
300
+ children.forEach(function (item) {
301
+ if (item.children) {
302
+ num += dfs(item.children);
303
+ } else {
304
+ num += 1;
305
+ }
306
+ });
307
+ return num;
308
+ };
309
+
310
+ var hideList = [];
311
+
289
312
  var deepChildren = function deepChildren(arr) {
290
313
  arr.forEach(function (item) {
291
314
  source.push((0, _lodash.omit)(item, 'children'));
315
+ var prev = hideList.length ? hideList[hideList.length - 1] : 0; // 展开
292
316
 
293
317
  if ((item === null || item === void 0 ? void 0 : item.children) && expandedRowKeys.includes(item.key)) {
318
+ hideList.push(prev);
294
319
  deepChildren(item === null || item === void 0 ? void 0 : item.children);
320
+ } // 隐藏
321
+
322
+
323
+ if ((item === null || item === void 0 ? void 0 : item.children) && !expandedRowKeys.includes(item.key)) {
324
+ var count = dfs(item.children);
325
+ hideList.push(count + prev);
326
+ }
327
+
328
+ if (!(item === null || item === void 0 ? void 0 : item.children)) {
329
+ hideList.push(prev);
295
330
  }
296
331
  });
297
332
  };
298
333
 
299
334
  deepChildren(dataSource);
300
335
  deepDataSourceRef.current = source;
336
+ hideListRef.current = hideList;
337
+ skipListRef.current = (0, _util.getSkipList)((groupRowKeys === null || groupRowKeys === void 0 ? void 0 : groupRowKeys.length) ? deepDataSourceRef.current : dataSource);
301
338
  }, [dataSource, expandedRowKeys]); // 列分组数据铺平,在框选时获取数据使用
302
339
 
303
340
  (0, _react.useEffect)(function () {
@@ -315,7 +352,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
315
352
 
316
353
  deepChildren(columns);
317
354
  deepColumnsRef.current = source;
318
- }, [columns, columnKeys]);
355
+ }, [columns, groupColKeys]);
319
356
 
320
357
  var onSortEnd = function onSortEnd(_ref) {
321
358
  var oldIndex = _ref.oldIndex,
@@ -418,8 +455,8 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
418
455
  return (0, _util.range)(start.j, end.j).map(function (j) {
419
456
  var _columns$j, _columns$j2;
420
457
 
421
- var columnKey = (columnKeys === null || columnKeys === void 0 ? void 0 : columnKeys.length) ? deepColumnsRef.current[j].dataIndex : (_columns$j = columns[j]) === null || _columns$j === void 0 ? void 0 : _columns$j.dataIndex;
422
- var dataItem = (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) ? deepDataSourceRef.current[i] : dataSource[i];
458
+ var columnKey = (groupColKeys === null || groupColKeys === void 0 ? void 0 : groupColKeys.length) ? deepColumnsRef.current[j].dataIndex : (_columns$j = columns[j]) === null || _columns$j === void 0 ? void 0 : _columns$j.dataIndex;
459
+ var dataItem = (groupRowKeys === null || groupRowKeys === void 0 ? void 0 : groupRowKeys.length) ? deepDataSourceRef.current[i] : dataSource[i];
423
460
  var cell = dataItem === null || dataItem === void 0 ? void 0 : dataItem[columnKey];
424
461
 
425
462
  if ((_columns$j2 = columns[j]) === null || _columns$j2 === void 0 ? void 0 : _columns$j2.render) {
@@ -514,14 +551,13 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
514
551
  end = _shellStatusRef$curre10.end,
515
552
  commiting = _shellStatusRef$curre10.commiting; //
516
553
 
517
- var innerColumns = (columnKeys === null || columnKeys === void 0 ? void 0 : columnKeys.length) ? deepColumnsRef.current : columns;
518
- var innerDataSource = (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) ? deepDataSourceRef.current : dataSource; //
554
+ var innerColumns = (groupColKeys === null || groupColKeys === void 0 ? void 0 : groupColKeys.length) ? deepColumnsRef.current : columns;
555
+ var innerDataSource = (groupRowKeys === null || groupRowKeys === void 0 ? void 0 : groupRowKeys.length) ? deepDataSourceRef.current : dataSource; //
519
556
 
520
557
  var columnsKeysList = innerColumns.map(function (item) {
521
558
  return item.dataIndex;
522
- }); //
559
+ }); // 空行值数组
523
560
 
524
- var skipList = (0, _util.getSkipList)(innerDataSource);
525
561
  var rowtext = (0, _util.getSelectionRowText)({
526
562
  selection: commiting,
527
563
  columnsKeysList: columnsKeysList,
@@ -574,9 +610,20 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
574
610
 
575
611
  if ((_isSelected = isSelected(tri, tdj)) === null || _isSelected === void 0 ? void 0 : _isSelected.isSelected) {
576
612
  var key = columnsKeysList[tdj];
577
- var sourceIndex = tri - skipList[tri];
613
+ var sourceIndex; // 列分组的情况下
614
+
615
+ if (groupColKeys === null || groupColKeys === void 0 ? void 0 : groupColKeys.length) {
616
+ sourceIndex = (0, _util.getDataSourceIndex)({
617
+ key: key,
618
+ dataSource: dataSource
619
+ });
620
+ var arr = key.split('_');
621
+ key = arr[arr.length - 2];
622
+ } else {
623
+ sourceIndex = tri - skipListRef.current[tri] + hideListRef.current[tri];
624
+ }
578
625
 
579
- if (sourceIndex < 0) {
626
+ if (sourceIndex < 0 || sourceIndex >= data.length) {
580
627
  return;
581
628
  } // 行替换
582
629
 
@@ -654,7 +701,6 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
654
701
  j: Math.max(start.j, end.j)
655
702
  };
656
703
  var parse = defaultParsePaste;
657
- var changes = [];
658
704
  var pasteData = [];
659
705
 
660
706
  if (window.clipboardData && window.clipboardData.getData) {
@@ -662,9 +708,8 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
662
708
  pasteData = parse(window.clipboardData.getData('Text'));
663
709
  } else if (e.clipboardData && e.clipboardData.getData) {
664
710
  pasteData = parse(e.clipboardData.getData('text/plain'));
665
- }
711
+ } // in order of preference
666
712
 
667
- var data = dataSourceRef.current; // in order of preference
668
713
 
669
714
  var resultEnd = [];
670
715
  pasteData.forEach(function (row, i) {
@@ -837,8 +882,10 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
837
882
  };
838
883
 
839
884
  var dataSourceChange = function dataSourceChange(i, j, newRecord) {
885
+ // 表格中的行数 转化为 对应的数据源索引
886
+ var rowIndex = i - skipListRef.current[i] + hideListRef.current[i];
840
887
  var res = (0, _immer.produce)(dataSourceRef.current, function (draft) {
841
- draft[i] = newRecord;
888
+ draft[rowIndex] = newRecord;
842
889
  });
843
890
  dataChange === null || dataChange === void 0 ? void 0 : dataChange(res);
844
891
  shellStatusRef.current = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, shellStatusRef.current), {}, {
@@ -911,18 +958,19 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
911
958
  var innerColumns = (0, _lodash.cloneDeep)(useColumns);
912
959
  traverseColumns(innerColumns, null);
913
960
 
914
- if (groupInfo === null || groupInfo === void 0 ? void 0 : groupInfo.length) {
961
+ if (groupRowKeys === null || groupRowKeys === void 0 ? void 0 : groupRowKeys.length) {
915
962
  /** 如果是进行了行分组,则会生成一列dataIndex为Group的Col, 如果需要修改此处,请备注原因 */
916
963
  innerColumns = [{
917
964
  type: 'name',
918
965
  title: '分组',
966
+ dataIndex: '_group',
919
967
  key: '_group',
920
- dataIndex: '_group'
968
+ width: 100
921
969
  }].concat((0, _toConsumableArray2.default)(innerColumns));
922
970
  }
923
971
 
924
972
  return sortOpen ? [sortDefaultColumnItem].concat((0, _toConsumableArray2.default)(innerColumns)) : innerColumns;
925
- }, [useColumns, sortOpen, selectIng, dataSource, groupInfo, commitIng]);
973
+ }, [useColumns, sortOpen, selectIng, dataSource, groupRowKeys, commitIng]);
926
974
  (0, _react.useEffect)(function () {
927
975
  setColumns(columns);
928
976
  }, [columns]); // 行点击事件
@@ -1014,8 +1062,8 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1014
1062
  }),
1015
1063
 
1016
1064
  /** 如果开启了行分组,则需要把checkStrictly关闭,变成受控模式 */
1017
- checkStrictly: !groupInfo.length,
1018
- onChange: function onChange(selectedRowKeys, selectedRows, t, s) {
1065
+ checkStrictly: !(groupRowKeys === null || groupRowKeys === void 0 ? void 0 : groupRowKeys.length),
1066
+ onChange: function onChange(selectedRowKeys, selectedRows) {
1019
1067
  setSelectedRows({
1020
1068
  selectedRows: selectedRows
1021
1069
  });
@@ -1024,7 +1072,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1024
1072
  }, rowSelection),
1025
1073
  onRow: function onRow(record) {
1026
1074
  return {
1027
- onClick: function onClick(e) {
1075
+ onClick: function onClick() {
1028
1076
  onRecord(record);
1029
1077
  },
1030
1078
  onDoubleClick: function onDoubleClick() {
@@ -1223,7 +1271,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1223
1271
  dataSource: dataSource,
1224
1272
  components: tableComponents,
1225
1273
  onChange: onTableChange,
1226
- expandable: {
1274
+ expandable: (resetProps === null || resetProps === void 0 ? void 0 : resetProps.expandable) || {
1227
1275
  onExpand: function onExpand() {
1228
1276
  shellStatusRef.current = {
1229
1277
  start: {},
@@ -1249,7 +1297,7 @@ var ResetTable = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1249
1297
  dataSource: dataSource,
1250
1298
  components: tableComponents,
1251
1299
  onChange: onTableChange,
1252
- expandable: {
1300
+ expandable: (resetProps === null || resetProps === void 0 ? void 0 : resetProps.expandable) || {
1253
1301
  onExpand: function onExpand() {
1254
1302
  shellStatusRef.current = {
1255
1303
  start: {},
@@ -1361,8 +1409,7 @@ var ResizeSize = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
1361
1409
  return h;
1362
1410
  }, [props.hiddenPage, props.customCheck, props.columns, tableSize]);
1363
1411
  var throttleSize = (0, _react.useCallback)(function () {
1364
- var width = tableSize.width,
1365
- height = tableSize.height;
1412
+ var width = tableSize.width;
1366
1413
  return /*#__PURE__*/_react.default.createElement(ResetTable, (0, _extends2.default)({
1367
1414
  ref: defaultRef
1368
1415
  }, props, {
@@ -140,13 +140,16 @@ var SheelTabelCell = function SheelTabelCell(props) {
140
140
 
141
141
  var renderEditor = function renderEditor() {
142
142
  if (isEditing) {
143
+ console.log(isEditing, '-----isEditing-----');
143
144
  var Editor = (col === null || col === void 0 ? void 0 : col.dataEditor) || _inputDataEdit.default;
144
145
  return /*#__PURE__*/_react.default.createElement(Editor, {
145
146
  cell: col,
146
147
  row: rowIndex,
147
148
  col: colIndex,
148
149
  value: value,
149
- onChange: setValue,
150
+ onChange: function onChange(value) {
151
+ setValue(value);
152
+ },
150
153
  handleSave: saveRenderValue
151
154
  });
152
155
  }
@@ -158,12 +161,11 @@ var SheelTabelCell = function SheelTabelCell(props) {
158
161
  var content = renderComponent() || renderEditor() || renderViewer;
159
162
  return /*#__PURE__*/_react.default.createElement("td", Object.assign({}, (0, _lodash.omit)(clearProps, ['commitIng', 'editIng']), {
160
163
  // style={{ userSelect: 'none' }}
161
- className: (0, _classnames.default)('unselection', sd && selectIng && 'selected', isEnd && 'end', isRightEnd && 'right_end', isEditing && 'editing', isVaildCommit && 'commiting'),
164
+ className: (0, _classnames.default)(colIndex === undefined && 'row_selection_td', 'unselection', sd && selectIng && 'selected', isEnd && 'end', isRightEnd && 'right_end', isEditing && 'editing', isVaildCommit && 'commiting'),
162
165
  onMouseDown: handleMouseDown,
163
166
  onMouseOver: handleMouseOver,
164
167
  onContextMenu: handleContextMenu,
165
168
  onDoubleClick: handleDoubleClick,
166
- // onKeyUp={onKeyUp}
167
169
  key: "".concat(rowIndex, "_").concat(colIndex)
168
170
  }), content, isRightEnd && isEnd && !isEditing && /*#__PURE__*/_react.default.createElement("div", {
169
171
  ref: endCellRef,