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.
@@ -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(target, value, _ref) {
23
+ function getSortInsert(tableHeader, value, _ref) {
23
24
  var columns = _ref.columns;
24
- if (!target) {
25
+ if (!tableHeader) {
25
26
  return [];
26
27
  }
27
28
  var arr = new Array(columns.length);
28
- target.push(value);
29
- target.forEach(function (val) {
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(arr, _ref2) {
39
+ function getSortDndColumns(value, _ref2) {
38
40
  var columns = _ref2.columns;
39
- if (!arr || !arr.length) {
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
- arr.forEach(function (val) {
47
+ var _loop = function _loop(i) {
44
48
  var item = columns.find(function (item) {
45
- return item.title === val;
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
- return result.map(function (item, index) {
52
- item.order = index;
53
- return item;
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
- if (openRowGroup) {
90
- defaultItems.row = [];
91
- }
92
- if (openColGroup) {
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
- tableHeader.push(node.title);
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.tableHeader, {
165
+ var newColumns = getSortDndColumns(value, {
135
166
  columns: columns
136
167
  });
137
168
  setDndColumns(newColumns);
@@ -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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linkmore-design",
3
- "version": "1.1.25-beta.1",
3
+ "version": "1.1.25-beta.2",
4
4
  "author": {
5
5
  "name": "nowthen",
6
6
  "email": "rnlvwyx@gmail.com"