From 8cb8af976ca8b87bfd893f5c6bb16dde6205c960 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Mon, 2 Jan 2023 11:52:22 +0100 Subject: [PATCH] move resource controller into resource folder --- ...dashboard-performance-profiling.element.ts | 2 +- .../core/{controllers => resources}/index.ts | 0 .../resource.controller.ts | 22 ++++++++----------- src/Umbraco.Web.UI.Client/tsconfig.json | 2 +- .../web-test-runner.config.mjs | 2 +- 5 files changed, 12 insertions(+), 16 deletions(-) rename src/Umbraco.Web.UI.Client/src/core/{controllers => resources}/index.ts (100%) rename src/Umbraco.Web.UI.Client/src/core/{controllers => resources}/resource.controller.ts (84%) diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/dashboards/performance-profiling/dashboard-performance-profiling.element.ts b/src/Umbraco.Web.UI.Client/src/backoffice/dashboards/performance-profiling/dashboard-performance-profiling.element.ts index fa4835f52b..6cc0ce425d 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/dashboards/performance-profiling/dashboard-performance-profiling.element.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/dashboards/performance-profiling/dashboard-performance-profiling.element.ts @@ -2,7 +2,7 @@ import { UUITextStyles } from '@umbraco-ui/uui-css/lib'; import { css, html, LitElement } from 'lit'; import { customElement, state } from 'lit/decorators.js'; -import { UmbResourceController } from '@umbraco-cms/controllers'; +import { UmbResourceController } from 'src/core/resources'; import { ProfilingResource } from '@umbraco-cms/backend-api'; @customElement('umb-dashboard-performance-profiling') diff --git a/src/Umbraco.Web.UI.Client/src/core/controllers/index.ts b/src/Umbraco.Web.UI.Client/src/core/resources/index.ts similarity index 100% rename from src/Umbraco.Web.UI.Client/src/core/controllers/index.ts rename to src/Umbraco.Web.UI.Client/src/core/resources/index.ts diff --git a/src/Umbraco.Web.UI.Client/src/core/controllers/resource.controller.ts b/src/Umbraco.Web.UI.Client/src/core/resources/resource.controller.ts similarity index 84% rename from src/Umbraco.Web.UI.Client/src/core/controllers/resource.controller.ts rename to src/Umbraco.Web.UI.Client/src/core/resources/resource.controller.ts index bff3e44b7b..fa819e7249 100644 --- a/src/Umbraco.Web.UI.Client/src/core/controllers/resource.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/core/resources/resource.controller.ts @@ -1,24 +1,22 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { ReactiveController, ReactiveControllerHost } from 'lit'; +import { UmbController } from '../controller/controller.interface'; +import { UmbControllerHostInterface } from '../controller/controller-host.mixin'; +import { UmbContextConsumerController } from '../context-api/consume/context-consumer.controller'; import { ApiError, CancelablePromise, ProblemDetails } from '@umbraco-cms/backend-api'; import { UmbNotificationOptions, UmbNotificationDefaultData, UmbNotificationService } from '@umbraco-cms/services'; -import { UmbContextConsumer } from '@umbraco-cms/context-api'; -export class UmbResourceController implements ReactiveController { - host: ReactiveControllerHost; +export class UmbResourceController implements UmbController { + #promises: Promise[] = []; - #notificationConsumer: UmbContextConsumer; - #notificationService?: UmbNotificationService; - constructor(host: ReactiveControllerHost) { - (this.host = host).addController(this); - this.#notificationConsumer = new UmbContextConsumer( - host as unknown as EventTarget, - 'umbNotificationService', + constructor(host: UmbControllerHostInterface) { + host.addController(this); + + new UmbContextConsumerController(host, 'umbNotificationService', (_instance: UmbNotificationService) => { this.#notificationService = _instance; } @@ -27,12 +25,10 @@ export class UmbResourceController implements ReactiveController { hostConnected() { this.#promises.length = 0; - this.#notificationConsumer.attach(); } hostDisconnected() { this.cancelAllResources(); - this.#notificationConsumer.detach(); } addResource(promise: Promise): void { diff --git a/src/Umbraco.Web.UI.Client/tsconfig.json b/src/Umbraco.Web.UI.Client/tsconfig.json index 6763dcdfee..6f278ee1d3 100644 --- a/src/Umbraco.Web.UI.Client/tsconfig.json +++ b/src/Umbraco.Web.UI.Client/tsconfig.json @@ -28,7 +28,7 @@ "@umbraco-cms/observable-api": ["src/core/observable-api"], "@umbraco-cms/utils": ["src/core/utils"], "@umbraco-cms/test-utils": ["src/core/test-utils"], - "@umbraco-cms/controllers": ["src/core/controllers"], + "@umbraco-cms/resources": ["src/core/resources"], "@umbraco-cms/services": ["src/core/services"], "@umbraco-cms/components/*": ["src/backoffice/components/*"], "@umbraco-cms/stores/*": ["src/core/stores/*"], diff --git a/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs b/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs index 2167c55a73..bf55d97a2d 100644 --- a/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs +++ b/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs @@ -19,7 +19,7 @@ export default { '@umbraco-cms/resource-api': './src/core/resource-api', '@umbraco-cms/utils': './src/core/utils/index.ts', '@umbraco-cms/test-utils': './src/core/test-utils/index.ts', - '@umbraco-cms/controllers': './src/core/controllers', + '@umbraco-cms/resources': './src/core/resources', '@umbraco-cms/services': './src/core/services', '@umbraco-cms/extensions-registry': './src/core/extensions-registry/index.ts', },