From 9bb9e58eaa51217af4ea04baac351f5ae78e0a16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Fri, 4 Aug 2023 09:29:14 +0200 Subject: [PATCH] suggestions from jacob --- .../controller-host-base.mixin.ts | 2 +- .../controller/base-extensions-controller.ts | 6 +- .../registry/extension.registry.ts | 1 - .../conditions/section-alias.condition.tempts | 60 ------------------- 4 files changed, 4 insertions(+), 65 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/section-alias.condition.tempts diff --git a/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-base.mixin.ts b/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-base.mixin.ts index a2f9b743eb..2ec3251b38 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-base.mixin.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-base.mixin.ts @@ -107,7 +107,7 @@ export const UmbControllerHostBaseMixin = >(supe destroy() { this.#controllers.forEach((ctrl: UmbController) => ctrl.destroy()); - this.#controllers = []; + this.#controllers.length = 0; } } diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extensions-controller.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extensions-controller.ts index 0c40de910a..9c94b7a173 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extensions-controller.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/base-extensions-controller.ts @@ -57,7 +57,7 @@ export abstract class UmbBaseExtensionsController< this._extensions.forEach((controller) => { controller.destroy(); }); - this._extensions = []; + this._extensions.length = 0; // _permittedExts should have been cleared via the destroy callbacks. return; } @@ -142,7 +142,7 @@ export abstract class UmbBaseExtensionsController< public destroy() { super.destroy(); - this._extensions = []; - this._permittedExts = []; + this._extensions.length = 0; + this._permittedExts.length = 0; } } diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts index 184ecca3a3..be5109d2e5 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/registry/extension.registry.ts @@ -111,7 +111,6 @@ export class UmbExtensionRegistry< } register(manifest: ManifestTypes | ManifestKind): void { - // TODO: Consider if we need to implement some safety features here, like checking if the object has a 'type' and/or 'alias'? if (!manifest.type) { console.error(`Extension is missing type`, manifest); return; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/section-alias.condition.tempts b/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/section-alias.condition.tempts deleted file mode 100644 index 315b39f726..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/extension-registry/conditions/section-alias.condition.tempts +++ /dev/null @@ -1,60 +0,0 @@ -import { UmbBaseController, UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { - ManifestCondition, - UmbConditionConfigBase, - UmbExtensionCondition, -} from '@umbraco-cms/backoffice/extension-api'; -import { UMB_SECTION_CONTEXT_TOKEN } from '@umbraco-cms/backoffice/section'; - -export class UmbSectionAliasCondition extends UmbBaseController implements UmbExtensionCondition { - config: SectionAliasConditionConfig; - permitted = false; - #onChange: () => void; - - constructor(args: { host: UmbControllerHost; config: SectionAliasConditionConfig; onChange: () => void }) { - super(args.host); - this.config = args.config; - this.#onChange = args.onChange; - this.consumeContext(UMB_SECTION_CONTEXT_TOKEN, (context) => { - //if (context) { - this.observe( - context.alias, - (sectionAlias) => { - // TODO: Would be nice to make the object fully controllable by each condition, but requires some typing system. - this.permitted = sectionAlias === this.config.match; - this.#onChange(); - } - //, - //'_observeSectionAlias' - ); - //} - // Niels: As is of this state, contexts cannot be unprovided, so this code is not needed: - /*else { - this.removeControllerByAlias('_observeSectionAlias'); - if (this.permitted === true) { - this.permitted = false; - this.#onChange(); - } - }*/ - }); - } - - /* - hostDisconnected() { - super.hostDisconnected(); - this.permitted = false; - this.#onChange(); - } - */ -} - -export const manifest: ManifestCondition = { - type: 'condition', - name: 'Section Alias Condition', - alias: 'Umb.Condition.SectionAlias', - class: UmbSectionAliasCondition, -}; - -export type SectionAliasConditionConfig = UmbConditionConfigBase & { - match: string; -};