update(store): Add utils to state
Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
@@ -1 +1,2 @@
|
|||||||
export { default as useFlowStore } from './store'
|
export { default as useFlowStore } from './store'
|
||||||
|
export * from './state'
|
||||||
|
|||||||
+95
-1
@@ -1,4 +1,98 @@
|
|||||||
import { FlowState } from '~/types'
|
import { ConnectionMode, FlowState, PanOnScrollMode, DefaultNodeTypes, DefaultEdgeTypes, ConnectionLineType } from '~/types'
|
||||||
|
import { DefaultNode, InputNode, OutputNode, BezierEdge, SmoothStepEdge, StepEdge, StraightEdge } from '~/components'
|
||||||
|
import { createHooks } from '~/composables'
|
||||||
|
|
||||||
|
export const defaultNodeTypes: DefaultNodeTypes = {
|
||||||
|
input: InputNode,
|
||||||
|
default: DefaultNode,
|
||||||
|
output: OutputNode,
|
||||||
|
}
|
||||||
|
|
||||||
|
export const defaultEdgeTypes: DefaultEdgeTypes = {
|
||||||
|
default: BezierEdge,
|
||||||
|
straight: StraightEdge,
|
||||||
|
step: StepEdge,
|
||||||
|
smoothstep: SmoothStepEdge,
|
||||||
|
}
|
||||||
|
|
||||||
|
export const initialState = (): FlowState => ({
|
||||||
|
elements: [],
|
||||||
|
nodes: [],
|
||||||
|
edges: [],
|
||||||
|
nodeTypes: [],
|
||||||
|
edgeTypes: [],
|
||||||
|
|
||||||
|
isReady: false,
|
||||||
|
instance: undefined,
|
||||||
|
|
||||||
|
dimensions: {
|
||||||
|
width: 0,
|
||||||
|
height: 0,
|
||||||
|
},
|
||||||
|
transform: [0, 0, 1],
|
||||||
|
selectedNodes: [],
|
||||||
|
selectedEdges: [],
|
||||||
|
|
||||||
|
d3Zoom: undefined,
|
||||||
|
d3Selection: undefined,
|
||||||
|
d3ZoomHandler: undefined,
|
||||||
|
minZoom: 0.5,
|
||||||
|
maxZoom: 2,
|
||||||
|
translateExtent: [
|
||||||
|
[Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY],
|
||||||
|
[Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY],
|
||||||
|
],
|
||||||
|
|
||||||
|
nodeExtent: [
|
||||||
|
[Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY],
|
||||||
|
[Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY],
|
||||||
|
],
|
||||||
|
preventScrolling: true,
|
||||||
|
zoomOnScroll: true,
|
||||||
|
zoomOnPinch: true,
|
||||||
|
zoomOnDoubleClick: true,
|
||||||
|
panOnScroll: false,
|
||||||
|
panOnScrollSpeed: 0.5,
|
||||||
|
panOnScrollMode: PanOnScrollMode.Free,
|
||||||
|
paneMoveable: true,
|
||||||
|
edgeUpdaterRadius: 10,
|
||||||
|
onlyRenderVisibleElements: false,
|
||||||
|
defaultZoom: 1,
|
||||||
|
defaultPosition: [0, 0],
|
||||||
|
|
||||||
|
nodesSelectionActive: false,
|
||||||
|
selectionActive: false,
|
||||||
|
|
||||||
|
defaultMarkerColor: '#b1b1b7',
|
||||||
|
connectionLineStyle: {},
|
||||||
|
connectionLineType: ConnectionLineType.Bezier,
|
||||||
|
connectionNodeId: undefined,
|
||||||
|
connectionHandleId: undefined,
|
||||||
|
connectionHandleType: 'source',
|
||||||
|
connectionPosition: { x: NaN, y: NaN },
|
||||||
|
connectionMode: ConnectionMode.Loose,
|
||||||
|
|
||||||
|
snapGrid: [15, 15],
|
||||||
|
snapToGrid: false,
|
||||||
|
|
||||||
|
edgesUpdatable: false,
|
||||||
|
nodesConnectable: true,
|
||||||
|
nodesDraggable: true,
|
||||||
|
elementsSelectable: true,
|
||||||
|
selectNodesOnDrag: true,
|
||||||
|
multiSelectionActive: false,
|
||||||
|
selectionKeyCode: 'Shift',
|
||||||
|
multiSelectionKeyCode: 'Meta',
|
||||||
|
zoomActivationKeyCode: 'Meta',
|
||||||
|
deleteKeyCode: 'Backspace',
|
||||||
|
|
||||||
|
hooks: createHooks(),
|
||||||
|
loading: undefined,
|
||||||
|
|
||||||
|
storageKey: undefined,
|
||||||
|
|
||||||
|
vueFlowVersion: typeof __VUE_FLOW_VERSION__ !== 'undefined' ? __VUE_FLOW_VERSION__ : '-',
|
||||||
|
})
|
||||||
|
|
||||||
export default (preloadedState: FlowState) => ({
|
export default (preloadedState: FlowState) => ({
|
||||||
...preloadedState,
|
...preloadedState,
|
||||||
|
|||||||
Reference in New Issue
Block a user