| import { app } from "scripts/app.js";
|
| import { ComfyWidgets } from "scripts/widgets.js";
|
| import type { LGraphNode as TLGraphNode } from "typings/litegraph.js";
|
| import type { ComfyApp, ComfyNodeConstructor, ComfyObjectInfo } from "typings/comfy.js";
|
| import { addConnectionLayoutSupport } from "./utils.js";
|
| import { rgthree } from "./rgthree.js";
|
|
|
| let hasShownAlertForUpdatingInt = false;
|
|
|
| app.registerExtension({
|
| name: "rgthree.DisplayAny",
|
| async beforeRegisterNodeDef(
|
| nodeType: ComfyNodeConstructor,
|
| nodeData: ComfyObjectInfo,
|
| app: ComfyApp,
|
| ) {
|
| if (nodeData.name === "Display Any (rgthree)" || nodeData.name === "Display Int (rgthree)") {
|
| const onNodeCreated = nodeType.prototype.onNodeCreated;
|
| nodeType.prototype.onNodeCreated = function () {
|
| onNodeCreated ? onNodeCreated.apply(this, []) : undefined;
|
|
|
| (this as any).showValueWidget = ComfyWidgets["STRING"](
|
| this,
|
| "output",
|
| ["STRING", { multiline: true }],
|
| app,
|
| ).widget;
|
| (this as any).showValueWidget.inputEl!.readOnly = true;
|
| (this as any).showValueWidget.serializeValue = async (node: TLGraphNode, index: number) => {
|
| const n =
|
| rgthree.getNodeFromInitialGraphToPromptSerializedWorkflowBecauseComfyUIBrokeStuff(node);
|
| if (n) {
|
|
|
|
|
| n.widgets_values![index] = "";
|
| } else {
|
| console.warn(
|
| "No serialized node found in workflow. May be attributed to " +
|
| "https://github.com/comfyanonymous/ComfyUI/issues/2193",
|
| );
|
| }
|
| return "";
|
| };
|
| };
|
|
|
| addConnectionLayoutSupport(nodeType, app, [["Left"], ["Right"]]);
|
|
|
| const onExecuted = nodeType.prototype.onExecuted;
|
| nodeType.prototype.onExecuted = function (message: any) {
|
| onExecuted?.apply(this, [message]);
|
| (this as any).showValueWidget.value = message.text[0];
|
| };
|
| }
|
| },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| });
|
|
|