easy3wui 1.5.55-beta2 → 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.
@@ -71,8 +71,7 @@ var Easy3wEditBigTable = function (_Component) {
71
71
  };
72
72
 
73
73
  _this.onGridRowsUpdated = function (objUpdated) {
74
- var fromRow = objUpdated.fromRow,
75
- fromRowData = objUpdated.fromRowData;
74
+ var fromRowData = objUpdated.fromRowData;
76
75
  var updated = objUpdated.updated;
77
76
  var _this$props = _this.props,
78
77
  touchAutoCompute = _this$props.touchAutoCompute,
@@ -83,7 +82,6 @@ var Easy3wEditBigTable = function (_Component) {
83
82
  // 数据变更-自动计算行数据
84
83
  updated = touchAutoCompute(objUpdated);
85
84
  }
86
- console.log('onGridRowsUpdated', objUpdated, updated);
87
85
  var autoAddNumberIdxEdit = fromRowData.autoAddNumber_idx_edit;
88
86
 
89
87
  dataList[autoAddNumberIdxEdit] = (0, _extends3['default'])({}, fromRowData, updated);
@@ -98,22 +96,37 @@ var Easy3wEditBigTable = function (_Component) {
98
96
  };
99
97
 
100
98
  _this.onRowsSelected = function (rows) {
101
- _this.setState({
102
- arrSelectedIndexes: _this.state.arrSelectedIndexes.concat(rows.map(function (r) {
103
- return r.rowIdx;
104
- })) // 表格选择行索引
105
- });
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);
106
106
  };
107
107
 
108
108
  _this.onRowsDeselected = function (rows) {
109
- var rowIndexes = rows.map(function (r) {
110
- return r.rowIdx;
111
- });
112
- _this.setState({
113
- arrSelectedIndexes: _this.state.arrSelectedIndexes.filter(function (i) {
114
- return rowIndexes.indexOf(i) === -1;
115
- }) // 表格选择行索引
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;
116
124
  });
125
+ _this.onSelectedRowsChange(arrValuesNew);
126
+ };
127
+
128
+ _this.onSelectedRowsChange = function (arrValues) {
129
+ _this.setState({ arrValues: arrValues });
117
130
  };
118
131
 
119
132
  _this.touchAddRow = function () {
@@ -132,14 +145,14 @@ var Easy3wEditBigTable = function (_Component) {
132
145
  var _this$props3 = _this.props,
133
146
  onGridRowsUpdated = _this$props3.onGridRowsUpdated,
134
147
  dataList = _this$props3.dataList;
135
- var arrSelectedIndexes = _this.state.arrSelectedIndexes;
148
+ var arrValues = _this.state.arrValues;
136
149
 
137
- if (arrSelectedIndexes.length) {
150
+ if (arrValues.length) {
138
151
  var newArr = []; // 复制的新数组
139
- arrSelectedIndexes.forEach(function (rowIdx) {
140
- var newRow = (0, _extends3['default'])({}, dataList[rowIdx]);
152
+ arrValues.forEach(function (key) {
153
+ var newRow = (0, _extends3['default'])({}, dataList[key]);
141
154
  newArr.push(newRow);
142
- return rowIdx;
155
+ return key;
143
156
  });
144
157
  var dataListNew = [].concat(dataList, newArr);
145
158
  if (onGridRowsUpdated && typeof onGridRowsUpdated === 'function') {
@@ -157,21 +170,36 @@ var Easy3wEditBigTable = function (_Component) {
157
170
  _this.deleteRow = function () {
158
171
  var _this$props4 = _this.props,
159
172
  dataList = _this$props4.dataList,
160
- onGridRowsUpdated = _this$props4.onGridRowsUpdated;
161
- var arrSelectedIndexes = _this.state.arrSelectedIndexes;
162
-
163
- if (arrSelectedIndexes.length) {
164
- var dataListNew = []; // 复制的新数组
165
- dataList.forEach(function (row, index) {
166
- if (arrSelectedIndexes.indexOf(index) === -1) {
167
- dataListNew.push(row);
168
- }
169
- 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;
170
193
  });
194
+ if (deleteRowInterface && typeof deleteRowInterface === 'function') {
195
+ // 删除行接口
196
+ deleteRowInterface(dataListDel, arrValues);
197
+ }
171
198
  if (onGridRowsUpdated && typeof onGridRowsUpdated === 'function') {
172
199
  // 数据变更-回调函数
173
200
  onGridRowsUpdated('deleteRow', dataListNew);
174
201
  }
202
+ _this.onSelectedRowsChange([]); // 选择行清空
175
203
  } else {
176
204
  _modal2['default'].error({
177
205
  title: '错误',
@@ -255,7 +283,8 @@ var Easy3wEditBigTable = function (_Component) {
255
283
  var _this$props5 = _this.props,
256
284
  touchAutoCompute = _this$props5.touchAutoCompute,
257
285
  onGridRowsUpdated = _this$props5.onGridRowsUpdated,
258
- dataList = _this$props5.dataList;
286
+ dataList = _this$props5.dataList,
287
+ rowKey = _this$props5.rowKey;
259
288
  // if (touchAutoCompute && typeof touchAutoCompute === 'function') { // 数据变更-自动计算行数据
260
289
  // updated = touchAutoCompute(objUpdated);
261
290
  // }
@@ -277,8 +306,6 @@ var Easy3wEditBigTable = function (_Component) {
277
306
  // toRow 改变的单元格的新行序号
278
307
  // toRowId 改变的单元格的新行id
279
308
  // updated 改变的单元格的新值
280
- var rowKey = _this.ReactDataGridRef.props.rowKey;
281
-
282
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 });
283
310
  }
284
311
  dataList[autoAddNumberIdxEdit] = (0, _extends3['default'])({}, row, updated);
@@ -297,10 +324,11 @@ var Easy3wEditBigTable = function (_Component) {
297
324
  sortDirection = _this$state.sortDirection;
298
325
  var _this$props6 = _this.props,
299
326
  dataList = _this$props6.dataList,
300
- enableCellSelect = _this$props6.enableCellSelect;
327
+ enableCellSelect = _this$props6.enableCellSelect,
328
+ rowSelection = _this$props6.rowSelection;
301
329
 
302
330
  var rows = dataList;
303
- if (enableCellSelect) {
331
+ if (enableCellSelect || rowSelection) {
304
332
  rows = _this.touchLoopDataBefore();
305
333
  }
306
334
  return Selectors.getRows({ rows: rows, filters: filters, sortColumn: sortColumn, sortDirection: sortDirection });
@@ -319,11 +347,12 @@ var Easy3wEditBigTable = function (_Component) {
319
347
  _this.touchLoopDataBefore = function () {
320
348
  var dataList = _this.props.dataList;
321
349
 
322
- var rows = dataList.map(function (row, index) {
350
+ dataList.map(function (row, index) {
323
351
  // autoAddNumber_idx_edit 自动添加序号 数据更新时使用确定当前更新的行
324
- return (0, _extends3['default'])({}, row, { autoAddNumber_idx_edit: index });
352
+ dataList[index] = (0, _extends3['default'])({}, row, { autoAddNumber_idx_edit: index });
353
+ return row;
325
354
  });
326
- return rows;
355
+ return dataList;
327
356
  };
328
357
 
329
358
  _this.touchLoopData = function () {
@@ -486,8 +515,10 @@ var Easy3wEditBigTable = function (_Component) {
486
515
  };
487
516
 
488
517
  _this.getReactDataGridProps = function () {
518
+ var arrValues = _this.state.arrValues;
489
519
  var _this$props8 = _this.props,
490
520
  enableCellSelect = _this$props8.enableCellSelect,
521
+ rowKey = _this$props8.rowKey,
491
522
  objToolbarProps = _this$props8.objToolbarProps,
492
523
  rowSelection = _this$props8.rowSelection;
493
524
 
@@ -515,8 +546,11 @@ var Easy3wEditBigTable = function (_Component) {
515
546
  onRowsSelected: _this.onRowsSelected,
516
547
  onRowsDeselected: _this.onRowsDeselected,
517
548
  selectBy: {
518
- rowKey: 'id',
519
- indexes: _this.state.arrSelectedIndexes
549
+ keys: {
550
+ rowKey: rowKey || 'id',
551
+ values: arrValues
552
+ }
553
+ // indexes: this.state.arrValues,
520
554
  }
521
555
  };
522
556
  } else if (rowSelection) {
@@ -534,7 +568,11 @@ var Easy3wEditBigTable = function (_Component) {
534
568
 
535
569
  var columnsNew = [].concat(columns);
536
570
  if (autoAddNumber && typeof autoAddNumber === 'boolean') {
537
- 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);
538
576
  }
539
577
  _this.columns = columnsNew;
540
578
  return columnsNew;
@@ -616,7 +654,7 @@ var Easy3wEditBigTable = function (_Component) {
616
654
  }
617
655
  _this.state = {
618
656
  // 表格选择
619
- arrSelectedIndexes: [], // 表格选择行索引
657
+ arrValues: [], // 表格选择行索引
620
658
  // 查询条件
621
659
  filters: {},
622
660
  // 排序--sort
@@ -644,6 +682,8 @@ var Easy3wEditBigTable = function (_Component) {
644
682
 
645
683
  // 表格选择---取消选择
646
684
 
685
+ // 改变选择状态
686
+
647
687
  // #endregion 表格选择
648
688
  // #region 右上角按钮处理--toolbar
649
689
  // 新增
@@ -715,7 +755,7 @@ var Easy3wEditBigTable = function (_Component) {
715
755
  return _react2['default'].createElement(
716
756
  'div',
717
757
  { style: { backgroundColor: '#fff' } },
718
- _react2['default'].createElement(_reactDataGrid2['default'], (0, _extends3['default'])({
758
+ _react2['default'].createElement(_reactDataGrid2['default'], (0, _extends3['default'])({}, this.props, {
719
759
  ref: this.ReactDataGridRef,
720
760
  columns: columns // 表头
721
761
  // rows={rows}
@@ -762,5 +802,8 @@ var Easy3wEditBigTable = function (_Component) {
762
802
  return Easy3wEditBigTable;
763
803
  }(_react.Component);
764
804
 
805
+ Easy3wEditBigTable.defaultProps = {
806
+ rowKey: 'autoAddNumber_idx_edit'
807
+ };
765
808
  exports['default'] = Easy3wEditBigTable;
766
809
  module.exports = exports['default'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easy3wui",
3
- "version": "1.5.55-beta2",
3
+ "version": "1.5.55-beta4",
4
4
  "description": "easy3wui components for react",
5
5
  "keywords": [
6
6
  "react",