|
|
@ -47,30 +47,26 @@ export function getPotentialOutputsAndOutputNodes(nodes) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (node.type === "SaveImage") { |
|
|
|
if (node.type === "SaveImage") { |
|
|
|
potential_output_nodes.push(node); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// check if node has an 'images' array property
|
|
|
|
// check if node has an 'images' array property
|
|
|
|
if (node.hasOwnProperty("images") && Array.isArray(node.images)) { |
|
|
|
if (node.hasOwnProperty("images") && Array.isArray(node.images)) { |
|
|
|
// iterate over the images array and add each image to the potential_outputs array
|
|
|
|
// iterate over the images array and add each image to the potential_outputs array
|
|
|
|
for (let j = 0; j < node.images.length; j++) { |
|
|
|
for (let j = 0; j < node.images.length; j++) { |
|
|
|
|
|
|
|
potential_output_nodes.push(node); |
|
|
|
potential_outputs.push({ "type": "image", "image": node.images[j], "title": node.title }); |
|
|
|
potential_outputs.push({ "type": "image", "image": node.images[j], "title": node.title }); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else if (node.type === "PreviewImage") { |
|
|
|
else if (node.type === "PreviewImage") { |
|
|
|
potential_output_nodes.push(node); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// check if node has an 'images' array property
|
|
|
|
// check if node has an 'images' array property
|
|
|
|
if (node.hasOwnProperty("images") && Array.isArray(node.images)) { |
|
|
|
if (node.hasOwnProperty("images") && Array.isArray(node.images)) { |
|
|
|
// iterate over the images array and add each image to the potential_outputs array
|
|
|
|
// iterate over the images array and add each image to the potential_outputs array
|
|
|
|
for (let j = 0; j < node.images.length; j++) { |
|
|
|
for (let j = 0; j < node.images.length; j++) { |
|
|
|
|
|
|
|
potential_output_nodes.push(node); |
|
|
|
potential_outputs.push({ "type": "image", "image": node.images[j], "title": node.title }); |
|
|
|
potential_outputs.push({ "type": "image", "image": node.images[j], "title": node.title }); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else if (node.type === "VHS_VideoCombine") { |
|
|
|
else if (node.type === "VHS_VideoCombine") { |
|
|
|
potential_output_nodes.push(node); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// check if node has a 'widgets' array property, with type 'image'
|
|
|
|
// check if node has a 'widgets' array property, with type 'image'
|
|
|
|
if (node.hasOwnProperty("widgets") && Array.isArray(node.widgets)) { |
|
|
|
if (node.hasOwnProperty("widgets") && Array.isArray(node.widgets)) { |
|
|
|
// iterate over the widgets array and add each image to the potential_outputs array
|
|
|
|
// iterate over the widgets array and add each image to the potential_outputs array
|
|
|
@ -84,6 +80,7 @@ export function getPotentialOutputsAndOutputNodes(nodes) { |
|
|
|
if (parsedURLVals.type !== "output") { |
|
|
|
if (parsedURLVals.type !== "output") { |
|
|
|
// TODO
|
|
|
|
// TODO
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
potential_output_nodes.push(node); |
|
|
|
potential_outputs.push({ "type": "output", 'title': node.title, "output": { "filename": parsedURLVals.filename, "subfolder": parsedURLVals.subfolder, "value": widgetValue, "format": parsedURLVals.format } }); |
|
|
|
potential_outputs.push({ "type": "output", 'title': node.title, "output": { "filename": parsedURLVals.filename, "subfolder": parsedURLVals.subfolder, "value": widgetValue, "format": parsedURLVals.format } }); |
|
|
|
} |
|
|
|
} |
|
|
|
} else if (node.widgets[j].type === "preview") { |
|
|
|
} else if (node.widgets[j].type === "preview") { |
|
|
@ -100,6 +97,7 @@ export function getPotentialOutputsAndOutputNodes(nodes) { |
|
|
|
if (parsedURLVals.type !== "output") { |
|
|
|
if (parsedURLVals.type !== "output") { |
|
|
|
// TODO
|
|
|
|
// TODO
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
potential_output_nodes.push(node); |
|
|
|
potential_outputs.push({ "type": "output", 'title': node.title, "output": { "filename": parsedURLVals.filename, "subfolder": parsedURLVals.subfolder, "value": `/view?filename=${parsedURLVals.filename}&subfolder=${parsedURLVals.subfolder}&type=${parsedURLVals.type}&format=${parsedURLVals.format}`, "format": parsedURLVals.format } }); |
|
|
|
potential_outputs.push({ "type": "output", 'title': node.title, "output": { "filename": parsedURLVals.filename, "subfolder": parsedURLVals.subfolder, "value": `/view?filename=${parsedURLVals.filename}&subfolder=${parsedURLVals.subfolder}&type=${parsedURLVals.type}&format=${parsedURLVals.format}`, "format": parsedURLVals.format } }); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -107,8 +105,6 @@ export function getPotentialOutputsAndOutputNodes(nodes) { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else if (node.type === "ADE_AnimateDiffCombine") { |
|
|
|
else if (node.type === "ADE_AnimateDiffCombine") { |
|
|
|
potential_output_nodes.push(node); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// check if node has a 'widgets' array property, with type 'image'
|
|
|
|
// check if node has a 'widgets' array property, with type 'image'
|
|
|
|
if (node.hasOwnProperty("widgets") && Array.isArray(node.widgets)) { |
|
|
|
if (node.hasOwnProperty("widgets") && Array.isArray(node.widgets)) { |
|
|
|
// iterate over the widgets array and add each image to the potential_outputs array
|
|
|
|
// iterate over the widgets array and add each image to the potential_outputs array
|
|
|
@ -122,6 +118,7 @@ export function getPotentialOutputsAndOutputNodes(nodes) { |
|
|
|
// TODO
|
|
|
|
// TODO
|
|
|
|
continue; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
potential_output_nodes.push(node); |
|
|
|
potential_outputs.push({ "type": "output", 'title': node.title, "output": { "filename": parsedURLVals.filename, "subfolder": parsedURLVals.subfolder, "type": parsedURLVals.type, "value": widgetValue, "format": parsedURLVals.format } }); |
|
|
|
potential_outputs.push({ "type": "output", 'title': node.title, "output": { "filename": parsedURLVals.filename, "subfolder": parsedURLVals.subfolder, "type": parsedURLVals.type, "value": widgetValue, "format": parsedURLVals.format } }); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -129,17 +126,18 @@ export function getPotentialOutputsAndOutputNodes(nodes) { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else if (node.type === "SaveAnimatedWEBP") { |
|
|
|
else if (node.type === "SaveAnimatedWEBP") { |
|
|
|
potential_output_nodes.push(node); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// check if node has an 'images' array property
|
|
|
|
// check if node has an 'images' array property
|
|
|
|
if (node.hasOwnProperty("images") && Array.isArray(node.images)) { |
|
|
|
if (node.hasOwnProperty("images") && Array.isArray(node.images)) { |
|
|
|
// iterate over the images array and add each image to the potential_outputs array
|
|
|
|
// iterate over the images array and add each image to the potential_outputs array
|
|
|
|
for (let j = 0; j < node.images.length; j++) { |
|
|
|
for (let j = 0; j < node.images.length; j++) { |
|
|
|
|
|
|
|
potential_output_nodes.push(node); |
|
|
|
potential_outputs.push({ "type": "image", "image": node.images[j], "title": node.title }); |
|
|
|
potential_outputs.push({ "type": "image", "image": node.images[j], "title": node.title }); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Note: make sure that two arrays are the same length
|
|
|
|
return { potential_outputs, potential_output_nodes }; |
|
|
|
return { potential_outputs, potential_output_nodes }; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -858,7 +856,7 @@ export class ShareDialog extends ComfyDialog { |
|
|
|
// order as `potential_output_nodes`.
|
|
|
|
// order as `potential_output_nodes`.
|
|
|
|
const potential_output_to_order = {}; |
|
|
|
const potential_output_to_order = {}; |
|
|
|
potential_output_nodes.forEach((node, index) => { |
|
|
|
potential_output_nodes.forEach((node, index) => { |
|
|
|
potential_output_to_order[node.id] =[node, potential_outputs[index]]; |
|
|
|
potential_output_to_order[node.id] = [node, potential_outputs[index]]; |
|
|
|
}) |
|
|
|
}) |
|
|
|
// Sort the object `potential_output_to_order` by key (node ID)
|
|
|
|
// Sort the object `potential_output_to_order` by key (node ID)
|
|
|
|
const sorted_potential_output_to_order = Object.fromEntries( |
|
|
|
const sorted_potential_output_to_order = Object.fromEntries( |
|
|
|