@zhenliang/sheet 0.1.36 → 0.1.38

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.
@@ -131,6 +131,13 @@ var Table = function Table(_ref) {
131
131
  setCheckedRow(newChecked);
132
132
  }, [sheetInstance, checkedRow]);
133
133
  var headSelection = !!rowSelection;
134
+ var columnsTitle = useMemo(function () {
135
+ return columns.filter(function (item) {
136
+ return typeof item.title === 'string';
137
+ }).map(function (item) {
138
+ return item.title;
139
+ }).join('_');
140
+ }, [columns]);
134
141
  var WrappedTableShell = useMemo(function () {
135
142
  if (draggable) {
136
143
  return DraggableShell({
@@ -156,7 +163,7 @@ var Table = function Table(_ref) {
156
163
  }
157
164
  }
158
165
  });
159
- }, [columns.length, draggable, headSelection, hasChildren]);
166
+ }, [columns.length, columnsTitle, draggable, headSelection, hasChildren]);
160
167
  return /*#__PURE__*/_jsx(ConfigProvider, {
161
168
  renderEmpty: function renderEmpty() {
162
169
  return /*#__PURE__*/_jsx(Empty, {
package/dist/core/util.js CHANGED
@@ -97,7 +97,7 @@ export function stringToClipboardData(str, count) {
97
97
  });
98
98
  }
99
99
  export var defaultParsePaste = function defaultParsePaste(str) {
100
- return str.trim().split(/\r\n|\n|\r/).map(function (row) {
100
+ return str.trimEnd().split(/\r\n|\n|\r/).map(function (row) {
101
101
  return row.split('\t');
102
102
  });
103
103
  };
@@ -1,3 +1,7 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
4
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
1
5
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
6
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
7
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -43,10 +47,12 @@ var data = [{
43
47
  address: 'New York No. 1 Lake Park',
44
48
  children: [{
45
49
  id: 11,
46
- key: '1-1'
50
+ key: '1-1',
51
+ parentId: 1
47
52
  }, {
48
53
  id: 12,
49
- key: '1-2'
54
+ key: '1-2',
55
+ parentId: 1
50
56
  }]
51
57
  }, {
52
58
  key: 2,
@@ -56,10 +62,12 @@ var data = [{
56
62
  address: 'London No. 1 Lake Park',
57
63
  children: [{
58
64
  id: 21,
59
- key: '2-1'
65
+ key: '2-1',
66
+ parentId: 2
60
67
  }, {
61
68
  id: 22,
62
- key: '2-2'
69
+ key: '2-2',
70
+ parentId: 2
63
71
  }]
64
72
  }, {
65
73
  key: 3,
@@ -75,10 +83,12 @@ var data = [{
75
83
  address: 'Sidney No. 1 Lake Park',
76
84
  children: [{
77
85
  id: 41,
78
- key: '4-1'
86
+ key: '4-1',
87
+ parentId: 4
79
88
  }, {
80
89
  id: 42,
81
- key: '4-2'
90
+ key: '4-2',
91
+ parentId: 4
82
92
  }]
83
93
  }];
84
94
  var App = function App() {
@@ -86,14 +96,27 @@ var App = function App() {
86
96
  _useState2 = _slicedToArray(_useState, 2),
87
97
  state = _useState2[0],
88
98
  setState = _useState2[1];
89
- var handleChange = useCallback(function (changes, extChange) {
99
+ var handleChange = useCallback(function (changes) {
90
100
  // console.log(extChange);
91
101
  var newState = cloneDeep(state);
102
+ var flatNewState = newState.reduce(function (left, right) {
103
+ return [].concat(_toConsumableArray(left), [right], _toConsumableArray(right.children || []));
104
+ }, []);
92
105
  changes.forEach(function (change) {
93
- var row = change.row,
94
- key = change.key,
95
- value = change.value;
96
- newState[row][key] = value;
106
+ var key = change.key,
107
+ value = change.value,
108
+ id = change.id;
109
+ var changedItem = flatNewState.find(function (item) {
110
+ return item.id === id;
111
+ });
112
+ var parentIndex = newState.findIndex(function (item) {
113
+ return item.id === changedItem.parentId;
114
+ });
115
+ var childIndex = newState[parentIndex].children.findIndex(function (item) {
116
+ return item.id === id;
117
+ });
118
+ newState[parentIndex].children[childIndex][key] = value;
119
+ // newState[row][key] = value;
97
120
  });
98
121
  setState(newState);
99
122
  }, [state]);
@@ -116,7 +139,7 @@ var App = function App() {
116
139
  // rowExpandable: (record) => record.name !== 'Not Expandable',
117
140
  // }}
118
141
  ,
119
- dataSource: data,
142
+ dataSource: state,
120
143
  onChange: handleChange
121
144
  });
122
145
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhenliang/sheet",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "description": "A react library developed with dumi",
5
5
  "license": "MIT",
6
6
  "module": "dist/index.js",