From b6c2137cbcbac45d1bef79bfe1dabe6a2a016418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Wed, 28 Feb 2024 07:53:42 +0100 Subject: [PATCH] notes for dirty state --- .../editable-workspace-context-base.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-context/editable-workspace-context-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-context/editable-workspace-context-base.ts index 10fddd0daf..9c3d9f74be 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-context/editable-workspace-context-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-context/editable-workspace-context-base.ts @@ -1,13 +1,13 @@ import { UMB_WORKSPACE_CONTEXT } from './workspace-context.token.js'; import type { UmbSaveableWorkspaceContextInterface } from './saveable-workspace-context.interface.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { UmbBaseController } from '@umbraco-cms/backoffice/class-api'; +import { UmbContextBase } from '@umbraco-cms/backoffice/class-api'; import { UmbBooleanState } from '@umbraco-cms/backoffice/observable-api'; import type { UmbModalContext } from '@umbraco-cms/backoffice/modal'; import { UMB_MODAL_CONTEXT } from '@umbraco-cms/backoffice/modal'; export abstract class UmbEditableWorkspaceContextBase - extends UmbBaseController + extends UmbContextBase> implements UmbSaveableWorkspaceContextInterface { public readonly workspaceAlias: string; @@ -18,10 +18,17 @@ export abstract class UmbEditableWorkspaceContextBase #isNew = new UmbBooleanState(undefined); isNew = this.#isNew.asObservable(); + /* + Concept notes: [NL] + Considerations are, if we bring a dirty state (observable) we need to maintain it all the time. + This might be too heavy process, so we might want to consider just having a get dirty state method. + */ + //#isDirty = new UmbBooleanState(undefined); + //isDirty = this.#isNew.asObservable(); + constructor(host: UmbControllerHost, workspaceAlias: string) { - super(host); + super(host, UMB_WORKSPACE_CONTEXT.toString()); this.workspaceAlias = workspaceAlias; - this.provideContext(UMB_WORKSPACE_CONTEXT, this); this.consumeContext(UMB_MODAL_CONTEXT, (context) => { (this.modalContext as UmbModalContext) = context; }); @@ -49,6 +56,7 @@ export abstract class UmbEditableWorkspaceContextBase } } + //abstract getIsDirty(): Promise; abstract getUnique(): string | undefined; // TODO: Consider if this should go away/be renamed? now that we have getUnique() abstract getEntityType(): string; abstract getData(): WorkspaceDataModelType | undefined;