refactor into class-api
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
|
||||
import { UmbBaseController, type UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
import { UmbBaseController } from '@umbraco-cms/backoffice/class-api';
|
||||
import { type UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
||||
import { UmbNumberState } from '@umbraco-cms/backoffice/observable-api';
|
||||
|
||||
// The Example Workspace Context Controller:
|
||||
export class WorkspaceContextCounter extends UmbBaseController {
|
||||
|
||||
// We always keep our states private, and expose the values as observables:
|
||||
#counter = new UmbNumberState(0);
|
||||
readonly counter = this.#counter.asObservable();
|
||||
|
||||
constructor(host: UmbControllerHost) {
|
||||
super(host);
|
||||
super(host, EXAMPLE_COUNTER_CONTEXT.toString());
|
||||
this.provideContext(EXAMPLE_COUNTER_CONTEXT, this);
|
||||
}
|
||||
|
||||
@@ -18,12 +18,10 @@ export class WorkspaceContextCounter extends UmbBaseController {
|
||||
increment() {
|
||||
this.#counter.next(this.#counter.value + 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Declare a api export, so Extension Registry can initialize this class:
|
||||
export const api = WorkspaceContextCounter;
|
||||
|
||||
|
||||
// Declare a Context Token that other elements can use to request the WorkspaceContextCounter:
|
||||
export const EXAMPLE_COUNTER_CONTEXT = new UmbContextToken<WorkspaceContextCounter>('example.workspaceContext.counter');
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import { UmbBaseController } from '@umbraco-cms/backoffice/controller-api';
|
||||
import { UmbBaseController } from '@umbraco-cms/backoffice/class-api';
|
||||
import type { UmbWorkspaceAction } from '@umbraco-cms/backoffice/workspace';
|
||||
import { EXAMPLE_COUNTER_CONTEXT } from './counter-workspace-context';
|
||||
|
||||
// The Example Incrementor Workspace Action Controller:
|
||||
export class ExampleIncrementorWorkspaceAction extends UmbBaseController implements UmbWorkspaceAction {
|
||||
|
||||
// This method is executed
|
||||
async execute() {
|
||||
await this.consumeContext(EXAMPLE_COUNTER_CONTEXT, (context) => {
|
||||
|
||||
Reference in New Issue
Block a user