From 1ba235cade0e2127a9fdd2b09de4a5cadb44ce31 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Sun, 19 Nov 2023 11:37:07 +0100 Subject: [PATCH] start fixing --- .../consume/context-consumer.test.ts | 22 +++++++++---------- .../consume/context-request.event.ts | 15 ++++++++----- .../provide/context-provide.event.ts | 7 ++++-- .../context-api/provide/context-provider.ts | 20 ++++++++++------- .../mocks/handlers/data-type/copy.handlers.ts | 4 ++-- .../handlers/data-type/detail.handlers.ts | 10 ++++----- .../handlers/data-type/folder.handlers.ts | 12 +++++----- .../mocks/handlers/data-type/item.handlers.ts | 4 ++-- .../mocks/handlers/data-type/move.handlers.ts | 4 ++-- .../src/mocks/handlers/data-type/slug.ts | 2 +- .../mocks/handlers/data-type/tree.handlers.ts | 6 ++--- .../src/mocks/handlers/document-type/slug.ts | 2 +- .../src/mocks/handlers/document/slug.ts | 2 +- .../src/mocks/handlers/user-group/slug.ts | 2 +- .../src/mocks/handlers/user/slug.ts | 2 +- .../core/debug/context-debug.controller.ts | 9 +++++--- 16 files changed, 67 insertions(+), 56 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.test.ts b/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.test.ts index e3b82c2da9..de09346140 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.test.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-consumer.test.ts @@ -2,7 +2,7 @@ import { expect, oneEvent } from '@open-wc/testing'; import { UmbContextProvider } from '../provide/context-provider.js'; import { UmbContextToken } from '../token/context-token.js'; import { UmbContextConsumer } from './context-consumer.js'; -import { UmbContextRequestEventImplementation, umbContextRequestEventType } from './context-request.event.js'; +import { UmbContextRequestEventImplementation, UMB_ContextRequestEventType } from './context-request.event.js'; const testContextAlias = 'my-test-context'; @@ -32,13 +32,13 @@ describe('UmbContextConsumer', () => { describe('events', () => { it('dispatches context request event when constructed', async () => { - const listener = oneEvent(window, umbContextRequestEventType); + const listener = oneEvent(window, UMB_ContextRequestEventType); consumer.hostConnected(); const event = (await listener) as unknown as UmbContextRequestEventImplementation; expect(event).to.exist; - expect(event.type).to.eq(umbContextRequestEventType); + expect(event.type).to.eq(UMB_ContextRequestEventType); expect(event.contextAlias).to.eq(testContextAlias); consumer.hostDisconnected(); }); @@ -62,7 +62,7 @@ describe('UmbContextConsumer', () => { localConsumer.hostDisconnected(); provider.hostDisconnected(); } - } + }, ); localConsumer.hostConnected(); }); @@ -99,7 +99,6 @@ describe('UmbContextConsumer', () => { }); describe('UmbContextConsumer with discriminator test', () => { - type A = { prop: string }; function discriminator(instance: unknown): instance is A { @@ -111,16 +110,17 @@ describe('UmbContextConsumer with discriminator test', () => { } it('discriminator determines the instance type', async () => { - const localConsumer = new UmbContextConsumer( document.body, new UmbContextToken(testContextAlias, discriminator), - (instance: A) => { console.log(instance)} + (instance: A) => { + console.log(instance); + }, ); localConsumer.hostConnected(); // This bit of code is not really a test but it serves as a TypeScript type test, making sure the given type is matches the one given from the Discriminator method. - type TestType = Exclude<(typeof localConsumer.instance), undefined> extends A ? true : never; + type TestType = Exclude extends A ? true : never; const test: TestType = true; expect(test).to.be.true; @@ -142,7 +142,7 @@ describe('UmbContextConsumer with discriminator test', () => { done(); localConsumer.hostDisconnected(); provider.hostDisconnected(); - } + }, ); localConsumer.hostConnected(); }); @@ -159,7 +159,7 @@ describe('UmbContextConsumer with discriminator test', () => { new UmbContextToken(testContextAlias, badDiscriminator), (_instance) => { expect(_instance.prop).to.eq('this must not happen!'); - } + }, ); localConsumer.hostConnected(); @@ -169,6 +169,4 @@ describe('UmbContextConsumer with discriminator test', () => { provider.hostDisconnected(); }); }); - - }); diff --git a/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-request.event.ts b/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-request.event.ts index 6b2d64bafc..87da693018 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-request.event.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/context-api/consume/context-request.event.ts @@ -1,7 +1,7 @@ import { UmbContextToken } from '../token/context-token.js'; -export const umbContextRequestEventType = 'umb:context-request'; -export const umbDebugContextEventType = 'umb:debug-contexts'; +export const UMB_ContextRequestEventType = 'umb:context-request'; +export const UMB_umbDebugContextEventType = 'umb:debug-contexts'; export type UmbContextCallback = (instance: T) => void; @@ -20,17 +20,20 @@ export interface UmbContextRequestEvent extends Event { * @extends {Event} * @implements {UmbContextRequestEvent} */ -export class UmbContextRequestEventImplementation extends Event implements UmbContextRequestEvent { +export class UmbContextRequestEventImplementation + extends Event + implements UmbContextRequestEvent +{ public constructor( public readonly contextAlias: string | UmbContextToken, - public readonly callback: (context: ResultType) => boolean + public readonly callback: (context: ResultType) => boolean, ) { - super(umbContextRequestEventType, { bubbles: true, composed: true, cancelable: true }); + super(UMB_ContextRequestEventType, { bubbles: true, composed: true, cancelable: true }); } } export class UmbContextDebugRequest extends Event { public constructor(public readonly callback: any) { - super(umbDebugContextEventType, { bubbles: true, composed: true, cancelable: false }); + super(UMB_umbDebugContextEventType, { bubbles: true, composed: true, cancelable: false }); } } diff --git a/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provide.event.ts b/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provide.event.ts index 369a86c87f..6c17eb07ea 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provide.event.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provide.event.ts @@ -1,6 +1,6 @@ import { UmbContextToken } from '../token/context-token.js'; -export const umbContextProvideEventType = 'umb:context-provide'; +export const UMB_ContextProvideEventType = 'umb:context-provide'; /** * @export @@ -44,7 +44,10 @@ export interface UmbContextUnprovidedEvent extends Event { * @implements {UmbContextUnprovidedEvent} */ export class UmbContextUnprovidedEventImplementation extends Event implements UmbContextUnprovidedEvent { - public constructor(public readonly contextAlias: string | UmbContextToken, public readonly instance: unknown) { + public constructor( + public readonly contextAlias: string | UmbContextToken, + public readonly instance: unknown, + ) { super(umbContextUnprovidedEventType, { bubbles: true, composed: true }); } } diff --git a/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.ts b/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.ts index 10d43595ec..337430ab32 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/context-api/provide/context-provider.ts @@ -1,7 +1,7 @@ import { UmbContextRequestEvent, - umbContextRequestEventType, - umbDebugContextEventType, + UMB_ContextRequestEventType, + UMB_umbDebugContextEventType, } from '../consume/context-request.event.js'; import { UmbContextToken } from '../token/context-token.js'; import { @@ -35,7 +35,11 @@ export class UmbContextProvider, instance: ResultType) { + constructor( + hostElement: EventTarget, + contextAlias: string | UmbContextToken, + instance: ResultType, + ) { this.hostElement = hostElement; this._contextAlias = contextAlias.toString(); this.#instance = instance; @@ -52,7 +56,7 @@ export class UmbContextProvider { diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/copy.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/copy.handlers.ts index 6ad52472c7..6302536188 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/copy.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/copy.handlers.ts @@ -1,10 +1,10 @@ const { rest } = window.MockServiceWorker; import { umbDataTypeData } from '../../data/data-type.data.js'; -import { slug } from './slug.js'; +import { UMB_slug } from './slug.js'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; export const copyHandlers = [ - rest.post(umbracoPath(`${slug}/:id/copy`), async (req, res, ctx) => { + rest.post(umbracoPath(`${UMB_slug}/:id/copy`), async (req, res, ctx) => { const id = req.params.id as string; if (!id) return; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/detail.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/detail.handlers.ts index f7f59cf5e0..2cd1d3b08a 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/detail.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/detail.handlers.ts @@ -1,10 +1,10 @@ const { rest } = window.MockServiceWorker; import { umbDataTypeData } from '../../data/data-type.data.js'; -import { slug } from './slug.js'; +import { UMB_slug } from './slug.js'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; export const detailHandlers = [ - rest.post(umbracoPath(`${slug}`), async (req, res, ctx) => { + rest.post(umbracoPath(`${UMB_slug}`), async (req, res, ctx) => { const data = await req.json(); if (!data) return; @@ -13,7 +13,7 @@ export const detailHandlers = [ return res(ctx.status(200)); }), - rest.get(umbracoPath(`${slug}/:id`), (req, res, ctx) => { + rest.get(umbracoPath(`${UMB_slug}/:id`), (req, res, ctx) => { const id = req.params.id as string; if (!id) return; @@ -22,7 +22,7 @@ export const detailHandlers = [ return res(ctx.status(200), ctx.json(dataType)); }), - rest.put(umbracoPath(`${slug}/:id`), async (req, res, ctx) => { + rest.put(umbracoPath(`${UMB_slug}/:id`), async (req, res, ctx) => { const id = req.params.id as string; if (!id) return; const data = await req.json(); @@ -33,7 +33,7 @@ export const detailHandlers = [ return res(ctx.status(200), ctx.json(saved)); }), - rest.delete(umbracoPath(`${slug}/:id`), async (req, res, ctx) => { + rest.delete(umbracoPath(`${UMB_slug}/:id`), async (req, res, ctx) => { const id = req.params.id as string; if (!id) return; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/folder.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/folder.handlers.ts index dbf40c4849..19cb012e8c 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/folder.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/folder.handlers.ts @@ -1,11 +1,11 @@ const { rest } = window.MockServiceWorker; import { umbDataTypeData } from '../../data/data-type.data.js'; -import { slug } from './slug.js'; +import { UMB_slug } from './slug.js'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; import { ProblemDetails } from '@umbraco-cms/backoffice/backend-api'; export const folderHandlers = [ - rest.post(umbracoPath(`${slug}/folder`), async (req, res, ctx) => { + rest.post(umbracoPath(`${UMB_slug}/folder`), async (req, res, ctx) => { const data = await req.json(); if (!data) return; @@ -14,7 +14,7 @@ export const folderHandlers = [ return res(ctx.status(200)); }), - rest.get(umbracoPath(`${slug}/folder/:id`), (req, res, ctx) => { + rest.get(umbracoPath(`${UMB_slug}/folder/:id`), (req, res, ctx) => { const id = req.params.id as string; if (!id) return; @@ -23,7 +23,7 @@ export const folderHandlers = [ return res(ctx.status(200), ctx.json(dataType)); }), - rest.put(umbracoPath(`${slug}/folder/:id`), async (req, res, ctx) => { + rest.put(umbracoPath(`${UMB_slug}/folder/:id`), async (req, res, ctx) => { const id = req.params.id as string; if (!id) return; const data = await req.json(); @@ -34,7 +34,7 @@ export const folderHandlers = [ return res(ctx.status(200)); }), - rest.delete(umbracoPath(`${slug}/folder/:id`), async (req, res, ctx) => { + rest.delete(umbracoPath(`${UMB_slug}/folder/:id`), async (req, res, ctx) => { const id = req.params.id as string; if (!id) return; @@ -48,7 +48,7 @@ export const folderHandlers = [ status: 404, type: 'error', detail: 'Not Found', - }) + }), ); } }), diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/item.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/item.handlers.ts index 4f36e4cc15..529d661889 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/item.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/item.handlers.ts @@ -1,10 +1,10 @@ const { rest } = window.MockServiceWorker; import { umbDataTypeData } from '../../data/data-type.data.js'; -import { slug } from './slug.js'; +import { UMB_slug } from './slug.js'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; export const itemHandlers = [ - rest.get(umbracoPath(`${slug}/item`), (req, res, ctx) => { + rest.get(umbracoPath(`${UMB_slug}/item`), (req, res, ctx) => { const ids = req.url.searchParams.getAll('id'); if (!ids) return; const items = umbDataTypeData.getItems(ids); diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/move.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/move.handlers.ts index ca9705f016..449da3a152 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/move.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/move.handlers.ts @@ -1,10 +1,10 @@ const { rest } = window.MockServiceWorker; import { umbDataTypeData } from '../../data/data-type.data.js'; -import { slug } from './slug.js'; +import { UMB_slug } from './slug.js'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; export const moveHandlers = [ - rest.post(umbracoPath(`${slug}/:id/move`), async (req, res, ctx) => { + rest.post(umbracoPath(`${UMB_slug}/:id/move`), async (req, res, ctx) => { const id = req.params.id as string; if (!id) return; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/slug.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/slug.ts index 5c453df84c..ea3fa50a08 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/slug.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/slug.ts @@ -1 +1 @@ -export const slug = '/data-type'; +export const UMB_slug = '/data-type'; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/tree.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/tree.handlers.ts index ede1f89ed0..eee6d962de 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/tree.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/data-type/tree.handlers.ts @@ -1,10 +1,10 @@ const { rest } = window.MockServiceWorker; import { umbDataTypeData } from '../../data/data-type.data.js'; -import { slug } from './slug.js'; +import { UMB_slug } from './slug.js'; import { umbracoPath } from '@umbraco-cms/backoffice/utils'; export const treeHandlers = [ - rest.get(umbracoPath(`/tree${slug}/root`), (req, res, ctx) => { + rest.get(umbracoPath(`/tree${UMB_slug}/root`), (req, res, ctx) => { const rootItems = umbDataTypeData.getTreeRoot(); const response = { total: rootItems.length, @@ -13,7 +13,7 @@ export const treeHandlers = [ return res(ctx.status(200), ctx.json(response)); }), - rest.get(umbracoPath(`/tree${slug}/children`), (req, res, ctx) => { + rest.get(umbracoPath(`/tree${UMB_slug}/children`), (req, res, ctx) => { const parentId = req.url.searchParams.get('parentId'); if (!parentId) return; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/document-type/slug.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/document-type/slug.ts index d81153decf..d3d80699da 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/document-type/slug.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/document-type/slug.ts @@ -1 +1 @@ -export const slug = '/document-type'; +export const UMB_slug = '/document-type'; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/document/slug.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/document/slug.ts index 41f97d489d..47bff95e8f 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/document/slug.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/document/slug.ts @@ -1 +1 @@ -export const slug = '/document'; +export const UMB_slug = '/document'; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/user-group/slug.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/user-group/slug.ts index 25f6d8e6d1..ef669c0ea4 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/user-group/slug.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/user-group/slug.ts @@ -1 +1 @@ -export const slug = '/user-group'; +export const UMB_slug = '/user-group'; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/user/slug.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/user/slug.ts index 3fe8da435e..abc05a1f37 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/user/slug.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/user/slug.ts @@ -1 +1 @@ -export const slug = '/user'; +export const UMB_slug = '/user'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/debug/context-debug.controller.ts b/src/Umbraco.Web.UI.Client/src/packages/core/debug/context-debug.controller.ts index 7c68b47b21..e174fb50d1 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/debug/context-debug.controller.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/debug/context-debug.controller.ts @@ -1,4 +1,4 @@ -import { contextData, umbDebugContextEventType } from '@umbraco-cms/backoffice/context-api'; +import { contextData, UMB_umbDebugContextEventType } from '@umbraco-cms/backoffice/context-api'; import { UmbBaseController, UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; // Temp controller to get the code away from the app.element.ts @@ -11,7 +11,10 @@ export class UmbContextDebugController extends UmbBaseController { super.hostConnected(); // Maybe this could be part of the context-api? When we create a new root, we could attach the debugger to it? // Listen for the debug event from the component - this.getHostElement().addEventListener(umbDebugContextEventType, this.#onContextDebug as unknown as EventListener); + this.getHostElement().addEventListener( + UMB_umbDebugContextEventType, + this.#onContextDebug as unknown as EventListener, + ); } #onContextDebug = (event: any) => { @@ -38,7 +41,7 @@ export class UmbContextDebugController extends UmbBaseController { hostDisconnected(): void { super.hostDisconnected(); this.getHostElement().removeEventListener( - umbDebugContextEventType, + UMB_umbDebugContextEventType, this.#onContextDebug as unknown as EventListener, ); }