migrate manual DOM creation for alerts to nunjuck template

This commit is contained in:
Felix Wiedenbach 2021-10-15 06:31:07 +02:00
parent 8f5ee9466a
commit 75cf1d610e
2 changed files with 24 additions and 32 deletions

View File

@ -67,22 +67,7 @@ Module.register("alert", {
}).show();
},
showAlert(params, sender) {
let image = "";
//Set standard params if not provided by module
if (typeof params.timer === "undefined") {
params.timer = null;
}
if (typeof params.imageHeight === "undefined") {
params.imageHeight = "80px";
}
if (typeof params.imageUrl === "undefined" && typeof params.imageFA === "undefined") {
params.imageUrl = null;
} else if (typeof params.imageFA === "undefined") {
image = "<img src='" + params.imageUrl.toString() + "' height='" + params.imageHeight.toString() + "' style='margin-bottom: 10px;'/><br />";
} else if (typeof params.imageUrl === "undefined") {
image = "<span class='bright " + "fa fa-" + params.imageFA + "' style='margin-bottom: 10px;font-size:" + params.imageHeight.toString() + ";'/></span><br />";
}
async showAlert(alert, sender) {
//Create overlay
const overlay = document.createElement("div");
overlay.id = "overlay";
@ -94,24 +79,13 @@ Module.register("alert", {
this.hideAlert(sender, false);
}
//Display title and message only if they are provided in notification parameters
let message = "";
if (params.title) {
message += "<span class='light dimmed medium'>" + params.title + "</span>";
}
if (params.message) {
if (message !== "") {
message += "<br />";
}
message += "<span class='thin bright small'>" + params.message + "</span>";
}
const message = await this.renderMessage("alert", alert);
//Store alert in this.alerts
this.alerts[sender.name] = new NotificationFx({
message: image + message,
message,
effect: this.config.alert_effect,
ttl: params.timer,
ttl: alert.timer,
onClose: () => this.hideAlert(sender),
al_no: "ns-alert"
});
@ -120,10 +94,10 @@ Module.register("alert", {
this.alerts[sender.name].show();
//Add timer to dismiss alert and overlay
if (params.timer) {
if (alert.timer) {
setTimeout(() => {
this.hideAlert(sender);
}, params.timer);
}, alert.timer);
}
},

View File

@ -0,0 +1,18 @@
{% if imageUrl or imageFA %}
{% set imageHeight = imageHeight if imageHeight else "80px" %}
{% if imageUrl %}
<img src="{{ imageUrl }}" height="{{ imageHeight }}" style="margin-bottom: 10px;"/>
{% else %}
<span class="bright fa fa-{{ imageFA }}" style='margin-bottom: 10px; font-size: {{ imageHeight }};'/></span>
{% endif %}
<br/>
{% endif %}
{% if title %}
<span class="thin dimmed medium">{{ title }}</span>
{% endif %}
{% if message %}
{% if title %}
<br/>
{% endif %}
<span class="light bright small">{{ message }}</span>
{% endif %}