move context token into folder
This commit is contained in:
@@ -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';
|
||||
|
||||
@@ -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);
|
||||
}))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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 });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { UmbContextToken } from '../context-token';
|
||||
import { UmbContextToken } from '../token/context-token';
|
||||
|
||||
export const umbContextProvideEventType = 'umb:context-provide';
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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';
|
||||
|
||||
Reference in New Issue
Block a user