Commit Graph
100 Commits
Author SHA1 Message Date
Braks 0e00a41d44 chore: cleanup deps 2022-05-22 22:46:47 +02:00
Braks 66312b5d4b feat: Add resize-rotate-node pkg 2022-05-22 22:46:47 +02:00
Braks 796aeaa139 chore: add release script 2022-05-22 22:46:47 +02:00
Braks 70a148d082 chore: move vue-flow to dev-deps 2022-05-22 22:46:47 +02:00
Braks 3b0e301bf1 chore: add dependency to types pipeline 2022-05-22 22:46:47 +02:00
Braks 36b3729a2b chore: update pathfinding edge pkg 2022-05-22 22:46:47 +02:00
Braks cbb94ba7c8 chore: update tsconfig, remove license 2022-05-22 22:46:47 +02:00
Braks a90bbb9b5e chore: lint files 2022-05-22 22:46:47 +02:00
Braks 4ee7eb909a feat(pkg): Add pathfinding edge pkg to packages dir 2022-05-22 22:46:47 +02:00
Braks b9dbb97374 refactor(pkg): Move vue-flow into separate pkg directory 2022-05-22 22:46:47 +02:00
Braks df43ff3b8b chore: Update CHANGELOG.md 2022-05-14 18:29:00 +02:00
Braks 9627f236c7 v0.4.10 2022-05-14 18:28:54 +02:00
Braks d36402e537 fix(edges): Check if connection exists for new connection 2022-05-14 18:26:55 +02:00
Braks 1d2322eb46 examples: Update node example color 2022-05-14 18:26:55 +02:00
Braks 8459476a98 chore: Update CHANGELOG.md 2022-05-11 22:12:58 +02:00
Braks bcaf346926 v0.4.9 2022-05-11 22:12:52 +02:00
Braks 36de50ede9 chore(pkg): update typedoc & unplugin-auto-import 2022-05-11 22:10:40 +02:00
Braks 75390a75e7 chore(pkg): update vite 2022-05-11 22:10:40 +02:00
Braks 75a94e7b22 chore(pkg): remove "private" interfaces from components 2022-05-11 22:10:40 +02:00
Braks c396b4fc3c chore(deps,deps-dev): update pkg and root deps 2022-05-11 22:10:40 +02:00
Braks 69ed530198 chore(pkg): explicitly export defaults from vue files 2022-05-11 22:10:40 +02:00
Braks ca552dc8ae chore(pkg): update eslint config 2022-05-11 22:10:40 +02:00
Braks 22845c210d chore: lint files 2022-05-11 22:10:40 +02:00
Braks 447d24c5a8 chore(deps-dev): update eslint, prettier & antfu/eslint-config 2022-05-11 22:10:40 +02:00
Braks be2a37246a feat: export base edge 2022-05-11 22:10:40 +02:00
Braks 8e91e4a8e5 refactor: use watchEffect for keypress 2022-05-11 22:10:40 +02:00
Braks 412c0e500f feat: Export storage class
# What's changed?

* Export storage class as GlobalVueFlowStorage
* For possible global access of all currently active stores
2022-05-11 22:10:40 +02:00
Braks 1fab0317d5 refactor(edges): update edge type to include default edge types 2022-05-11 22:10:40 +02:00
Braks e2e3a650c1 fix(edges): Add edges not respecting default edge options 2022-05-11 22:10:40 +02:00
Braks 152801edac feat: Add pattern slot to background
# What's changed?

* Add a slot named pattern to background
* Allows for icons or similar things to be passed as bg pattern
2022-05-11 22:10:40 +02:00
Braks 5fb0280e5b fix: fit view not respecting options nodes 2022-05-11 22:10:40 +02:00
Braks b68dc4c032 fix: wrong elements removed when index can't be found 2022-05-11 22:10:40 +02:00
Braks b8abc78307 chore: Update CHANGELOG.md 2022-04-24 13:35:40 +02:00
Braks 892728717e v0.4.8 2022-04-24 13:34:22 +02:00
Braks 18f0d2f1ce chore: move changelog update to postrelease 2022-04-24 13:34:22 +02:00
Braks c4f9b2c780 fix: ensure scope dispose is run 2022-04-24 13:34:22 +02:00
Braks 1b97109b94 refactor: remove scoped slot props from handles 2022-04-24 13:34:22 +02:00
Braks 9cc7806972 fix(edges): Cancel edge update if connection exists 2022-04-24 13:34:22 +02:00
Braks 0becad73ad refactor(nodes): minimize position change loops
# What's changed?

* Only loop selected nodes instead of all nodes when determining position changes
2022-04-24 13:34:22 +02:00
Braks e2fd3b44ef refactor(edges): defer grouping to next tick 2022-04-24 13:34:22 +02:00
Braks f5d245322b feat: Add emits property to store
# What's changed?

* For easier access (and shorter syntax) of event emitters add emits property to store
* Change instance, zoom, hooks, emits and onEvent triggers to readonly
2022-04-24 13:34:22 +02:00
Braks c6840a31ad fix: missing mouseevent on minimap node click 2022-04-24 13:34:22 +02:00
Braks aaccbb4b3e chore: update README.md 2022-04-24 13:34:22 +02:00
Braks b6848e37c8 refactor(nodes,edges): Pass type component as prop
# What's changed?

* Pass component as prop
* Reduce watcher and computed
* Add reactivity transform macros to examples
2022-04-24 13:34:22 +02:00
Braks 2918b689fe tests: update tests to work with removed store property 2022-04-24 13:34:22 +02:00
Braks cf7a8ec6d9 refactor: re-set nodes arr on addNodes 2022-04-24 13:34:22 +02:00
Braks 14ef119a95 fix(nodes): use label content as inner html 2022-04-24 13:34:22 +02:00
Braks 4eb775477f fix(nodes): Add draggable watchers 2022-04-24 13:34:22 +02:00
Braks f69118e265 fix: Watcher not re-binding when initialized with empty arr 2022-04-24 13:34:22 +02:00
Braks bb30db7c08 examples: add initial class to basic 2022-04-24 13:34:22 +02:00
Braks 19bc4fda24 chore: update auto imports 2022-04-24 13:34:22 +02:00
Braks 6d1fb963b3 chore: correct watcher 2022-04-24 13:34:22 +02:00
Braks 5ce711e6d9 chore: update tsconfig 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 3bc972a1d1 chore: reorganize edgewrapper 2022-04-24 13:34:22 +02:00
Braks 869d88cdcf chore: reorganize nodewrapper 2022-04-24 13:34:22 +02:00
Braks 0b23112462 update(types): Add explicit action types
# What's changed?

* use explicit types for actions and export those
* add comments
2022-04-24 13:34:22 +02:00
Braks 73beef8079 chore: cb event type 2022-04-24 13:34:22 +02:00
Braks 7e80033080 chore: shorten exports 2022-04-24 13:34:22 +02:00
Braks f5174ebe10 refactor: Change minimap nodes to functional components 2022-04-24 13:34:22 +02:00
Braks cd85eb1842 chore: disable inheriting attrs 2022-04-24 13:34:22 +02:00
Braks 21570209d8 chore: remove unused attrs 2022-04-24 13:34:22 +02:00
Braks 4c86e3e2bb chore: remove log 2022-04-24 13:34:22 +02:00
Braks 4e73c5b2fb regression: reassign keys 2022-04-24 13:34:22 +02:00
Braks 8d33014291 refactor(nodes,edges): change defaults to functional components
# What's changed?

* Change default node/edge components to functional components
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 7f54d3a38e refactor(edges): Remove base edge from default edge types
# What's changed?

* Remove base-edge component for performance
2022-04-24 13:34:22 +02:00
Braks f1bbed1751 refactor(edges): Change base edge to functional component
# What's changed?

* Change base edge into a functional component (doesn't need a state)
* Export base edge for convenience
2022-04-24 13:34:22 +02:00
Braks 6c2c7c4fd4 refactor: controlled computed in minimap
# What's changed?

* Use controlled computed properties in Minimap to improve performance
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 ad07b5b6ea fix: Dispose effects on unmount
# What's changed?

* Dispose prop watcher effects and event bindings when vue flow is unmounted/its scope is disposed
2022-04-24 13:34:22 +02:00
Braks 7ff48b8dfa refactor: directly bind instance functions 2022-04-24 13:34:22 +02:00
Braks b06ef3f9ab chore(types): Remove control events type 2022-04-24 13:34:22 +02:00
Braks fa23617ff1 fix(zoom): Use scaleBy instead of scaleTo for zoom 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 04fcd082d1 refactor: Accept maybe refs as options for usevueflow
# What's changed?

* Allow user to pass refs to composable (will not trigger an automatic re-set of state when refs are changed)
2022-04-24 13:34:22 +02:00
Braks 233d585a92 v0.4.7 2022-04-21 10:53:58 +02:00
Braks 2e13344d4e chore: Update CHANGELOG.md 2022-04-21 10:53:39 +02:00
Braks a19474c341 feat(edges): Add source/target nodes to graph edges
# What's changed?

* Bind source and target nodes to graph edges for convenience
2022-04-21 10:47:53 +02:00
Braks e3270d5f94 refactor(types)!: Remove generics from types except nodes, edges, elements
# What's changed?

* Superfluous generics removed from types like store, state etc. as they haven't really served a well-defined purpose
2022-04-21 10:47:53 +02:00
Braks 12e42e6871 fix: duplicate setState on vue flow mount
# What's changed?

* Set props on watcher initialization, so we avoid duplicate setStates (from composable and watchers)
* Fix pausable watchers not starting up
* Flush watchers on post
2022-04-21 10:47:53 +02:00
Braks 8b3acda42e fix(edges): base-edge throwing attrs warnings for curvature 2022-04-21 10:47:53 +02:00
Braks c1b6fc01d5 refactor: Remove memoization of group edges fn 2022-04-21 10:47:53 +02:00
Braks 0a21f3c068 chore(nodes,edges): Remove duplicate keys on nodes/edges 2022-04-21 10:47:53 +02:00
Braks 5951beb85a fix: Reactive key bindings for delete, select etc.
# What's changed?

* Use ref for keycodes from store to reactively listen to keyboard events and trigger delete etc.
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 9a5b5465b6 regression(edges): Edge update also triggering new connection
# What's changed?

* Fix edge update causing double connections
* Fix updateEdge utility adding two edges on update
2022-04-21 10:47:53 +02:00
Braks 99d062728a chore: update vue flow version in docs/tests/examples 2022-04-21 10:47:53 +02:00
Braks f35167ca72 fix: enforce extent on viewport transforms 2022-04-21 10:47:53 +02:00
Braks 86c72ab08a fix: clamp zoom pan helper transformations
# What's changed?

* Clamp x, y positions before applying transformations so we can't position the d3container outside the permissable translate extent
2022-04-14 17:19:30 +02:00
Braks 71fbc2b8a4 chore: Update issue templates 2022-04-14 17:19:30 +02:00
Braks 7cb7eb2dfd feat: Add issue and pr templates 2022-04-14 12:51:52 +02:00
Braks 1f8b9ce547 v0.4.6 2022-04-13 22:48:23 +02:00
Braks 1765da8877 chore: Update CHANGELOG.md 2022-04-13 22:48:23 +02:00
Braks 2d43806523 feat: Extend ValidConnectionFunc
# What's changed?

* Add current edges, sourceNode & targetNode as parameter to valid connection func, so we can possibly prevent new connections based on current elements
2022-04-13 22:48:23 +02:00
Braks 2eacdc9830 feat: Extend minimap node type 2022-04-13 22:48:23 +02:00
Braks e178a3ce44 feat: Add mini map node events
# What's changed?

* Add events for mini map node click & dbl click
* Receives event + node as parameters
2022-04-13 22:48:23 +02:00
Braks dca6960086 v0.4.5 2022-04-13 22:48:23 +02:00
Braks 24c5e11d86 chore: Update CHANGELOG.md 2022-04-13 22:48:23 +02:00