From afd56ec6e1685437acccb7c845ec6bebb563a9c0 Mon Sep 17 00:00:00 2001 From: Lone Iversen <108085781+loivsen@users.noreply.github.com> Date: Thu, 6 Jun 2024 16:21:02 +0200 Subject: [PATCH] upload to correct folder when dropping file --- .../media/collection/media-collection.element.ts | 14 +++++++++++++- .../media/media/dropzone/dropzone-manager.class.ts | 11 +++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.element.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.element.ts index ff7478317c..d9718c961c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/collection/media-collection.element.ts @@ -1,3 +1,4 @@ +import { UMB_MEDIA_WORKSPACE_CONTEXT } from '../workspace/media-workspace.context-token.js'; import type { UmbMediaCollectionContext } from './media-collection.context.js'; import { UMB_MEDIA_COLLECTION_CONTEXT } from './media-collection.context-token.js'; import { customElement, html, state, when } from '@umbraco-cms/backoffice/external/lit'; @@ -13,11 +14,19 @@ export class UmbMediaCollectionElement extends UmbCollectionDefaultElement { @state() private _progress = -1; + @state() + private _unique: string | null = null; + constructor() { super(); this.consumeContext(UMB_MEDIA_COLLECTION_CONTEXT, (instance) => { this.#mediaCollection = instance; }); + this.consumeContext(UMB_MEDIA_WORKSPACE_CONTEXT, (instance) => { + this.observe(instance.unique, (unique) => { + this._unique = unique ?? null; + }); + }); } #onChange() { @@ -33,7 +42,10 @@ export class UmbMediaCollectionElement extends UmbCollectionDefaultElement { return html` ${when(this._progress >= 0, () => html``)} - + `; } } diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media/dropzone/dropzone-manager.class.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media/dropzone/dropzone-manager.class.ts index 191e7e08c5..1a77b7f1b4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media/dropzone/dropzone-manager.class.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media/dropzone/dropzone-manager.class.ts @@ -187,8 +187,15 @@ export class UmbDropzoneManager extends UmbControllerBase { fileExtensions: Array, parentUnique: string | null, ): Promise> { - // Getting all media types allowed in our current position based on parent unique. - const { data: allAllowedMediaTypes } = await this.#mediaTypeStructure.requestAllowedChildrenOf(parentUnique); + let parentMediaType: string | null = null; + if (parentUnique) { + const { data } = await this.#mediaDetailRepository.requestByUnique(parentUnique); + parentMediaType = data?.mediaType.unique ?? null; + } + + // Getting all media types allowed in our current position based on parent's media type. + + const { data: allAllowedMediaTypes } = await this.#mediaTypeStructure.requestAllowedChildrenOf(parentMediaType); if (!allAllowedMediaTypes?.items.length) return []; const allowedByParent = allAllowedMediaTypes.items;