From a5b70be68bc6a856b78992320518d0a0e6a41128 Mon Sep 17 00:00:00 2001 From: weareoutman Date: Mon, 5 Sep 2022 11:21:31 +0800 Subject: [PATCH] fix(): fix missing runtime brick in event callback --- packages/brick-kit/src/core/StoryboardContext.ts | 3 ++- packages/brick-kit/src/internal/bindListeners.ts | 11 ++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/brick-kit/src/core/StoryboardContext.ts b/packages/brick-kit/src/core/StoryboardContext.ts index 04b70124f0..e4f30e29f7 100644 --- a/packages/brick-kit/src/core/StoryboardContext.ts +++ b/packages/brick-kit/src/core/StoryboardContext.ts @@ -134,7 +134,8 @@ export class StoryboardContextWrapper { callback, () => this.getResolveOptions(_internalApiGetCurrentContext()) - .mergedContext + .mergedContext, + null ); promise.then( diff --git a/packages/brick-kit/src/internal/bindListeners.ts b/packages/brick-kit/src/internal/bindListeners.ts index 59ab2ca488..c84d9033f6 100644 --- a/packages/brick-kit/src/internal/bindListeners.ts +++ b/packages/brick-kit/src/internal/bindListeners.ts @@ -655,7 +655,8 @@ function customListenerFactory( export function eventCallbackFactory( callback: BrickEventHandlerCallback, - getContext: () => PluginRuntimeContext + getContext: () => PluginRuntimeContext, + runtimeBrick: RuntimeBrick ) { return function callbackFactory( type: "success" | "error" | "finally" | "progress" @@ -668,7 +669,7 @@ export function eventCallbackFactory( }); const context = getContext(); [].concat(callback[type]).forEach((eachHandler) => { - listenerFactory(eachHandler, context, null)(event); + listenerFactory(eachHandler, context, runtimeBrick)(event); }); } catch (err) { // Do not throw errors in `callback.success` or `callback.progress`, @@ -718,7 +719,11 @@ async function brickCallback( return; } - const callbackFactory = eventCallbackFactory(handler.callback, () => context); + const callbackFactory = eventCallbackFactory( + handler.callback, + () => context, + runtimeBrick + ); const pollableCallback: Required = { progress: callbackFactory("progress"),