diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/media-workspace-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/media-workspace-editor.element.ts index bd019acd8a..a73f300ae3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/media-workspace-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/media-workspace-editor.element.ts @@ -1,20 +1,19 @@ -import { UmbMediaWorkspaceContext } from './media-workspace.context.js'; +import { UMB_MEDIA_WORKSPACE_CONTEXT } from './media-workspace.context.js'; import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; import { css, html, nothing, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; -import { UMB_WORKSPACE_CONTEXT } from '@umbraco-cms/backoffice/workspace'; @customElement('umb-media-workspace-editor') export class UmbMediaWorkspaceEditorElement extends UmbLitElement { @state() _id?: string; - #umbWorkspaceContext?: UmbMediaWorkspaceContext; + #umbWorkspaceContext?: typeof UMB_MEDIA_WORKSPACE_CONTEXT.TYPE; constructor() { super(); - this.consumeContext(UMB_WORKSPACE_CONTEXT, (instance) => { - this.#umbWorkspaceContext = instance as UmbMediaWorkspaceContext; + this.consumeContext(UMB_MEDIA_WORKSPACE_CONTEXT, (instance) => { + this.#umbWorkspaceContext = instance; this.#observeId(); }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/media-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/media-workspace.context.ts index 6385dabbf3..be6dc2a30c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/media-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/workspace/media-workspace.context.ts @@ -3,6 +3,7 @@ import type { MediaDetails } from '../index.js'; import { UmbEntityWorkspaceContextInterface, UmbWorkspaceContext } from '@umbraco-cms/backoffice/workspace'; import { appendToFrozenArray, UmbObjectState } from '@umbraco-cms/backoffice/observable-api'; import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api'; +import { UmbContextToken } from '@umbraco-cms/backoffice/context-api'; type EntityType = MediaDetails; export class UmbMediaWorkspaceContext @@ -81,3 +82,8 @@ export class UmbMediaWorkspaceContext this.#data.complete(); } } + +export const UMB_MEDIA_WORKSPACE_CONTEXT = new UmbContextToken( + 'UmbWorkspaceContext', + (context): context is UmbMediaWorkspaceContext => context.getEntityType?.() === 'media' +);