Files
MohammadAboulEla-ComfyUI-iT…/web/appearance.js
T

182 lines
5.5 KiB
JavaScript

import { app } from "../../../scripts/app.js";
import { allow_debug } from "./js_shared.js";
// Register a new setting
app.registerExtension({
name: "makadi_iTools_more_styles",
settings: [
{
id: "iTools.Nodes.More Styles",
name: "Load extra styles",
type: "boolean",
defaultValue: false,
tooltip: "Yaml files in the 'styles/more examples' folder will also be loaded for prompt styler nodes.",
onChange: (value) => {
const prevValue = app.ui.settings.getSettingValue("iTools.Nodes.More Styles");
if (prevValue !== undefined && prevValue !== value) {
app.extensionManager.toast.add({
severity: "warn",
summary: "Alert!",
detail: "Restart ComfyUI and refresh your browser",
life: 3000,
});
}
},
},
],
});
// Register a new setting
app.registerExtension({
name: "makadi_iTools_color",
settings: [
{
id: "iTools.Nodes.Auto Color",
name: "Auto color nodes when created",
type: "boolean",
defaultValue: true,
onChange: (value) => {
const prevValue = app.ui.settings.getSettingValue("iTools.Nodes.Auto Color");
if (prevValue !== undefined && prevValue !== value) {
app.extensionManager.toast.add({
severity: "warn",
summary: "Alert!",
detail: "Refresh your browser",
life: 3000,
});
}
},
},
],
});
app.registerExtension({
name: "makadi.appearance",
nodeCreated(node) {
switch (node.comfyClass) {
case "iToolsPromptStyler":
if (allow_debug) {
console.log("iToolsPromptStyler", node);
}
if (!app.ui.settings.getSettingValue("iTools.Nodes.Auto Color")) break;
node.color = LGraphCanvas.node_colors.green.color;
node.bgcolor = LGraphCanvas.node_colors.green.bgcolor;
break;
case "iToolsPromptStylerExtra":
if (!app.ui.settings.getSettingValue("iTools.Nodes.Auto Color")) break;
node.color = LGraphCanvas.node_colors.green.color;
node.bgcolor = LGraphCanvas.node_colors.green.bgcolor;
break;
case "iToolsTextReplacer":
node.setSize([200, 58]);
if (!app.ui.settings.getSettingValue("iTools.Nodes.Auto Color")) break;
node.color = LGraphCanvas.node_colors.green.color;
node.bgcolor = LGraphCanvas.node_colors.green.bgcolor;
break;
case "iToolsAddOverlay":
//node.setSize([240, 130]);
node.size[0] = 240;
break;
case "iToolsLineLoader":
//node.setSize([200, 180]);
node.size[0] = 200;
break;
case "iToolsGridFiller":
//node.setSize([240, 200]);
node.size[0] = 240;
break;
case "iToolsLoadImagePlus":
//node.setSize([210, 170]);
node.size[0] = 210;
if (!app.ui.settings.getSettingValue("iTools.Nodes.Auto Color")) break;
node.color = LGraphCanvas.node_colors.pale_blue.color;
break;
case "iToolsCheckerBoard":
//node.setSize([270, 250]);
node.size[0] = 270;
//node.color = LGraphCanvas.node_colors.pale_blue.color;
break;
}
},
});
// Register TogetherApi setting
app.registerExtension({
name: "makadi_iTools_together_api",
settings: [
{
id: "iTools.Nodes. together.ai Api Key",
name: "Together Api Key (needed for free schnell node)",
type: "text",
defaultValue: "None",
tooltip: "Get your free key from together.ai put it here or add it as TOGETHER_API_KEY in your system environment.",
},
],
});
// Register a new setting
app.registerExtension({
name: "makadi_iTools_mask_tool",
settings: [
{
id: "iTools.Nodes.Mask Tool",
name: "Allow Masking in iTools Paint Node",
type: "boolean",
defaultValue: false,
tooltip: "Give a permission to download 209mb models needed for removing background from images.\n\n As for this Beta version models are saved in the user home folder in the .u2net directory.",
},
],
});
// Register experimental nodes
app.registerExtension({
name: "makadi_iTools_dev_mode2",
settings: [
{
id: "iTools.Nodes.Dev Mode2",
name: "Enable dev nodes",
type: "boolean",
defaultValue: false,
tooltip: "You do not have to enable this, these are just test nodes for development.",
onChange: (value) => {
const prevValue = app.ui.settings.getSettingValue("iTools.Nodes.Dev Mode2");
if (prevValue !== undefined && prevValue !== value) {
app.extensionManager.toast.add({
severity: "warn",
summary: "Alert!",
detail: "Restart ComfyUI and refresh your browser",
life: 3000,
});
}
},
},
],
});
// Register experimental nodes
app.registerExtension({
name: "makadi_iTools_dev_mode",
settings: [
{
id: "iTools.Nodes.Dev Mode",
name: "Enable beta nodes",
type: "boolean",
defaultValue: true,
tooltip: "Will show or hide some experimental nodes, Restart ComfyUI and refresh your browser after changing this value.",
onChange: (value) => {
const prevValue = app.ui.settings.getSettingValue("iTools.Nodes.Dev Mode");
if (prevValue !== undefined && prevValue !== value) {
app.extensionManager.toast.add({
severity: "warn",
summary: "Alert!",
detail: "Restart ComfyUI and refresh your browser",
life: 3000,
});
}
},
},
],
});