diff --git a/web/layouts/property/scripts.html b/web/layouts/property/scripts.html
index fcd2d2c9..232bd949 100644
--- a/web/layouts/property/scripts.html
+++ b/web/layouts/property/scripts.html
@@ -34,7 +34,7 @@
const monthlyTicks = (date, i) => {
const day = date.getDate();
const month = date.getMonth();
- if ((day == 1) && (month == 0)) {
+ if ((day === 1) && (month === 0)) {
return date.getFullYear();
} else {
return monthlyFormat(date);
@@ -43,7 +43,7 @@
const hourlyTicks = function(date, i) {
const hour = date.getHours();
- if (hour == 0) {
+ if (hour === 0) {
return weekdayFormat(date);
} else {
return hour;
@@ -65,7 +65,7 @@
'24h': 1,
'7d': 7,
'30d': 30,
- '1y': 365
+ '1y': 365
}
const oddTickFilter = function(d, i) { return !(i % 2); };
@@ -83,7 +83,7 @@
'7d': hourlyTicks,
'30d': function(date, i) {
const day = date.getDate();
- if (day == 1) {
+ if (day === 1) {
return monthlyFormat(date);
} else {
return day;
@@ -288,10 +288,15 @@
this.updateChart('24h');
},
async fetchChartData(period, maxRetries = 3, baseDelay = 1000) {
+ const allowedPeriods = ['24h', '7d', '30d', '1y'];
+ const fallbackPeriod = '24h';
+ const normalizedPeriod = allowedPeriods.includes(period) ? period : fallbackPeriod;
+ const encodedPeriod = encodeURIComponent(normalizedPeriod);
+
this.isLoading = true;
try {
for (let attempt = 1; attempt <= maxRetries; attempt++) {
- const response = await fetch('{{ partsURL $.Const.OrgEndpoint $.Params.Property.OrgID $.Const.PropertyEndpoint $.Params.Property.ID $.Const.Stats }}/' + period);
+ const response = await fetch('{{ partsURL $.Const.OrgEndpoint $.Params.Property.OrgID $.Const.PropertyEndpoint $.Params.Property.ID $.Const.Stats }}/' + encodedPeriod);
if (response.ok) {
return await response.json();
}