jjb-lc-designable
Version:
基于alibaba-designable源码二次封装的表单设计器。
17 lines (15 loc) • 636 B
text/typescript
import { useContext } from 'react'
import { useDesigner } from './useDesigner'
import { WorkspaceContext } from '../context'
import { Workspace } from 'jjb-lc-designable/core'
import { globalThisPolyfill } from 'jjb-lc-designable/shared'
export const useWorkspace = (id?: string): Workspace => {
const designer = useDesigner()
const workspaceId = id || useContext(WorkspaceContext)?.id
if (workspaceId) {
return designer.workbench.findWorkspaceById(workspaceId)
}
if (globalThisPolyfill['__DESIGNABLE_WORKSPACE__'])
return globalThisPolyfill['__DESIGNABLE_WORKSPACE__']
return designer.workbench.currentWorkspace
}