diff --git a/web/js/inputs.js b/web/js/inputs.js index cdb7eea..ce1859c 100644 --- a/web/js/inputs.js +++ b/web/js/inputs.js @@ -140,17 +140,19 @@ export function addInputs(node, inputs, widgets_values) { .sort(([, a], [, b]) => a.position - b.position) .map(([, input], index) => { let val = ""; - if (input.inputs[1] == "COMBO") { - val = input.inputs[2][0]; + let type = input.inputs[1]; + if (input.inputs[2]?.values?.length > 0) { + type = "COMBO"; + val = input.inputs[1]; } else { val = input.inputs.length > 2 ? input.inputs[2] : undefined; } return { name: input.inputs[0], - type: input.inputs[1], + type: type, value: val, orderIndex: index, // Ajouter un index d'ordre basé sur la position - options: input.inputs[1] == "COMBO" ? input.inputs[2][1] : undefined, + options: type == "COMBO" ? input.inputs[2] : undefined, }; }); diff --git a/web/js/nodetype_input.js b/web/js/nodetype_input.js index dd7c324..130c5e6 100644 --- a/web/js/nodetype_input.js +++ b/web/js/nodetype_input.js @@ -52,7 +52,7 @@ function initialisation_preGraph(node) { widget_input = other_node.widgets.find( (w) => w.name == node_input.widget.name ); - if ("options" in widget_input) { + if (widget_input && "options" in widget_input) { options = widget_input.options; } } diff --git a/web/js/nodetype_workflow.js b/web/js/nodetype_workflow.js index 1e79a6d..0d3f56f 100644 --- a/web/js/nodetype_workflow.js +++ b/web/js/nodetype_workflow.js @@ -107,7 +107,14 @@ function initialisation_preGraph(node) { const inputs = app.lipsync_studio[value].inputs; const outputs = app.lipsync_studio[value].outputs; for (let [key, value] of Object.entries(inputs)) { - workflowJSON[key]["inputs"]["type"] = value["inputs"][1]; + if ( + value["inputs"][2]?.values && + value["inputs"][2].values.length > 0 + ) { + workflowJSON[key]["inputs"]["type"] = "COMBO"; + } else { + workflowJSON[key]["inputs"]["type"] = value["inputs"][1]; + } } for (let [key, value] of Object.entries(outputs)) { if (value["inputs"].length === undefined) {