linkmore-design 1.1.1 → 1.1.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.
@@ -58,7 +58,7 @@ var SheelTabelCell = function SheelTabelCell(props) {
58
58
 
59
59
  var _ref = (isSelected === null || isSelected === void 0 ? void 0 : isSelected(rowIndex, colIndex)) || {},
60
60
  _ref$isSelected = _ref.isSelected,
61
- sd = _ref$isSelected === void 0 ? false : _ref$isSelected,
61
+ _selected = _ref$isSelected === void 0 ? false : _ref$isSelected,
62
62
  _ref$isEnd = _ref.isEnd,
63
63
  isEnd = _ref$isEnd === void 0 ? false : _ref$isEnd,
64
64
  _ref$isRightEnd = _ref.isRightEnd,
@@ -66,7 +66,9 @@ var SheelTabelCell = function SheelTabelCell(props) {
66
66
  _ref$isEditing = _ref.isEditing,
67
67
  isEditing = _ref$isEditing === void 0 ? false : _ref$isEditing,
68
68
  _ref$isVaildCommit = _ref.isVaildCommit,
69
- isVaildCommit = _ref$isVaildCommit === void 0 ? false : _ref$isVaildCommit;
69
+ isVaildCommit = _ref$isVaildCommit === void 0 ? false : _ref$isVaildCommit,
70
+ _ref$selectedReadonly = _ref.selectedReadonly,
71
+ selectedReadonly = _ref$selectedReadonly === void 0 ? false : _ref$selectedReadonly;
70
72
 
71
73
  var _useState = (0, _react.useState)((record === null || record === void 0 ? void 0 : record[col === null || col === void 0 ? void 0 : col.dataIndex]) || ''),
72
74
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -134,13 +136,12 @@ var SheelTabelCell = function SheelTabelCell(props) {
134
136
 
135
137
  var saveRenderValue = function saveRenderValue() {
136
138
  if (valueRef.current !== (record === null || record === void 0 ? void 0 : record[col === null || col === void 0 ? void 0 : col.dataIndex])) {
137
- dataSourceChange === null || dataSourceChange === void 0 ? void 0 : dataSourceChange(rowIndex, colIndex, Object.assign(Object.assign({}, record), (0, _defineProperty2.default)({}, col.dataIndex, valueRef.current)));
139
+ dataSourceChange === null || dataSourceChange === void 0 ? void 0 : dataSourceChange(rowIndex, colIndex, valueRef.current, Object.assign(Object.assign({}, record), (0, _defineProperty2.default)({}, col.dataIndex, valueRef.current)));
138
140
  }
139
141
  };
140
142
 
141
143
  var renderEditor = function renderEditor() {
142
144
  if (isEditing) {
143
- console.log(isEditing, '-----isEditing-----');
144
145
  var Editor = (col === null || col === void 0 ? void 0 : col.dataEditor) || _inputDataEdit.default;
145
146
  return /*#__PURE__*/_react.default.createElement(Editor, {
146
147
  cell: col,
@@ -161,13 +162,16 @@ var SheelTabelCell = function SheelTabelCell(props) {
161
162
  var content = renderComponent() || renderEditor() || renderViewer;
162
163
  return /*#__PURE__*/_react.default.createElement("td", Object.assign({}, (0, _lodash.omit)(clearProps, ['commitIng', 'editIng']), {
163
164
  // style={{ userSelect: 'none' }}
164
- className: (0, _classnames.default)(colIndex === undefined && 'row_selection_td', 'unselection', sd && selectIng && 'selected', isEnd && 'end', isRightEnd && 'right_end', isEditing && 'editing', isVaildCommit && 'commiting'),
165
+ className: (0, _classnames.default)(colIndex === undefined && 'row_selection_td', 'unselection', _selected && selectIng && 'selected', isEnd && 'end', isRightEnd && 'right_end', isEditing && 'editing', isVaildCommit && 'commiting', selectedReadonly && 'readonly_red'),
165
166
  onMouseDown: handleMouseDown,
166
167
  onMouseOver: handleMouseOver,
167
168
  onContextMenu: handleContextMenu,
168
169
  onDoubleClick: handleDoubleClick,
169
170
  key: "".concat(rowIndex, "_").concat(colIndex)
170
- }), content);
171
+ }), content, isRightEnd && isEnd && !isEditing && /*#__PURE__*/_react.default.createElement("div", {
172
+ ref: endCellRef,
173
+ className: 'lmtable_cell_end_icon'
174
+ }));
171
175
  };
172
176
 
173
177
  var _default = SheelTabelCell;
@@ -21,11 +21,13 @@ var _utilities = require("@dnd-kit/utilities");
21
21
 
22
22
  var _excluded = ["children"];
23
23
  var Item = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
24
+ var _children$props;
25
+
24
26
  var children = _ref.children,
25
27
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
26
28
  return /*#__PURE__*/_react.default.createElement("th", (0, _extends2.default)({}, props, {
27
29
  ref: ref
28
- }), children);
30
+ }), (children === null || children === void 0 ? void 0 : (_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.children) || children);
29
31
  });
30
32
 
31
33
  function SortableItem(props) {
@@ -16,6 +16,8 @@ interface IProps extends ILMModalProps {
16
16
  j: number;
17
17
  };
18
18
  };
19
+ rowKey?: string;
20
+ deepDataSource?: Record<string, unknown>[];
19
21
  }
20
22
  /** i 是行 j 是列 */
21
23
  declare const TableChartsModal: (props: IProps) => JSX.Element;
@@ -2,11 +2,15 @@
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
4
 
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.default = void 0;
9
11
 
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
10
14
  var _react = _interopRequireWildcard(require("react"));
11
15
 
12
16
  var _lodash = require("lodash");
@@ -21,8 +25,16 @@ var TableChartsModal = function TableChartsModal(props) {
21
25
  onCancel = props.onCancel,
22
26
  data = props.data,
23
27
  columns = props.columns,
24
- selectInfo = props.selectInfo;
28
+ selectInfo = props.selectInfo,
29
+ rowKey = props.rowKey,
30
+ deepDataSource = props.deepDataSource;
31
+ console.log(data, columns, '---props---', rowKey);
32
+ var keyByCol = (0, _react.useMemo)(function () {
33
+ return (0, _lodash.keyBy)(columns, 'dataIndex');
34
+ }, [columns]);
25
35
  var resultData = (0, _react.useMemo)(function () {
36
+ var _a;
37
+
26
38
  var start = selectInfo.start,
27
39
  end = selectInfo.end;
28
40
  var rCol = columns === null || columns === void 0 ? void 0 : columns.filter(function (item, index) {
@@ -39,14 +51,14 @@ var TableChartsModal = function TableChartsModal(props) {
39
51
  });
40
52
  var maxi = Math.max(start.i, end.i);
41
53
  var mini = Math.min(start.i, end.i);
42
- var rDataSource = data === null || data === void 0 ? void 0 : data.filter(function (item, index) {
54
+ var rDataSource = (_a = deepDataSource || data) === null || _a === void 0 ? void 0 : _a.filter(function (item, index) {
43
55
  if (index >= mini && index <= maxi) {
44
56
  return true;
45
57
  }
46
58
 
47
59
  return false;
48
60
  }).map(function (item) {
49
- return (0, _lodash.pick)(item, rCol);
61
+ return (0, _lodash.pick)(item, [].concat((0, _toConsumableArray2.default)(rCol), [rowKey]));
50
62
  });
51
63
  return {
52
64
  rDataSource: rDataSource,
@@ -71,6 +83,7 @@ var TableChartsModal = function TableChartsModal(props) {
71
83
  yField: yField
72
84
  };
73
85
  }, [resultData, getTypeCol]);
86
+ console.log(Field, '--Field--', resultData);
74
87
  var config = (0, _react.useMemo)(function () {
75
88
  if (type === 'pie') {
76
89
  return {
@@ -99,7 +112,7 @@ var TableChartsModal = function TableChartsModal(props) {
99
112
 
100
113
  return {
101
114
  data: resultData.rDataSource,
102
- xField: Field.xField,
115
+ xField: rowKey,
103
116
  yField: Field.yField,
104
117
  label: {
105
118
  position: 'middle',
@@ -108,8 +121,24 @@ var TableChartsModal = function TableChartsModal(props) {
108
121
  opacity: 0.6
109
122
  }
110
123
  },
124
+ tooltip: {
125
+ title: Field.xField,
126
+ formatter: function formatter(datum) {
127
+ var _a, _b;
128
+
129
+ return {
130
+ name: ((_a = keyByCol[Field.yField]) === null || _a === void 0 ? void 0 : _a.title) || ((_b = keyByCol[Field.yField]) === null || _b === void 0 ? void 0 : _b.dataIndex),
131
+ value: datum === null || datum === void 0 ? void 0 : datum[Field.yField]
132
+ };
133
+ }
134
+ },
111
135
  xAxis: {
112
136
  label: {
137
+ formatter: function formatter(text, item, index) {
138
+ var _a, _b;
139
+
140
+ return ((_b = (_a = resultData.rDataSource) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b[Field.xField]) || text;
141
+ },
113
142
  autoHide: true,
114
143
  autoRotate: false
115
144
  }
@@ -10,7 +10,8 @@ exports.checkStatus = checkStatus;
10
10
  exports.getDataSourceIndex = getDataSourceIndex;
11
11
  exports.getSelectionColText = getSelectionColText;
12
12
  exports.getSelectionRowText = getSelectionRowText;
13
- exports.getSkipList = getSkipList;
13
+ exports.isSelectCrossInvalidCol = isSelectCrossInvalidCol;
14
+ exports.isSelectCrossRowGroup = isSelectCrossRowGroup;
14
15
  exports.range = void 0;
15
16
  exports.transformWithColGroup = transformWithColGroup;
16
17
  exports.transformWithRowGroup = transformWithRowGroup;
@@ -129,6 +130,7 @@ function transformWithColGroup(columns, dataSource, groupColKeys) {
129
130
 
130
131
  var tempColumns = groupBy(dataSourceCopy, columnsCopy, groupColKeysCopy, null);
131
132
  var keyMap = new Map();
133
+ var __index = 0;
132
134
 
133
135
  var dataSourceBy = function dataSourceBy(source) {
134
136
  return [source.reduce(function (prev, sItem) {
@@ -152,6 +154,10 @@ function transformWithColGroup(columns, dataSource, groupColKeys) {
152
154
  }); // 对dataSource的key值进行更改:例如:'name' => 'name_xiaoming_age_18_address'
153
155
 
154
156
  Object.keys(sItem).forEach(function (key) {
157
+ if (key === '__index') {
158
+ return;
159
+ }
160
+
155
161
  var newKey = "".concat(str, "_").concat(key);
156
162
 
157
163
  if (keyMap.has(newKey)) {
@@ -164,8 +170,9 @@ function transformWithColGroup(columns, dataSource, groupColKeys) {
164
170
  }
165
171
 
166
172
  sItem[newKey] = sItem[key];
167
- sItem["".concat(newKey, "_originIndex")] = sItem.__index;
173
+ sItem["".concat(newKey, "_originIndex")] = sItem.__index === undefined ? __index : sItem.__index;
168
174
  });
175
+ __index += 1;
169
176
  }
170
177
 
171
178
  if (!prev) {
@@ -194,14 +201,15 @@ function transformWithRowGroup(dataSource, groupRowKeys) {
194
201
  var groupBy = function groupBy(lastFilter, oGroup, preKey) {
195
202
  if (!(oGroup === null || oGroup === void 0 ? void 0 : oGroup.length)) return lastFilter;
196
203
  var group = oGroup.slice();
197
- var filterKey = group.shift(); // i:保证顺序
204
+ var filterKey = group.shift(); // 记录数据原来的位置索引信息
198
205
 
199
206
  var i = 0;
200
207
  var map = lastFilter.reduce(function (acc, el) {
201
- el.__index = i;
202
- i += 1;
203
208
  var value = el[filterKey];
204
- acc[value] = [].concat((0, _toConsumableArray2.default)(acc[value] || []), [el]);
209
+ acc[value] = [].concat((0, _toConsumableArray2.default)(acc[value] || []), [(0, _objectSpread2.default)((0, _objectSpread2.default)({}, el), {}, {
210
+ __index: i
211
+ })]);
212
+ i += 1;
205
213
  return acc;
206
214
  }, {});
207
215
  return Object.keys(map).map(function (item) {
@@ -247,27 +255,6 @@ function checkStatus(i, j, commiting) {
247
255
  isVaildCommit: mini <= i && maxi >= i || minj <= j && maxj >= j
248
256
  };
249
257
  }
250
- /**
251
- * 获取空行列表值数组
252
- * @param {Array} dataSourceWithGroup
253
- * @returns {Array}
254
- */
255
-
256
-
257
- function getSkipList(dataSourceWithGroup) {
258
- var skipList = dataSourceWithGroup.reduce(function (prev, cur) {
259
- if (!prev.length) {
260
- return cur._group ? [1] : [0];
261
- }
262
-
263
- if (cur._group) {
264
- return [].concat((0, _toConsumableArray2.default)(prev), [prev[prev.length - 1] + 1]);
265
- }
266
-
267
- return [].concat((0, _toConsumableArray2.default)(prev), [prev[prev.length - 1]]);
268
- }, []);
269
- return skipList;
270
- }
271
258
  /**
272
259
  * 获取选中行文本
273
260
  * @param {Object}
@@ -362,4 +349,84 @@ function getDataSourceIndex(_ref3) {
362
349
 
363
350
  dfs(dataSource);
364
351
  return index;
352
+ }
353
+ /**
354
+ * 框选是否跨行分组
355
+ * @param {number} i
356
+ * @param {React.Ref} shellStatusRef
357
+ * @param {React.Ref} deepDataSourceRef
358
+ * @returns
359
+ */
360
+
361
+
362
+ function isSelectCrossRowGroup(i, shellStatusRef, deepDataSourceRef) {
363
+ var _shellStatusRef$curre;
364
+
365
+ var x;
366
+ var y;
367
+
368
+ if ((shellStatusRef === null || shellStatusRef === void 0 ? void 0 : (_shellStatusRef$curre = shellStatusRef.current) === null || _shellStatusRef$curre === void 0 ? void 0 : _shellStatusRef$curre.commiting.start.i) < i) {
369
+ var _shellStatusRef$curre2;
370
+
371
+ x = shellStatusRef === null || shellStatusRef === void 0 ? void 0 : (_shellStatusRef$curre2 = shellStatusRef.current) === null || _shellStatusRef$curre2 === void 0 ? void 0 : _shellStatusRef$curre2.commiting.start.i;
372
+ y = i;
373
+ } else {
374
+ var _shellStatusRef$curre3;
375
+
376
+ x = i;
377
+ y = shellStatusRef === null || shellStatusRef === void 0 ? void 0 : (_shellStatusRef$curre3 = shellStatusRef.current) === null || _shellStatusRef$curre3 === void 0 ? void 0 : _shellStatusRef$curre3.commiting.start.i;
378
+ }
379
+
380
+ for (; x <= y; x += 1) {
381
+ var _deepDataSourceRef$cu;
382
+
383
+ if ((deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : (_deepDataSourceRef$cu = deepDataSourceRef.current) === null || _deepDataSourceRef$cu === void 0 ? void 0 : _deepDataSourceRef$cu.length) && (deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current[x]._group)) {
384
+ return true;
385
+ }
386
+ }
387
+
388
+ return false;
389
+ }
390
+ /**
391
+ * 不允许跨无效列
392
+ * @param {number} i
393
+ * @param {number} j
394
+ * @param {React.Ref} shellStatusRef
395
+ * @param {React.Ref} deepDataSourceRef
396
+ * @param {React.Ref} deepColumnsRef
397
+ * @returns
398
+ */
399
+
400
+
401
+ function isSelectCrossInvalidCol(i, j, shellStatusRef, deepDataSourceRef, deepColumnsRef) {
402
+ var _shellStatusRef$curre4;
403
+
404
+ var x;
405
+ var y;
406
+
407
+ if ((shellStatusRef === null || shellStatusRef === void 0 ? void 0 : (_shellStatusRef$curre4 = shellStatusRef.current) === null || _shellStatusRef$curre4 === void 0 ? void 0 : _shellStatusRef$curre4.commiting.start.j) < j) {
408
+ var _shellStatusRef$curre5;
409
+
410
+ x = shellStatusRef === null || shellStatusRef === void 0 ? void 0 : (_shellStatusRef$curre5 = shellStatusRef.current) === null || _shellStatusRef$curre5 === void 0 ? void 0 : _shellStatusRef$curre5.commiting.start.j;
411
+ y = j;
412
+ } else {
413
+ var _shellStatusRef$curre6;
414
+
415
+ x = j;
416
+ y = shellStatusRef === null || shellStatusRef === void 0 ? void 0 : (_shellStatusRef$curre6 = shellStatusRef.current) === null || _shellStatusRef$curre6 === void 0 ? void 0 : _shellStatusRef$curre6.commiting.start.j;
417
+ }
418
+
419
+ for (; x <= y; x += 1) {
420
+ var _deepColumnsRef$curre, _deepDataSourceRef$cu2;
421
+
422
+ if ((deepColumnsRef === null || deepColumnsRef === void 0 ? void 0 : (_deepColumnsRef$curre = deepColumnsRef.current) === null || _deepColumnsRef$curre === void 0 ? void 0 : _deepColumnsRef$curre.length) && (deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : (_deepDataSourceRef$cu2 = deepDataSourceRef.current) === null || _deepDataSourceRef$cu2 === void 0 ? void 0 : _deepDataSourceRef$cu2.length)) {
423
+ var key = deepColumnsRef === null || deepColumnsRef === void 0 ? void 0 : deepColumnsRef.current[x].dataIndex;
424
+
425
+ if (!(key in (deepDataSourceRef === null || deepDataSourceRef === void 0 ? void 0 : deepDataSourceRef.current[i]))) {
426
+ return true;
427
+ }
428
+ }
429
+ }
430
+
431
+ return false;
365
432
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linkmore-design",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "author": {
5
5
  "name": "nowthen",
6
6
  "email": "rnlvwyx@gmail.com"
@@ -67,6 +67,7 @@
67
67
  "axios": "^0.21.0",
68
68
  "classnames": "^2.3.1",
69
69
  "dayjs": "^1.9.7",
70
+ "echarts": "^5.4.0",
70
71
  "hex-to-rgba": "^2.0.1",
71
72
  "immer": "^9.0.15",
72
73
  "intersection-observer": "^0.12.2",
@@ -1,100 +0,0 @@
1
- export const myDataSource: {
2
- dataIndex: string;
3
- name: string;
4
- id: number;
5
- age: number;
6
- address: string;
7
- name_小黄_key_0: string;
8
- name_小黄_name_0: string;
9
- name_小黄_id_0: number;
10
- name_小黄_age_0: number;
11
- name_小黄_address_0: string;
12
- name_小黄_key_1: string;
13
- name_小黄_name_1: string;
14
- name_小黄_id_1: number;
15
- name_小黄_age_1: number;
16
- name_小黄_address_1: string;
17
- name_小黄_key_2: string;
18
- name_小黄_name_2: string;
19
- name_小黄_id_2: number;
20
- name_小黄_age_2: number;
21
- name_小黄_address_2: string;
22
- name_小红_key_0: string;
23
- name_小红_name_0: string;
24
- name_小红_id_0: number;
25
- name_小红_age_0: number;
26
- name_小红_address_0: string;
27
- name_达铭_key_0: string;
28
- name_达铭_name_0: string;
29
- name_达铭_id_0: number;
30
- name_达铭_age_0: number;
31
- name_达铭_address_0: string;
32
- name_乔克_key_0: string;
33
- name_乔克_name_0: string;
34
- name_乔克_id_0: number;
35
- name_乔克_age_0: number;
36
- name_乔克_address_0: string;
37
- name_零榆_key_0: string;
38
- name_零榆_name_0: string;
39
- name_零榆_id_0: number;
40
- name_零榆_age_0: number;
41
- name_零榆_address_0: string;
42
- name_小迪_key_0: string;
43
- name_小迪_name_0: string;
44
- name_小迪_id_0: number;
45
- name_小迪_age_0: number;
46
- name_小迪_address_0: string;
47
- name_小白_key_0: string;
48
- name_小白_name_0: string;
49
- name_小白_id_0: number;
50
- name_小白_age_0: number;
51
- name_小白_address_0: string;
52
- name_小黑_key_0: string;
53
- name_小黑_name_0: string;
54
- name_小黑_id_0: number;
55
- name_小黑_age_0: number;
56
- name_小黑_address_0: string;
57
- name_胡彦祖11_key_0: string;
58
- name_胡彦祖11_name_0: string;
59
- name_胡彦祖11_id_0: number;
60
- name_胡彦祖11_age_0: number;
61
- name_胡彦祖11_address_0: string;
62
- name_胡彦斌12_key_0: string;
63
- name_胡彦斌12_name_0: string;
64
- name_胡彦斌12_id_0: number;
65
- name_胡彦斌12_age_0: number;
66
- name_胡彦斌12_address_0: string;
67
- }[];
68
- export const myColumns: ({
69
- type: string;
70
- title: string;
71
- dataIndex: string;
72
- children: ({
73
- title: string;
74
- dataIndex: string;
75
- etype: string;
76
- width: number;
77
- key: number;
78
- } | {
79
- title: string;
80
- dataIndex: string;
81
- width: number;
82
- key: number;
83
- etype?: undefined;
84
- })[];
85
- } | {
86
- type: string;
87
- title: string;
88
- dataIndex: string;
89
- children: ({
90
- title: string;
91
- dataIndex: string;
92
- etype: string;
93
- width: number;
94
- } | {
95
- title: string;
96
- dataIndex: string;
97
- width: number;
98
- etype?: undefined;
99
- })[];
100
- })[];