fix(types): add 'readonly' property to TemplateVariableType to indicate if a variable is read-only

fix(types): add 'selected' property to NodeType to indicate if a node is selected
fix(reactflowUtils): change 'dynamic' property to 'readonly' when updating group node template
fix(reactflowUtils): update group node template fields with correct values and set 'selected' property to false
This commit is contained in:
anovazzi1 2023-09-14 21:51:55 -03:00
commit a273aab2cc
3 changed files with 13 additions and 11 deletions

View file

@ -27,6 +27,7 @@ export type TemplateVariableType = {
placeholder?: string; placeholder?: string;
list: boolean; list: boolean;
show: boolean; show: boolean;
readonly: boolean;
multiline?: boolean; multiline?: boolean;
value?: any; value?: any;
dynamic?:boolean; dynamic?:boolean;

View file

@ -13,6 +13,7 @@ export type NodeType = {
type?: string; type?: string;
position: XYPosition; position: XYPosition;
data: NodeDataType; data: NodeDataType;
selected?: boolean;
}; };
export type NodeDataType = { export type NodeDataType = {

View file

@ -534,7 +534,7 @@ function updateGroupNodeTemplate(template: APITemplateType) {
) { ) {
template[key].advanced = true; template[key].advanced = true;
if (template[key].dynamic) { if (template[key].dynamic) {
template[key].dynamic = false; template[key].readonly = true;
} }
} }
}); });
@ -789,7 +789,7 @@ export function expandGroupNode(
) { ) {
const {template} = groupNode.node! const {template} = groupNode.node!
const {flow} = groupNode.node!; const {flow} = groupNode.node!;
const gNodes = _.cloneDeep(flow!.data!.nodes); const gNodes:NodeType[] = _.cloneDeep(flow!.data!.nodes);
const gEdges = flow!.data!.edges; const gEdges = flow!.data!.edges;
//redirect edges to correct proxy node //redirect edges to correct proxy node
let updatedEdges: Edge[] = []; let updatedEdges: Edge[] = [];
@ -840,17 +840,17 @@ export function expandGroupNode(
let nodeIndex = gNodes.findIndex((n) => n.id === id); let nodeIndex = gNodes.findIndex((n) => n.id === id);
if (nodeIndex !== -1) { if (nodeIndex !== -1) {
let display_name: string; let display_name: string;
let show = gNodes[nodeIndex].data.node.template[field].show; let show = gNodes[nodeIndex].data.node!.template[field].show;
let advanced = gNodes[nodeIndex].data.node.template[field].advanced; let advanced = gNodes[nodeIndex].data.node!.template[field].advanced;
if (gNodes[nodeIndex].data.node.template[field].display_name) { if (gNodes[nodeIndex].data.node!.template[field].display_name) {
display_name = gNodes[nodeIndex].data.node.template[field].display_name; display_name = gNodes[nodeIndex].data.node!.template[field].display_name;
} else { } else {
display_name = gNodes[nodeIndex].data.node.template[field].name; display_name = gNodes[nodeIndex].data.node!.template[field].name;
} }
gNodes[nodeIndex].data.node.template[field] = template[key]; gNodes[nodeIndex].data.node!.template[field] = template[key];
gNodes[nodeIndex].data.node.template[field].show = show; gNodes[nodeIndex].data.node!.template[field].show = show;
gNodes[nodeIndex].data.node.template[field].advanced = advanced; gNodes[nodeIndex].data.node!.template[field].advanced = advanced;
gNodes[nodeIndex].data.node.template[field].display_name = display_name; gNodes[nodeIndex].data.node!.template[field].display_name = display_name;
gNodes[nodeIndex].selected=false; gNodes[nodeIndex].selected=false;
} }
}); });