diff --git a/app/client/src/widgets/ChartWidget/widget/index.test.ts b/app/client/src/widgets/ChartWidget/widget/index.test.ts index 083e92f32d5f..040cc61a89e5 100644 --- a/app/client/src/widgets/ChartWidget/widget/index.test.ts +++ b/app/client/src/widgets/ChartWidget/widget/index.test.ts @@ -72,6 +72,15 @@ describe("emptyChartData", () => { expect(emptyChartData(props)).toEqual(true); }); + it("returns true if each series is null or undefined", () => { + const props = JSON.parse(JSON.stringify(basicEChartProps)); + + props.chartData.seriesID1 = { data: undefined }; + props.chartData.seriesID2 = { data: null }; + + expect(emptyChartData(props)).toEqual(true); + }); + it("returns true if no series is present", () => { const props = JSON.parse(JSON.stringify(basicEChartProps)); diff --git a/app/client/src/widgets/ChartWidget/widget/index.tsx b/app/client/src/widgets/ChartWidget/widget/index.tsx index 9b95ed665182..65498ad61110 100644 --- a/app/client/src/widgets/ChartWidget/widget/index.tsx +++ b/app/client/src/widgets/ChartWidget/widget/index.tsx @@ -51,7 +51,10 @@ export const emptyChartData = (props: ChartWidgetProps) => { const builder = new EChartsDatasetBuilder(props.chartType, props.chartData); for (const seriesID in builder.filteredChartData) { - if (Object.keys(props.chartData[seriesID].data).length > 0) { + if ( + Array.isArray(props.chartData[seriesID].data) && + props.chartData[seriesID].data.length > 0 + ) { return false; } }