1- import { useCallback , useLayoutEffect } from "react" ;
1+ import { useCallback } from "react" ;
22import { useSelector } from "react-redux" ;
33import { twMerge } from "tailwind-merge" ;
4- import { ids , selectors } from "@/constants" ;
5- import { store } from "@/store" ;
6- import { initializeElements , sync } from "@/store/reducers/editor" ;
4+ import { ids } from "@/constants" ;
75import { type ISTKProps } from "@/types" ;
8- import { d3Extended } from "@/utils" ;
96import { Tool , tools } from "../toolbar/data" ;
107import { default as Crosshairs } from "./crosshairs" ;
118import { default as Element , ElementType } from "./elements" ;
129import { default as Grid } from "./grid" ;
13- import { default as Zoom , zoomAndPan } from "./zoom" ;
10+ import { default as Zoom } from "./zoom" ;
1411
1512export { default as Cursor } from "./cursor" ;
1613
@@ -27,31 +24,6 @@ export const Workspace: React.FC<ISTKProps> = (props) => {
2724 const selectedPolylineId = useSelector ( ( state : any ) => state . editor . selectedPolylineId ) ;
2825 const selectedTool = useSelector ( ( state : any ) => state . toolbar . selectedTool ) ;
2926
30- useLayoutEffect ( ( ) => {
31- if ( props . data ) {
32- store . dispatch ( sync ( props . data ) ) ;
33- setTimeout ( ( ) => {
34- const { height : workspaceheight , width : workspaceWidth } = d3Extended . selectionBounds (
35- d3Extended . selectById ( ids . workspace )
36- ) ;
37- const {
38- left : wgOffsetLeft ,
39- top : wgOffsetTop ,
40- height : workspaceGroupHeight ,
41- width : workspaceGroupWidth
42- } = d3Extended . selectionBounds ( d3Extended . select ( selectors . workspaceGroup ) ) ;
43- const scaleFactor = 1.05 ;
44- zoomAndPan ( {
45- k : scaleFactor ,
46- y : ( workspaceheight - ( wgOffsetTop * scaleFactor * 2 + workspaceGroupHeight * scaleFactor ) ) / 2 - 5 ,
47- x : ( workspaceWidth - ( wgOffsetLeft * scaleFactor * 2 + workspaceGroupWidth * scaleFactor ) ) / 2
48- } ) ;
49- } , 0 ) ;
50- } else {
51- store . dispatch ( initializeElements ( ) ) ;
52- }
53- } , [ props . data ] ) ;
54-
5527 const elementProps = useCallback (
5628 ( elem ) => ( {
5729 id : elem . id ,
0 commit comments