"...resnet50_tensorflow.git" did not exist on "14f78b2cbd9424638d76e1c8ae09390e2213e637"
Commit e14b79c1 authored by pythongosssss's avatar pythongosssss
Browse files

Changed to store resolved prompt in workflow info

parent 4ef4cf91
...@@ -6,9 +6,6 @@ import { app } from "../../scripts/app.js"; ...@@ -6,9 +6,6 @@ import { app } from "../../scripts/app.js";
app.registerExtension({ app.registerExtension({
name: "Comfy.DynamicPrompts", name: "Comfy.DynamicPrompts",
nodeCreated(node) { nodeCreated(node) {
// TODO: Change this to replace the value and restore it after posting
if (node.widgets) { if (node.widgets) {
// Locate dynamic prompt text widgets // Locate dynamic prompt text widgets
// Include any widgets with dynamicPrompts set to true, and customtext // Include any widgets with dynamicPrompts set to true, and customtext
...@@ -17,7 +14,7 @@ app.registerExtension({ ...@@ -17,7 +14,7 @@ app.registerExtension({
); );
for (const widget of widgets) { for (const widget of widgets) {
// Override the serialization of the value to resolve dynamic prompts for all widgets supporting it in this node // Override the serialization of the value to resolve dynamic prompts for all widgets supporting it in this node
widget.serializeValue = () => { widget.serializeValue = (workflowNode, widgetIndex) => {
let prompt = widget.value; let prompt = widget.value;
while (prompt.replace("\\{", "").includes("{") && prompt.replace("\\}", "").includes("}")) { while (prompt.replace("\\{", "").includes("{") && prompt.replace("\\}", "").includes("}")) {
const startIndex = prompt.replace("\\{", "00").indexOf("{"); const startIndex = prompt.replace("\\{", "00").indexOf("{");
...@@ -32,6 +29,9 @@ app.registerExtension({ ...@@ -32,6 +29,9 @@ app.registerExtension({
prompt = prompt.substring(0, startIndex) + randomOption + prompt.substring(endIndex + 1); prompt = prompt.substring(0, startIndex) + randomOption + prompt.substring(endIndex + 1);
} }
// Overwrite the value in the serialized workflow pnginfo
workflowNode.widgets_values[widgetIndex] = prompt;
return prompt; return prompt;
}; };
} }
......
...@@ -589,9 +589,10 @@ class ComfyApp { ...@@ -589,9 +589,10 @@ class ComfyApp {
// Store all widget values // Store all widget values
if (widgets) { if (widgets) {
for (const widget of widgets) { for (const i in widgets) {
const widget = widgets[i];
if (!widget.options || widget.options.serialize !== false) { if (!widget.options || widget.options.serialize !== false) {
inputs[widget.name] = widget.serializeValue ? widget.serializeValue() : widget.value; inputs[widget.name] = widget.serializeValue ? widget.serializeValue(n, i) : widget.value;
} }
} }
} }
...@@ -619,7 +620,7 @@ class ComfyApp { ...@@ -619,7 +620,7 @@ class ComfyApp {
} else { } else {
link = node.getInputLink(i); link = node.getInputLink(i);
} }
if (link) { if (link) {
inputs[node.inputs[i].name] = [String(link.origin_id), parseInt(link.origin_slot)]; inputs[node.inputs[i].name] = [String(link.origin_id), parseInt(link.origin_slot)];
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment