refactor(zoomPanHelper): add duration to fit view params
This commit is contained in:
@@ -41,10 +41,7 @@ const useZoomPanHelper = (): ZoomPanHelperFunctions => {
|
|||||||
|
|
||||||
d3Zoom.transform(getTransition(d3Selection), nextTransform);
|
d3Zoom.transform(getTransition(d3Selection), nextTransform);
|
||||||
},
|
},
|
||||||
fitView: (
|
fitView: (options: FitViewParams = { padding: DEFAULT_PADDING, includeHiddenNodes: false, duration: 0 }) => {
|
||||||
options: FitViewParams = { padding: DEFAULT_PADDING, includeHiddenNodes: false },
|
|
||||||
duration?: number
|
|
||||||
) => {
|
|
||||||
const { nodes, width, height, minZoom, maxZoom } = store.getState();
|
const { nodes, width, height, minZoom, maxZoom } = store.getState();
|
||||||
|
|
||||||
if (!nodes.length) {
|
if (!nodes.length) {
|
||||||
@@ -62,7 +59,7 @@ const useZoomPanHelper = (): ZoomPanHelperFunctions => {
|
|||||||
);
|
);
|
||||||
const transform = zoomIdentity.translate(x, y).scale(zoom);
|
const transform = zoomIdentity.translate(x, y).scale(zoom);
|
||||||
|
|
||||||
d3Zoom.transform(getTransition(d3Selection, duration), transform);
|
d3Zoom.transform(getTransition(d3Selection, options.duration), transform);
|
||||||
},
|
},
|
||||||
setCenter: (x: number, y: number, zoom?: number, duration?: number) => {
|
setCenter: (x: number, y: number, zoom?: number, duration?: number) => {
|
||||||
const { width, height, maxZoom } = store.getState();
|
const { width, height, maxZoom } = store.getState();
|
||||||
|
|||||||
@@ -254,6 +254,7 @@ export type FitViewParams = {
|
|||||||
includeHiddenNodes?: boolean;
|
includeHiddenNodes?: boolean;
|
||||||
minZoom?: number;
|
minZoom?: number;
|
||||||
maxZoom?: number;
|
maxZoom?: number;
|
||||||
|
duration?: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type FlowExportObject<T = any> = {
|
export type FlowExportObject<T = any> = {
|
||||||
|
|||||||
Reference in New Issue
Block a user