diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/data-type-picker-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/data-type-picker-modal.token.ts index aab172f477..f128ceb2ad 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/data-type-picker-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/data-type-picker-modal.token.ts @@ -1,8 +1,8 @@ import type { UmbPickerModalValue, UmbTreePickerModalData } from '../modal.interfaces.js'; import { UmbModalToken } from './modal-token.js'; -import type { UmbEntityTreeItemModel } from '@umbraco-cms/backoffice/tree'; +import type { UmbUniqueTreeItemModel } from '@umbraco-cms/backoffice/tree'; -export type UmbDataTypePickerModalData = UmbTreePickerModalData; +export type UmbDataTypePickerModalData = UmbTreePickerModalData; export type UmbDataTypePickerModalValue = UmbPickerModalValue; export const UMB_DATA_TYPE_PICKER_MODAL = new UmbModalToken( diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/dictionary-item-picker-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/dictionary-item-picker-modal.token.ts index 14c4f80d06..95dfd0fbbd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/dictionary-item-picker-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/dictionary-item-picker-modal.token.ts @@ -1,8 +1,8 @@ -import type { UmbEntityTreeItemModel } from '../../tree/types.js'; +import type { UmbUniqueTreeItemModel } from '../../tree/types.js'; import { UmbModalToken } from './modal-token.js'; import type { UmbPickerModalValue, UmbTreePickerModalData } from '@umbraco-cms/backoffice/modal'; -export type UmbDictionaryItemPickerModalData = UmbTreePickerModalData; +export type UmbDictionaryItemPickerModalData = UmbTreePickerModalData; export type UmbDictionaryItemPickerModalValue = UmbPickerModalValue; export const UMB_DICTIONARY_ITEM_PICKER_MODAL = new UmbModalToken< diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/media-type-picker-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/media-type-picker-modal.token.ts index 23ad13899e..39b54a4817 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/media-type-picker-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/media-type-picker-modal.token.ts @@ -1,8 +1,8 @@ import { UmbModalToken } from './modal-token.js'; import type { UmbPickerModalValue, UmbTreePickerModalData } from '@umbraco-cms/backoffice/modal'; -import type { UmbEntityTreeItemModel } from '@umbraco-cms/backoffice/tree'; +import type { UmbUniqueTreeItemModel } from '@umbraco-cms/backoffice/tree'; -export type UmbMediaTypePickerModalData = UmbTreePickerModalData; +export type UmbMediaTypePickerModalData = UmbTreePickerModalData; export type UmbMediaTypePickerModalValue = UmbPickerModalValue; export const UMB_MEDIA_TYPE_PICKER_MODAL = new UmbModalToken( diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-item/entity-tree-item.context.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-item/entity-tree-item.context.ts deleted file mode 100644 index ab9a542a82..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-item/entity-tree-item.context.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { UmbTreeItemContextBase } from '../tree-item-base/tree-item-base.context.js'; -import type { UmbEntityTreeItemModel } from '../types.js'; -import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; - -export class UmbEntityTreeItemContext extends UmbTreeItemContextBase { - constructor(host: UmbControllerHostElement) { - super(host, (x: UmbEntityTreeItemModel) => x.id); - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-item/entity-tree-item.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-item/entity-tree-item.element.ts deleted file mode 100644 index 18725e6559..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-item/entity-tree-item.element.ts +++ /dev/null @@ -1,48 +0,0 @@ -import type { UmbEntityTreeItemModel } from '../types.js'; -import { UmbEntityTreeItemContext } from './entity-tree-item.context.js'; -import { css, html, nothing, customElement, property } from '@umbraco-cms/backoffice/external/lit'; -import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { UmbBackofficeManifestKind, UmbTreeItemElement } from '@umbraco-cms/backoffice/extension-registry'; -import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; - -// TODO: Move to separate file: -const manifest: UmbBackofficeManifestKind = { - type: 'kind', - alias: 'Umb.Kind.EntityTreeItem', - matchKind: 'entity', - matchType: 'treeItem', - manifest: { - type: 'treeItem', - elementName: 'umb-entity-tree-item', - }, -}; -umbExtensionsRegistry.register(manifest); - -@customElement('umb-entity-tree-item') -export class UmbEntityTreeItemElement extends UmbLitElement implements UmbTreeItemElement { - private _item?: UmbEntityTreeItemModel; - @property({ type: Object, attribute: false }) - public get item() { - return this._item; - } - public set item(value: UmbEntityTreeItemModel | undefined) { - this._item = value; - this.#context.setTreeItem(value); - } - - #context = new UmbEntityTreeItemContext(this); - - render() { - if (!this.item) return nothing; - return html``; - } - - static styles = [UmbTextStyles, css``]; -} - -declare global { - interface HTMLElementTagNameMap { - 'umb-entity-tree-item': UmbEntityTreeItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-item/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-item/index.ts deleted file mode 100644 index bf4c1f015c..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-item/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './entity-tree-item.context.js'; -export * from './entity-tree-item.element.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-store.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-store.ts deleted file mode 100644 index f3e17a76da..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/entity-tree-store.ts +++ /dev/null @@ -1,46 +0,0 @@ -import type { UmbTreeStore } from './tree-store.interface.js'; -import type { UmbEntityTreeItemModel } from './types.js'; -import { UmbStoreBase } from '@umbraco-cms/backoffice/store'; -import { UmbArrayState } from '@umbraco-cms/backoffice/observable-api'; -import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; - -/** - * @export - * @class UmbEntityTreeStore - * @extends {UmbStoreBase} - * @description - Entity Tree Store - */ -export class UmbEntityTreeStore - extends UmbStoreBase - implements UmbTreeStore -{ - constructor(host: UmbControllerHostElement, storeAlias: string) { - super(host, storeAlias, new UmbArrayState([], (x) => x.id)); - } - - /** - * An observable to observe the root items - * @memberof UmbEntityTreeStore - */ - rootItems = this._data.asObservablePart((items) => items.filter((item) => item.parentId === null)); - - /** - * Returns an observable to observe the children of a given parent - * @param {(string | null)} parentId - * @return {*} - * @memberof UmbEntityTreeStore - */ - childrenOf(parentId: string | null) { - return this._data.asObservablePart((items) => items.filter((item) => item.parentId === parentId)); - } - - /** - * Returns an observable to observe the items with the given ids - * @param {Array} ids - * @return {*} - * @memberof UmbEntityTreeStore - */ - items(ids: Array) { - return this._data.asObservablePart((items) => items.filter((item) => ids.includes(item.id ?? ''))); - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/index.ts index 13405078bf..01d898642e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/index.ts @@ -1,5 +1,4 @@ export * from './components/index.js'; -export * from './entity-tree-item/index.js'; export * from './tree-item-default/index.js'; export * from './tree-item-base/index.js'; export * from './tree-menu-item-default/index.js'; @@ -8,7 +7,6 @@ export * from './tree.element.js'; export * from './types.js'; export * from './tree-repository.interface.js'; export * from './tree-store.interface.js'; -export * from './entity-tree-store.js'; // Unique export * from './unique-tree-store.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-repository-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-repository-base.ts index bb494fc46d..47bd0f09b5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-repository-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/tree-repository-base.ts @@ -1,10 +1,5 @@ import type { UmbTreeStore } from './tree-store.interface.js'; -import type { - UmbEntityTreeItemModel, - UmbEntityTreeRootModel, - UmbUniqueTreeItemModel, - UmbUniqueTreeRootModel, -} from './types.js'; +import type { UmbUniqueTreeItemModel, UmbUniqueTreeRootModel } from './types.js'; import type { UmbTreeRepository } from './tree-repository.interface.js'; import type { UmbTreeDataSource, UmbTreeDataSourceConstructor } from './data-source/tree-data-source.interface.js'; import { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository'; @@ -24,9 +19,8 @@ import type { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; * @template TreeRootType */ export abstract class UmbTreeRepositoryBase< - // TODO: remove UmbEntityTreeItemModel when we have unique in place - TreeItemType extends UmbUniqueTreeItemModel | UmbEntityTreeItemModel, - TreeRootType extends UmbUniqueTreeRootModel | UmbEntityTreeRootModel, + TreeItemType extends UmbUniqueTreeItemModel, + TreeRootType extends UmbUniqueTreeRootModel, > extends UmbRepositoryBase implements UmbTreeRepository, UmbApi diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/types.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/types.ts index 0f0d67e0ad..81920d665f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/types.ts @@ -11,20 +11,6 @@ export interface UmbUniqueTreeItemModel extends UmbTreeItemModelBase { parentUnique: string | null; } -// Root export interface UmbUniqueTreeRootModel extends UmbTreeItemModelBase { unique: null; } - -// ------------------------------------ - -// TODO: remove this when we have unique for everything -export interface UmbEntityTreeItemModel extends UmbTreeItemModelBase { - id: string; - parentId: string | null; -} - -// TODO: remove this when we have unique for everything -export interface UmbEntityTreeRootModel extends UmbTreeItemModelBase { - id: null; -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/unique-tree-store.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/unique-tree-store.ts index 03128c7141..b1e25e9366 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/unique-tree-store.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/unique-tree-store.ts @@ -42,6 +42,6 @@ export class UmbUniqueTreeStore * @memberof UmbUniqueTreeStore */ items(uniques: Array) { - return this._data.asObservablePart((items) => items.filter((item) => uniques.includes(item.unique ?? ''))); + return this._data.asObservablePart((items) => items.filter((item) => uniques.includes(item.unique))); } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-context/entity-manager-controller.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-context/entity-manager-controller.ts index 26ded84e29..e5e1278a7a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-context/entity-manager-controller.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/workspace-context/entity-manager-controller.ts @@ -2,21 +2,17 @@ import { UmbId } from '@umbraco-cms/backoffice/id'; import type { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; -import type { - UmbNotificationDefaultData, - UmbNotificationContext} from '@umbraco-cms/backoffice/notification'; -import { - UMB_NOTIFICATION_CONTEXT, -} from '@umbraco-cms/backoffice/notification'; +import type { UmbNotificationDefaultData, UmbNotificationContext } from '@umbraco-cms/backoffice/notification'; +import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification'; import { UmbObjectState, UmbObserverController } from '@umbraco-cms/backoffice/observable-api'; import type { UmbEntityDetailStore } from '@umbraco-cms/backoffice/store'; -import type { UmbEntityTreeItemModel } from '@umbraco-cms/backoffice/tree'; +import type { UmbUniqueTreeItemModel } from '@umbraco-cms/backoffice/tree'; // Extend entityType base type?, so we are sure to have parentId? // TODO: switch to use EntityDetailItem ? if we can have such type? export class UmbEntityWorkspaceManager< StoreType extends UmbEntityDetailStore, - EntityDetailsType extends UmbEntityTreeItemModel = ReturnType, + EntityDetailsType extends UmbUniqueTreeItemModel = ReturnType, > { private _host; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.repository.ts index bfc2901e0c..37ff658fb9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.repository.ts @@ -16,7 +16,7 @@ export class UmbDocumentRecycleBinTreeRepository async requestTreeRoot() { const data = { - id: null, + unique: null, entityType: UMB_DOCUMENT_RECYCLE_BIN_ROOT_ENTITY_TYPE, name: 'Recycle Bin', icon: 'icon-trash', diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.server.data-source.ts index 1758264f02..6bc7b5cf8c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.server.data-source.ts @@ -44,8 +44,8 @@ const getChildrenOf = (parentUnique: string | null) => { const mapper = (item: DocumentRecycleBinItemResponseModel): UmbDocumentRecycleBinTreeItemModel => { return { - id: item.id, - parentId: item.parent ? item.parent.id : null, + unique: item.id, + parentUnique: item.parent ? item.parent.id : null, entityType: 'document-recycle-bin', hasChildren: item.hasChildren, isFolder: false, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.store.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.store.ts index aa7ffa7a64..8d884cdafd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/document-recycle-bin-tree.store.ts @@ -1,6 +1,6 @@ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; -import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/tree'; +import { UmbUniqueTreeStore } from '@umbraco-cms/backoffice/tree'; /** * @export @@ -8,7 +8,7 @@ import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/tree'; * @extends {UmbStoreBase} * @description - Tree Data Store for Document Recycle Bin Tree Items */ -export class UmbDocumentRecycleBinTreeStore extends UmbEntityTreeStore { +export class UmbDocumentRecycleBinTreeStore extends UmbUniqueTreeStore { /** * Creates an instance of UmbDocumentRecycleBinTreeStore. * @param {UmbControllerHostElement} host diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/manifests.ts index 616228072f..98b65c8230 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/manifests.ts @@ -38,7 +38,7 @@ const tree: ManifestTree = { const treeItem: ManifestTreeItem = { type: 'treeItem', - kind: 'entity', + kind: 'unique', alias: 'Umb.TreeItem.DocumentRecycleBin', name: 'DocumentRecycleBin Tree Item', meta: { diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/types.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/types.ts index 030dc87f93..de3d618eb8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/recycle-bin/tree/types.ts @@ -1,5 +1,5 @@ -import type { UmbEntityTreeItemModel, UmbEntityTreeRootModel } from '@umbraco-cms/backoffice/tree'; +import { UmbUniqueTreeItemModel, UmbUniqueTreeRootModel } from '@umbraco-cms/backoffice/tree'; -export interface UmbDocumentRecycleBinTreeItemModel extends UmbEntityTreeItemModel {} +export interface UmbDocumentRecycleBinTreeItemModel extends UmbUniqueTreeItemModel {} -export interface UmbDocumentRecycleBinTreeRootModel extends UmbEntityTreeRootModel {} +export interface UmbDocumentRecycleBinTreeRootModel extends UmbUniqueTreeRootModel {} diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection-view/media-grid-collection-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection-view/media-grid-collection-view.element.ts index 8944526b66..1507ce353f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection-view/media-grid-collection-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection-view/media-grid-collection-view.element.ts @@ -3,17 +3,17 @@ import { css, html, customElement, state, repeat } from '@umbraco-cms/backoffice import type { UmbDefaultCollectionContext } from '@umbraco-cms/backoffice/collection'; import { UMB_DEFAULT_COLLECTION_CONTEXT } from '@umbraco-cms/backoffice/collection'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import type { UmbEntityTreeItemModel } from '@umbraco-cms/backoffice/tree'; +import type { UmbUniqueTreeItemModel } from '@umbraco-cms/backoffice/tree'; @customElement('umb-media-grid-collection-view') export class UmbMediaGridCollectionViewElement extends UmbLitElement { @state() - private _mediaItems?: Array; + private _mediaItems?: Array; @state() private _selection: Array = []; - private _collectionContext?: UmbDefaultCollectionContext; + private _collectionContext?: UmbDefaultCollectionContext; constructor() { super(); @@ -58,31 +58,31 @@ export class UmbMediaGridCollectionViewElement extends UmbLitElement { }); } - private _handleOpenItem(mediaItem: UmbEntityTreeItemModel) { + private _handleOpenItem(mediaItem: UmbUniqueTreeItemModel) { //TODO: Fix when we have dynamic routing - history.pushState(null, '', 'section/media/media/edit/' + mediaItem.id); + history.pushState(null, '', 'section/media/media/edit/' + mediaItem.unique); } - private _handleSelect(mediaItem: UmbEntityTreeItemModel) { - if (mediaItem.id) { - this._collectionContext?.selection.select(mediaItem.id); + private _handleSelect(mediaItem: UmbUniqueTreeItemModel) { + if (mediaItem.unique) { + this._collectionContext?.selection.select(mediaItem.unique); } } - private _handleDeselect(mediaItem: UmbEntityTreeItemModel) { - if (mediaItem.id) { - this._collectionContext?.selection.deselect(mediaItem.id); + private _handleDeselect(mediaItem: UmbUniqueTreeItemModel) { + if (mediaItem.unique) { + this._collectionContext?.selection.deselect(mediaItem.unique); } } - private _isSelected(mediaItem: UmbEntityTreeItemModel) { - if (mediaItem.id) { - return this._selection.includes(mediaItem.id); + private _isSelected(mediaItem: UmbUniqueTreeItemModel) { + if (mediaItem.unique) { + return this._selection.includes(mediaItem.unique); } return false; } - private _renderMediaItem(item: UmbEntityTreeItemModel) { + private _renderMediaItem(item: UmbUniqueTreeItemModel) { const name = item.name || ''; //TODO: fix the file extension when media items have a file extension. return html` (file.id || '') + index, + (file, index) => (file.unique || '') + index, (file) => this._renderMediaItem(file), ) : ''} diff --git a/src/Umbraco.Web.UI.Client/src/packages/members/member-type/modal/member-type-picker-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/members/member-type/modal/member-type-picker-modal.token.ts index c9246a8ba1..4c0c7c9e0a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/members/member-type/modal/member-type-picker-modal.token.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/members/member-type/modal/member-type-picker-modal.token.ts @@ -1,8 +1,8 @@ +import { UmbUniqueTreeItemModel } from '@umbraco-cms/backoffice/tree'; import { UmbModalToken } from '../../../core/modal/token/modal-token.js'; import type { UmbPickerModalValue, UmbTreePickerModalData } from '@umbraco-cms/backoffice/modal'; -import type { UmbEntityTreeItemModel } from '@umbraco-cms/backoffice/tree'; -export type UmbMemberTypePickerModalData = UmbTreePickerModalData; +export type UmbMemberTypePickerModalData = UmbTreePickerModalData; export type UmbMemberTypePickerModalValue = UmbPickerModalValue; export const UMB_MEMBER_TYPE_PICKER_MODAL = new UmbModalToken< diff --git a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/manifests.ts index 3f3438a75d..ac87f9dc3e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/manifests.ts @@ -38,7 +38,7 @@ const tree: ManifestTree = { const treeItem: ManifestTreeItem = { type: 'treeItem', - kind: 'entity', + kind: 'unique', alias: 'Umb.TreeItem.RelationType', name: 'RelationType Tree Item', meta: { diff --git a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.repository.ts index b91d9590ea..7068595cf2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.repository.ts @@ -16,7 +16,7 @@ export class UmbRelationTypeTreeRepository async requestTreeRoot() { const data = { - id: null, + unique: null, entityType: UMB_RELATION_TYPE_ROOT_ENTITY_TYPE, name: 'Relation Types', hasChildren: true, diff --git a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.server.data-source.ts index 27320109f3..9bcf4d684c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.server.data-source.ts @@ -41,8 +41,8 @@ const getChildrenOf = (parentUnique: string | null) => { const mapper = (item: NamedEntityTreeItemResponseModel): UmbRelationTypeTreeItemModel => { return { - id: item.id, - parentId: item.parent ? item.parent.id : null, + unique: item.id, + parentUnique: item.parent ? item.parent.id : null, name: item.name, entityType: 'relation-type', hasChildren: item.hasChildren, diff --git a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.store.ts b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.store.ts index 84d41aa20f..afd88e9e5c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.store.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/relation-type-tree.store.ts @@ -1,6 +1,6 @@ import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; -import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/tree'; +import { UmbUniqueTreeStore } from '@umbraco-cms/backoffice/tree'; /** * @export @@ -8,7 +8,7 @@ import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/tree'; * @extends {UmbStoreBase} * @description - Tree Data Store for Relation Type Items */ -export class UmbRelationTypeTreeStore extends UmbEntityTreeStore { +export class UmbRelationTypeTreeStore extends UmbUniqueTreeStore { /** * Creates an instance of UmbRelationTypeTreeStore. * @param {UmbControllerHostElement} host diff --git a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/types.ts b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/types.ts index be526a7aa5..7ea81b1b73 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/types.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/relations/relation-types/tree/types.ts @@ -1,5 +1,4 @@ -import type { UmbEntityTreeItemModel, UmbEntityTreeRootModel } from '@umbraco-cms/backoffice/tree'; +import { UmbUniqueTreeItemModel, UmbUniqueTreeRootModel } from '@umbraco-cms/backoffice/tree'; -export interface UmbRelationTypeTreeItemModel extends UmbEntityTreeItemModel {} -// TODO: TREE STORE TYPE PROBLEM: -export interface UmbRelationTypeTreeRootModel extends UmbEntityTreeRootModel {} +export interface UmbRelationTypeTreeItemModel extends UmbUniqueTreeItemModel {} +export interface UmbRelationTypeTreeRootModel extends UmbUniqueTreeRootModel {} diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/components/insert-menu/templating-insert-menu.element.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/components/insert-menu/templating-insert-menu.element.ts index aab57ae965..d1b97affdc 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/components/insert-menu/templating-insert-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/components/insert-menu/templating-insert-menu.element.ts @@ -98,7 +98,7 @@ export class UmbTemplatingInsertMenuElement extends UmbLitElement { #openInsertDictionaryItemModal() { this.#openModal = this._modalContext?.open(UMB_DICTIONARY_ITEM_PICKER_MODAL, { data: { - pickableFilter: (item) => item.id !== null, + pickableFilter: (item) => item.unique !== null, }, }); this.#openModal?.onSubmit().then((value) => { diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/modals/insert-choose-type-sidebar.element.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/modals/insert-choose-type-sidebar.element.ts index 07589ef9f6..48b706dcdd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/modals/insert-choose-type-sidebar.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/modals/insert-choose-type-sidebar.element.ts @@ -61,7 +61,7 @@ export default class UmbChooseInsertTypeModalElement extends UmbModalBaseElement #openInsertDictionaryItemModal() { this.#openModal = this._modalContext?.open(UMB_DICTIONARY_ITEM_PICKER_MODAL, { data: { - pickableFilter: (item) => item.id !== null, + pickableFilter: (item) => item.unique !== null, }, }); this.#openModal?.onSubmit().then((dictionaryItemPickerModalValue) => {