fix: issue where updates didnt work

This commit is contained in:
max_richter 2024-04-18 13:25:05 +02:00
parent 32426ac045
commit 06ba3a8fe9
2 changed files with 12 additions and 7 deletions

View File

@ -53,7 +53,7 @@ export class GraphManager extends EventEmitter<{ "save": Graph, "result": any }>
} }
serialize(): Graph { serialize(): Graph {
logger.log("serializing graph") logger.group("serializing graph")
const nodes = Array.from(this._nodes.values()).map(node => ({ const nodes = Array.from(this._nodes.values()).map(node => ({
id: node.id, id: node.id,
position: [...node.position], position: [...node.position],
@ -62,7 +62,11 @@ export class GraphManager extends EventEmitter<{ "save": Graph, "result": any }>
})) as Node[]; })) as Node[];
const edges = this._edges.map(edge => [edge[0].id, edge[1], edge[2].id, edge[3]]) as Graph["edges"]; const edges = this._edges.map(edge => [edge[0].id, edge[1], edge[2].id, edge[3]]) as Graph["edges"];
const settings = get(this.settings); const settings = get(this.settings);
return { id: this.graph.id, settings, nodes, edges }; const serialized = { id: this.graph.id, settings, nodes, edges };
console.log(serialized);
logger.groupEnd();
return serialized;
} }
execute() { } execute() { }
@ -366,13 +370,11 @@ export class GraphManager extends EventEmitter<{ "save": Graph, "result": any }>
const edgeToBeReplaced = this._edges.find(e => e[2].id === to.id && e[3] === toSocket); const edgeToBeReplaced = this._edges.find(e => e[2].id === to.id && e[3] === toSocket);
if (edgeToBeReplaced) { if (edgeToBeReplaced) {
this.removeEdge(edgeToBeReplaced, { applyDeletion: applyUpdate }); this.removeEdge(edgeToBeReplaced, { applyDeletion: false });
} }
if (applyUpdate) { if (applyUpdate) {
this.edges.update((edges) => { this._edges.push([from, fromSocket, to, toSocket]);
return [...edges, [from, fromSocket, to, toSocket]];
});
} else { } else {
this._edges.push([from, fromSocket, to, toSocket]); this._edges.push([from, fromSocket, to, toSocket]);
} }
@ -385,10 +387,11 @@ export class GraphManager extends EventEmitter<{ "save": Graph, "result": any }>
to.tmp.parents = to.tmp.parents || []; to.tmp.parents = to.tmp.parents || [];
to.tmp.parents.push(from); to.tmp.parents.push(from);
this.execute();
if (applyUpdate) { if (applyUpdate) {
this.edges.set(this._edges);
this.save(); this.save();
} }
this.execute();
} }
undo() { undo() {

View File

@ -80,6 +80,8 @@ export const createLogger = (() => {
let muted = false; let muted = false;
return { return {
log: (...args: any[]) => !muted && console.log(`[%c${scope.padEnd(maxLength, " ")}]:`, "color: #888", ...args), log: (...args: any[]) => !muted && console.log(`[%c${scope.padEnd(maxLength, " ")}]:`, "color: #888", ...args),
group: (...args: any[]) => !muted && console.groupCollapsed(`[%c${scope.padEnd(maxLength, " ")}]:`, "color: #888", ...args),
groupEnd: () => !muted && console.groupEnd(),
info: (...args: any[]) => !muted && console.info(`[%c${scope.padEnd(maxLength, " ")}]:`, "color: #888", ...args), info: (...args: any[]) => !muted && console.info(`[%c${scope.padEnd(maxLength, " ")}]:`, "color: #888", ...args),
warn: (...args: any[]) => !muted && console.warn(`[%c${scope.padEnd(maxLength, " ")}]:`, "color: #888", ...args), warn: (...args: any[]) => !muted && console.warn(`[%c${scope.padEnd(maxLength, " ")}]:`, "color: #888", ...args),
error: (...args: any[]) => console.error(`[%c${scope.padEnd(maxLength, " ")}]:`, "color: #f88", ...args), error: (...args: any[]) => console.error(`[%c${scope.padEnd(maxLength, " ")}]:`, "color: #f88", ...args),