diff --git a/packages/designer/src/document/document-model.ts b/packages/designer/src/document/document-model.ts index bd4702f07..df9d3dfdb 100644 --- a/packages/designer/src/document/document-model.ts +++ b/packages/designer/src/document/document-model.ts @@ -73,7 +73,7 @@ export class DocumentModel { /** * @deprecated */ - private _addons: { [key: string]: { exportData: () => any; isProp: boolean;} } = {}; + private _addons: Array<{ name: string, exportData: any }> = []; /** * 模拟器 @@ -573,8 +573,26 @@ export class DocumentModel { * @deprecated */ getAddonData(name: string) { - const addon = this._addons[name]; - return addon?.exportData(); + const addon = this._addons.find((item) => item.name === name); + if (addon) { + return addon.exportData(); + } + } + + /** + * @deprecated + */ + exportAddonData() { + const addons = {}; + this._addons.forEach((addon) => { + const data = addon.exportData(); + if (data === null) { + delete addons[addon.name]; + } else { + addons[addon.name] = data; + } + }); + return addons; } /** @@ -584,13 +602,16 @@ export class DocumentModel { if (['id', 'params', 'layout'].indexOf(name) > -1) { throw new Error('addon name cannot be id, params, layout'); } - if (this._addons[name]) { - throw new Error(`node addon ${name} exists`); + const i = this._addons.findIndex((item) => item.name === name); + if (i > -1) { + this._addons.splice(i, 1); } - this._addons[name] = exportData; + this._addons.push({ + exportData, + name, + }); } - acceptRootNodeVisitor( visitorName = 'default', visitorFn: (node: RootNode) => any, diff --git a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx index d9f9c0651..24b4e4062 100644 --- a/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx +++ b/packages/editor-skeleton/src/components/settings/settings-primary-pane.tsx @@ -49,7 +49,7 @@ export class SettingsPrimaryPane extends Component<{ editor: Editor; config: any
{createIcon(settings.componentMeta?.icon, { className: 'lc-settings-navigator-icon' })} - <span>x {settings.nodes.length}</span> + <span> x {settings.nodes.length}</span> </div> ); } diff --git a/packages/rax-simulator-renderer/package.json b/packages/rax-simulator-renderer/package.json index 8c7918f04..c86ca501a 100644 --- a/packages/rax-simulator-renderer/package.json +++ b/packages/rax-simulator-renderer/package.json @@ -57,5 +57,5 @@ "publishConfig": { "registry": "https://registry.npm.alibaba-inc.com" }, - "homepage": "https://unpkg.alibaba-inc.com/@ali/lowcode-rax-simulator-renderer@0.13.1-26/build/index.html" + "homepage": "https://unpkg.alibaba-inc.com/@ali/lowcode-rax-simulator-renderer@0.13.1-27/build/index.html" }