move context token into folder

This commit is contained in:
Mads Rasmussen
2023-03-23 10:46:47 +01:00
parent 6c01edafe8
commit 4bc178020d
9 changed files with 25 additions and 21 deletions

View File

@@ -1,4 +1,4 @@
import { UmbContextToken } from '../context-token';
import { UmbContextToken } from '../token/context-token';
import { UmbContextConsumer } from './context-consumer';
import { UmbContextCallback } from './context-request.event';
import type { UmbControllerHostInterface, UmbControllerInterface } from '@umbraco-cms/backoffice/controller';

View File

@@ -1,4 +1,4 @@
import { UmbContextToken } from '../context-token';
import { UmbContextToken } from '../token/context-token';
import { isUmbContextProvideEventType, umbContextProvideEventType } from '../provide/context-provide.event';
import { UmbContextRequestEventImplementation, UmbContextCallback } from './context-request.event';
@@ -7,10 +7,8 @@ import { UmbContextRequestEventImplementation, UmbContextCallback } from './cont
* @class UmbContextConsumer
*/
export class UmbContextConsumer<HostType extends EventTarget = EventTarget, T = unknown> {
_promise?: Promise<T>;
_promiseResolver?: (instance:T) => void;
_promiseResolver?: (instance: T) => void;
private _instance?: T;
get instance() {
@@ -44,9 +42,12 @@ export class UmbContextConsumer<HostType extends EventTarget = EventTarget, T =
};
public asPromise() {
return this._promise || (this._promise = new Promise<T>((resolve) => {
this._instance ? resolve(this._instance) : (this._promiseResolver = resolve);
}));
return (
this._promise ||
(this._promise = new Promise<T>((resolve) => {
this._instance ? resolve(this._instance) : (this._promiseResolver = resolve);
}))
);
}
/**

View File

@@ -1,4 +1,4 @@
import { UmbContextToken } from '../context-token';
import { UmbContextToken } from '../token/context-token';
export const umbContextRequestEventType = 'umb:context-request';
export const umbDebugContextEventType = 'umb:debug-contexts';
@@ -33,9 +33,8 @@ export const isUmbContextRequestEvent = (event: Event): event is UmbContextReque
return event.type === umbContextRequestEventType;
};
export class UmbContextDebugRequest extends Event {
public constructor(public readonly callback:any) {
public constructor(public readonly callback: any) {
super(umbDebugContextEventType, { bubbles: true, composed: true, cancelable: false });
}
}
}

View File

@@ -4,4 +4,4 @@ export * from './consume/context-request.event';
export * from './provide/context-provider.controller';
export * from './provide/context-provider';
export * from './provide/context-provide.event';
export * from './context-token';
export * from './token/context-token';

View File

@@ -1,4 +1,4 @@
import { UmbContextToken } from '../context-token';
import { UmbContextToken } from '../token/context-token';
export const umbContextProvideEventType = 'umb:context-provide';

View File

@@ -1,4 +1,4 @@
import { UmbContextToken } from '../context-token';
import { UmbContextToken } from '../token/context-token';
import { UmbContextProvider } from './context-provider';
import type { UmbControllerHostInterface, UmbControllerInterface } from '@umbraco-cms/backoffice/controller';

View File

@@ -1,5 +1,9 @@
import { umbContextRequestEventType, isUmbContextRequestEvent, umbDebugContextEventType } from '../consume/context-request.event';
import { UmbContextToken } from '../context-token';
import {
umbContextRequestEventType,
isUmbContextRequestEvent,
umbDebugContextEventType,
} from '../consume/context-request.event';
import { UmbContextToken } from '../token/context-token';
import { UmbContextProvideEventImplementation } from './context-provide.event';
/**
@@ -68,14 +72,14 @@ export class UmbContextProvider<HostType extends EventTarget = EventTarget> {
private _handleDebugContextRequest = (event: any) => {
// If the event doesn't have an instances property, create it.
if(!event.instances){
if (!event.instances) {
event.instances = new Map();
}
// If the event doesn't have an instance for this context, add it.
// Nearest to the DOM element of <umb-debug> will be added first
// as contexts can change/override deeper in the DOM
if(!event.instances.has(this._contextAlias)){
if (!event.instances.has(this._contextAlias)) {
event.instances.set(this._contextAlias, this.#instance);
}
};

View File

@@ -1,7 +1,7 @@
import { expect } from '@open-wc/testing';
import { UmbContextConsumer } from './consume/context-consumer';
import { UmbContextConsumer } from '../consume/context-consumer';
import { UmbContextToken } from './context-token';
import { UmbContextProvider } from './provide/context-provider';
import { UmbContextProvider } from '../provide/context-provider';
const testContextAlias = 'my-test-context';