diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/manifests.ts index c94ee5f8a7..3f9e5c9c0e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/manifests.ts @@ -17,27 +17,6 @@ const workspace: ManifestWorkspaces = { }; const workspaceViews: Array = [ - { - type: 'workspaceView', - alias: 'Umb.WorkspaceView.Media.Collection', - name: 'Media Workspace Collection View', - element: () => import('./views/collection/media-workspace-view-collection.element.js'), - weight: 300, - meta: { - label: 'Collection', - pathname: 'collection', - icon: 'icon-grid', - }, - conditions: [ - { - alias: 'Umb.Condition.WorkspaceAlias', - match: workspace.alias, - }, - { - alias: 'Umb.Condition.WorkspaceHasCollection', - }, - ], - }, { type: 'workspaceView', alias: 'Umb.WorkspaceView.Media.Edit', diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/collection/media-workspace-view-collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/collection/media-workspace-view-collection.element.ts deleted file mode 100644 index a8d12c291f..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/collection/media-workspace-view-collection.element.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { customElement, html, nothing, state } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { UmbDataTypeDetailRepository } from '@umbraco-cms/backoffice/data-type'; -import { UmbPropertyEditorConfigCollection } from '@umbraco-cms/backoffice/property-editor'; -import { UMB_MEDIA_COLLECTION_ALIAS, UMB_MEDIA_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/media'; -import type { - UmbCollectionBulkActionPermissions, - UmbCollectionConfiguration, -} from '@umbraco-cms/backoffice/collection'; -import type { UmbDataTypeDetailModel } from '@umbraco-cms/backoffice/data-type'; -import type { UmbWorkspaceViewElement } from '@umbraco-cms/backoffice/extension-registry'; - -@customElement('umb-media-workspace-view-collection') -export class UmbMediaWorkspaceViewCollectionElement extends UmbLitElement implements UmbWorkspaceViewElement { - @state() - private _config?: UmbCollectionConfiguration; - - @state() - private _mediaUnique?: string; - - #dataTypeDetailRepository = new UmbDataTypeDetailRepository(this); - - constructor() { - super(); - this.#observeConfig(); - } - - async #observeConfig() { - this.consumeContext(UMB_MEDIA_WORKSPACE_CONTEXT, (workspaceContext) => { - this.observe(workspaceContext.unique, (unique) => { - this._mediaUnique = unique; - }); - this.observe( - workspaceContext.structure.ownerContentType, - async (mediaType) => { - if (!mediaType || !mediaType.collection) return; - - const dataTypeUnique = mediaType.collection.unique; - - if (dataTypeUnique) { - await this.#dataTypeDetailRepository.requestByUnique(dataTypeUnique); - this.observe( - await this.#dataTypeDetailRepository.byUnique(dataTypeUnique), - (dataType) => { - if (!dataType) return; - this._config = this.#mapDataTypeConfigToCollectionConfig(dataType); - }, - '_observeConfigDataType', - ); - } - }, - '_observeConfigMediaType', - ); - }); - } - - #mapDataTypeConfigToCollectionConfig(dataType: UmbDataTypeDetailModel): UmbCollectionConfiguration { - const config = new UmbPropertyEditorConfigCollection(dataType.values); - return { - unique: this._mediaUnique, - allowedEntityBulkActions: config?.getValueByAlias('bulkActionPermissions'), - orderBy: config?.getValueByAlias('orderBy') ?? 'updateDate', - orderDirection: config?.getValueByAlias('orderDirection') ?? 'asc', - pageSize: Number(config?.getValueByAlias('pageSize')) ?? 50, - useInfiniteEditor: config?.getValueByAlias('useInfiniteEditor') ?? false, - userDefinedProperties: config?.getValueByAlias('includeProperties'), - }; - } - - render() { - if (!this._config?.unique) return nothing; - return html``; - } -} - -export default UmbMediaWorkspaceViewCollectionElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-media-workspace-view-collection': UmbMediaWorkspaceViewCollectionElement; - } -}