diff --git a/src/Umbraco.Web.UI.Client/src/core/element/element.mixin.ts b/src/Umbraco.Web.UI.Client/src/core/element/element.mixin.ts index 61d1e33c80..e6878e0529 100644 --- a/src/Umbraco.Web.UI.Client/src/core/element/element.mixin.ts +++ b/src/Umbraco.Web.UI.Client/src/core/element/element.mixin.ts @@ -62,26 +62,19 @@ export const UmbElementMixin = (superClass: T) * @memberof UmbElementMixin */ consumeAllContexts(_contextAliases: Array, callback: (_instances: ResolvedContexts) => void) { - this._createContextConsumers(_contextAliases, (resolvedContexts) => { - callback?.(resolvedContexts); - }); - } - - - - private _createContextConsumers(aliases: Array, resolvedCallback: (_instances: ResolvedContexts) => void) { - aliases.forEach((alias) => + _contextAliases.forEach((alias) => new UmbContextConsumerController(this, alias, () => { - const allResolved = this.getControllers((ctrl: UmbControllerInterface):boolean => isContextConsumerType(ctrl) && aliases.indexOf(ctrl.consumerAlias) !== -1 ); + const allResolved = this.getControllers((ctrl: UmbControllerInterface):boolean => isContextConsumerType(ctrl) && _contextAliases.indexOf(ctrl.consumerAlias) !== -1 ); - if (allResolved.length === aliases.length) { - resolvedCallback(allResolved); + if (allResolved.length === _contextAliases.length) { + callback(allResolved); } }) ); } + } return UmbElementMixinClass as unknown as HTMLElementConstructor & T;