diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.ts index 6cbd3433e5..e70292c346 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/workspace/views/structure/document-type-workspace-view-structure.element.ts @@ -2,11 +2,12 @@ import type { UmbDocumentTypeWorkspaceContext } from '../../document-type-worksp import type { UmbInputDocumentTypeElement } from '../../../components/input-document-type/input-document-type.element.js'; import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; -import type { UUIToggleElement } from '@umbraco-cms/backoffice/external/uui'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; -import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; import type { UmbContentTypeSortModel } from '@umbraco-cms/backoffice/content-type'; +import type { UmbInputCollectionConfigurationElement } from '@umbraco-cms/backoffice/components'; +import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; +import type { UUIToggleElement } from '@umbraco-cms/backoffice/external/uui'; @customElement('umb-document-type-workspace-view-structure') export class UmbDocumentTypeWorkspaceViewStructureElement extends UmbLitElement implements UmbWorkspaceViewElement { @@ -18,6 +19,9 @@ export class UmbDocumentTypeWorkspaceViewStructureElement extends UmbLitElement @state() private _allowedContentTypeUniques?: Array; + @state() + private _collection?: string | null; + constructor() { super(); @@ -30,14 +34,32 @@ export class UmbDocumentTypeWorkspaceViewStructureElement extends UmbLitElement private _observeDocumentType() { if (!this.#workspaceContext) return; - this.observe(this.#workspaceContext.allowedAsRoot, (allowedAsRoot) => (this._allowedAtRoot = allowedAsRoot)); - this.observe(this.#workspaceContext.allowedContentTypes, (allowedContentTypes) => { - const oldValue = this._allowedContentTypeUniques; - this._allowedContentTypeUniques = allowedContentTypes - ?.map((x) => x.contentType.unique) - .filter((x) => x !== undefined) as Array; - this.requestUpdate('_allowedContentTypeUniques', oldValue); - }); + + this.observe( + this.#workspaceContext.allowedAsRoot, + (allowedAsRoot) => (this._allowedAtRoot = allowedAsRoot), + '_allowedAsRootObserver', + ); + + this.observe( + this.#workspaceContext.allowedContentTypes, + (allowedContentTypes) => { + const oldValue = this._allowedContentTypeUniques; + this._allowedContentTypeUniques = allowedContentTypes + ?.map((x) => x.contentType.unique) + .filter((x) => x !== undefined) as Array; + this.requestUpdate('_allowedContentTypeUniques', oldValue); + }, + '_allowedContentTypesObserver', + ); + + this.observe( + this.#workspaceContext.collection, + (collection) => { + this._collection = collection?.unique; + }, + '_collectionObserver', + ); } render() { @@ -77,9 +99,20 @@ export class UmbDocumentTypeWorkspaceViewStructureElement extends UmbLitElement - -
Provides an overview of child content and hides it in the tree.
-
+ +
+ Configures the content item to show list of its children, the children will not be shown in the tree. +
+
+ { + const unique = (e.target as UmbInputCollectionConfigurationElement).value as string; + this.#workspaceContext?.setCollection({ unique }); + }}> + +
`;