style(stage): 完善render配置的定义

This commit is contained in:
roymondchen 2024-08-15 17:14:57 +08:00 committed by roymondchen
parent c5ce6d3c10
commit b0d42d79aa
3 changed files with 5 additions and 5 deletions

View File

@ -65,7 +65,7 @@ export default class StageCore extends EventEmitter {
runtimeUrl: config.runtimeUrl, runtimeUrl: config.runtimeUrl,
zoom: config.zoom, zoom: config.zoom,
renderType: config.renderType, renderType: config.renderType,
customizedRender: async (): Promise<HTMLElement | null> => { customizedRender: async (): Promise<HTMLElement | null | void> => {
if (this?.customizedRender) { if (this?.customizedRender) {
return await this.customizedRender(this); return await this.customizedRender(this);
} }

View File

@ -36,7 +36,7 @@ export default class StageRender extends EventEmitter {
private runtimeUrl?: string; private runtimeUrl?: string;
private zoom = DEFAULT_ZOOM; private zoom = DEFAULT_ZOOM;
private renderType: RenderType; private renderType: RenderType;
private customizedRender?: () => Promise<HTMLElement | null>; private customizedRender?: () => Promise<HTMLElement | null | void>;
constructor({ runtimeUrl, zoom, customizedRender, renderType = RenderType.IFRAME }: StageRenderConfig) { constructor({ runtimeUrl, zoom, customizedRender, renderType = RenderType.IFRAME }: StageRenderConfig) {
super(); super();

View File

@ -30,7 +30,7 @@ export type TargetElement = HTMLElement | SVGElement;
export type CanSelect = (el: HTMLElement, event: MouseEvent, stop: () => boolean) => boolean | Promise<boolean>; export type CanSelect = (el: HTMLElement, event: MouseEvent, stop: () => boolean) => boolean | Promise<boolean>;
export type IsContainer = (el: HTMLElement) => boolean | Promise<boolean>; export type IsContainer = (el: HTMLElement) => boolean | Promise<boolean>;
export type CustomizeRender = (renderer: StageCore) => Promise<HTMLElement> | HTMLElement; export type CustomizeRender = (renderer: StageCore) => Promise<HTMLElement | void> | HTMLElement | void;
/** 业务方自定义的moveableOptions可以是配置也可以是回调函数 */ /** 业务方自定义的moveableOptions可以是配置也可以是回调函数 */
export type CustomizeMoveableOptions = export type CustomizeMoveableOptions =
| ((config?: CustomizeMoveableOptionsCallbackConfig) => MoveableOptions) | ((config?: CustomizeMoveableOptionsCallbackConfig) => MoveableOptions)
@ -60,7 +60,7 @@ export interface StageCoreConfig {
moveableOptions?: CustomizeMoveableOptions; moveableOptions?: CustomizeMoveableOptions;
/** runtime 的HTML地址可以是一个HTTP地址如果和编辑器不同域需要设置跨域也可以是一个相对或绝对路径 */ /** runtime 的HTML地址可以是一个HTTP地址如果和编辑器不同域需要设置跨域也可以是一个相对或绝对路径 */
runtimeUrl?: string; runtimeUrl?: string;
render?: (renderer: StageCore) => Promise<HTMLElement> | HTMLElement; render?: CustomizeRender;
autoScrollIntoView?: boolean; autoScrollIntoView?: boolean;
updateDragEl?: UpdateDragEl; updateDragEl?: UpdateDragEl;
disabledDragStart?: boolean; disabledDragStart?: boolean;
@ -105,7 +105,7 @@ export interface StageRenderConfig {
runtimeUrl?: string; runtimeUrl?: string;
zoom: number | undefined; zoom: number | undefined;
renderType?: RenderType; renderType?: RenderType;
customizedRender?: () => Promise<HTMLElement | null>; customizedRender?: () => Promise<HTMLElement | null | void>;
} }
export interface StageMaskConfig { export interface StageMaskConfig {