From c7af0236798d9f0c91a2f79e6fab530e4bf1b6ca Mon Sep 17 00:00:00 2001
From: Ron Lucke <lucke@elan-ev.de>
Date: Wed, 10 Jul 2024 13:58:05 +0000
Subject: [PATCH] remove useless selectTool function calls

Closes #4193

Merge request studip/studip!3174
---
 .../CoursewareEmptyElementBox.vue             | 25 +++++++++----------
 .../structural-element/CoursewareRibbon.vue   |  2 --
 .../CoursewareRibbonToolbar.vue               | 16 ------------
 3 files changed, 12 insertions(+), 31 deletions(-)

diff --git a/resources/vue/components/courseware/structural-element/CoursewareEmptyElementBox.vue b/resources/vue/components/courseware/structural-element/CoursewareEmptyElementBox.vue
index abbe87f7054..c8dcd311d1f 100644
--- a/resources/vue/components/courseware/structural-element/CoursewareEmptyElementBox.vue
+++ b/resources/vue/components/courseware/structural-element/CoursewareEmptyElementBox.vue
@@ -2,7 +2,7 @@
     <div class="cw-welcome-screen">
         <courseware-companion-box :msgCompanion="this.$gettext('Es wurden bisher noch keine Inhalte eingepflegt.')">
             <template v-slot:companionActions>
-                <button v-if="canEdit && noContainers" class="button" @click="addContainer">
+                <button v-if="canEdit && noContainers" class="button" @click="addNewContainer">
                     {{ $gettext('Einen Abschnitt hinzufügen') }}
                 </button>
             </template>
@@ -12,29 +12,28 @@
 
 <script>
 import CoursewareCompanionBox from '../layouts/CoursewareCompanionBox.vue';
-import { mapActions, mapGetters } from 'vuex';
+import containerMixin from '@/vue/mixins/courseware/container';
 
 export default {
     name: 'courseware-empty-element-box',
     components: {
         CoursewareCompanionBox,
     },
+    mixins: [containerMixin],
     props: {
         canEdit: Boolean,
         noContainers: Boolean,
     },
     methods: {
-        ...mapActions({
-            coursewareConsumeMode: 'coursewareConsumeMode',
-            coursewareContainerAdder: 'coursewareContainerAdder',
-            coursewareSelectedToolbarItem: 'coursewareSelectedToolbarItem',
-            coursewareShowToolbar: 'coursewareShowToolbar',
-        }),
-        addContainer() {
-            this.coursewareConsumeMode(false);
-            this.coursewareContainerAdder(true);
-            this.coursewareSelectedToolbarItem('blockadder');
-            this.coursewareShowToolbar(true);
+        addNewContainer() {
+            this.addContainer({
+                type: 'list',
+                colspan: 'full',
+                sections: {
+                    firstSection: ''
+                },
+                newPosition: null
+            });
         },
     },
 };
diff --git a/resources/vue/components/courseware/structural-element/CoursewareRibbon.vue b/resources/vue/components/courseware/structural-element/CoursewareRibbon.vue
index 25c72607d84..f7cfff04c10 100644
--- a/resources/vue/components/courseware/structural-element/CoursewareRibbon.vue
+++ b/resources/vue/components/courseware/structural-element/CoursewareRibbon.vue
@@ -97,7 +97,6 @@ export default {
     methods: {
         ...mapActions({
             coursewareConsumeMode: 'coursewareConsumeMode',
-            coursewareSelectedToolbarItem: 'coursewareSelectedToolbarItem',
             coursewareViewMode: 'coursewareViewMode',
             coursewareShowToolbar: 'coursewareShowToolbar'
 
@@ -107,7 +106,6 @@ export default {
             if (!this.consumeMode) {
                 document.body.classList.add('consuming_mode');
                 this.coursewareConsumeMode(true);
-                this.coursewareSelectedToolbarItem('contents');
                 this.coursewareViewMode('read');
             } else {
                 this.coursewareConsumeMode(false);
diff --git a/resources/vue/components/courseware/structural-element/CoursewareRibbonToolbar.vue b/resources/vue/components/courseware/structural-element/CoursewareRibbonToolbar.vue
index 2e44204b2c8..8dd5f45e4c7 100644
--- a/resources/vue/components/courseware/structural-element/CoursewareRibbonToolbar.vue
+++ b/resources/vue/components/courseware/structural-element/CoursewareRibbonToolbar.vue
@@ -94,7 +94,6 @@ export default {
     },
     methods: {
         ...mapActions({
-            setToolbarItem: 'coursewareSelectedToolbarItem',
             coursewareContainerAdder: 'coursewareContainerAdder'
         }),
         scrollToCurrent() {
@@ -111,21 +110,6 @@ export default {
         this.scrollToCurrent();
     },
     watch: {
-        adderStorage(newValue) {
-            if (Object.keys(newValue).length !== 0) {
-                this.selectTool('blockadder');
-            }
-        },
-        consumeMode(newValue) {
-            if (newValue) {
-                this.selectTool('contents');
-            }
-        },
-        containerAdder(newValue) {
-            if (newValue === true) {
-                this.selectTool('blockadder');
-            }
-        },
         toolsActive(newValue) {
             const focusElement = this.$refs.tabs.getTabButtonByAlias(this.selectedToolbarItem);
             if (newValue && focusElement) {
-- 
GitLab