mirror of
https://github.com/vcscsvcscs/GenerationsHeritage.git
synced 2025-08-12 13:59:08 +02:00
fix rerendering on creation
This commit is contained in:
@@ -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'];
|
||||
|
@@ -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;
|
||||
}}
|
||||
|
Reference in New Issue
Block a user