From bd59414d486c0102bdc143d58b67b58df83b062a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Tue, 25 Jul 2023 21:00:23 +0200 Subject: [PATCH] the important fix --- .../extension-api/controller/base-extension-controller.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-controller.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-controller.ts index 67408b988b..93d3dbe763 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-controller.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extension-controller.ts @@ -18,6 +18,7 @@ export abstract class UmbBaseExtensionController< #manifest?: ManifestType; #conditionControllers: Array = []; #onPermissionChanged: (isPermitted: boolean, controller: SubClassType) => void; + protected _positive?: boolean; #isPermitted?: boolean; get weight() { @@ -153,11 +154,13 @@ export abstract class UmbBaseExtensionController< #onConditionsChangedCallback = async () => { const oldValue = this.#isPermitted ?? false; // Find a condition that is not permitted (Notice how no conditions, means that this extension is permitted) - const conditionsArePositive = + const isPositive = this.#conditionsAreInitialized() && this.#conditionControllers.find((condition) => condition.permitted === false) === undefined; - if (conditionsArePositive) { + this._positive = isPositive; + + if (isPositive) { if (this.#isPermitted !== true) { this.#isPermitted = await this._conditionsAreGood(); }