UNPKG

jjb-lc-designable

Version:

基于alibaba-designable源码二次封装的表单设计器。

30 lines (28 loc) 1 kB
import { Engine } from '../models' import { ViewportResizeEvent, ViewportScrollEvent } from '../events' export const useViewportEffect = (engine: Engine) => { engine.subscribeTo(ViewportResizeEvent, (event) => { const currentWorkspace = event?.context?.workspace if (!currentWorkspace) return const viewport = currentWorkspace.viewport const outline = currentWorkspace.outline if (viewport.matchViewport(event.data.target)) { viewport.digestViewport() } if (outline.matchViewport(event.data.target)) { outline.digestViewport() } }) engine.subscribeTo(ViewportScrollEvent, (event) => { const currentWorkspace = event?.context?.workspace if (!currentWorkspace) return const viewport = currentWorkspace.viewport const outline = currentWorkspace.outline if (viewport.matchViewport(event.data.target)) { viewport.digestViewport() } if (outline.matchViewport(event.data.target)) { outline.digestViewport() } }) }