Spaces:
Running
on
Zero
Running
on
Zero
| import { app } from "../../scripts/app.js"; | |
| import { addConnectionLayoutSupport } from "./utils.js"; | |
| import { PowerPrompt } from "./base_power_prompt.js"; | |
| import { NodeTypesString } from "./constants.js"; | |
| let nodeData = null; | |
| app.registerExtension({ | |
| name: "rgthree.PowerPrompt", | |
| async beforeRegisterNodeDef(nodeType, passedNodeData, _app) { | |
| if (passedNodeData.name.includes("Power Prompt") && passedNodeData.name.includes("rgthree")) { | |
| nodeData = passedNodeData; | |
| const onNodeCreated = nodeType.prototype.onNodeCreated; | |
| nodeType.prototype.onNodeCreated = function () { | |
| onNodeCreated ? onNodeCreated.apply(this, []) : undefined; | |
| this.powerPrompt = new PowerPrompt(this, passedNodeData); | |
| }; | |
| addConnectionLayoutSupport(nodeType, app, [ | |
| ["Left", "Right"], | |
| ["Right", "Left"], | |
| ]); | |
| } | |
| }, | |
| async loadedGraphNode(node) { | |
| if (node.type === NodeTypesString.POWER_PROMPT) { | |
| setTimeout(() => { | |
| if (node.outputs[0].type === "STRING") { | |
| if (node.outputs[0].links) { | |
| node.outputs[3].links = node.outputs[3].links || []; | |
| for (const link of node.outputs[0].links) { | |
| node.outputs[3].links.push(link); | |
| app.graph.links[link].origin_slot = 3; | |
| } | |
| node.outputs[0].links = null; | |
| } | |
| node.outputs[0].type = nodeData.output[0]; | |
| node.outputs[0].name = nodeData.output_name[0] || node.outputs[0].type; | |
| node.outputs[0].color_on = undefined; | |
| node.outputs[0].color_off = undefined; | |
| } | |
| }, 50); | |
| } | |
| }, | |
| }); | |