diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/media-workspace-view-info.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/media-workspace-view-info.element.ts index bb430e5ad9..54a05b3587 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/media-workspace-view-info.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/views/info/media-workspace-view-info.element.ts @@ -1,13 +1,16 @@ import { TimeOptions } from './utils.js'; -import { css, customElement, html, ifDefined, repeat, state } from '@umbraco-cms/backoffice/external/lit'; +import { css, customElement, html, ifDefined, nothing, repeat, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { UmbMediaTypeDetailRepository } from '@umbraco-cms/backoffice/media-type'; +import { + UMB_MEDIA_TYPE_ENTITY_TYPE, + UmbMediaTypeItemModel, + UmbMediaTypeItemRepository, +} from '@umbraco-cms/backoffice/media-type'; import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router'; import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UMB_MEDIA_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/media'; import { UMB_WORKSPACE_MODAL } from '@umbraco-cms/backoffice/modal'; import type { MediaUrlInfoModel } from '@umbraco-cms/backoffice/external/backend-api'; -import type { UmbMediaWorkspaceContext } from '@umbraco-cms/backoffice/media'; // import of local components import './media-workspace-view-info-history.element.js'; @@ -16,13 +19,13 @@ import './media-workspace-view-info-reference.element.js'; @customElement('umb-media-workspace-view-info') export class UmbMediaWorkspaceViewInfoElement extends UmbLitElement { @state() - private _mediaTypeUnique = ''; + private _mediaTypeUnique: string | undefined = undefined; @state() - private _mediaTypeName?: string; + private _mediaTypeName?: UmbMediaTypeItemModel['name']; @state() - private _mediaTypeIcon?: string; + private _mediaTypeIcon?: UmbMediaTypeItemModel['icon']; @state() private _editMediaTypePath = ''; @@ -32,7 +35,7 @@ export class UmbMediaWorkspaceViewInfoElement extends UmbLitElement { #workspaceContext?: typeof UMB_MEDIA_WORKSPACE_CONTEXT.TYPE; - #mediaTypeRepository = new UmbMediaTypeDetailRepository(this); + #mediaTypeItemRepository = new UmbMediaTypeItemRepository(this); @state() private _urls?: Array; @@ -49,7 +52,7 @@ export class UmbMediaWorkspaceViewInfoElement extends UmbLitElement { new UmbModalRouteRegistrationController(this, UMB_WORKSPACE_MODAL) .addAdditionalPath('media-type') .onSetup(() => { - return { data: { entityType: 'media-type', preset: {} } }; + return { data: { entityType: UMB_MEDIA_TYPE_ENTITY_TYPE, preset: {} } }; }) .observeRouteBuilder((routeBuilder) => { this._editMediaTypePath = routeBuilder({}); @@ -64,9 +67,10 @@ export class UmbMediaWorkspaceViewInfoElement extends UmbLitElement { } async #getData() { - const { data } = await this.#mediaTypeRepository.requestByUnique(this._mediaTypeUnique); - this._mediaTypeName = data?.name; - this._mediaTypeIcon = data?.icon; + if (!this._mediaTypeUnique) throw new Error('Media type unique is not set'); + const { data } = await this.#mediaTypeItemRepository.requestItems([this._mediaTypeUnique]); + this._mediaTypeName = data?.[0].name; + this._mediaTypeIcon = data?.[0].icon; } #observeContent() { @@ -157,12 +161,12 @@ export class UmbMediaWorkspaceViewInfoElement extends UmbLitElement {
- Document Type + Media Type - + ${this._mediaTypeIcon ? html`` : nothing}