refactor(editor): unify selection key + clean node view
This commit is contained in:
parent
e296fc0979
commit
5ff0c22724
@ -14,6 +14,7 @@ import { bindEditorHotkeys } from './hotkeys';
|
|||||||
import { Canvas } from './Canvas';
|
import { Canvas } from './Canvas';
|
||||||
import { ContextMenu, type ContextMenuState } from './ContextMenu';
|
import { ContextMenu, type ContextMenuState } from './ContextMenu';
|
||||||
import { Inspector } from './Inspector';
|
import { Inspector } from './Inspector';
|
||||||
|
import { selectionKeyOf } from './selection';
|
||||||
import { createInitialState, editorReducer, exportScreenJSON } from './store';
|
import { createInitialState, editorReducer, exportScreenJSON } from './store';
|
||||||
|
|
||||||
const { Header, Sider, Content } = Layout;
|
const { Header, Sider, Content } = Layout;
|
||||||
@ -86,10 +87,7 @@ export function EditorApp() {
|
|||||||
|
|
||||||
const closeContextMenu = useCallback(() => setCtxMenu(null), []);
|
const closeContextMenu = useCallback(() => setCtxMenu(null), []);
|
||||||
|
|
||||||
const selectionKeyOf = useCallback((ids: string[]) => {
|
// selectionKeyOf imported from ./selection
|
||||||
// Keep stable regardless of ordering.
|
|
||||||
return [...ids].sort().join('|');
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
const ctxMenuSyncedRef = useRef(false);
|
const ctxMenuSyncedRef = useRef(false);
|
||||||
|
|
||||||
@ -103,7 +101,7 @@ export function EditorApp() {
|
|||||||
}
|
}
|
||||||
dispatch(action);
|
dispatch(action);
|
||||||
},
|
},
|
||||||
[ctxMenu, dispatch, selectionKeyOf, state.selection.ids],
|
[ctxMenu, dispatch, state.selection.ids],
|
||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user