Skip to content

Commit fed6ad3

Browse files
committed
🩹 Do not display chart is there is no data
1 parent 7216004 commit fed6ad3

File tree

1 file changed

+49
-53
lines changed

1 file changed

+49
-53
lines changed

assets/typescript/list/index.ts

Lines changed: 49 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -58,61 +58,57 @@ if (chartElement !== null) {
5858
lang = lang.substring(0, 2);
5959
}
6060

61-
const options = {
62-
chart: {
63-
stacked: true,
64-
locales,
65-
defaultLocale: typeof lang !== 'undefined' && locales.map(locale => locale.name).includes(lang) ? lang : 'en',
66-
toolbar: {
67-
show: false
68-
},
69-
type: 'bar',
70-
height: '100%',
71-
width: '100%',
72-
zoom: {
73-
enabled: false
74-
}
75-
},
76-
legend: {
77-
position: 'top'
78-
},
79-
xaxis: {
80-
type: 'datetime',
81-
max: new Date().getTime(),
82-
},
83-
noData: {
84-
text: 'Loading...'
85-
},
86-
series: []
87-
};
88-
89-
const chart = new ApexCharts(chartElement, options);
90-
chart.render();
91-
9261
fetch(`/api/region/${continent}/${region}/count.json`, { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
9362
.then(response => response.json())
9463
.then(json => {
95-
const series: ApexAxisChartSeries = [
96-
{
97-
name: series1,
98-
data: Object.keys(json).map(key => {
99-
const datetime = new Date(key);
100-
datetime.setUTCHours(0);
101-
102-
return { x: datetime.getTime(), y: (json[key].total - json[key].welcome) };
103-
})
104-
},
105-
{
106-
name: series2,
107-
data: Object.keys(json).map(key => {
108-
const datetime = new Date(key);
109-
datetime.setUTCHours(0);
110-
111-
return { x: datetime.getTime(), y: json[key].welcome };
112-
})
113-
}
114-
];
115-
116-
chart.updateSeries(series);
64+
if (Object.keys(json).length > 0) {
65+
const series: ApexAxisChartSeries = [
66+
{
67+
name: series1,
68+
data: Object.keys(json).map(key => {
69+
const datetime = new Date(key);
70+
datetime.setUTCHours(0);
71+
72+
return { x: datetime.getTime(), y: (json[key].total - json[key].welcome) };
73+
})
74+
},
75+
{
76+
name: series2,
77+
data: Object.keys(json).map(key => {
78+
const datetime = new Date(key);
79+
datetime.setUTCHours(0);
80+
81+
return { x: datetime.getTime(), y: json[key].welcome };
82+
})
83+
}
84+
];
85+
86+
const chart = new ApexCharts(chartElement, {
87+
chart: {
88+
stacked: true,
89+
locales,
90+
defaultLocale: typeof lang !== 'undefined' && locales.map(locale => locale.name).includes(lang) ? lang : 'en',
91+
toolbar: {
92+
show: false
93+
},
94+
type: 'bar',
95+
height: '100%',
96+
width: '100%',
97+
zoom: {
98+
enabled: false
99+
}
100+
},
101+
legend: {
102+
position: 'top'
103+
},
104+
xaxis: {
105+
type: 'datetime',
106+
max: new Date().getTime(),
107+
},
108+
series
109+
});
110+
111+
chart.render();
112+
}
117113
});
118114
}

0 commit comments

Comments
 (0)