use interface

This commit is contained in:
Niels Lyngsø
2023-02-03 10:42:21 +01:00
parent 3337f43b08
commit 2e8f102566
2 changed files with 15 additions and 13 deletions

View File

@@ -1,15 +1,19 @@
import { UmbWorkspaceContext } from '../../../shared/components/workspace/workspace-context/workspace-context';
import { UmbDocumentRepository } from '../repository/document.repository';
import { UmbWorkspaceContextInterface } from '../../../shared/components/workspace/workspace-context/workspace-context.interface';
import type { DocumentDetails } from '@umbraco-cms/models';
import { appendToFrozenArray, ObjectState } from '@umbraco-cms/observable-api';
import { UmbControllerHostInterface } from '@umbraco-cms/controller';
// TODO: should this contex be called DocumentDraft instead of workspace? or should the draft be part of this?
export class UmbDocumentWorkspaceContext extends UmbWorkspaceContext {
type EntityType = DocumentDetails;
export class UmbDocumentWorkspaceContext extends UmbWorkspaceContext implements UmbWorkspaceContextInterface<EntityType | undefined> {
#host: UmbControllerHostInterface;
#templateDetailRepo: UmbDocumentRepository;
#data = new ObjectState<DocumentDetails | undefined>(undefined);
#data = new ObjectState<EntityType | undefined>(undefined);
data = this.#data.asObservable();
name = this.#data.getObservablePart((data) => data?.name);
@@ -23,6 +27,12 @@ export class UmbDocumentWorkspaceContext extends UmbWorkspaceContext {
return this.#data.getValue();
}
/*
getUnique() {
return this.#data.getKey();
}
*/
setName(name: string) {
this.#data.update({ name });
}
@@ -30,12 +40,7 @@ export class UmbDocumentWorkspaceContext extends UmbWorkspaceContext {
getEntityType = this.#manager.getEntityType;
getUnique = this.#manager.getEntityKey;
getEntityKey = this.#manager.getEntityKey;
getStore = this.#manager.getStore;
getData = this.#manager.getData;
load = this.#manager.load;
create = this.#manager.create;
save = this.#manager.save;
destroy = this.#manager.destroy;
*/
/**

View File

@@ -4,13 +4,10 @@ export interface UmbWorkspaceContextInterface<T = unknown> {
readonly data: Observable<T>;
getUnique(): string | undefined;
//getUnique(): string | undefined;
getData(): T;
load(unique: string): void;
create(parentUnique: string | null): void;
destroy(): void;
}