From c86ea759f8d70cbd4e3d9422c4b54e37067f4a37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Tue, 1 Oct 2024 10:39:36 +0200 Subject: [PATCH] use types --- .../repository/detail/detail-repository-base.ts | 13 +++++++++---- .../src/packages/core/repository/index.ts | 2 +- .../src/packages/core/repository/types.ts | 2 +- .../workspace/document-workspace.context.ts | 5 +++-- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/repository/detail/detail-repository-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/repository/detail/detail-repository-base.ts index 33bc4e0864..5f7d695eaa 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/repository/detail/detail-repository-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/repository/detail/detail-repository-base.ts @@ -1,4 +1,5 @@ import { UmbRepositoryBase } from '../repository-base.js'; +import type { UmbRepositoryResponse, UmbRepositoryResponseWithAsObservable } from '../types.js'; import type { UmbDetailDataSource, UmbDetailDataSourceConstructor } from './detail-data-source.interface.js'; import type { UmbDetailRepository } from './detail-repository.interface.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; @@ -51,7 +52,7 @@ export abstract class UmbDetailRepositoryBase< * @returns {*} * @memberof UmbDetailRepositoryBase */ - async createScaffold(preset?: Partial) { + async createScaffold(preset?: Partial): Promise> { return this.detailDataSource.createScaffold(preset); } @@ -61,7 +62,7 @@ export abstract class UmbDetailRepositoryBase< * @returns {*} * @memberof UmbDetailRepositoryBase */ - async requestByUnique(unique: string) { + async requestByUnique(unique: string): Promise> { if (!unique) throw new Error('Unique is missing'); await this.#init; @@ -71,7 +72,11 @@ export abstract class UmbDetailRepositoryBase< this.#detailStore!.append(data); } - return { data, error, asObservable: () => this.#detailStore!.byUnique(unique) }; + return { + data, + error, + asObservable: () => this.#detailStore!.byUnique(unique), + }; } /** @@ -81,7 +86,7 @@ export abstract class UmbDetailRepositoryBase< * @returns {*} * @memberof UmbDetailRepositoryBase */ - async create(model: DetailModelType, parentUnique: string | null) { + async create(model: DetailModelType, parentUnique: string | null): Promise> { if (!model) throw new Error('Data is missing'); await this.#init; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/repository/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/repository/index.ts index de9d2f55c2..3d2bf2606a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/repository/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/repository/index.ts @@ -5,4 +5,4 @@ export * from './item/index.js'; export * from './detail/index.js'; export type { UmbDataSourceResponse, UmbDataSourceErrorResponse } from './data-source-response.interface.js'; -export type { UmbPagedModel, UmbRepositoryResponse, UmbRepositoryErrorResponse } from './types.js'; +export type * from './types.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/repository/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/repository/types.ts index 5dd91e0392..958077f2aa 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/repository/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/repository/types.ts @@ -12,5 +12,5 @@ export interface UmbRepositoryResponse extends UmbDataSourceResponse {} export interface UmbRepositoryErrorResponse extends UmbDataSourceErrorResponse {} export interface UmbRepositoryResponseWithAsObservable extends UmbRepositoryResponse { - asObservable?: () => Observable; + asObservable: () => Observable; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts index f1cfb421d7..1f0bcc268a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace.context.ts @@ -26,6 +26,7 @@ import { import { UMB_DOCUMENTS_SECTION_PATH } from '../../section/paths.js'; import { UmbDocumentPreviewRepository } from '../repository/preview/index.js'; import { sortVariants } from '../utils.js'; +import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../collection/index.js'; import { UMB_DOCUMENT_DETAIL_MODEL_VARIANT_SCAFFOLD, UMB_DOCUMENT_WORKSPACE_ALIAS } from './constants.js'; import { UmbEntityContext, type UmbEntityModel } from '@umbraco-cms/backoffice/entity'; import { UMB_INVARIANT_CULTURE, UmbVariantId } from '@umbraco-cms/backoffice/variant'; @@ -73,7 +74,7 @@ import type { UmbDocumentTypeDetailModel } from '@umbraco-cms/backoffice/documen import { UmbIsTrashedEntityContext } from '@umbraco-cms/backoffice/recycle-bin'; import { UmbReadOnlyVariantStateManager } from '@umbraco-cms/backoffice/utils'; import { UmbDataTypeItemRepositoryManager } from '@umbraco-cms/backoffice/data-type'; -import { UMB_DOCUMENT_COLLECTION_ALIAS } from '../collection/index.js'; +import type { UmbRepositoryResponse } from '@umbraco-cms/backoffice/repository'; type EntityModel = UmbDocumentDetailModel; type EntityTypeModel = UmbDocumentTypeDetailModel; @@ -95,8 +96,8 @@ export class UmbDocumentWorkspaceContext readonly parentEntityType = this.#parent.asObservablePart((parent) => (parent ? parent.entityType : undefined)); readonly #data = new UmbContentWorkspaceDataManager(this, UMB_DOCUMENT_DETAIL_MODEL_VARIANT_SCAFFOLD); + #getDataPromise?: Promise>; - #getDataPromise?: Promise; // TODo: Optimize this so it uses either a App Language Context? [NL] #languageRepository = new UmbLanguageCollectionRepository(this); #languages = new UmbArrayState([], (x) => x.unique);