linkmore-design 1.1.25-beta.1 → 1.1.25-beta.2
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/LmTable/hooks/useDndItems.d.ts +2 -2
- package/dist/LmTable/util.d.ts +1 -1
- package/dist/index.umd.js +102 -51
- package/dist/index.umd.min.js +5 -5
- package/es/LmTable/Table.js +34 -21
- package/es/LmTable/components/HeaderCol.js +5 -2
- package/es/LmTable/hooks/useDndItems.d.ts +2 -2
- package/es/LmTable/hooks/useDndItems.js +58 -27
- package/es/LmTable/util.js +6 -1
- package/lib/LmTable/Table.js +34 -21
- package/lib/LmTable/components/HeaderCol.js +5 -2
- package/lib/LmTable/hooks/useDndItems.d.ts +2 -2
- package/lib/LmTable/hooks/useDndItems.js +58 -27
- package/lib/LmTable/util.js +6 -1
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
10
|
var _react = require("react");
|
|
10
11
|
var _index = require("../common/index");
|
|
11
12
|
function del(arr, target) {
|
|
@@ -19,39 +20,55 @@ function del(arr, target) {
|
|
|
19
20
|
arr.splice(index, 1);
|
|
20
21
|
}
|
|
21
22
|
}
|
|
22
|
-
function getSortInsert(
|
|
23
|
+
function getSortInsert(tableHeader, value, _ref) {
|
|
23
24
|
var columns = _ref.columns;
|
|
24
|
-
if (!
|
|
25
|
+
if (!tableHeader) {
|
|
25
26
|
return [];
|
|
26
27
|
}
|
|
27
28
|
var arr = new Array(columns.length);
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
tableHeader.push(value);
|
|
30
|
+
tableHeader.forEach(function (val) {
|
|
30
31
|
var index = columns.findIndex(function (item) {
|
|
31
32
|
return item.title === val;
|
|
32
33
|
});
|
|
34
|
+
columns[index].show = true;
|
|
33
35
|
arr.splice(index, 0, val);
|
|
34
36
|
});
|
|
35
37
|
return arr.filter(Boolean);
|
|
36
38
|
}
|
|
37
|
-
function getSortDndColumns(
|
|
39
|
+
function getSortDndColumns(value, _ref2) {
|
|
38
40
|
var columns = _ref2.columns;
|
|
39
|
-
|
|
41
|
+
var tableHeader = value.tableHeader;
|
|
42
|
+
var hiddenArr = [].concat((0, _toConsumableArray2.default)(value.row), (0, _toConsumableArray2.default)(value.col)) || [];
|
|
43
|
+
if (!tableHeader || !tableHeader.length) {
|
|
40
44
|
return [];
|
|
41
45
|
}
|
|
42
46
|
var result = [];
|
|
43
|
-
|
|
47
|
+
var _loop = function _loop(i) {
|
|
44
48
|
var item = columns.find(function (item) {
|
|
45
|
-
return item.title ===
|
|
49
|
+
return item.title === tableHeader[i];
|
|
46
50
|
});
|
|
47
51
|
if (item) {
|
|
52
|
+
item.order = i;
|
|
48
53
|
result.push(item);
|
|
49
54
|
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
};
|
|
56
|
+
for (var i = 0; i < tableHeader.length; i++) {
|
|
57
|
+
_loop(i);
|
|
58
|
+
}
|
|
59
|
+
var _loop2 = function _loop2(_i) {
|
|
60
|
+
var item = columns.find(function (item) {
|
|
61
|
+
return item.title === hiddenArr[_i];
|
|
62
|
+
});
|
|
63
|
+
if (item) {
|
|
64
|
+
item.show = false;
|
|
65
|
+
result.push(item);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
for (var _i = 0; _i < hiddenArr.length; _i++) {
|
|
69
|
+
_loop2(_i);
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
55
72
|
}
|
|
56
73
|
function getDataIndexForTitle(row, columns) {
|
|
57
74
|
if (!row) {
|
|
@@ -71,40 +88,53 @@ function useDndItems(props) {
|
|
|
71
88
|
colSortOpen = props.colSortOpen,
|
|
72
89
|
filterChange = props.filterChange,
|
|
73
90
|
openRowGroup = props.openRowGroup,
|
|
74
|
-
openColGroup = props.openColGroup
|
|
91
|
+
openColGroup = props.openColGroup,
|
|
92
|
+
customizeGroupRowKeys = props.customizeGroupRowKeys,
|
|
93
|
+
customizeGroupColKeys = props.customizeGroupColKeys;
|
|
75
94
|
var _useState = (0, _react.useState)(columns),
|
|
76
95
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
77
96
|
dndColumns = _useState2[0],
|
|
78
97
|
setDndColumns = _useState2[1];
|
|
79
|
-
var _useState3 = (0, _react.useState)([]),
|
|
98
|
+
var _useState3 = (0, _react.useState)(customizeGroupRowKeys || []),
|
|
80
99
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
81
100
|
groupRowKeys = _useState4[0],
|
|
82
101
|
setGroupRowKeys = _useState4[1];
|
|
83
|
-
var _useState5 = (0, _react.useState)([]),
|
|
102
|
+
var _useState5 = (0, _react.useState)(customizeGroupColKeys || []),
|
|
84
103
|
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
85
104
|
groupColKeys = _useState6[0],
|
|
86
105
|
setGroupColKeys = _useState6[1];
|
|
106
|
+
(0, _react.useEffect)(function () {
|
|
107
|
+
setGroupRowKeys(customizeGroupRowKeys);
|
|
108
|
+
setGroupColKeys(customizeGroupColKeys);
|
|
109
|
+
}, [customizeGroupRowKeys, customizeGroupColKeys]);
|
|
87
110
|
// 初始化
|
|
88
|
-
var defaultItems = {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
defaultItems.col = [];
|
|
94
|
-
}
|
|
111
|
+
var defaultItems = {
|
|
112
|
+
row: [],
|
|
113
|
+
col: [],
|
|
114
|
+
tableHeader: []
|
|
115
|
+
};
|
|
95
116
|
if (openColGroup || openRowGroup || colSortOpen) {
|
|
96
|
-
var tableHeader = [];
|
|
97
117
|
(0, _index.treeFind)(columns, function (node) {
|
|
98
|
-
|
|
118
|
+
if (groupRowKeys.includes(node.dataIndex)) {
|
|
119
|
+
defaultItems.row.push(node.title);
|
|
120
|
+
} else if (groupColKeys.includes(node.dataIndex)) {
|
|
121
|
+
defaultItems.col.push(node.title);
|
|
122
|
+
} else {
|
|
123
|
+
defaultItems.tableHeader.push(node.title);
|
|
124
|
+
}
|
|
99
125
|
return false;
|
|
100
126
|
});
|
|
101
|
-
defaultItems.tableHeader = tableHeader;
|
|
102
127
|
}
|
|
103
128
|
var _useState7 = (0, _react.useState)(defaultItems),
|
|
104
129
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
105
130
|
items = _useState8[0],
|
|
106
131
|
setItems = _useState8[1];
|
|
107
132
|
(0, _react.useEffect)(function () {
|
|
133
|
+
columns.forEach(function (c) {
|
|
134
|
+
if (customizeGroupRowKeys.includes(c.dataIndex) || customizeGroupColKeys.includes(c.dataIndex)) {
|
|
135
|
+
c.show = false;
|
|
136
|
+
}
|
|
137
|
+
});
|
|
108
138
|
setDndColumns(columns);
|
|
109
139
|
setItems(defaultItems);
|
|
110
140
|
}, [columns]);
|
|
@@ -120,6 +150,7 @@ function useDndItems(props) {
|
|
|
120
150
|
columns: columns
|
|
121
151
|
});
|
|
122
152
|
}
|
|
153
|
+
// 列分组进行覆盖,只允许存在一个
|
|
123
154
|
if (value.col.length >= 2) {
|
|
124
155
|
value.tableHeader = getSortInsert(value.tableHeader, items.col[0], {
|
|
125
156
|
columns: columns
|
|
@@ -131,7 +162,7 @@ function useDndItems(props) {
|
|
|
131
162
|
setItems(value);
|
|
132
163
|
setGroupRowKeys(getDataIndexForTitle(value.row, columns));
|
|
133
164
|
setGroupColKeys(getDataIndexForTitle(value.col, columns));
|
|
134
|
-
var newColumns = getSortDndColumns(value
|
|
165
|
+
var newColumns = getSortDndColumns(value, {
|
|
135
166
|
columns: columns
|
|
136
167
|
});
|
|
137
168
|
setDndColumns(newColumns);
|
package/lib/LmTable/util.js
CHANGED
|
@@ -64,13 +64,18 @@ function dataGroup(data, key) {
|
|
|
64
64
|
* @param groupColKeys 列分组的keys
|
|
65
65
|
* @returns
|
|
66
66
|
*/
|
|
67
|
-
function transformWithColGroup(columns, dataSource, groupColKeys) {
|
|
67
|
+
function transformWithColGroup(columns, dataSource, groupColKeys, groupRowKeys) {
|
|
68
68
|
if (!Array.isArray(groupColKeys) || !groupColKeys.length) {
|
|
69
69
|
return {
|
|
70
70
|
columns: columns,
|
|
71
71
|
dataSource: dataSource
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
+
columns.forEach(function (c) {
|
|
75
|
+
if (groupRowKeys.includes(c.dataIndex)) {
|
|
76
|
+
c.show = false;
|
|
77
|
+
}
|
|
78
|
+
});
|
|
74
79
|
var columnsCopy = _lodash.default.cloneDeep(columns);
|
|
75
80
|
var dataSourceCopy = _lodash.default.cloneDeep(dataSource);
|
|
76
81
|
|