工具
addComponentConfig
为父组件中的某一个插槽添加一个子组件配置
- 参数
parentComponent-IComponentConfigchildComponent-IComponentConfigslotName-string
createCookEditorState
创建一个编辑器组件的状态,用于<cook-editor>,它返回的是一个响应式对象
- 参数
state-ICookEditorStateOptions | undefined它的默认值是下面这个type ICookEditorStateOptions = { layout?: ISplitLayout; pages?: IPage[]; makerList?: IResourceMaker[]; }1
2
3
4
5const defaultState = { makerList: defaultMakerList, pages: [], layout: defaultSplitLayout, }1
2
3
4
5
- 返回
ICookEditorState
createCookPlayerState
创建一个渲染器组件的状态,用于<cook-player>,它返回的是一个响应式对象
- 参数
state-ICookPlayerStateOptions其中,makerList的默认值是defaultMakerListinterface ICookPlayerStateOptions { page: IPage, makerList?: IResourceMaker[] }1
2
3
4
- 返回
ICookPlayerState
defaultMakerList
默认的资源列表
- 类型
IResourceMaker[]const defaultMakerList: IResourceMaker[] = [ PageComponentTreeMaker, PageEditorMaker, ComponentEditorMaker, ResourcePanelMaker, RootAppMaker ]1
2
3
4
5
6
7
defaultSplitLayout
默认的布局
- 类型
ISplitLayoutconst resourcePanelConfig = makeDefaultPanelConfig(ResourcePanelMaker) resourcePanelConfig.alwaysOpen = true const defaultSplitLayout: ISplitLayout = { "left": [ makeDefaultPanelConfig(PageComponentTreeMaker) ], "center": [], "bottom": [ resourcePanelConfig ], "right": [ makeDefaultPanelConfig(ComponentEditorMaker) ] }1
2
3
4
5
6
7
8
9
10
11
12
13
14
defineComponentMaker
自定义一个组件资源
参数
maker-IComponentMakerOptions
type IComponentMakerOptions = Omit<IComponentMaker, "type">1maker.name-string资源名称,同一个资源包下同一个类型的资源,名称之间不能重复maker.pkg-string资源包名称,不能重复。通过pkg,type以及name保证一个资源的唯一性maker.make-(cookState: ICookState, componentConfig: IComponentConfig) => Component生成函数,它是将组件配置转换成组件的桥梁。maker.install-undefined | (cookState: ICookState) => void安装函数,资源在被放入cookState的时候触发,可以用来初始化一些默认操作maker.makePropOptions-undefined | (cookState: ICookState, componentConfig: IComponentConfig)生成组件资源属性配置项maker.makeEventOptions-undefined | (cookState: ICookState, componentConfig: IComponentConfig)生成组件资源插槽配置项maker.makeSlotOptions-undefined | (cookState: ICookState, componentConfig: IComponentConfig)生成组件资源事件配置项
返回
IComponentMaker用法
参照 自定义组件
defineLogicMaker
自定义一个逻辑资源
参数
maker-ILogicMakerOptions
type ILogicMakerOptions = Omit<ILogicMaker, "type">1maker.name-string资源名称,同一个资源包下同一个类型的资源,名称之间不能重复maker.pkg-string资源包名称,不能重复。通过pkg,type以及name保证一个资源的唯一性maker.make-(cookState: ICookState, logicConfig: ILogicConfig) => Function生成函数,它是将逻辑配置转换成Function的桥梁。maker.install-undefined | (cookState: ICookState) => void安装函数,资源在被放入cookState的时候触发,可以用来初始化一些默认操作maker.makePropOptions-undefined | (cookState: ICookState, logicConfig: T) => string[]生成逻辑资源属性配置项
返回
ILogicMaker用法
参照 自定义逻辑
definePanelMaker
自定义一个交互面板资源
参数
maker-IPanelMakerOptions
type IPanelMakerOptions = Omit<IPanelMaker, "type">1maker.name-string资源名称,同一个资源包下同一个类型的资源,名称之间不能重复maker.pkg-string资源包名称,不能重复。通过pkg,type以及name保证一个资源的唯一性maker.make-(cookState: ICookState, panelConfig: IPanelConfig) => Component生成函数,它是将交互面板配置转换成面板的桥梁。maker.install-undefined | (cookState: ICookState) => void安装函数,资源在被放入cookState的时候触发,可以用来初始化一些默认操作makeTitle-undefined | (cookState: ICookState, panelConfig: IPanelConfig) => string生成一个面板的标题maker.onClose-undefined | (cookState: ICookState, panelConfig: IPanelConfig) => void面板关闭时触发的回调函数maker.onOpen-undefined | (cookState: ICookState, panelConfig: IPanelConfig) => void面板打开时触发的回调函数
返回
IPanelMaker用法
参照 自定义交互面板
findComponentConfig
查找一个组件配置
- 参数
parent-IComponentConfigcomponentUid-string
- 返回
IComponentConfig | undefined
findPanelConfig
从当前编辑器状态中找到一个面板配置
- 参数
cookEditorState-ICookEditorStatepanelUid-string
- 返回
IPanelConfig | undefined
isLogicConfig
自定义类型守卫,判断一个对象是否是ILogicConfig类型
- 参数
config-any
- 返回
boolean
layoutAddTab
打开一个面板,该方法同时会尝试触发面板的onOpen回调函数
- 参数
cookEditorState-ICookEditorStatepanelConfig-IPanelConfigsplitLayoutPaneName-ISplitLayoutPaneName
layputRemoveTab
关闭一个面板,该方法同时会尝试触发面板的onClose回调函数
- 参数
cookEditorState-ICookEditorStatepanelConfig-IPanelConfig
logicRun
运行一个逻辑配置,请注意,这是一个异步操作
参数
cookState-ICookStateconfig-ILogicConfig...payload-any[]剩余参数,可以传任意数量的参数,它会原封不动传给生成的函数let func = maker.make(cookState, config) let returns = await func(...payload)1
2
返回
Promise<unknown>在ts中,可以通过logicRun<T>来指定返回值的类型const result = await logicRun<IResultType>(cookPlayerState, logicConfig)1用法
参照 自定义逻辑
makeDefaultComponentConfig
生成一个默认的组件配置
- 参数
maker-IComponentMaker
- 返回
IComponentConfig
makeDefaultLogicConfig
生成一个默认的逻辑配置
- 参数
maker-ILogicMaker
- 返回
ILogicConfig
makeDefaultPanelConfig
生成一个默认的面板配置
- 参数
maker-IPanelMaker
- 返回
IPanelConfig
parseLogicConfig
从一个json字符串中解析出来一个逻辑配置
- 参数
jsonString-string | undefined
- 返回
ILogicConfig | undefined
removeComponentConfig
移除父组件中的某一个子组件配置
- 参数
parentComponent-IComponentConfigchildComponent-IComponentConfigslotName-string