in src/common/checkFunctions.ts [38:81]
export function checkBigData(
chartName: string,
config: any,
judgements: any,
dataSize: number,
width: number,
height: number,
) {
if (!dataSize || dataSize === 0 || !width || !height) {
return false;
}
let res = false;
judgements?.forEach((judgement: any) => {
const { type, threshold, message } = judgement;
let isExceed = false;
if (type === ExceedJudgeType.LEGNTH) {
const isHorizontal =
judgement?.directionConfig === 'column'
? config?.column !== undefined && (!config?.column || typeof config?.column === 'object')
: judgement?.directionConfig === 'direction'
? config?.direction !== 'horizontal'
: false;
const length = isHorizontal ? height ?? 0 : width ?? 0;
isExceed = length > 0 && length / dataSize < threshold;
} else if (type === ExceedJudgeType.AREA) {
isExceed = (height * width) / dataSize < threshold;
} else if (type === ExceedJudgeType.NUMBER) {
isExceed = dataSize > threshold;
}
/*
else if (type === ExceedJudgeType.POLAR) {
const radius = Math.min(this.chart?.coordinateBBox?.height, this.chart?.coordinateBBox?.width);
isExceed = radius < threshold;
}
*/
if (isExceed) {
warn(chartName.slice(2, chartName.length), message);
res = true;
}
});
return res;
}