tstor/assets/js/servers.js
2023-10-08 19:46:03 +03:00

57 lines
1.4 KiB
JavaScript

Handlebars.registerHelper("to_date", function (timestamp) {
return new Date(timestamp * 1000).toLocaleString();
});
tstor.servers = {
_template: null,
_getTemplate: function () {
if (this._template != null) {
return this._template;
}
const tTemplate = fetch("/assets/templates/servers.html")
.then((response) => {
if (response.ok) {
return response.text();
} else {
tstor.message.error(
"Error getting data from server. Response: " + response.status
);
}
})
.then((t) => {
return Handlebars.compile(t);
})
.catch((error) => {
tstor.message.error("Error getting servers template: " + error.message);
});
this._template = tTemplate;
return tTemplate;
},
_getRoutesJson: function () {
return fetch("/api/servers")
.then(function (response) {
if (response.ok) {
return response.json();
} else {
tstor.message.error(
"Error getting data from server. Response: " + response.status
);
}
})
.catch(function (error) {
tstor.message.error("Error getting status info: " + error.message);
});
},
loadView: function () {
this._getTemplate().then((t) =>
this._getRoutesJson().then((routes) => {
document.getElementById("template_target").innerHTML = t(routes);
})
);
},
};