Provide a Context
Providing a Context enables distant code to communicate with it, ideal way to incorporate central logic.
Provide a Context API
The recommended approach is to base your Context API on the UmbContextBase class, which provides automatic context registration. The following example shows how it's used:
import { UmbContextBase } from '@umbraco-cms/backoffice/class-api';
export class MyCustomContext extends UmbContextBase {
	constructor(host: UmbControllerHost) {
		super(host, MY_CUSTOM_CONTEXT);
	}
}
export const MY_CUSTOM_CONTEXT = new UmbContextToken<MyCustomContext, MyCustomContext>(
	'MyCustomContextUniqueAlias',
);For a practical implementation example, see the Extension Type Workspace Context article.
You can provide a Context API from any Umbraco Element or Umbraco Controller:
this.provideContext('myContextAlias', new MyContextApi());Or provide it from a Controller using a host reference to the Controller Host (Umbraco Element/Controller):
new UmbContextProviderController(host, 'myContextAlias', new MyContextApi());Last updated
Was this helpful?