From 15bc83a45b02efc957e7dbac10bdfdbcba7b1045 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Wed, 24 Apr 2024 14:05:35 +0200 Subject: [PATCH 1/2] MOBILE-4487 plugins: Make 'args' values available to plugin JS --- .../siteplugins/components/plugin-content/plugin-content.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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); From ca24c9df9e2e1f041b10be05acb881bb17ce8960 Mon Sep 17 00:00:00 2001 From: Dani Palou Date: Wed, 24 Apr 2024 14:06:03 +0200 Subject: [PATCH 2/2] MOBILE-4487 plugins: Make block instance available to plugin JS --- src/core/features/siteplugins/components/block/block.ts | 4 ++++ .../siteplugins/components/block/core-siteplugins-block.html | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) 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" />