diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/src/app/core/plugins/hooks.service.ts | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/client/src/app/core/plugins/hooks.service.ts b/client/src/app/core/plugins/hooks.service.ts index d9fef8389..978316ec2 100644 --- a/client/src/app/core/plugins/hooks.service.ts +++ b/client/src/app/core/plugins/hooks.service.ts | |||
@@ -48,6 +48,15 @@ export class HooksService { | |||
48 | return this.pluginService.runHook(hookResultName, result, params) | 48 | return this.pluginService.runHook(hookResultName, result, params) |
49 | } | 49 | } |
50 | 50 | ||
51 | async wrapFunResult <P, R, H extends ClientFilterHookName> | ||
52 | (fun: RawFunction<P, R>, params: P, scope: PluginClientScope, hookResultName: H) { | ||
53 | await this.pluginService.ensurePluginsAreLoaded(scope) | ||
54 | |||
55 | const result = fun(params) | ||
56 | |||
57 | return this.pluginService.runHook(hookResultName, result, params) | ||
58 | } | ||
59 | |||
51 | runAction<T, U extends ClientActionHookName> (hookName: U, scope: PluginClientScope, params?: T) { | 60 | runAction<T, U extends ClientActionHookName> (hookName: U, scope: PluginClientScope, params?: T) { |
52 | // Use setTimeout to give priority to Angular change detector | 61 | // Use setTimeout to give priority to Angular change detector |
53 | setTimeout(() => { | 62 | setTimeout(() => { |