From 5f7f126ca49236d5d3805366df2445cb70e2a2bc Mon Sep 17 00:00:00 2001
From: Ron Lucke <lucke@elan-ev.de>
Date: Mon, 6 Jan 2025 11:04:06 +0000
Subject: [PATCH] =?UTF-8?q?Courseware=20Bl=C3=B6cke=20lassen=20sich=20nich?=
 =?UTF-8?q?t=20per=20Drag&Drop=20einf=C3=BCgen?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Closes #5095

Merge request studip/studip!3808
---
 .../courseware/containers/CoursewareAccordionContainer.vue     | 2 ++
 .../courseware/containers/CoursewareListContainer.vue          | 2 ++
 .../courseware/containers/CoursewareTabsContainer.vue          | 2 ++
 .../components/courseware/toolbar/CoursewareToolbarBlocks.vue  | 3 +--
 4 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue b/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue
index 61185418f92..861db7bd419 100644
--- a/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue
+++ b/resources/vue/components/courseware/containers/CoursewareAccordionContainer.vue
@@ -55,6 +55,8 @@
                             :containerId="container.id"
                             :sectionId="index"
                             item-key="id"
+                            :data-container-id="container.id"
+                            :data-section-id="index"
                         >
                             <template #item="{element, index}">
                                 <li class="cw-block-item cw-block-item-sortable">
diff --git a/resources/vue/components/courseware/containers/CoursewareListContainer.vue b/resources/vue/components/courseware/containers/CoursewareListContainer.vue
index 2150578bb22..fea378a4a98 100644
--- a/resources/vue/components/courseware/containers/CoursewareListContainer.vue
+++ b/resources/vue/components/courseware/containers/CoursewareListContainer.vue
@@ -38,6 +38,8 @@
                         :containerId="container.id"
                         sectionId="0"
                         item-key="id"
+                        :data-container-id="container.id"
+                        data-section-id="0"
                     >
                         <template #item="{element}">
                             <li
diff --git a/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue b/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue
index f41a17732ad..7b32bf9254e 100644
--- a/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue
+++ b/resources/vue/components/courseware/containers/CoursewareTabsContainer.vue
@@ -62,6 +62,8 @@
                                 :containerId="container.id"
                                 :sectionId="sectionIndex"
                                 item-key="id"
+                                :data-container-id="container.id"
+                                :data-section-id="sectionIndex"
                             >
                                 <template #item="{element}">
                                     <li class="cw-block-item cw-block-item-sortable">
diff --git a/resources/vue/components/courseware/toolbar/CoursewareToolbarBlocks.vue b/resources/vue/components/courseware/toolbar/CoursewareToolbarBlocks.vue
index 05acbf05b07..82e7a08c6e6 100644
--- a/resources/vue/components/courseware/toolbar/CoursewareToolbarBlocks.vue
+++ b/resources/vue/components/courseware/toolbar/CoursewareToolbarBlocks.vue
@@ -256,8 +256,7 @@ export default {
             this.isDragging = true;
         },
         async dropNewBlock(e) {
-            // TODO: This seems way to hackish
-            const targetAttributes = e.to.__vnode.ctx.attrs;
+            const targetAttributes = e.to.dataset;
             const blockType = e.item.dataset.blocktype;
 
             // only execute if dropped in destined list
-- 
GitLab