Braks
a9e7eb31ea
feat(flow): Narrow options type for useNodesState/useEdgesState/useElementsState
...
* remove storageKey
* make modelValue optional
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
ee6bf3252e
refactor(flow): Watch models
...
* replace model value after re-setting elements/nodes/edges
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
5457106905
refactor(store): remove setting elements without parsing in state
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
445718d6f4
update(examples): correct examples
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
b12863f297
refactor(flow): lowercase event names (OnPaneLoad -> onPaneLoad)
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
e64f6b7bc6
update(types)!: Rename FlowActions/FlowGetters etc. to Actions, Getters
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
e2e094b987
feat(flow): Add option to disable default change handlers globally
...
* overwrites applyDefault setting for useEdgeState/useNodeState/useElementsState
* export apply change handlers
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
b9a417a629
chore: remove unused imports
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
f8a23c59ec
refactor(flow)!: Use watcher to change every prop as a single item
...
* instead of replacing the whole state on each watch trigger, split into multiple watchers that set a single state
* improve reacitivty and two-way binding for v-models
* remove elements option -> only modelValue (old api) or nodes/edges
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
91009e1dca
feat(store): add store as refs to useVueFlow
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
758f4f23ff
refactor(store): Rename isReady to paneReady
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
518d12d381
feat(flow): add utilities to useState functions
2021-12-20 19:29:52 +01:00
Braks
17a1b08ee0
refactor(store)!: replace store injection with VueFlow injection
2021-12-20 19:29:52 +01:00
Braks
c80ab8fe50
feat(store, flow)!: Add useNode/useEdge-state helpers
...
* for two way binding use the helpers
2021-12-20 19:29:52 +01:00
Braks
81c8145f3a
feat(store, flow)!: Add apply changes handlers
...
* flow will not update changes unless a handler to apply changes is passed
* a default handler is available in the useVueFlow composable
* removeElements export removed
2021-12-20 19:29:52 +01:00
Braks
c1da504fa9
refactor(store): move hooks to store dir
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
d875cfede3
feat(flow): Add event listener to vueflow object
...
* event listener also exist in store state (hooksOn)
* add applyChangesHandlers to vueflow object, can be used to apply changes i.e. deleting etc.
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
02911b4177
refactor(store): when adding elements as selected disable emit
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
ca2eca4265
refactor(store): add getters for selected nodes/edges
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
a80d475216
refactor(store): remove useStore.ts and move logic to store.ts
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
60fcbc2d06
refactor(nodes): use watcher to calc xyzpos
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
774cb2e644
feat(flow)!: Remove node/edge-types prop
...
* infer node/edge types from types used in elements
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
4065354c10
refactor(store): add selectednodesbbox back to state
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
9abd768bce
fix(edges): connection line not showing up when no edges are defined
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
63301cc000
update(store): Add utils to state
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
106037056e
update(store): filter edges by visibility
...
* add getSelectedElements getter
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
2d611b8bbe
feat(store): add addSelectedNodes, addSelectedEdges, updateNodePosition actions
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
6bdea72b20
refactor(store)!: use stored node data when re-parsing elements
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
0450ba2eae
feat(store): flatten child map of nodes
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
e2d60bedfd
update(store): add source/target nodes on edge parsing
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
3e42948cac
chore: remove unused imports
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
b80341467b
refactor(types)!: Remove elements and replace with nodes and edges
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
f28e10b05a
refactor(types): Remove internal __vf field
...
* fields are merged into the GraphNode / Node interface
* Remove passing props from VueFlow container, use injected state
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
3f0b0dbd70
feat(nodes): nested boundaries
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
fe0eeaeae9
refactor(types)!: change node and edge types to extend element
...
* element type provides intersection interface of nodes and edges
* rename isHidden to hidden
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-20 19:29:52 +01:00
Braks
f8cf71cfb8
refactor(store): rename param of setState
...
* newState -> opts
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-04 15:42:18 +01:00
Braks
3b448100d6
fix(store): correct injection and remove id from refs
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-04 15:42:18 +01:00
Braks
0fcf8bbeaa
update(store): static id for store state
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-04 15:42:18 +01:00
Braks
55122ed187
update(store, deps): remove microdiff
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-04 15:42:18 +01:00
Braks
3c9840cc50
update(types): Rename FlowStore to Store and ReactiveFlowStore to FlowStore
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-04 15:42:18 +01:00
Braks
58a8f9d4df
refactor(store)!: remove pinia
...
* replace pinia with a reactive state object and inject/provide
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
update(store)!: inject store if possible, otherwise create a new one by id
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-04 15:42:18 +01:00
Braks
58f5c2568c
update(store): try to get active pinia before using new one
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-12-04 15:42:18 +01:00
Braks
229bbb7a3c
fix(store): zoom related state to update when flow is ready
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-11-28 10:01:23 +01:00
Braks
4740a2c8fe
update(hooks): add elementsProcessed event hook
...
* triggered after elements have been processed and updated in store
* add missing selection change trigger to store
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-11-26 13:54:49 +01:00
Braks
512df8e42b
update(store): use setElements for addElements with force set false
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-11-26 11:26:37 +01:00
Braks
4630f3efc1
refactor(edges): Make edge updating optional
...
* add an option to enable edge updating globally
* pass an option to an edge to enable updating for a single edge
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-11-26 11:08:12 +01:00
Braks
01f5456407
fix: setState syntax error
...
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-11-25 19:30:19 +01:00
Braks
0b2764028f
update(nodes): watch nodes width for dimension update
...
* add force param to setElements, if set we clear the elements arr (default true)
* wait for store watcher until store is ready (i.e. a state has been set)
* move renderer css class to Renderer.vue
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-11-25 19:29:13 +01:00
Braks
4408ca1eb7
refactor(graph): async process elements
...
* process elements in chunks of 50 per ms to avoid blocking main thread
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
refactor(flow): deferr initial loading to Renderer.vue component
2021-11-25 19:29:13 +01:00
Braks
233e915376
update(store): remove promise from setState
...
* add default values for nodeTypes/edgeTypes - empty array for customs
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com >
2021-11-25 15:21:36 +01:00