From 7ec7dc9d400869e5cc3992b7868a9c9f82893fa3 Mon Sep 17 00:00:00 2001 From: Thomas Hackl <hackl@data-quest.de> Date: Mon, 26 Feb 2024 10:45:20 +0000 Subject: [PATCH] Resolve "Import einer als ZIP exportierten Courseware beachtet die Sortierung der Seiten nicht" Closes #3166 Merge request studip/studip!2622 --- .../courseware/unit/CoursewareShelfDialogImport.vue | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/resources/vue/components/courseware/unit/CoursewareShelfDialogImport.vue b/resources/vue/components/courseware/unit/CoursewareShelfDialogImport.vue index bf32addb099..c7f67cdde45 100644 --- a/resources/vue/components/courseware/unit/CoursewareShelfDialogImport.vue +++ b/resources/vue/components/courseware/unit/CoursewareShelfDialogImport.vue @@ -351,6 +351,7 @@ export default { } } }; + this.sortChildren(this.loadedZipData.courseware.children); await this.createCoursewareUnit(unit, { root: true }); const newElementId = this.lastCreateCoursewareUnit.relationships['structural-element'].data.id; await this.loadStructuralElementById({ id: newElementId }); @@ -371,6 +372,14 @@ export default { this.requirements.push({slot: slot, text: text}); } } + }, + sortChildren(children) { + children?.sort((a, b) => { + return a.attributes.position - b.attributes.position; + }); + children?.forEach(child => { + this.sortChildren(child.children); + }); } } } -- GitLab