* For easier access and to avoid context issues with injections hooks are put into the store * hooks can be accessed and will emit events when the flow has bound its emit function to the hooks * useHooks and useStore are not exported anymore! Instead, useVueFlow is provided, which will return an instance of the current vue flow store * Rename NodeIdContextKey to NodeId * Add addElements function to store to add elements without having to re-set the whole store * use v-model for elements, re-set elements only if there's an actual change Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com>
27 lines
1.2 KiB
TypeScript
27 lines
1.2 KiB
TypeScript
import { Dimensions, Elements, XYPosition } from './types'
|
|
import { NodeDiffUpdate, NodeDimensionUpdate, NodeExtent, NodePosUpdate, TranslateExtent } from './node'
|
|
import { InitD3ZoomPayload } from './panel'
|
|
import { SetConnectionId } from './connection'
|
|
|
|
export interface FlowActions {
|
|
setElements: (elements: Elements) => void
|
|
updateNodeDimensions: (update: NodeDimensionUpdate) => void
|
|
updateNodePos: (payload: NodePosUpdate) => void
|
|
updateNodePosDiff: (payload: NodeDiffUpdate) => void
|
|
setUserSelection: (mousePos: XYPosition) => void
|
|
updateUserSelection: (mousePos: XYPosition) => void
|
|
unsetUserSelection: () => void
|
|
addSelectedElements: (elements: Elements) => void
|
|
initD3Zoom: (payload: InitD3ZoomPayload) => void
|
|
setMinZoom: (zoom: number) => void
|
|
setMaxZoom: (zoom: number) => void
|
|
setTranslateExtent: (translateExtent: TranslateExtent) => void
|
|
setNodeExtent: (nodeExtent: NodeExtent) => void
|
|
resetSelectedElements: () => void
|
|
unsetNodesSelection: () => void
|
|
updateSize: (size: Dimensions) => void
|
|
setConnectionNodeId: (payload: SetConnectionId) => void
|
|
setInteractive: (isInteractive: boolean) => void
|
|
addElements: (elements: Elements) => void
|
|
}
|