mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2026-03-02 07:20:38 +00:00
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
import { find } from 'lodash';
|
|
|
|
import { BaseManager, connectGeneralManager, connectGeneralManagerList, IManagerController } from './base';
|
|
import VisualManager from './visualManager';
|
|
|
|
export default class VisualRender extends BaseManager implements IManagerController {
|
|
private visualManagerList: VisualManager[] = [];
|
|
|
|
getManager(): VisualManager {
|
|
return this.visualManagerList[0];
|
|
}
|
|
|
|
getManagerByName(name?: string): VisualManager[] {
|
|
return this.visualManagerList.filter((m) => m.getName() === name);
|
|
}
|
|
|
|
getManagerById(id?: string): VisualManager {
|
|
return find(this.visualManagerList, (m) => m.getId() === id) as VisualManager;
|
|
}
|
|
|
|
getManagerList(): VisualManager[] {
|
|
return this.visualManagerList;
|
|
}
|
|
|
|
connectManager(manager: VisualManager) {
|
|
connectGeneralManager.call(this, manager, this.visualManagerList);
|
|
return this;
|
|
}
|
|
|
|
connectManagerList(managerList: VisualManager[]): this {
|
|
this.visualManagerList = connectGeneralManagerList.call(this, managerList, this.visualManagerList);
|
|
return this;
|
|
}
|
|
|
|
notifyAllManagers(eventName: string | symbol, ...eventData: any[]): boolean {
|
|
return this.visualManagerList.map((m) => m.emit(eventName, eventData)).every((r) => r);
|
|
}
|
|
|
|
/**
|
|
* Render function
|
|
* @override
|
|
*
|
|
* @memberof VisualRender
|
|
*/
|
|
render(): any {
|
|
return '';
|
|
}
|
|
}
|