@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)(rowData, function (cur) {
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)(rowData, function (cur) {
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 = rowData.filter(function (cur) {
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 = rowData.filter(function (cur) {
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)(rowData, function (cur) {
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.customCellRenderer) {
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
- if (!allColDefs || rowData.length === 0) return;
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$current2;
470
- var _columnState = (_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 ? void 0 : _apiRef$current2.getColumnState();
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(rowData, function (cur) {
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(rowData, function (cur) {
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 = rowData.filter(function (cur) {
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 = rowData.filter(function (cur) {
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(rowData, function (cur) {
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.customCellRenderer) {
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
- if (!allColDefs || rowData.length === 0) return;
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$current2;
461
- var _columnState = (_apiRef$current2 = apiRef.current) === null || _apiRef$current2 === void 0 ? void 0 : _apiRef$current2.getColumnState();
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
  //停用默认分页组件