Reducers: minor reducer cleanup (#32656)
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
// Libraries
|
// Libraries
|
||||||
import isNumber from 'lodash/isNumber';
|
import isNumber from 'lodash/isNumber';
|
||||||
|
|
||||||
import { NullValueMode, Field, FieldState, FieldCalcs } from '../types/index';
|
import { NullValueMode, Field, FieldState, FieldCalcs, FieldType } from '../types/index';
|
||||||
import { Registry, RegistryItem } from '../utils/Registry';
|
import { Registry, RegistryItem } from '../utils/Registry';
|
||||||
|
|
||||||
export enum ReducerID {
|
export enum ReducerID {
|
||||||
@@ -260,6 +260,8 @@ export function doStandardCalcs(field: Field, ignoreNulls: boolean, nullAsZero:
|
|||||||
const data = field.values;
|
const data = field.values;
|
||||||
calcs.count = data.length;
|
calcs.count = data.length;
|
||||||
|
|
||||||
|
const isNumberField = field.type === FieldType.number || FieldType.time;
|
||||||
|
|
||||||
for (let i = 0; i < data.length; i++) {
|
for (let i = 0; i < data.length; i++) {
|
||||||
let currentValue = data.get(i);
|
let currentValue = data.get(i);
|
||||||
|
|
||||||
@@ -278,13 +280,14 @@ export function doStandardCalcs(field: Field, ignoreNulls: boolean, nullAsZero:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentValue !== null && currentValue !== undefined) {
|
if (currentValue != null) {
|
||||||
|
// null || undefined
|
||||||
const isFirst = calcs.firstNotNull === null;
|
const isFirst = calcs.firstNotNull === null;
|
||||||
if (isFirst) {
|
if (isFirst) {
|
||||||
calcs.firstNotNull = currentValue;
|
calcs.firstNotNull = currentValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isNumber(currentValue)) {
|
if (isNumberField) {
|
||||||
calcs.sum += currentValue;
|
calcs.sum += currentValue;
|
||||||
calcs.allIsNull = false;
|
calcs.allIsNull = false;
|
||||||
calcs.nonNullCount++;
|
calcs.nonNullCount++;
|
||||||
|
|||||||
Reference in New Issue
Block a user