A highly customizable Flowchart component for Vue 3. Features seamless zoom & pan 🔎, additional components like a Minimap 🗺 and utilities to interact with state and graph.
MIT License
#1608 0581cd8
Thanks @bcakmakoglu! - Prevent overwriting width/height in node styles object with node.width
/node.height
if width
/height
already exist in the styles object.
Fixes NodeResizer not working when initial size was passed to a node through node.width
/node.height
.
#1609 81a81fa
Thanks @bcakmakoglu! - Prevent drag-click handler when multi selection is active.
Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.41.0...v1.41.1
Published by bcakmakoglu about 2 months ago
9c18037
Thanks @bcakmakoglu! - Add getHandleConnections
action to store.a3c72fe
Thanks @bcakmakoglu! - Don't set user selection flags on pointer down, only setting them when pointer is moved to allow pane click events to occur when selectionKeyCode
is true
(i.e. selection on drag).Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.40.1...v1.41.0
Published by bcakmakoglu 2 months ago
5eb677b
Thanks @bcakmakoglu! - Inline event namesFull Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.40.0...v1.40.1
Published by bcakmakoglu 2 months ago
7aa49f4
Thanks @bcakmakoglu! - Remove null
as possible return type of data in useNodesData
#1586 f2ed6a3
Thanks @bcakmakoglu! - Only display grab cursor when panOnDrag is on left mouse button
#1585 d7a51f8
Thanks @bcakmakoglu! - Simplify event emits definitions to avoid hitting complexity limit of TS.
Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.39.3...v1.40.0
Published by bcakmakoglu 3 months ago
f6b394f
Thanks @bcakmakoglu! - Push into dimensions changes array instead of using index access.Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.39.2...v1.39.3
Published by bcakmakoglu 3 months ago
90f573a
Thanks @bcakmakoglu! - Only capture pointer when a valid selection has startedFull Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.39.1...v1.39.2
Published by bcakmakoglu 3 months ago
#1562 e83b1ef
Thanks @bcakmakoglu! - Check if injected vue flow state matches options id, otherwise create new state
#1562 e83b1ef
Thanks @bcakmakoglu! - Prefer options id over scope id when finding vue flow internal state by id
Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.39.0...v1.39.1
Published by bcakmakoglu 3 months ago
#1542 de75620
Thanks @bcakmakoglu! - Add paneClickDistance
option. Allows specifying the distance between mousedown and mouseup in which a click would still be registered (by default 0
)
#1535 1a812f3
Thanks @bcakmakoglu! - Add autoPanSpeed
prop. Allows specifying at what speed the pane moves when auto-panning via node-drag, selection-drag or connection-drag
#1536 235d564
Thanks @github-actions! - Dispatch click if drag move was attempted and threshold was not crossed, ignoring any movement that's too small to be considered a drag at all
#1545 2910992
Thanks @bcakmakoglu! - Prevent calling onSelectionEnd
when clicking a selection
#1543 85c8d2d
Thanks @bcakmakoglu! - Handle pointer capture for selection on drag
Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.38.5...v1.39.0
Published by bcakmakoglu 4 months ago
e7bcca5
Thanks @bcakmakoglu! - ignore minor mouse movements when marking a node drag as abortedFull Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.38.4...v1.38.5
Published by bcakmakoglu 4 months ago
e8427cf
Thanks @bcakmakoglu! - Prevent duplicate node click event by checking if drag was actually aborted before emitting node-clickFull Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.38.3...v1.38.4
Published by bcakmakoglu 4 months ago
ccca803
Thanks @bcakmakoglu! - Emit nodeClick
event when a node is dragged without exceeding the node drag threshold (i.e. no visible movement has happened)Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.38.2...v1.38.3
Published by bcakmakoglu 4 months ago
#1517 d2ec752
Thanks @bcakmakoglu! - Use post
flush timing to re-observe node size when toggling node visibility
#1514 6a0813e
Thanks @bcakmakoglu! - Avoid re-snapping to the same handle
Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.38.1...v1.38.2
Published by bcakmakoglu 4 months ago
4643676
Thanks @bcakmakoglu! - Correct calculation of nodes inside selection rectFull Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.38.0...v1.38.1
Published by bcakmakoglu 4 months ago
#1492 f85ea42
Thanks @bcakmakoglu! - Allow passing event target to useKeyPress
#1492 f85ea42
Thanks @bcakmakoglu! - Use pointer events to capture interactions on Pane
cmp and prevent selections from being cancelled when moving outside of the Pane
while holding selection key
#1508 005b25b
Thanks @bcakmakoglu! - Use correct end handle position in connection line component and store handle positions during connections.
#1502 30c81dc
Thanks @bcakmakoglu! - Allow passing a Record<string, any> as class to node/edge objects
#1502 30c81dc
Thanks @bcakmakoglu! - Allow passing an array of strings as class to node/edge objects
#1492 2dff0dd
Thanks @bcakmakoglu! - Make useKeyPress
public and export it
#1506 45e9d03
Thanks @bcakmakoglu! - Remove v-memo
from EdgeRenderer so that edges get their correct z-index applied
#1494 09c32c5
Thanks @bcakmakoglu! - Calculate correct handle position in handle lookup
Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.37.1...v1.38.0
Published by bcakmakoglu 4 months ago
6d4d2be
Thanks @bcakmakoglu! - Correct access of options id in useVueFlow
Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.37.0...v1.37.1
Published by bcakmakoglu 4 months ago
#1481 192b154
Thanks @bcakmakoglu! - Add overloads to useVueFlow
. Allows calling useVueFlow
with an id
string only while emitting a deprecation warning for using the options obj.
#1476 1b38c3f
Thanks @bcakmakoglu! - Use empty array when determing whether to update all node internals
#1479 659ca6a
Thanks @bcakmakoglu! - Add EdgePathParams
type and export it
Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.36.0...v1.37.0
Published by bcakmakoglu 5 months ago
ebf387e
Thanks @bcakmakoglu! - Replace node initialized check with dimensions checkPublished by bcakmakoglu 5 months ago
#1401 ebf387e
Thanks @bcakmakoglu! - Remove initialized
property from GraphNode
type
#1401 c94e175
Thanks @bcakmakoglu! - Remove node intersections from drag event args
#1401 231673e
Thanks @bcakmakoglu! - Add updateEdgeData
action
#1401 bb6abed
Thanks @bcakmakoglu! - Reduce node getBoundingClientRect
calls by passing node-bounds directly to getHandleBounds
#1401 30e999a
Thanks @bcakmakoglu! - Remove connectedEdges
as arg from NodeMouseEvents
#1401 ba6e250
Thanks @bcakmakoglu! - Add useEdgesData
composable
408dfea
Thanks @bcakmakoglu! - Hide viewport until initial fit view is finishedFull Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.35.0...v1.36.0
Published by bcakmakoglu 5 months ago
#1447 acd6069
Thanks @bcakmakoglu! - Return non-nullable edge from useEdge
#1447 acd6069
Thanks @bcakmakoglu! - Use node/edge id as the only dependency to render nodes/edges.
#1446 d8bdac1
Thanks @bcakmakoglu! - Remove visibility (hidden) check from getNodes
& getEdges
#1440 a02b9a4
Thanks @bcakmakoglu! - Remove auto-generated hanle-ids and use null
as the default handle id.
If you were relying on handle-ids in your code but weren't assigning them explicitly, you'll might need to update your code to handle this change.
By default, if you don't provide a handle-id, it will be null
and the first handle of the corresponding type will be used.
#1446 d8bdac1
Thanks @bcakmakoglu! - Render null
if edge is hidden
#1433 7547ade
Thanks @bcakmakoglu! - Add edgeId
to handle connection objects returned by useHandleConnections
#1450 d64efc6
Thanks @bcakmakoglu! - Replace internally nodeIds/edgeIds array with nodeLookup/edgeLookup map
#1445 64a5162
Thanks @bcakmakoglu! - Render null
if node is hidden but render whole list of nodes regardless of visibility
#1449 27ec132
Thanks @bcakmakoglu! - Disable pinch zoom on mobile if zoomToPinch
is false
#1448 fe58110
Thanks @bcakmakoglu! - Disable dragging when using multi-touch
Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.34.1...v1.35.0
Published by bcakmakoglu 5 months ago
#1426 c997a80
Thanks @bcakmakoglu! - Replace array fns with for-loops
#1425 220c290
Thanks @bcakmakoglu! - Use separate prevConnections map in useHandleConnections
composable to ensure comparison check is correct and callbacks are executed.
Full Changelog: https://github.com/bcakmakoglu/vue-flow/compare/v1.34.0...v1.34.1