@nokecy/qc-ui 0.9.5 → 0.9.7
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.
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _sumBy2 = _interopRequireDefault(require("lodash/sumBy"));
|
|
9
|
+
var _uniqueId2 = _interopRequireDefault(require("lodash/uniqueId"));
|
|
9
10
|
var _agGridReact = require("ag-grid-react");
|
|
10
11
|
var _antd = require("antd");
|
|
11
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -99,10 +100,6 @@ function AgGridPlus(props) {
|
|
|
99
100
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
100
101
|
pagination = _useState16[0],
|
|
101
102
|
setPagination = _useState16[1];
|
|
102
|
-
var _useState17 = (0, _react.useState)([]),
|
|
103
|
-
_useState18 = _slicedToArray(_useState17, 2),
|
|
104
|
-
calculateArr = _useState18[0],
|
|
105
|
-
setCalculateArr = _useState18[1];
|
|
106
103
|
(0, _react.useImperativeHandle)(propsGridRef, function () {
|
|
107
104
|
return gridRef.current;
|
|
108
105
|
});
|
|
@@ -244,34 +241,34 @@ function AgGridPlus(props) {
|
|
|
244
241
|
var isValidNumber = function isValidNumber(value) {
|
|
245
242
|
return typeof value === 'number' && !isNaN(value);
|
|
246
243
|
};
|
|
247
|
-
var sumFun = function sumFun(field) {
|
|
248
|
-
return (0, _sumBy2.default)(
|
|
244
|
+
var sumFun = function sumFun(field, displayedData) {
|
|
245
|
+
return (0, _sumBy2.default)(displayedData, function (cur) {
|
|
249
246
|
if (isValidNumber(cur[field])) {
|
|
250
247
|
return cur[field];
|
|
251
248
|
}
|
|
252
249
|
return 0;
|
|
253
250
|
});
|
|
254
251
|
};
|
|
255
|
-
var avgFun = function avgFun(field) {
|
|
256
|
-
var sum = (0, _sumBy2.default)(
|
|
252
|
+
var avgFun = function avgFun(field, displayedData) {
|
|
253
|
+
var sum = (0, _sumBy2.default)(displayedData, function (cur) {
|
|
257
254
|
if (isValidNumber(cur[field]) && cur[field] !== undefined && cur[field] !== null) {
|
|
258
255
|
return cur[field];
|
|
259
256
|
}
|
|
260
257
|
return 0;
|
|
261
258
|
});
|
|
262
|
-
var count =
|
|
259
|
+
var count = displayedData.filter(function (cur) {
|
|
263
260
|
return cur[field] !== undefined && cur[field] !== null;
|
|
264
261
|
});
|
|
265
262
|
return count ? sum / count.length : 0;
|
|
266
263
|
};
|
|
267
|
-
var standardDeviationFun = function standardDeviationFun(field) {
|
|
268
|
-
var validValues =
|
|
264
|
+
var standardDeviationFun = function standardDeviationFun(field, displayedData) {
|
|
265
|
+
var validValues = displayedData.filter(function (cur) {
|
|
269
266
|
return isValidNumber(cur[field]);
|
|
270
267
|
});
|
|
271
268
|
var count = validValues.length;
|
|
272
269
|
if (count === 0) return 0;
|
|
273
|
-
var mean = sumFun(field) / count;
|
|
274
|
-
var variance = (0, _sumBy2.default)(
|
|
270
|
+
var mean = sumFun(field, displayedData) / count;
|
|
271
|
+
var variance = (0, _sumBy2.default)(displayedData, function (cur) {
|
|
275
272
|
if (cur[field] !== undefined && cur[field] !== null) {
|
|
276
273
|
var diff = cur[field] - mean;
|
|
277
274
|
return diff * diff;
|
|
@@ -282,20 +279,22 @@ function AgGridPlus(props) {
|
|
|
282
279
|
};
|
|
283
280
|
|
|
284
281
|
// sum 求和 avg 平均值 standardDeviation 标准差
|
|
285
|
-
var calculatefun = function calculatefun(calcColFields) {
|
|
282
|
+
var calculatefun = function calculatefun(calcColFields, displayedData) {
|
|
286
283
|
var calculateArrCopy = [];
|
|
287
|
-
var calculateData = {
|
|
284
|
+
var calculateData = {
|
|
285
|
+
id: (0, _uniqueId2.default)()
|
|
286
|
+
};
|
|
288
287
|
calcColFields.map(function (i) {
|
|
289
288
|
if (!i.cellRenderer) {
|
|
290
289
|
switch (i.calculateType) {
|
|
291
290
|
case "sum":
|
|
292
|
-
calculateData[i.field] = sumFun(i.field);
|
|
291
|
+
calculateData[i.field] = sumFun(i.field, displayedData);
|
|
293
292
|
break;
|
|
294
293
|
case "avg":
|
|
295
|
-
calculateData[i.field] = avgFun(i.field);
|
|
294
|
+
calculateData[i.field] = avgFun(i.field, displayedData);
|
|
296
295
|
break;
|
|
297
296
|
case "standardDeviation":
|
|
298
|
-
calculateData[i.field] = standardDeviationFun(i.field);
|
|
297
|
+
calculateData[i.field] = standardDeviationFun(i.field, displayedData);
|
|
299
298
|
break;
|
|
300
299
|
default:
|
|
301
300
|
break;
|
|
@@ -338,7 +337,7 @@ function AgGridPlus(props) {
|
|
|
338
337
|
var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
|
|
339
338
|
columnDefs = columnDefs.map(function (col) {
|
|
340
339
|
var dataType = getDataType(data, col.field);
|
|
341
|
-
if (col.type || col.
|
|
340
|
+
if (col.type || col.cellRenderer) {
|
|
342
341
|
return _objectSpread(_objectSpread({}, col), {}, {
|
|
343
342
|
customCellRenderer: col.cellRenderer,
|
|
344
343
|
cellRenderer: cellRenderer
|
|
@@ -362,6 +361,35 @@ function AgGridPlus(props) {
|
|
|
362
361
|
});
|
|
363
362
|
return columnDefs;
|
|
364
363
|
};
|
|
364
|
+
var calculateSum = function calculateSum() {
|
|
365
|
+
var displayedData = [];
|
|
366
|
+
if (apiRef.current) {
|
|
367
|
+
apiRef.current.forEachNodeAfterFilter(function (node) {
|
|
368
|
+
displayedData.push(node.data);
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
if (!allColDefs || displayedData.length === 0) {
|
|
372
|
+
var _apiRef$current2;
|
|
373
|
+
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.setGridOption('pinnedBottomRowData', undefined);
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
var calcColFields = allColDefs.filter(function (col) {
|
|
377
|
+
return col.calculateType;
|
|
378
|
+
}).map(function (col) {
|
|
379
|
+
return {
|
|
380
|
+
field: col.field,
|
|
381
|
+
calculateType: col.calculateType
|
|
382
|
+
};
|
|
383
|
+
});
|
|
384
|
+
if (calcColFields.length > 0) {
|
|
385
|
+
var _apiRef$current3;
|
|
386
|
+
var calculatedValues = calculatefun(calcColFields, displayedData);
|
|
387
|
+
(_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 || _apiRef$current3.setGridOption('pinnedBottomRowData', calculatedValues);
|
|
388
|
+
}
|
|
389
|
+
};
|
|
390
|
+
var onFilterChanged = function onFilterChanged(event) {
|
|
391
|
+
calculateSum();
|
|
392
|
+
};
|
|
365
393
|
var colDefs = (0, _react.useMemo)(function () {
|
|
366
394
|
var columnDefs = getTableColumns(rowData);
|
|
367
395
|
columnDefs = columnDefs.filter(function (x) {
|
|
@@ -373,19 +401,7 @@ function AgGridPlus(props) {
|
|
|
373
401
|
return getTableColumns(rowData);
|
|
374
402
|
}, [children, props.columnDefs, extensibleColumns, rowData]);
|
|
375
403
|
(0, _react.useEffect)(function () {
|
|
376
|
-
|
|
377
|
-
var calcColFields = allColDefs.filter(function (col) {
|
|
378
|
-
return col.calculateType;
|
|
379
|
-
}).map(function (col) {
|
|
380
|
-
return {
|
|
381
|
-
field: col.field,
|
|
382
|
-
calculateType: col.calculateType
|
|
383
|
-
};
|
|
384
|
-
});
|
|
385
|
-
if (calcColFields.length > 0) {
|
|
386
|
-
var calculatedValues = calculatefun(calcColFields);
|
|
387
|
-
setCalculateArr(calculatedValues);
|
|
388
|
-
}
|
|
404
|
+
calculateSum();
|
|
389
405
|
}, [allColDefs, rowData]);
|
|
390
406
|
var rowDataMemo = (0, _react.useMemo)(function () {
|
|
391
407
|
return props.treeData ? (0, _utils.flatten)((0, _utils.toTree)(rowData, treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id", treeParentName !== null && treeParentName !== void 0 ? treeParentName : "parentId"), treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id") : rowData;
|
|
@@ -462,12 +478,13 @@ function AgGridPlus(props) {
|
|
|
462
478
|
sortChanged(event.api);
|
|
463
479
|
props.onSortChanged && props.onSortChanged(event);
|
|
464
480
|
},
|
|
481
|
+
onFilterChanged: onFilterChanged,
|
|
465
482
|
onSelectionChanged: onRowChanged,
|
|
466
483
|
onRowSelected: onRowSelected,
|
|
467
484
|
onDragStopped: function onDragStopped(e) {
|
|
468
485
|
if (apiRef.current) {
|
|
469
|
-
var _apiRef$
|
|
470
|
-
var _columnState = (_apiRef$
|
|
486
|
+
var _apiRef$current4;
|
|
487
|
+
var _columnState = (_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 ? void 0 : _apiRef$current4.getColumnState();
|
|
471
488
|
setColumnState(_columnState);
|
|
472
489
|
onColumnStateChanged && onColumnStateChanged(_columnState);
|
|
473
490
|
}
|
|
@@ -478,7 +495,6 @@ function AgGridPlus(props) {
|
|
|
478
495
|
// }
|
|
479
496
|
// }}
|
|
480
497
|
,
|
|
481
|
-
pinnedBottomRowData: calculateArr,
|
|
482
498
|
columnTypes: columnTypes,
|
|
483
499
|
animateRows: true
|
|
484
500
|
//停用默认分页组件
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
2
|
import _sumBy from "lodash/sumBy";
|
|
3
|
+
import _uniqueId from "lodash/uniqueId";
|
|
3
4
|
var _excluded = ["style", "loading", "params", "request", "dataSource", "treeKeyName", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "children"];
|
|
4
5
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
5
6
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -90,10 +91,6 @@ function AgGridPlus(props) {
|
|
|
90
91
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
91
92
|
pagination = _useState16[0],
|
|
92
93
|
setPagination = _useState16[1];
|
|
93
|
-
var _useState17 = useState([]),
|
|
94
|
-
_useState18 = _slicedToArray(_useState17, 2),
|
|
95
|
-
calculateArr = _useState18[0],
|
|
96
|
-
setCalculateArr = _useState18[1];
|
|
97
94
|
useImperativeHandle(propsGridRef, function () {
|
|
98
95
|
return gridRef.current;
|
|
99
96
|
});
|
|
@@ -235,34 +232,34 @@ function AgGridPlus(props) {
|
|
|
235
232
|
var isValidNumber = function isValidNumber(value) {
|
|
236
233
|
return typeof value === 'number' && !isNaN(value);
|
|
237
234
|
};
|
|
238
|
-
var sumFun = function sumFun(field) {
|
|
239
|
-
return _sumBy(
|
|
235
|
+
var sumFun = function sumFun(field, displayedData) {
|
|
236
|
+
return _sumBy(displayedData, function (cur) {
|
|
240
237
|
if (isValidNumber(cur[field])) {
|
|
241
238
|
return cur[field];
|
|
242
239
|
}
|
|
243
240
|
return 0;
|
|
244
241
|
});
|
|
245
242
|
};
|
|
246
|
-
var avgFun = function avgFun(field) {
|
|
247
|
-
var sum = _sumBy(
|
|
243
|
+
var avgFun = function avgFun(field, displayedData) {
|
|
244
|
+
var sum = _sumBy(displayedData, function (cur) {
|
|
248
245
|
if (isValidNumber(cur[field]) && cur[field] !== undefined && cur[field] !== null) {
|
|
249
246
|
return cur[field];
|
|
250
247
|
}
|
|
251
248
|
return 0;
|
|
252
249
|
});
|
|
253
|
-
var count =
|
|
250
|
+
var count = displayedData.filter(function (cur) {
|
|
254
251
|
return cur[field] !== undefined && cur[field] !== null;
|
|
255
252
|
});
|
|
256
253
|
return count ? sum / count.length : 0;
|
|
257
254
|
};
|
|
258
|
-
var standardDeviationFun = function standardDeviationFun(field) {
|
|
259
|
-
var validValues =
|
|
255
|
+
var standardDeviationFun = function standardDeviationFun(field, displayedData) {
|
|
256
|
+
var validValues = displayedData.filter(function (cur) {
|
|
260
257
|
return isValidNumber(cur[field]);
|
|
261
258
|
});
|
|
262
259
|
var count = validValues.length;
|
|
263
260
|
if (count === 0) return 0;
|
|
264
|
-
var mean = sumFun(field) / count;
|
|
265
|
-
var variance = _sumBy(
|
|
261
|
+
var mean = sumFun(field, displayedData) / count;
|
|
262
|
+
var variance = _sumBy(displayedData, function (cur) {
|
|
266
263
|
if (cur[field] !== undefined && cur[field] !== null) {
|
|
267
264
|
var diff = cur[field] - mean;
|
|
268
265
|
return diff * diff;
|
|
@@ -273,20 +270,22 @@ function AgGridPlus(props) {
|
|
|
273
270
|
};
|
|
274
271
|
|
|
275
272
|
// sum 求和 avg 平均值 standardDeviation 标准差
|
|
276
|
-
var calculatefun = function calculatefun(calcColFields) {
|
|
273
|
+
var calculatefun = function calculatefun(calcColFields, displayedData) {
|
|
277
274
|
var calculateArrCopy = [];
|
|
278
|
-
var calculateData = {
|
|
275
|
+
var calculateData = {
|
|
276
|
+
id: _uniqueId()
|
|
277
|
+
};
|
|
279
278
|
calcColFields.map(function (i) {
|
|
280
279
|
if (!i.cellRenderer) {
|
|
281
280
|
switch (i.calculateType) {
|
|
282
281
|
case "sum":
|
|
283
|
-
calculateData[i.field] = sumFun(i.field);
|
|
282
|
+
calculateData[i.field] = sumFun(i.field, displayedData);
|
|
284
283
|
break;
|
|
285
284
|
case "avg":
|
|
286
|
-
calculateData[i.field] = avgFun(i.field);
|
|
285
|
+
calculateData[i.field] = avgFun(i.field, displayedData);
|
|
287
286
|
break;
|
|
288
287
|
case "standardDeviation":
|
|
289
|
-
calculateData[i.field] = standardDeviationFun(i.field);
|
|
288
|
+
calculateData[i.field] = standardDeviationFun(i.field, displayedData);
|
|
290
289
|
break;
|
|
291
290
|
default:
|
|
292
291
|
break;
|
|
@@ -329,7 +328,7 @@ function AgGridPlus(props) {
|
|
|
329
328
|
var columnDefs = !columnProps ? props.columnDefs ? props.columnDefs : [] : columnProps;
|
|
330
329
|
columnDefs = columnDefs.map(function (col) {
|
|
331
330
|
var dataType = getDataType(data, col.field);
|
|
332
|
-
if (col.type || col.
|
|
331
|
+
if (col.type || col.cellRenderer) {
|
|
333
332
|
return _objectSpread(_objectSpread({}, col), {}, {
|
|
334
333
|
customCellRenderer: col.cellRenderer,
|
|
335
334
|
cellRenderer: cellRenderer
|
|
@@ -353,6 +352,35 @@ function AgGridPlus(props) {
|
|
|
353
352
|
});
|
|
354
353
|
return columnDefs;
|
|
355
354
|
};
|
|
355
|
+
var calculateSum = function calculateSum() {
|
|
356
|
+
var displayedData = [];
|
|
357
|
+
if (apiRef.current) {
|
|
358
|
+
apiRef.current.forEachNodeAfterFilter(function (node) {
|
|
359
|
+
displayedData.push(node.data);
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
if (!allColDefs || displayedData.length === 0) {
|
|
363
|
+
var _apiRef$current2;
|
|
364
|
+
(_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 || _apiRef$current2.setGridOption('pinnedBottomRowData', undefined);
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
var calcColFields = allColDefs.filter(function (col) {
|
|
368
|
+
return col.calculateType;
|
|
369
|
+
}).map(function (col) {
|
|
370
|
+
return {
|
|
371
|
+
field: col.field,
|
|
372
|
+
calculateType: col.calculateType
|
|
373
|
+
};
|
|
374
|
+
});
|
|
375
|
+
if (calcColFields.length > 0) {
|
|
376
|
+
var _apiRef$current3;
|
|
377
|
+
var calculatedValues = calculatefun(calcColFields, displayedData);
|
|
378
|
+
(_apiRef$current3 = apiRef.current) === null || _apiRef$current3 === void 0 || _apiRef$current3.setGridOption('pinnedBottomRowData', calculatedValues);
|
|
379
|
+
}
|
|
380
|
+
};
|
|
381
|
+
var onFilterChanged = function onFilterChanged(event) {
|
|
382
|
+
calculateSum();
|
|
383
|
+
};
|
|
356
384
|
var colDefs = useMemo(function () {
|
|
357
385
|
var columnDefs = getTableColumns(rowData);
|
|
358
386
|
columnDefs = columnDefs.filter(function (x) {
|
|
@@ -364,19 +392,7 @@ function AgGridPlus(props) {
|
|
|
364
392
|
return getTableColumns(rowData);
|
|
365
393
|
}, [children, props.columnDefs, extensibleColumns, rowData]);
|
|
366
394
|
useEffect(function () {
|
|
367
|
-
|
|
368
|
-
var calcColFields = allColDefs.filter(function (col) {
|
|
369
|
-
return col.calculateType;
|
|
370
|
-
}).map(function (col) {
|
|
371
|
-
return {
|
|
372
|
-
field: col.field,
|
|
373
|
-
calculateType: col.calculateType
|
|
374
|
-
};
|
|
375
|
-
});
|
|
376
|
-
if (calcColFields.length > 0) {
|
|
377
|
-
var calculatedValues = calculatefun(calcColFields);
|
|
378
|
-
setCalculateArr(calculatedValues);
|
|
379
|
-
}
|
|
395
|
+
calculateSum();
|
|
380
396
|
}, [allColDefs, rowData]);
|
|
381
397
|
var rowDataMemo = useMemo(function () {
|
|
382
398
|
return props.treeData ? flatten(toTree(rowData, treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id", treeParentName !== null && treeParentName !== void 0 ? treeParentName : "parentId"), treeKeyName !== null && treeKeyName !== void 0 ? treeKeyName : "id") : rowData;
|
|
@@ -453,12 +469,13 @@ function AgGridPlus(props) {
|
|
|
453
469
|
sortChanged(event.api);
|
|
454
470
|
props.onSortChanged && props.onSortChanged(event);
|
|
455
471
|
},
|
|
472
|
+
onFilterChanged: onFilterChanged,
|
|
456
473
|
onSelectionChanged: onRowChanged,
|
|
457
474
|
onRowSelected: onRowSelected,
|
|
458
475
|
onDragStopped: function onDragStopped(e) {
|
|
459
476
|
if (apiRef.current) {
|
|
460
|
-
var _apiRef$
|
|
461
|
-
var _columnState = (_apiRef$
|
|
477
|
+
var _apiRef$current4;
|
|
478
|
+
var _columnState = (_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 ? void 0 : _apiRef$current4.getColumnState();
|
|
462
479
|
setColumnState(_columnState);
|
|
463
480
|
onColumnStateChanged && onColumnStateChanged(_columnState);
|
|
464
481
|
}
|
|
@@ -469,7 +486,6 @@ function AgGridPlus(props) {
|
|
|
469
486
|
// }
|
|
470
487
|
// }}
|
|
471
488
|
,
|
|
472
|
-
pinnedBottomRowData: calculateArr,
|
|
473
489
|
columnTypes: columnTypes,
|
|
474
490
|
animateRows: true
|
|
475
491
|
//停用默认分页组件
|