Allow custom message
This commit is contained in:
@@ -1,46 +1,49 @@
|
||||
import { app } from "../../../scripts/app.js";
|
||||
|
||||
const notificationSetup = () => {
|
||||
if (!("Notification" in window)) {
|
||||
console.log("This browser does not support notifications.");
|
||||
alert("This browser does not support notifications.");
|
||||
return;
|
||||
}
|
||||
if (Notification.permission === "denied") {
|
||||
console.log("Notifications are blocked. Please enable them in your browser settings.");
|
||||
alert("Notifications are blocked. Please enable them in your browser settings.");
|
||||
return;
|
||||
}
|
||||
if (Notification.permission !== "granted") {
|
||||
Notification.requestPermission()
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (!("Notification" in window)) {
|
||||
console.log("This browser does not support notifications.");
|
||||
alert("This browser does not support notifications.");
|
||||
return;
|
||||
}
|
||||
if (Notification.permission === "denied") {
|
||||
console.log("Notifications are blocked. Please enable them in your browser settings.");
|
||||
alert("Notifications are blocked. Please enable them in your browser settings.");
|
||||
return;
|
||||
}
|
||||
if (Notification.permission !== "granted") {
|
||||
Notification.requestPermission();
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
app.registerExtension({
|
||||
name: "pysssss.SystemNotification",
|
||||
async beforeRegisterNodeDef(nodeType, nodeData, app) {
|
||||
if (nodeData.name === "SystemNotification|pysssss") {
|
||||
const onExecuted = nodeType.prototype.onExecuted;
|
||||
nodeType.prototype.onExecuted = async function () {
|
||||
onExecuted?.apply(this, arguments);
|
||||
if (this.widgets[0].value === "on empty queue") {
|
||||
if (app.ui.lastQueueSize !== 0) {
|
||||
await new Promise((r) => setTimeout(r, 500));
|
||||
}
|
||||
if (app.ui.lastQueueSize !== 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(!notificationSetup()) return;
|
||||
const notification = new Notification("ComfyUI", { body: "Your notification has triggered." })
|
||||
};
|
||||
name: "pysssss.SystemNotification",
|
||||
async beforeRegisterNodeDef(nodeType, nodeData, app) {
|
||||
if (nodeData.name === "SystemNotification|pysssss") {
|
||||
const onExecuted = nodeType.prototype.onExecuted;
|
||||
nodeType.prototype.onExecuted = async function () {
|
||||
onExecuted?.apply(this, arguments);
|
||||
const mode = this.widgets.find((w) => w.name === "mode");
|
||||
const message = this.widgets.find((w) => w.name === "message");
|
||||
|
||||
const onNodeCreated = nodeType.prototype.onNodeCreated;
|
||||
nodeType.prototype.onNodeCreated = function () {
|
||||
onNodeCreated?.apply(this, arguments);
|
||||
notificationSetup();
|
||||
}
|
||||
}
|
||||
},
|
||||
if (mode.value === "on empty queue") {
|
||||
if (app.ui.lastQueueSize !== 0) {
|
||||
await new Promise((r) => setTimeout(r, 500));
|
||||
}
|
||||
if (app.ui.lastQueueSize !== 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!notificationSetup()) return;
|
||||
const notification = new Notification("ComfyUI", { body: message.value ?? "Your notification has triggered." });
|
||||
};
|
||||
|
||||
const onNodeCreated = nodeType.prototype.onNodeCreated;
|
||||
nodeType.prototype.onNodeCreated = function () {
|
||||
onNodeCreated?.apply(this, arguments);
|
||||
notificationSetup();
|
||||
};
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user