@xyflow/svelte
Advanced tools
Comparing version 0.1.15 to 0.1.16
import { get } from 'svelte/store'; | ||
import { getOverlappingArea, isRectObject, nodeToRect, pointToRendererPoint, getViewportForBounds, getElementsToRemove, rendererPointToPoint, nodeHasDimensions } from '@xyflow/system'; | ||
import { getOverlappingArea, isRectObject, nodeToRect, pointToRendererPoint, getViewportForBounds, getElementsToRemove, rendererPointToPoint, evaluateAbsolutePosition } from '@xyflow/system'; | ||
import { useStore } from '../store'; | ||
@@ -13,8 +13,17 @@ import { isNode } from '../utils'; | ||
export function useSvelteFlow() { | ||
const { zoomIn, zoomOut, fitView, onbeforedelete, snapGrid, viewport, width, height, minZoom, maxZoom, panZoom, nodes, edges, domNode, nodeLookup, edgeLookup } = useStore(); | ||
const getNodeRect = (nodeOrRect) => { | ||
const node = isNode(nodeOrRect) && nodeHasDimensions(nodeOrRect) | ||
? nodeOrRect | ||
: get(nodeLookup).get(nodeOrRect.id); | ||
return node ? nodeToRect(node) : null; | ||
const { zoomIn, zoomOut, fitView, onbeforedelete, snapGrid, viewport, width, height, minZoom, maxZoom, panZoom, nodes, edges, domNode, nodeLookup, edgeLookup, nodeOrigin } = useStore(); | ||
const getNodeRect = (node) => { | ||
const $nodeLookup = get(nodeLookup); | ||
const nodeToUse = isNode(node) ? node : $nodeLookup.get(node.id); | ||
const position = nodeToUse.parentId | ||
? evaluateAbsolutePosition(nodeToUse.position, nodeToUse.measured, nodeToUse.parentId, $nodeLookup, get(nodeOrigin)) | ||
: nodeToUse.position; | ||
const nodeWithPosition = { | ||
id: nodeToUse.id, | ||
position, | ||
width: nodeToUse.measured?.width ?? nodeToUse.width, | ||
height: nodeToUse.measured?.height ?? nodeToUse.height, | ||
data: nodeToUse.data | ||
}; | ||
return nodeToRect(nodeWithPosition); | ||
}; | ||
@@ -21,0 +30,0 @@ const updateNode = (id, nodeUpdate, options = { replace: false }) => { |
{ | ||
"name": "@xyflow/svelte", | ||
"version": "0.1.15", | ||
"version": "0.1.16", | ||
"description": "Svelte Flow - A highly customizable Svelte library for building node-based editors, workflow systems, diagrams and more.", | ||
@@ -35,3 +35,3 @@ "keywords": [ | ||
"classcat": "^5.0.4", | ||
"@xyflow/system": "0.0.38" | ||
"@xyflow/system": "0.0.39" | ||
}, | ||
@@ -38,0 +38,0 @@ "devDependencies": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
279270
5134
+ Added@xyflow/system@0.0.39(transitive)
- Removed@xyflow/system@0.0.38(transitive)
Updated@xyflow/system@0.0.39