Commit Graph
35 Commits
Author SHA1 Message Date
Braks 4eb775477f fix(nodes): Add draggable watchers 2022-04-24 13:34:22 +02:00
Braks dc1d71d0bd refactor: Destructure props with reactivity transform 2022-04-24 13:34:22 +02:00
Braks e722f49e6e refactor(types,flow)!: Use reactivity transform and remove store property
# What's changed?

* Remove store property from usevueflow return value
* All previously available properties are still there, just not nested inside an additional store object to avoid confusion + duplicates
* use reactivity transform to get rid of .value calls
2022-04-24 13:34:22 +02:00
Braks 869d88cdcf chore: reorganize nodewrapper 2022-04-24 13:34:22 +02:00
Braks 4e73c5b2fb regression: reassign keys 2022-04-24 13:34:22 +02:00
Braks 0519bd0f25 chore: Remove casting node/edge to null on unmount 2022-04-24 13:34:22 +02:00
Braks b6d8b57859 chore: Performance optimizations
# What's changed?

* Remove keys
* Stabilize props
* Force reset store on unmount
2022-04-24 13:34:22 +02:00
Braks 4e3f4541a1 chore(nodes): flush watcher on post hook 2022-04-24 13:34:22 +02:00
Braks 0a21f3c068 chore(nodes,edges): Remove duplicate keys on nodes/edges 2022-04-21 10:47:53 +02:00
Braks ee38f4af9b fix(edges): Remove orphaned edges
# What's changed?

* Remove source/targetNode properties from GraphEdge type, the source/target will be fetched with getters if necessary
* Remove edges when they have no existing source or target nodes that can be found in the state
* Add nodes to custom edge test
2022-04-21 10:47:53 +02:00
Braks 79ede4cf84 fix(nodes): Recalculate handle bounds on position change 2022-04-13 22:48:23 +02:00
Braks 88f808711a feat: Allow node/edge template per element
* Allow templates to be overwritten per element with template option
2022-04-11 11:30:10 +02:00
Braks fcdbc21d34 refactor(flow!): Change transform to viewport
* Change array type to object type and rename transform type to viewport
* Update examples & docs
2022-04-11 11:30:10 +02:00
Braks 3838ffc2fb fix(nodes): remove v-if 2022-04-11 11:30:10 +02:00
Braks 3064e287e7 fix(nodes): trigger computedPosition watcher when selected changes
* z-index will not change back if selected does not trigger a change
2022-04-11 11:30:10 +02:00
Braks 6b76b8be06 refactor(nodes): Add nodeElements prop again
* Remove templateRef and use regular ref (templateRef causes infinite re-renders)
2022-04-11 11:30:10 +02:00
Braks b206ff160f fix(nodes,edges): Cast styles to css properties 2022-04-11 11:30:10 +02:00
Braks 2048423ab0 refactor(nodes): use computed properties for class and styles 2022-04-11 11:30:10 +02:00
Braks 2d7e2a710f fix: replace watchDebounced with debouncedWatch 2022-04-11 11:30:10 +02:00
Braks 1e23893e58 fix: import paths 2022-04-11 11:30:10 +02:00
Braks 342d0305a6 refactor(nodes): Replace DraggableCore with composable 2022-04-11 11:30:10 +02:00
Braks 8f2d94ae55 refactor(nodes!): Remove dimensions option, replace with width and height
* Can be used to set width, height (similar to style prop but with easier access)
2022-04-11 11:30:10 +02:00
Braks 4f026e841a refactor(nodes): Remove DraggableCore component and use composable
* Remove node-element prop from NodeProps
2022-04-11 11:30:10 +02:00
Braks 908657c7ce chore: move custom size check up above watcher 2022-04-05 21:00:35 +02:00
Braks 094c4ff9ae feat(nodes): Allow pre-defined dimensions of a node 2022-04-04 21:42:48 +02:00
Braks af23f733c0 chore(nodes,edges): remove v-bind 2022-04-04 21:42:48 +02:00
Braks 546dd4baaf fix(nodes,edges): compute type in wrapper 2022-04-04 21:42:48 +02:00
Braks 444bf0a879 chore: add useStyle to wrappers 2022-04-04 21:42:48 +02:00
Braks a50101bfd3 feat(nodes,edges): Allow class or styles to be bound with function
* function param is current node
* makes it easier to add classes / styles if specific node is selected etc.
2022-04-04 21:42:48 +02:00
Braks e97d9a1dc9 feat(nodes): debounce scaling to avoid lag spikes 2022-04-04 21:42:48 +02:00
Braks 528cac5d33 regression(nodes,edges): removing nodes/edges breaks renderer 2022-04-04 21:42:48 +02:00
Braks 1347304667 update(nodes): support fragments as node slots 2022-04-04 21:42:48 +02:00
Braks 3f15983f3e feat(edges): Use slot injection for custom edges 2022-04-04 21:42:48 +02:00
Braks 4cbdf0ccc1 feat(nodes): Pass node slots as injections to wrapper
* Avoids drilling slots which causes huge performance issues when 100+ nodes are present due to re-binding of props on each level
2022-04-04 21:42:48 +02:00
Braks cd817b7f53 feat: implement workspaces 2022-04-04 21:42:48 +02:00