easy3wui 1.5.55-beta1 → 1.5.55-beta4

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.
@@ -48,12 +48,9 @@ var _Easy3wEditBigTableForm = require('./Easy3wEditBigTableForm');
48
48
 
49
49
  var _Easy3wEditBigTableForm2 = _interopRequireDefault(_Easy3wEditBigTableForm);
50
50
 
51
- var _lodash = require('lodash');
52
-
53
51
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
54
52
 
55
- /* eslint-disable no-alert */
56
- var Selectors = _reactDataGridAddons.Data.Selectors;
53
+ var Selectors = _reactDataGridAddons.Data.Selectors; /* eslint-disable no-alert */
57
54
 
58
55
  var Easy3wEditBigTable = function (_Component) {
59
56
  (0, _inherits3['default'])(Easy3wEditBigTable, _Component);
@@ -74,8 +71,7 @@ var Easy3wEditBigTable = function (_Component) {
74
71
  };
75
72
 
76
73
  _this.onGridRowsUpdated = function (objUpdated) {
77
- var fromRow = objUpdated.fromRow,
78
- fromRowData = objUpdated.fromRowData;
74
+ var fromRowData = objUpdated.fromRowData;
79
75
  var updated = objUpdated.updated;
80
76
  var _this$props = _this.props,
81
77
  touchAutoCompute = _this$props.touchAutoCompute,
@@ -86,7 +82,6 @@ var Easy3wEditBigTable = function (_Component) {
86
82
  // 数据变更-自动计算行数据
87
83
  updated = touchAutoCompute(objUpdated);
88
84
  }
89
- console.log('onGridRowsUpdated', objUpdated, updated);
90
85
  var autoAddNumberIdxEdit = fromRowData.autoAddNumber_idx_edit;
91
86
 
92
87
  dataList[autoAddNumberIdxEdit] = (0, _extends3['default'])({}, fromRowData, updated);
@@ -101,22 +96,37 @@ var Easy3wEditBigTable = function (_Component) {
101
96
  };
102
97
 
103
98
  _this.onRowsSelected = function (rows) {
104
- _this.setState({
105
- arrSelectedIndexes: _this.state.arrSelectedIndexes.concat(rows.map(function (r) {
106
- return r.rowIdx;
107
- })) // 表格选择行索引
108
- });
99
+ var arrValues = _this.state.arrValues;
100
+ var rowKey = _this.props.rowKey;
101
+
102
+ var arrValuesNew = arrValues.concat(rows.map(function (r) {
103
+ return r.row[rowKey];
104
+ })); // 表格选择行索引
105
+ _this.onSelectedRowsChange(arrValuesNew);
109
106
  };
110
107
 
111
108
  _this.onRowsDeselected = function (rows) {
112
- var rowIndexes = rows.map(function (r) {
113
- return r.rowIdx;
114
- });
115
- _this.setState({
116
- arrSelectedIndexes: _this.state.arrSelectedIndexes.filter(function (i) {
117
- return rowIndexes.indexOf(i) === -1;
118
- }) // 表格选择行索引
109
+ var arrValues = _this.state.arrValues;
110
+ var rowKey = _this.props.rowKey;
111
+
112
+ var arrValuesNew = arrValues.filter(function (key) {
113
+ var flag = true;
114
+ rows.map(function (r) {
115
+ var row = r.row;
116
+
117
+ if (key === row[rowKey]) {
118
+ // 删除已取消选择的行
119
+ flag = false;
120
+ }
121
+ return r;
122
+ });
123
+ return flag;
119
124
  });
125
+ _this.onSelectedRowsChange(arrValuesNew);
126
+ };
127
+
128
+ _this.onSelectedRowsChange = function (arrValues) {
129
+ _this.setState({ arrValues: arrValues });
120
130
  };
121
131
 
122
132
  _this.touchAddRow = function () {
@@ -135,14 +145,14 @@ var Easy3wEditBigTable = function (_Component) {
135
145
  var _this$props3 = _this.props,
136
146
  onGridRowsUpdated = _this$props3.onGridRowsUpdated,
137
147
  dataList = _this$props3.dataList;
138
- var arrSelectedIndexes = _this.state.arrSelectedIndexes;
148
+ var arrValues = _this.state.arrValues;
139
149
 
140
- if (arrSelectedIndexes.length) {
150
+ if (arrValues.length) {
141
151
  var newArr = []; // 复制的新数组
142
- arrSelectedIndexes.forEach(function (rowIdx) {
143
- var newRow = (0, _extends3['default'])({}, dataList[rowIdx]);
152
+ arrValues.forEach(function (key) {
153
+ var newRow = (0, _extends3['default'])({}, dataList[key]);
144
154
  newArr.push(newRow);
145
- return rowIdx;
155
+ return key;
146
156
  });
147
157
  var dataListNew = [].concat(dataList, newArr);
148
158
  if (onGridRowsUpdated && typeof onGridRowsUpdated === 'function') {
@@ -160,21 +170,36 @@ var Easy3wEditBigTable = function (_Component) {
160
170
  _this.deleteRow = function () {
161
171
  var _this$props4 = _this.props,
162
172
  dataList = _this$props4.dataList,
163
- onGridRowsUpdated = _this$props4.onGridRowsUpdated;
164
- var arrSelectedIndexes = _this.state.arrSelectedIndexes;
165
-
166
- if (arrSelectedIndexes.length) {
167
- var dataListNew = []; // 复制的新数组
168
- dataList.forEach(function (row, index) {
169
- if (arrSelectedIndexes.indexOf(index) === -1) {
170
- dataListNew.push(row);
171
- }
172
- return index;
173
+ onGridRowsUpdated = _this$props4.onGridRowsUpdated,
174
+ objToolbarProps = _this$props4.objToolbarProps,
175
+ rowKey = _this$props4.rowKey;
176
+ var deleteRowInterface = objToolbarProps.deleteRowInterface;
177
+ var arrValues = _this.state.arrValues;
178
+
179
+ if (arrValues.length) {
180
+ // const dataListNew = []; // 删除选择行后的新数组
181
+ var dataListDel = []; // 要删除的行数组
182
+ var dataListNew = dataList.filter(function (row) {
183
+ var flag = true;
184
+ arrValues.map(function (key) {
185
+ if (key === row[rowKey]) {
186
+ dataListDel.push(row);
187
+ // 删除选择的行
188
+ flag = false;
189
+ }
190
+ return key;
191
+ });
192
+ return flag;
173
193
  });
194
+ if (deleteRowInterface && typeof deleteRowInterface === 'function') {
195
+ // 删除行接口
196
+ deleteRowInterface(dataListDel, arrValues);
197
+ }
174
198
  if (onGridRowsUpdated && typeof onGridRowsUpdated === 'function') {
175
199
  // 数据变更-回调函数
176
200
  onGridRowsUpdated('deleteRow', dataListNew);
177
201
  }
202
+ _this.onSelectedRowsChange([]); // 选择行清空
178
203
  } else {
179
204
  _modal2['default'].error({
180
205
  title: '错误',
@@ -258,7 +283,8 @@ var Easy3wEditBigTable = function (_Component) {
258
283
  var _this$props5 = _this.props,
259
284
  touchAutoCompute = _this$props5.touchAutoCompute,
260
285
  onGridRowsUpdated = _this$props5.onGridRowsUpdated,
261
- dataList = _this$props5.dataList;
286
+ dataList = _this$props5.dataList,
287
+ rowKey = _this$props5.rowKey;
262
288
  // if (touchAutoCompute && typeof touchAutoCompute === 'function') { // 数据变更-自动计算行数据
263
289
  // updated = touchAutoCompute(objUpdated);
264
290
  // }
@@ -280,8 +306,6 @@ var Easy3wEditBigTable = function (_Component) {
280
306
  // toRow 改变的单元格的新行序号
281
307
  // toRowId 改变的单元格的新行id
282
308
  // updated 改变的单元格的新值
283
- var rowKey = _this.ReactDataGridRef.props.rowKey;
284
-
285
309
  updated = touchAutoCompute({ cellKey: objColumn.key, fromRow: autoAddNumberIdxView, toRow: autoAddNumberIdxView, fromRowId: row[rowKey], toRowId: row[rowKey], rowIds: [row[rowKey]], updated: updated, action: 'CELL_BATCH_CHANGE', fromRowData: row });
286
310
  }
287
311
  dataList[autoAddNumberIdxEdit] = (0, _extends3['default'])({}, row, updated);
@@ -300,10 +324,11 @@ var Easy3wEditBigTable = function (_Component) {
300
324
  sortDirection = _this$state.sortDirection;
301
325
  var _this$props6 = _this.props,
302
326
  dataList = _this$props6.dataList,
303
- enableCellSelect = _this$props6.enableCellSelect;
327
+ enableCellSelect = _this$props6.enableCellSelect,
328
+ rowSelection = _this$props6.rowSelection;
304
329
 
305
330
  var rows = dataList;
306
- if (enableCellSelect) {
331
+ if (enableCellSelect || rowSelection) {
307
332
  rows = _this.touchLoopDataBefore();
308
333
  }
309
334
  return Selectors.getRows({ rows: rows, filters: filters, sortColumn: sortColumn, sortDirection: sortDirection });
@@ -322,11 +347,12 @@ var Easy3wEditBigTable = function (_Component) {
322
347
  _this.touchLoopDataBefore = function () {
323
348
  var dataList = _this.props.dataList;
324
349
 
325
- var rows = dataList.map(function (row, index) {
350
+ dataList.map(function (row, index) {
326
351
  // autoAddNumber_idx_edit 自动添加序号 数据更新时使用确定当前更新的行
327
- return (0, _extends3['default'])({}, row, { autoAddNumber_idx_edit: index });
352
+ dataList[index] = (0, _extends3['default'])({}, row, { autoAddNumber_idx_edit: index });
353
+ return row;
328
354
  });
329
- return rows;
355
+ return dataList;
330
356
  };
331
357
 
332
358
  _this.touchLoopData = function () {
@@ -489,8 +515,10 @@ var Easy3wEditBigTable = function (_Component) {
489
515
  };
490
516
 
491
517
  _this.getReactDataGridProps = function () {
518
+ var arrValues = _this.state.arrValues;
492
519
  var _this$props8 = _this.props,
493
520
  enableCellSelect = _this$props8.enableCellSelect,
521
+ rowKey = _this$props8.rowKey,
494
522
  objToolbarProps = _this$props8.objToolbarProps,
495
523
  rowSelection = _this$props8.rowSelection;
496
524
 
@@ -518,8 +546,11 @@ var Easy3wEditBigTable = function (_Component) {
518
546
  onRowsSelected: _this.onRowsSelected,
519
547
  onRowsDeselected: _this.onRowsDeselected,
520
548
  selectBy: {
521
- rowKey: 'id',
522
- indexes: _this.state.arrSelectedIndexes
549
+ keys: {
550
+ rowKey: rowKey || 'id',
551
+ values: arrValues
552
+ }
553
+ // indexes: this.state.arrValues,
523
554
  }
524
555
  };
525
556
  } else if (rowSelection) {
@@ -537,7 +568,11 @@ var Easy3wEditBigTable = function (_Component) {
537
568
 
538
569
  var columnsNew = [].concat(columns);
539
570
  if (autoAddNumber && typeof autoAddNumber === 'boolean') {
540
- columnsNew = [{ name: '序号', key: 'autoAddNumber_idx_view', resizable: true, width: 50 }].concat(columnsNew);
571
+ var objColumns = columns && columns.length > 0 ? columns[0] : {};
572
+ var _objColumns$frozen = objColumns.frozen,
573
+ frozen = _objColumns$frozen === undefined ? false : _objColumns$frozen;
574
+
575
+ columnsNew = [{ name: '序号', key: 'autoAddNumber_idx_view', resizable: true, width: 50, frozen: frozen }].concat(columnsNew);
541
576
  }
542
577
  _this.columns = columnsNew;
543
578
  return columnsNew;
@@ -619,7 +654,7 @@ var Easy3wEditBigTable = function (_Component) {
619
654
  }
620
655
  _this.state = {
621
656
  // 表格选择
622
- arrSelectedIndexes: [], // 表格选择行索引
657
+ arrValues: [], // 表格选择行索引
623
658
  // 查询条件
624
659
  filters: {},
625
660
  // 排序--sort
@@ -647,6 +682,8 @@ var Easy3wEditBigTable = function (_Component) {
647
682
 
648
683
  // 表格选择---取消选择
649
684
 
685
+ // 改变选择状态
686
+
650
687
  // #endregion 表格选择
651
688
  // #region 右上角按钮处理--toolbar
652
689
  // 新增
@@ -718,7 +755,7 @@ var Easy3wEditBigTable = function (_Component) {
718
755
  return _react2['default'].createElement(
719
756
  'div',
720
757
  { style: { backgroundColor: '#fff' } },
721
- _react2['default'].createElement(_reactDataGrid2['default'], (0, _extends3['default'])({
758
+ _react2['default'].createElement(_reactDataGrid2['default'], (0, _extends3['default'])({}, this.props, {
722
759
  ref: this.ReactDataGridRef,
723
760
  columns: columns // 表头
724
761
  // rows={rows}
@@ -765,5 +802,8 @@ var Easy3wEditBigTable = function (_Component) {
765
802
  return Easy3wEditBigTable;
766
803
  }(_react.Component);
767
804
 
805
+ Easy3wEditBigTable.defaultProps = {
806
+ rowKey: 'autoAddNumber_idx_edit'
807
+ };
768
808
  exports['default'] = Easy3wEditBigTable;
769
809
  module.exports = exports['default'];
package/lib/index.js CHANGED
@@ -389,4 +389,13 @@ Object.defineProperty(exports, 'Easy3wGetDesensitization', {
389
389
  }
390
390
  });
391
391
 
392
+ var _Easy3wEditBigTable = require('./Easy3wEditBigTable');
393
+
394
+ Object.defineProperty(exports, 'Easy3wEditBigTable', {
395
+ enumerable: true,
396
+ get: function get() {
397
+ return _interopRequireDefault(_Easy3wEditBigTable)['default'];
398
+ }
399
+ });
400
+
392
401
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easy3wui",
3
- "version": "1.5.55-beta1",
3
+ "version": "1.5.55-beta4",
4
4
  "description": "easy3wui components for react",
5
5
  "keywords": [
6
6
  "react",