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;