import { Store } from '@/lib/store'; import { BodyClickedOperator } from '@/lib/operator/BodyClickedOperator'; import { BodyMenuOperator } from '@/lib/operator/BodyMenuOperator'; export const useBodyClick = ( store: Store, getGridDom: () => Element, getMenuDom: () => Element, ) => { const bodyClickedOperator = new BodyClickedOperator(store); const bodyMenuOperator = new BodyMenuOperator(store); bodyMenuOperator.concatDom(getGridDom, getMenuDom); bodyClickedOperator.concatBodyMenu(bodyMenuOperator); return { click: (e: PointerEvent) => { bodyClickedOperator.click(e); }, dbClick: (e: PointerEvent) => { bodyClickedOperator.dbClick(e); }, contextMenu: (e: PointerEvent) => { bodyClickedOperator.contextMenu(e); }, }; };