Merge branch 'fix/getAddonData' into 'release/0.9.0'

Fix/get addon data



See merge request !908875
This commit is contained in:
康为 2020-07-27 16:57:49 +08:00
commit 0286028cb5

View File

@ -49,6 +49,11 @@ export class DocumentModel {
private emitter: EventEmitter;
private rootNodeVisitorMap: { [visitorName: string]: any } = {};
/**
* @deprecated
*/
private _addons: { [key: string]: { exportData: () => any; isProp: boolean;} } = {};
/**
*
*/
@ -512,6 +517,32 @@ export class DocumentModel {
this.emitter.emit('lowcode_engine_renderer_ready', renderer);
}
/**
* @deprecated
*/
getAddonData(name: string) {
const addon = this._addons[name];
return addon?.exportData();
}
/**
* @deprecated
*/
registerAddon(name: string, exportData: any) {
if (['id', 'params', 'layout'].indexOf(name) > -1) {
throw new Error('addon name cannot be id, params, layout');
}
const i = this._addons?.findIndex((item) => item.name === name);
if (i > -1) {
this._addons?.splice(i, 1);
}
this._addons?.push({
exportData,
name,
});
}
acceptRootNodeVisitor(
visitorName: string = 'default',
visitorFn: (node: RootNode) => any ) {