refactor: Update expandGroupNode function to handle template proxy values

This commit is contained in:
anovazzi1 2024-05-14 14:47:20 -03:00
commit c464e16d28
2 changed files with 321 additions and 402 deletions

File diff suppressed because it is too large Load diff

View file

@ -1075,32 +1075,35 @@ export function expandGroupNode(
}); });
//update template values //update template values
Object.keys(template).forEach((key) => { Object.keys(template).forEach((key) => {
let { field, id } = template[key].proxy!; if (template[key].proxy) {
let nodeIndex = gNodes.findIndex((n) => n.id === id); let { field, id } = template[key].proxy!;
if (nodeIndex !== -1) { let nodeIndex = gNodes.findIndex((n) => n.id === id);
let proxy: { id: string; field: string } | undefined; if (nodeIndex !== -1) {
let display_name: string | undefined; let proxy: { id: string; field: string } | undefined;
let show = gNodes[nodeIndex].data.node!.template[field].show; let display_name: string | undefined;
let advanced = gNodes[nodeIndex].data.node!.template[field].advanced; let show = gNodes[nodeIndex].data.node!.template[field].show;
if (gNodes[nodeIndex].data.node!.template[field].display_name) { let advanced = gNodes[nodeIndex].data.node!.template[field].advanced;
display_name = if (gNodes[nodeIndex].data.node!.template[field].display_name) {
gNodes[nodeIndex].data.node!.template[field].display_name; display_name =
} else { gNodes[nodeIndex].data.node!.template[field].display_name;
display_name = gNodes[nodeIndex].data.node!.template[field].name; } else {
} display_name = gNodes[nodeIndex].data.node!.template[field].name;
if (gNodes[nodeIndex].data.node!.template[field].proxy) { }
proxy = gNodes[nodeIndex].data.node!.template[field].proxy; if (gNodes[nodeIndex].data.node!.template[field].proxy) {
} proxy = gNodes[nodeIndex].data.node!.template[field].proxy;
gNodes[nodeIndex].data.node!.template[field] = template[key]; }
gNodes[nodeIndex].data.node!.template[field].show = show; gNodes[nodeIndex].data.node!.template[field] = template[key];
gNodes[nodeIndex].data.node!.template[field].advanced = advanced; gNodes[nodeIndex].data.node!.template[field].show = show;
gNodes[nodeIndex].data.node!.template[field].display_name = display_name; gNodes[nodeIndex].data.node!.template[field].advanced = advanced;
// keep the nodes selected after ungrouping gNodes[nodeIndex].data.node!.template[field].display_name =
// gNodes[nodeIndex].selected = false; display_name;
if (proxy) { // keep the nodes selected after ungrouping
gNodes[nodeIndex].data.node!.template[field].proxy = proxy; // gNodes[nodeIndex].selected = false;
} else { if (proxy) {
delete gNodes[nodeIndex].data.node!.template[field].proxy; gNodes[nodeIndex].data.node!.template[field].proxy = proxy;
} else {
delete gNodes[nodeIndex].data.node!.template[field].proxy;
}
} }
} }
}); });