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.
- package/lib/Easy3wEditBigTable/index.js +86 -43
- package/package.json +1 -1
|
@@ -71,8 +71,7 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
71
71
|
};
|
|
72
72
|
|
|
73
73
|
_this.onGridRowsUpdated = function (objUpdated) {
|
|
74
|
-
var
|
|
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.
|
|
102
|
-
|
|
103
|
-
|
|
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
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
|
148
|
+
var arrValues = _this.state.arrValues;
|
|
136
149
|
|
|
137
|
-
if (
|
|
150
|
+
if (arrValues.length) {
|
|
138
151
|
var newArr = []; // 复制的新数组
|
|
139
|
-
|
|
140
|
-
var newRow = (0, _extends3['default'])({}, dataList[
|
|
152
|
+
arrValues.forEach(function (key) {
|
|
153
|
+
var newRow = (0, _extends3['default'])({}, dataList[key]);
|
|
141
154
|
newArr.push(newRow);
|
|
142
|
-
return
|
|
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
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
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
|
-
|
|
350
|
+
dataList.map(function (row, index) {
|
|
323
351
|
// autoAddNumber_idx_edit 自动添加序号 数据更新时使用确定当前更新的行
|
|
324
|
-
|
|
352
|
+
dataList[index] = (0, _extends3['default'])({}, row, { autoAddNumber_idx_edit: index });
|
|
353
|
+
return row;
|
|
325
354
|
});
|
|
326
|
-
return
|
|
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
|
-
|
|
519
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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'];
|