From 1498f3bdc6e4113d6c5dbf7759e9528482a94191 Mon Sep 17 00:00:00 2001 From: Lee Kelleher Date: Tue, 7 Oct 2025 13:20:02 +0100 Subject: [PATCH] Removed `umb-media-picker-create-item` component (#20403) Remove `umb-media-picker-create-item` component it was not being used internally. There was previously an issue due to a routing issue, (in that the Media Picker modal wasn't routed), so the Media create workspace wouldn't work. This could be resolved in future and see this feature return. --- .../modals/media-picker/components/index.ts | 1 - .../media-picker-create-item.element.ts | 97 ------------------- .../media-picker-modal.element.ts | 2 - 3 files changed, 100 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/components/media-picker-create-item.element.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/components/index.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/components/index.ts index 2a80f8400f..ccae01905f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/components/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/components/index.ts @@ -1,2 +1 @@ export * from './media-picker-folder-path.element.js'; -export * from './media-picker-create-item.element.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/components/media-picker-create-item.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/components/media-picker-create-item.element.ts deleted file mode 100644 index 4c5d7cce3b..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/components/media-picker-create-item.element.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { UmbMediaDetailRepository } from '../../../repository/detail/media-detail.repository.js'; -import { css, html, customElement, state, repeat, property } from '@umbraco-cms/backoffice/external/lit'; -import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element'; -import { type UmbAllowedMediaTypeModel, UmbMediaTypeStructureRepository } from '@umbraco-cms/backoffice/media-type'; - -@customElement('umb-media-picker-create-item') -export class UmbMediaPickerCreateItemElement extends UmbLitElement { - #mediaTypeStructure = new UmbMediaTypeStructureRepository(this); // used to get allowed media items - #mediaDetailRepository = new UmbMediaDetailRepository(this); // used to get media type of node - - private _node: string | null = null; - - @property() - public set node(value: string | null) { - this._node = value; - this.#getAllowedMediaTypes(); - } - - public get node() { - return this._node; - } - - @state() - private _popoverOpen = false; - - @state() - private _allowedMediaTypes: Array = []; - - async #getNodeMediaType() { - if (!this._node) return null; - - const { data } = await this.#mediaDetailRepository.requestByUnique(this.node!); - return data?.mediaType.unique ?? null; - } - - async #getAllowedMediaTypes() { - const mediaType = await this.#getNodeMediaType(); - - const { data: allowedMediaTypes } = await this.#mediaTypeStructure.requestAllowedChildrenOf(mediaType, this._node); - this._allowedMediaTypes = allowedMediaTypes?.items ?? []; - } - - #onPopoverToggle(event: ToggleEvent) { - // TODO: This ignorer is just neede for JSON SCHEMA TO WORK, As its not updated with latest TS jet. - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - this._popoverOpen = event.newState === 'open'; - } - - override render() { - return html` - - ${this.localize.term('actions_create')} - - - - - - ${!this._allowedMediaTypes.length - ? html`
${this.localize.term('mediaPicker_notAllowed')}
` - : repeat( - this._allowedMediaTypes, - (item) => item.unique, - (item) => - html` - - `, - )} -
-
-
- `; - } - - static override styles = [ - css` - #not-allowed { - padding: var(--uui-size-space-3); - } - `, - ]; -} - -export default UmbMediaPickerCreateItemElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-media-picker-create-item': UmbMediaPickerCreateItemElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/media-picker-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/media-picker-modal.element.ts index a9a70f8f33..7642a23e83 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/media-picker-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/modals/media-picker/media-picker-modal.element.ts @@ -415,8 +415,6 @@ export class UmbMediaPickerModalElement extends UmbPickerModalBaseElement< } #renderToolbar() { - /** - * We cannot route to a workspace without the media picker modal is a routeable. Using regular upload button for now... */ return html`