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?