Files
jammyfu-ComfyUI_PaintingCod…/web/js/mask_preview.js
T
2025-01-22 07:31:27 +08:00

29 lines
1.1 KiB
JavaScript

import { app } from "/scripts/app.js";
app.registerExtension({
name: "PaintingCoder.MaskPreview",
async beforeRegisterNodeDef(nodeType, nodeData, app) {
if (nodeData.name === "MaskPreview" || nodeData.name === "PaintingCoder::MaskPreview") {
// 保存原始的 onNodeCreated 方法
const onNodeCreated = nodeType.prototype.onNodeCreated;
// 重写 onNodeCreated 方法
nodeType.prototype.onNodeCreated = function() {
// 调用原始方法
onNodeCreated?.apply(this, arguments);
// 查找预览开关组件
const previewEnabled = this.widgets.find(w => w.name === "preview_enabled");
if (previewEnabled) {
// 设置预览开关的回调函数
previewEnabled.callback = (value) => {
// 当预览状态改变时,触发节点重新执行
if (this.graph) {
app.queuePrompt();
}
};
}
};
}
}
});