Commit Graph
161 Commits
Author SHA1 Message Date
bcakmakoglu 78e15b23f3 refactor(nodes): use content-box for resize observer 2022-06-23 19:13:50 +02:00
bcakmakoglu c5e4264dda refactor(nodes): apply node specific snapGrid on drag
# What's changed?

* remove params `noDragClassName` and `handleSelector` and access while dragging from store or current node
* apply snap grid if present on node
2022-06-23 19:13:50 +02:00
bcakmakoglu e395cc7aad chore(nodes): remove nodeElement from NodeProps type 2022-06-23 19:13:50 +02:00
bcakmakoglu a84dc911d2 chore(nodes): remove computedPosition from NodeProps 2022-06-23 19:13:50 +02:00
bcakmakoglu 38d8565702 chore(types): add generic for custom events on node associated types 2022-06-23 19:13:50 +02:00
bcakmakoglu b5998ee301 feat(nodes,types): update node event types
# What's changed?

* accept initial event handlers as `NodeEventHandlers`
* pass contextual events (custom component) as `NodeEventsOn` Type
* forward custom node events as is (not an event hook)
2022-06-23 19:13:50 +02:00
bcakmakoglu 394f9a01b3 feat(nodes): add useNodeHooks composable
# What's changed?

* create node hooks for context and global event emitters
2022-06-23 19:13:50 +02:00
bcakmakoglu b363e9457e feat(nodes): add contextual node events
# What's changed?

* create hooks so we can receive contextual node event handlers from initial definition and pass the hook to custom components
* contextual events are meant for their specific context unlike `FlowHooks` which are on a global level
2022-06-23 19:13:50 +02:00
bcakmakoglu 2a9cdd6855 feat(edges): move connection lines to separate container
# What's changed?

* connection lines should be above nodes
* selected node should be above edges
2022-06-23 19:13:50 +02:00
bcakmakoglu f5b02c3278 chore: deprecate useZoomPanHelper 2022-06-23 19:13:50 +02:00
bcakmakoglu 77c43aa207 fix(nodes): apply node extent 2022-06-23 19:13:50 +02:00
bcakmakoglu d75feb6c61 chore: update vite-config.ts 2022-06-23 19:13:50 +02:00
bcakmakoglu c866df6d06 chore: bump version 2022-06-16 23:06:30 +02:00
bcakmakoglu e047be6854 feat(vue-flow): add autoConnect option
# What's changed?

* auto-connect allows to easily enable the default add edge change handler (shown in the examples)
* allow auto-connect to be a function that returns false when connection is cancelled or partial edge when it should be created
2022-06-16 23:00:31 +02:00
bcakmakoglu c2303f4c2f chore(nodes): move update position into own function 2022-06-16 23:00:31 +02:00
bcakmakoglu 4b824b527f refactor: remove computed position as prop from custom nodes 2022-06-16 23:00:31 +02:00
bcakmakoglu 648350cded refactor(nodes): add updateNodeInternals action
# What's changed?

* remove node element as prop from custom node components
* add `updateNodeInternals` action to force update node dimensions and position (i.e. transitions etc.)
* add `updateNodeInternals` hook to trigger update in nodes
2022-06-16 23:00:31 +02:00
bcakmakoglu 1aa9230fe4 refactor(nodes): remove ctrl key from drag filter condition 2022-06-16 23:00:31 +02:00
bcakmakoglu 8e911deaa7 refactor(vue-flow,components): move position: absolute to required handle styles 2022-06-16 21:40:11 +02:00
bcakmakoglu 893b35b519 chore: bump version 2022-06-15 19:41:36 +02:00
bcakmakoglu 06420ac6cd feat(vue-flow,components): export MiniMapNode component 2022-06-15 19:31:20 +02:00
bcakmakoglu 32086e0760 refactor(vue-flow,components): hide/show slots in Controls.vue
# What's changed?

* depending on props, hide slot as well
* rename `control-fitview` to `control-fit-view`
2022-06-15 19:31:20 +02:00
bcakmakoglu 59b64242d5 chore: bump version 2022-06-10 21:23:03 +02:00
bcakmakoglu 7fe511fefd chore: bump version 2022-06-10 21:15:42 +02:00
bcakmakoglu fd6c34ce6c chore(vue-flow): commit all files on postpublish 2022-06-10 21:14:49 +02:00
bcakmakoglu 62c45d3982 chore(vue-flow): commit version bump on postpublish 2022-06-10 21:11:10 +02:00
bcakmakoglu 7de3509bd2 chore(vue-flow): remove NodeProps generic from node label type 2022-06-10 21:11:10 +02:00
bcakmakoglu 37fd017e37 refactor(nodes,edges): Remove BaseElement type
# What's changed?

* Remove `BaseElement` type
* Merge base element props into `Node` and `Edge` types
* Allow `ClassFunc` and `StyleFunc` types to specify what element type is used in callback
2022-06-10 21:11:10 +02:00
bcakmakoglu 9d94dfd7b7 chore(vue-flow): bump version 2022-06-10 15:59:48 +02:00
bcakmakoglu 7597c0c542 revert(#181,edges): filter old edge on update 2022-06-10 15:54:40 +02:00
bcakmakoglu 7fe5171f63 fix(#181,edges): bind edge mouse events to correct names 2022-06-10 15:54:40 +02:00
bcakmakoglu fb8356e15a revert: set emits explicitly 2022-06-10 15:54:40 +02:00
bcakmakoglu e54f7b56d0 chore: move BaseEdgeProps to types 2022-06-10 15:54:40 +02:00
bcakmakoglu ac9389480d feat(edges): export BaseEdgeProps 2022-06-10 15:54:40 +02:00
bcakmakoglu fdc6f40c3c chore: use type import for emit definition 2022-06-10 15:54:40 +02:00
bcakmakoglu f94f72d31e docs: add typedoc.json file 2022-06-10 15:54:40 +02:00
bcakmakoglu c289e7e3cc docs: update typedoc to use src/index.ts as entry
# What's changed?

* use src/index.ts as entry for typedocs instead of dist/index.d.ts (otherwise crashes with new vue-tsc version)
* update tsconfigs
* update turbo config and skip building d.ts files for typedocs
2022-06-10 15:54:40 +02:00
bcakmakoglu 9ae97f4186 feat: explicitly define events in VueFlow component
# What's changed?

* add a duplicate `Emits` type defining the emitter functions
* replace `onScopeDispose` with `tryOnScopeDispose`
2022-06-10 15:54:40 +02:00
bcakmakoglu 3dd3c37fc2 chore: update dependencies
# What's changed?

* add `jsx: "preserve"` to tsconfig (necessary in new vue-tsc version)
2022-06-10 15:54:40 +02:00
bcakmakoglu 2efe25c989 chore: bump version 2022-06-07 18:38:59 +02:00
bcakmakoglu c755208ebe fix(edges): pass edge markers to wrapper 2022-06-07 18:33:00 +02:00
bcakmakoglu 90af73dcd3 chore: trigger fitViewOnInit after paneReady 2022-06-07 18:33:00 +02:00
bcakmakoglu 5b55d6b0af chore: wait for paneReady to set zoompan 2022-06-07 18:33:00 +02:00
bcakmakoglu e8923c8aae chore(nodes): set dimensions after mount 2022-06-07 18:33:00 +02:00
bcakmakoglu 87f97efd42 refactor(nodes): set resize observer before mount 2022-06-07 18:33:00 +02:00
bcakmakoglu 7dd79f6256 feat(viewpane): defer viewport functions until pane is ready
# What's changed?

* Allow vue flow id to be passed to `useZoomPanHelper` and defer viewport functions until pane is ready
* Remove warning for using viewport functions too early
2022-06-07 18:33:00 +02:00
bcakmakoglu 8a570bea8b fix(viewpane): set viewpane functions on Transform mount
# What's changed?

* log warnings when viewpane functions are used before viewpane is ready
2022-06-07 18:33:00 +02:00
bcakmakoglu c81362da60 chore: remove unnecessary imports 2022-06-07 18:33:00 +02:00
bcakmakoglu 9929278ff0 chore: fix missing imports 2022-06-07 18:33:00 +02:00
bcakmakoglu 5277506936 refactor(vue-flow,viewpane)!: remove FlowInstance type 2022-06-07 18:33:00 +02:00