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.
- package/dist/LmFilter/filterFns/index.d.ts +5 -5
- package/dist/LmTable/util.d.ts +10 -4
- package/dist/index.umd.js +163 -58
- package/dist/index.umd.min.js +2 -2
- package/dist/variables.css +12504 -0
- package/es/Form/style/form.css +3 -3
- package/es/Form/style/index.css +6063 -3
- package/es/Form/style/tooltip.css +2 -2
- package/es/Form/style/variables.css +6063 -3
- package/es/LmFilter/LmFilter.js +2 -0
- package/es/LmFilter/filterFns/index.d.ts +60 -0
- package/es/LmFilter/filterFns/index.js +72 -102
- package/es/LmTable/Table.js +80 -33
- package/es/LmTable/components/sheelTableCell.js +5 -3
- package/es/LmTable/style/index.css +19 -0
- package/es/LmTable/style/variables.css +19 -0
- package/es/LmTable/util.js +69 -16
- package/es/styles/variables.css +6082 -3
- package/lib/Form/style/form.css +3 -3
- package/lib/Form/style/index.css +6063 -3
- package/lib/Form/style/tooltip.css +2 -2
- package/lib/Form/style/variables.css +6063 -3
- package/lib/LmFilter/LmFilter.js +2 -0
- package/lib/LmFilter/filterFns/index.d.ts +60 -0
- package/lib/LmFilter/filterFns/index.js +41 -54
- package/lib/LmTable/Table.js +80 -33
- package/lib/LmTable/components/sheelTableCell.js +5 -3
- package/lib/LmTable/style/index.css +19 -0
- package/lib/LmTable/style/variables.css +19 -0
- package/lib/LmTable/util.js +69 -16
- package/lib/styles/variables.css +6082 -3
- package/package.json +1 -1
package/lib/LmFilter/LmFilter.js
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
39
|
+
var _a;
|
|
44
40
|
|
|
45
|
-
return (v === null || v === void 0 ? void 0 : v.value) === (localization === null || localization === void 0 ? void 0 :
|
|
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 :
|
|
51
|
-
var
|
|
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
|
-
|
|
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] =
|
|
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 :
|
|
81
|
-
var
|
|
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
|
-
|
|
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: (
|
|
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: (
|
|
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 :
|
|
132
|
-
var
|
|
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
|
|
169
|
+
customOptions = props.customOptions,
|
|
170
|
+
enableAutoString = props.enableAutoString; // 转换一级查询结构 object => array
|
|
186
171
|
|
|
187
172
|
var tranformGlobalQuery = (0, _react.useCallback)(function (obj) {
|
|
188
|
-
var
|
|
173
|
+
var _a;
|
|
189
174
|
|
|
190
|
-
var nArr = ((
|
|
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
|
|
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: (
|
|
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: (
|
|
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 = (
|
|
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
|
|
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
|
-
(
|
|
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
|
|
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 =
|
|
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(
|
|
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(
|
|
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
|
|
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
|
-
},
|
|
573
|
+
}, Object.assign({}, state.searchFilter));
|
|
587
574
|
var searchQuery = searchKey === null || searchKey === void 0 ? void 0 : searchKey.reduce(function (pre, cur) {
|
|
588
|
-
pre[cur] =
|
|
575
|
+
pre[cur] = Object.assign(Object.assign({}, searchConfig), {
|
|
589
576
|
fieldName: cur,
|
|
590
577
|
value: [itemValue]
|
|
591
578
|
});
|
|
592
579
|
return pre;
|
|
593
|
-
},
|
|
580
|
+
}, Object.assign({}, state.searchQuery)); // 数据清除时不返回结构体
|
|
594
581
|
|
|
595
582
|
if (!(0, _utils.getIsHas)(itemValue)) {
|
|
596
583
|
searchFilter = {};
|
package/lib/LmTable/Table.js
CHANGED
|
@@ -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", "
|
|
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
|
-
|
|
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 (!(
|
|
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,
|
|
187
|
-
}, [customizeDataSource,
|
|
192
|
+
return (0, _util.transformWithRowGroup)(customizeDataSource, groupRowKeys);
|
|
193
|
+
}, [customizeDataSource, groupRowKeys]);
|
|
188
194
|
/** 列分组 */
|
|
189
195
|
|
|
190
196
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
191
|
-
if (!(
|
|
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,
|
|
199
|
-
}, [customizeColumns, groupDataSource,
|
|
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
|
-
|
|
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,
|
|
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 = (
|
|
422
|
-
var dataItem = (
|
|
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 = (
|
|
518
|
-
var innerDataSource = (
|
|
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
|
|
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[
|
|
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 (
|
|
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
|
-
|
|
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,
|
|
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: !
|
|
1018
|
-
onChange: function onChange(selectedRowKeys, selectedRows
|
|
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(
|
|
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:
|
|
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,
|