refactor into class-api

This commit is contained in:
Niels Lyngsø
2023-11-28 12:56:07 +01:00
parent 5889cc8556
commit d997e8fbb1
75 changed files with 1281 additions and 437 deletions

View File

@@ -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');

View File

@@ -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) => {