From 8465793de7cb54b9e90effae38b056d8dfe191e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Mon, 23 Jan 2023 14:55:56 +0100 Subject: [PATCH] correct types --- .../documents/documents/document.detail.store.ts | 2 +- .../workspace/document-workspace.context.ts | 10 +++++----- .../settings/data-types/data-type.store.ts | 5 +++-- .../shared/collection/collection.context.ts | 4 ++-- .../workspace-content/workspace-content.context.ts | 4 ++-- src/Umbraco.Web.UI.Client/src/core/stores/store.ts | 14 +++++++------- 6 files changed, 20 insertions(+), 19 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/document.detail.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/document.detail.store.ts index 484f6cc005..dd5b32b182 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/document.detail.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/document.detail.store.ts @@ -19,7 +19,7 @@ export const UMB_DOCUMENT_DETAIL_STORE_CONTEXT_TOKEN = new UmbContextToken { - private _data = new UniqueArrayBehaviorSubject([], (a, b) => a.key === b.key); + private _data = new UniqueArrayBehaviorSubject([], (x) => x.key); constructor(host: UmbControllerHostInterface) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts index 368d118371..edb54a7eb6 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts @@ -1,6 +1,6 @@ import { UmbWorkspaceContentContext } from '../../../shared/components/workspace/workspace-content/workspace-content.context'; -import { DOCUMENT_DETAIl_STORE_ALIAS } from '../document.detail.store'; -import type { UmbDocumentDetailStore, UmbDocumentStoreItemType } from '../document.detail.store'; +import { DOCUMENT_DETAIL_STORE_ALIAS } from '../document.detail.store'; +import type { UmbDocumentDetailStore } from '../document.detail.store'; import type { UmbControllerHostInterface } from '@umbraco-cms/controller'; import type { DocumentDetails } from '@umbraco-cms/models'; import { appendToFrozenArray } from '@umbraco-cms/observable-api'; @@ -32,11 +32,11 @@ const DefaultDocumentData = { name: '', }, ], -} as UmbDocumentStoreItemType; +} as DocumentDetails; -export class UmbWorkspaceDocumentContext extends UmbWorkspaceContentContext { +export class UmbWorkspaceDocumentContext extends UmbWorkspaceContentContext { constructor(host: UmbControllerHostInterface) { - super(host, DefaultDocumentData, DOCUMENT_DETAIl_STORE_ALIAS, 'document'); + super(host, DefaultDocumentData, DOCUMENT_DETAIL_STORE_ALIAS, 'document'); } public setPropertyValue(alias: string, value: unknown) { diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/data-type.store.ts b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/data-type.store.ts index 7ffda6749a..e6708b35cd 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/data-type.store.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/settings/data-types/data-type.store.ts @@ -1,9 +1,9 @@ import { map, Observable } from 'rxjs'; -import { UmbDataStoreBase } from '../../../core/stores/store'; import type { DataTypeDetails } from '@umbraco-cms/models'; import { DataTypeResource, FolderTreeItem } from '@umbraco-cms/backend-api'; import { tryExecuteAndNotify } from '@umbraco-cms/resources'; import { UmbContextToken } from '@umbraco-cms/context-api'; +import { UmbStoreBase } from '@umbraco-cms/stores/store-base'; const isDataTypeDetails = (dataType: DataTypeDetails | FolderTreeItem): dataType is DataTypeDetails => { return (dataType as DataTypeDetails).data !== undefined; @@ -22,7 +22,8 @@ export const STORE_ALIAS = 'UmbDataTypeStore'; * @extends {UmbDataStoreBase} * @description - Data Store for Data Types */ -export class UmbDataTypeStore extends UmbDataStoreBase { +export class UmbDataTypeStore extends UmbStoreBase { + public readonly storeAlias = STORE_ALIAS; /** diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.context.ts index 3bdcfe9ebc..8a23c626b1 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/collection/collection.context.ts @@ -1,11 +1,11 @@ import { ContentTreeItem } from '@umbraco-cms/backend-api'; -import { UmbTreeStore } from '@umbraco-cms/stores/store'; +import { UmbTreeDataStore } from '@umbraco-cms/stores/store'; import { UmbControllerHostInterface } from '@umbraco-cms/controller'; import { UmbContextToken, UmbContextConsumerController } from '@umbraco-cms/context-api'; import { UniqueBehaviorSubject, UmbObserverController } from '@umbraco-cms/observable-api'; export class UmbCollectionContext< DataType extends ContentTreeItem, - StoreType extends UmbTreeStore = UmbTreeStore + StoreType extends UmbTreeDataStore = UmbTreeDataStore > { private _host: UmbControllerHostInterface; private _entityKey: string | null; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/workspace-content.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/workspace-content.context.ts index 474b773663..2fa4f7b445 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/workspace-content.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-content/workspace-content.context.ts @@ -10,8 +10,8 @@ import type { ContentDetails } from '@umbraco-cms/models'; // TODO: Consider if its right to have this many class-inheritance of WorkspaceContext // TODO: Could we extract this code into a 'Manager' of its own, which will be instantiated by the concrete Workspace Context. This will be more transparent and 'reuseable' export abstract class UmbWorkspaceContentContext< - ContentTypeType extends ContentDetails, - StoreType extends UmbContentStore + ContentTypeType extends ContentDetails = ContentDetails, + StoreType extends UmbContentStore = UmbContentStore > { protected _host: UmbControllerHostInterface; diff --git a/src/Umbraco.Web.UI.Client/src/core/stores/store.ts b/src/Umbraco.Web.UI.Client/src/core/stores/store.ts index c37274b158..d4f461b3c8 100644 --- a/src/Umbraco.Web.UI.Client/src/core/stores/store.ts +++ b/src/Umbraco.Web.UI.Client/src/core/stores/store.ts @@ -5,27 +5,27 @@ export interface UmbDataStoreIdentifiers { [more: string]: any; } -export interface UmbDataStore { +export interface UmbDataStore { readonly storeAlias: string; - // TODO: is items the right name? - readonly items: Observable>; - updateItems(items: Array): void; + // TODO: is it right to enforce these? Niels: Ill keep them out for now: + //readonly items: Observable>; + //updateItems(items: Array): void; } -export interface UmbTreeStore extends UmbDataStore { +export interface UmbTreeStore extends UmbDataStore { getTreeRoot(): Observable>; getTreeItemChildren(key: string): Observable>; } -export interface UmbContentStore extends UmbDataStore { +export interface UmbContentStore extends UmbDataStore { /** * @description - Request data by key. The data is added to the store and is returned as an Observable. * @param {string} key * @return {*} {(Observable)} * @memberof UmbDataStoreBase */ - getByKey(key: string): Observable; + getByKey(key: string): Observable; /** * @description - Save data.