fix rerendering on creation

This commit is contained in:
2025-05-01 22:33:22 +02:00
parent f1e26f467d
commit 6343065c4d
2 changed files with 12 additions and 12 deletions

View File

@@ -33,12 +33,12 @@
let {
closeModal = () => {},
onCreation = (nodes: Array<Node> | null, edges: Array<Edge> | null) => {},
onCreation,
onOnlyPersonCreation = (person: components['schemas']['Person']) => {},
relationshipStartID
}: {
closeModal: () => void;
onCreation: (newNodes: Array<Node> | null, newEdges: Array<Edge> | null) => void;
onCreation: (newNode: Node,newEdges: Edge[]) => void;
onOnlyPersonCreation: (person: components['schemas']['Person']) => void | undefined;
relationshipStartID: number | null;
} = $props();
@@ -102,9 +102,9 @@
let edges: Array<Edge> = [];
data.relationships?.map((relationship) =>
edges.push({
id: String(relationship.Id),
source: String(relationship.StartElementId),
target: String(relationship.EndElementId),
id: "person"+String(relationship.Id),
source: "person"+String(relationship.StartElementId),
target: "person"+String(relationship.EndElementId),
data: {
...relationship.Props,
type: relationship.Type
@@ -113,15 +113,14 @@
);
let newNode = {
id: String(data.person?.Id),
id: "person"+String(data.person?.Id),
data: {
...data.person?.Props
},
position: { x: 0, y: 0 },
type: 'personNode'
} as Node;
onCreation([newNode], edges);
closeModal();
onCreation(newNode, edges);
}
} else {
let requestBody = draftPerson as components['schemas']['PersonRegistration'];

View File

@@ -1,5 +1,4 @@
<script lang="ts">
import { edit } from './../lib/paraglide/messages/en.js';
import CreateRelationship from '$lib/relationship/Modal.svelte';
import { onMount } from 'svelte';
import { nodeTypes, edgeTypes } from '$lib/graph/model';
@@ -133,7 +132,7 @@
};
};
let onCreation = (newNodes: Array<Node> | null, newEdges: Array<Edge> | null) => {
function onCreation(newNodes: Array<Node> | null, newEdges: Array<Edge> | null): void {
if (newNodes !== null) {
nodes = [...nodes, ...newNodes];
}
@@ -141,7 +140,6 @@
if (newEdges !== null) {
edges = [...edges, ...newEdges];
}
let newLayout = familyTreeDAG.getLayoutedElements(
nodes,
edges,
@@ -275,7 +273,10 @@
onOnlyPersonCreation={() => {
createPerson = false;
}}
{onCreation}
onCreation={(node,edges) => {
onCreation([node], edges);
createPerson = false;
}}
closeModal={() => {
createPerson = false;
}}