工具
addComponentConfig
为父组件中的某一个插槽添加一个子组件配置
- 参数
parentComponent
-IComponentConfig
childComponent
-IComponentConfig
slotName
-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
的默认值是defaultMakerList
interface 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
默认的布局
- 类型
ISplitLayout
const 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
-IComponentConfig
componentUid
-string
- 返回
IComponentConfig | undefined
findPanelConfig
从当前编辑器状态中找到一个面板配置
- 参数
cookEditorState
-ICookEditorState
panelUid
-string
- 返回
IPanelConfig | undefined
isLogicConfig
自定义类型守卫,判断一个对象是否是ILogicConfig
类型
- 参数
config
-any
- 返回
boolean
layoutAddTab
打开一个面板,该方法同时会尝试触发面板的onOpen
回调函数
- 参数
cookEditorState
-ICookEditorState
panelConfig
-IPanelConfig
splitLayoutPaneName
-ISplitLayoutPaneName
layputRemoveTab
关闭一个面板,该方法同时会尝试触发面板的onClose
回调函数
- 参数
cookEditorState
-ICookEditorState
panelConfig
-IPanelConfig
logicRun
运行一个逻辑配置,请注意,这是一个异步操作
参数
cookState
-ICookState
config
-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
-IComponentConfig
childComponent
-IComponentConfig
slotName
-string