mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-27 11:50:00 +00:00
migrate manual DOM creation for alerts to nunjuck template
This commit is contained in:
parent
8f5ee9466a
commit
75cf1d610e
@ -67,22 +67,7 @@ Module.register("alert", {
|
|||||||
}).show();
|
}).show();
|
||||||
},
|
},
|
||||||
|
|
||||||
showAlert(params, sender) {
|
async showAlert(alert, 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 />";
|
|
||||||
}
|
|
||||||
//Create overlay
|
//Create overlay
|
||||||
const overlay = document.createElement("div");
|
const overlay = document.createElement("div");
|
||||||
overlay.id = "overlay";
|
overlay.id = "overlay";
|
||||||
@ -94,24 +79,13 @@ Module.register("alert", {
|
|||||||
this.hideAlert(sender, false);
|
this.hideAlert(sender, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Display title and message only if they are provided in notification parameters
|
const message = await this.renderMessage("alert", alert);
|
||||||
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>";
|
|
||||||
}
|
|
||||||
|
|
||||||
//Store alert in this.alerts
|
//Store alert in this.alerts
|
||||||
this.alerts[sender.name] = new NotificationFx({
|
this.alerts[sender.name] = new NotificationFx({
|
||||||
message: image + message,
|
message,
|
||||||
effect: this.config.alert_effect,
|
effect: this.config.alert_effect,
|
||||||
ttl: params.timer,
|
ttl: alert.timer,
|
||||||
onClose: () => this.hideAlert(sender),
|
onClose: () => this.hideAlert(sender),
|
||||||
al_no: "ns-alert"
|
al_no: "ns-alert"
|
||||||
});
|
});
|
||||||
@ -120,10 +94,10 @@ Module.register("alert", {
|
|||||||
this.alerts[sender.name].show();
|
this.alerts[sender.name].show();
|
||||||
|
|
||||||
//Add timer to dismiss alert and overlay
|
//Add timer to dismiss alert and overlay
|
||||||
if (params.timer) {
|
if (alert.timer) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.hideAlert(sender);
|
this.hideAlert(sender);
|
||||||
}, params.timer);
|
}, alert.timer);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
18
modules/default/alert/templates/alert.njk
Normal file
18
modules/default/alert/templates/alert.njk
Normal 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 %}
|
Loading…
x
Reference in New Issue
Block a user