diff --git a/src/core/features/siteplugins/components/block/block.ts b/src/core/features/siteplugins/components/block/block.ts index 0dfc2e825..624924ec1 100644 --- a/src/core/features/siteplugins/components/block/block.ts +++ b/src/core/features/siteplugins/components/block/block.ts @@ -34,6 +34,7 @@ export class CoreSitePluginsBlockComponent extends CoreBlockBaseComponent implem @HostBinding('class') component?: string; method?: string; args?: Record; + jsData?: Record; // Data to pass to the component. initResult?: CoreSitePluginsContent | null; constructor() { @@ -62,6 +63,9 @@ export class CoreSitePluginsBlockComponent extends CoreBlockBaseComponent implem instanceid: this.instanceId, blockid: this.block.instanceid, }; + this.jsData = { + block: this.block, + }; this.initResult = handler.initResult; } diff --git a/src/core/features/siteplugins/components/block/core-siteplugins-block.html b/src/core/features/siteplugins/components/block/core-siteplugins-block.html index 09636a7ca..fb5b9bdf9 100644 --- a/src/core/features/siteplugins/components/block/core-siteplugins-block.html +++ b/src/core/features/siteplugins/components/block/core-siteplugins-block.html @@ -1,2 +1,2 @@ + [initResult]="initResult" [data]="jsData" /> diff --git a/src/core/features/siteplugins/components/plugin-content/plugin-content.ts b/src/core/features/siteplugins/components/plugin-content/plugin-content.ts index 6653e3b79..49634c4a9 100644 --- a/src/core/features/siteplugins/components/plugin-content/plugin-content.ts +++ b/src/core/features/siteplugins/components/plugin-content/plugin-content.ts @@ -118,7 +118,11 @@ export class CoreSitePluginsPluginContentComponent implements OnInit, DoCheck { this.data = this.data || {}; this.forceCompile = true; - this.jsData = Object.assign(this.data, CoreSitePlugins.createDataForJS(this.initResult, result)); + this.jsData = { + ...this.args, + ...this.data, + ...CoreSitePlugins.createDataForJS(this.initResult, result), + }; // Pass some methods as jsData so they can be called from the template too. this.jsData.fetchContent = (refresh?: boolean) => this.fetchContent(refresh);