Merge pull request #3430 from wbkd/svelte-flow-auto-pan
feat(svelte) add autoPanOnConnect autoPanOnNodeDrag props
This commit is contained in:
@@ -159,6 +159,8 @@
|
|||||||
event.detail.event.preventDefault();
|
event.detail.event.preventDefault();
|
||||||
console.log('on node contextmenu', event);
|
console.log('on node contextmenu', event);
|
||||||
}}
|
}}
|
||||||
|
autoPanOnConnect
|
||||||
|
autoPanOnNodeDrag
|
||||||
>
|
>
|
||||||
<Controls />
|
<Controls />
|
||||||
<Background variant={BackgroundVariant.Dots} />
|
<Background variant={BackgroundVariant.Dots} />
|
||||||
|
|||||||
@@ -40,7 +40,8 @@
|
|||||||
addEdge,
|
addEdge,
|
||||||
panBy,
|
panBy,
|
||||||
cancelConnection,
|
cancelConnection,
|
||||||
updateConnection
|
updateConnection,
|
||||||
|
autoPanOnConnect
|
||||||
} = store;
|
} = store;
|
||||||
|
|
||||||
function onPointerDown(event: MouseEvent | TouchEvent) {
|
function onPointerDown(event: MouseEvent | TouchEvent) {
|
||||||
@@ -56,7 +57,7 @@
|
|||||||
nodes: $nodes,
|
nodes: $nodes,
|
||||||
connectionMode: $connectionMode,
|
connectionMode: $connectionMode,
|
||||||
lib: $lib,
|
lib: $lib,
|
||||||
autoPanOnConnect: true,
|
autoPanOnConnect: $autoPanOnConnect,
|
||||||
isValidConnection: $isValidConnection,
|
isValidConnection: $isValidConnection,
|
||||||
updateConnection,
|
updateConnection,
|
||||||
cancelConnection,
|
cancelConnection,
|
||||||
|
|||||||
@@ -51,6 +51,8 @@
|
|||||||
export let zoomOnPinch: boolean = true;
|
export let zoomOnPinch: boolean = true;
|
||||||
export let panOnScroll: boolean = false;
|
export let panOnScroll: boolean = false;
|
||||||
export let panOnDrag: boolean | number[] = true;
|
export let panOnDrag: boolean | number[] = true;
|
||||||
|
export let autoPanOnConnect: $$Props['autoPanOnConnect'] = true;
|
||||||
|
export let autoPanOnNodeDrag: $$Props['autoPanOnNodeDrag'] = true;
|
||||||
|
|
||||||
export let defaultMarkerColor = '#b1b1b7';
|
export let defaultMarkerColor = '#b1b1b7';
|
||||||
|
|
||||||
@@ -102,7 +104,9 @@
|
|||||||
nodesConnectable,
|
nodesConnectable,
|
||||||
elementsSelectable,
|
elementsSelectable,
|
||||||
onlyRenderVisibleElements,
|
onlyRenderVisibleElements,
|
||||||
isValidConnection
|
isValidConnection,
|
||||||
|
autoPanOnConnect,
|
||||||
|
autoPanOnNodeDrag
|
||||||
};
|
};
|
||||||
|
|
||||||
updateStoreByKeys(store, updatableProps);
|
updateStoreByKeys(store, updatableProps);
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ export type SvelteFlowProps = DOMAttributes<HTMLDivElement> & {
|
|||||||
panOnScroll?: boolean;
|
panOnScroll?: boolean;
|
||||||
panOnDrag?: boolean | number[];
|
panOnDrag?: boolean | number[];
|
||||||
onlyRenderVisibleElements?: boolean;
|
onlyRenderVisibleElements?: boolean;
|
||||||
|
autoPanOnConnect?: boolean;
|
||||||
|
autoPanOnNodeDrag?: boolean;
|
||||||
|
|
||||||
class?: string;
|
class?: string;
|
||||||
style?: string;
|
style?: string;
|
||||||
|
|||||||
@@ -59,6 +59,8 @@ export type UpdatableStoreProps = {
|
|||||||
elementsSelectable?: UnwrapWritable<SvelteFlowStore['elementsSelectable']>;
|
elementsSelectable?: UnwrapWritable<SvelteFlowStore['elementsSelectable']>;
|
||||||
onlyRenderVisibleElements?: UnwrapWritable<SvelteFlowStore['onlyRenderVisibleElements']>;
|
onlyRenderVisibleElements?: UnwrapWritable<SvelteFlowStore['onlyRenderVisibleElements']>;
|
||||||
isValidConnection?: UnwrapWritable<SvelteFlowStore['isValidConnection']>;
|
isValidConnection?: UnwrapWritable<SvelteFlowStore['isValidConnection']>;
|
||||||
|
autoPanOnConnect?: UnwrapWritable<SvelteFlowStore['autoPanOnConnect']>;
|
||||||
|
autoPanOnNodeDrag?: UnwrapWritable<SvelteFlowStore['autoPanOnNodeDrag']>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export function updateStoreByKeys(store: SvelteFlowStore, keys: UpdatableStoreProps) {
|
export function updateStoreByKeys(store: SvelteFlowStore, keys: UpdatableStoreProps) {
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ export const getInitialStore = () => ({
|
|||||||
nodeExtent: writable<CoordinateExtent>(infiniteExtent),
|
nodeExtent: writable<CoordinateExtent>(infiniteExtent),
|
||||||
translateExtent: writable<CoordinateExtent>(infiniteExtent),
|
translateExtent: writable<CoordinateExtent>(infiniteExtent),
|
||||||
autoPanOnNodeDrag: writable<boolean>(true),
|
autoPanOnNodeDrag: writable<boolean>(true),
|
||||||
|
autoPanOnConnect: writable<boolean>(true),
|
||||||
fitViewOnInit: writable<boolean>(false),
|
fitViewOnInit: writable<boolean>(false),
|
||||||
fitViewOnInitDone: writable<boolean>(false),
|
fitViewOnInitDone: writable<boolean>(false),
|
||||||
panZoom: writable<PanZoomInstance | null>(null),
|
panZoom: writable<PanZoomInstance | null>(null),
|
||||||
|
|||||||
Reference in New Issue
Block a user