From e7cd4fb42e316aa001c21f4399e9d1b99e2cb410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Wed, 15 May 2024 22:28:24 +0200 Subject: [PATCH] get name for dialog --- .../input-block-type/input-block-type.element.ts | 12 +++++++++--- .../src/packages/core/store/store-base.ts | 2 +- .../item/document-type-item-store.context-token.ts | 6 ++++++ .../repository/item/document-type-item.repository.ts | 2 +- .../repository/item/document-type-item.store.ts | 6 +----- .../document-types/repository/item/index.ts | 3 ++- 6 files changed, 20 insertions(+), 11 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item-store.context-token.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-type/components/input-block-type/input-block-type.element.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-type/components/input-block-type/input-block-type.element.ts index ef77263298..94bdbaa328 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-type/components/input-block-type/input-block-type.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-type/components/input-block-type/input-block-type.element.ts @@ -7,7 +7,10 @@ import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import type { UmbPropertyDatasetContext } from '@umbraco-cms/backoffice/property'; import { UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property'; import { UmbDeleteEvent } from '@umbraco-cms/backoffice/event'; -import { UMB_DOCUMENT_TYPE_PICKER_MODAL } from '@umbraco-cms/backoffice/document-type'; +import { + UMB_DOCUMENT_TYPE_ITEM_STORE_CONTEXT, + UMB_DOCUMENT_TYPE_PICKER_MODAL, +} from '@umbraco-cms/backoffice/document-type'; import { UmbSorterController } from '@umbraco-cms/backoffice/sorter'; /** TODO: Look into sending a "change" event when there is a change, rather than create, delete, and change event. Make sure it doesn't break move for RTE/List/Grid. [LI] */ @@ -123,10 +126,13 @@ export class UmbInputBlockTypeElement< } async #onRequestDelete(item: BlockType) { + const store = await this.getContext(UMB_DOCUMENT_TYPE_ITEM_STORE_CONTEXT); + const contentType = store.getItems([item.contentElementTypeKey]); await umbConfirmModal(this, { color: 'danger', - headline: `Remove [TODO: Get name]?`, - content: 'Are you sure you want to remove this block type?', + headline: `Remove ${contentType[0]?.name}?`, + // TODO: Translations: [NL] + content: 'Are you sure you want to remove this Block Type Configuration?', confirmLabel: 'Remove', }); this.deleteItem(item.contentElementTypeKey); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/store/store-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/store/store-base.ts index d333c1f4a2..1d51ad902a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/store/store-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/store/store-base.ts @@ -74,7 +74,7 @@ export class UmbStoreBase extends UmbContextBase imple * @returns {Array} * @memberof UmbStoreBase */ - getItems(uniques: Array) { + getItems(uniques: Array): Array { return this._data.getValue().filter((item) => uniques.includes(this._data.getUniqueMethod(item) as string)); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item-store.context-token.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item-store.context-token.ts new file mode 100644 index 0000000000..8a07283038 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item-store.context-token.ts @@ -0,0 +1,6 @@ +import type { UmbDocumentTypeItemStore } from './document-type-item.store.js'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; + +export const UMB_DOCUMENT_TYPE_ITEM_STORE_CONTEXT = new UmbContextToken( + 'UmbDocumentTypeItemStore', +); diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.repository.ts index c8a5d0fa7e..80362b89ee 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.repository.ts @@ -1,6 +1,6 @@ import type { UmbDocumentTypeItemModel } from './types.js'; import { UmbDocumentTypeItemServerDataSource } from './document-type-item.server.data-source.js'; -import { UMB_DOCUMENT_TYPE_ITEM_STORE_CONTEXT } from './document-type-item.store.js'; +import { UMB_DOCUMENT_TYPE_ITEM_STORE_CONTEXT } from './document-type-item-store.context-token.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbItemRepositoryBase } from '@umbraco-cms/backoffice/repository'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.store.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.store.ts index 7c9bae5794..3362035543 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.store.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/document-type-item.store.ts @@ -1,5 +1,5 @@ import type { UmbDocumentTypeItemModel } from './types.js'; -import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; +import { UMB_DOCUMENT_TYPE_ITEM_STORE_CONTEXT } from './document-type-item-store.context-token.js'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbItemStoreBase } from '@umbraco-cms/backoffice/store'; @@ -20,7 +20,3 @@ export class UmbDocumentTypeItemStore extends UmbItemStoreBase( - 'UmbDocumentTypeItemStore', -); diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/index.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/index.ts index 2ff626ece5..635759aa63 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/repository/item/index.ts @@ -1,3 +1,4 @@ -export { UmbDocumentTypeItemRepository } from './document-type-item.repository.js'; export { UMB_DOCUMENT_TYPE_ITEM_REPOSITORY_ALIAS, UMB_DOCUMENT_TYPE_ITEM_STORE_ALIAS } from './manifests.js'; +export { UmbDocumentTypeItemRepository } from './document-type-item.repository.js'; +export * from './document-type-item-store.context-token.js'; export * from './types.js';