From 4c51bfe232888a47b2a6c508f2cdb27c242ff44b Mon Sep 17 00:00:00 2001 From: Marcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de> Date: Mon, 6 Dec 2021 09:35:52 +0100 Subject: [PATCH] Load copied subtree not just the new subtree*s root element. Fixes #454. --- resources/vue/components/courseware/ManagerApp.vue | 1 - .../vue/store/courseware/courseware.module.js | 14 ++++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/resources/vue/components/courseware/ManagerApp.vue b/resources/vue/components/courseware/ManagerApp.vue index ed493e70b2c..777c5af052f 100755 --- a/resources/vue/components/courseware/ManagerApp.vue +++ b/resources/vue/components/courseware/ManagerApp.vue @@ -23,7 +23,6 @@ export default { async rebuildStructure() { // compute order of structural elements once more await this.buildStructure(); - console.debug("built structure") // throw away stale cache this.invalidateStructureCache(); diff --git a/resources/vue/store/courseware/courseware.module.js b/resources/vue/store/courseware/courseware.module.js index 949b574a237..be6ea2732de 100755 --- a/resources/vue/store/courseware/courseware.module.js +++ b/resources/vue/store/courseware/courseware.module.js @@ -317,14 +317,16 @@ export const actions = { // console.log(resp); }); }, - copyStructuralElement({ dispatch, getters }, { parentId, element }) { + async copyStructuralElement({ dispatch, getters, rootGetters }, { parentId, element }) { const copy = { data: { parent_id: parentId, }, }; - return state.httpClient.post(`courseware-structural-elements/${element.id}/copy`, copy) - .then(({ data }) => { - const id = data.data.id; - dispatch('loadStructuralElement', id); - }); + const result = await state.httpClient.post(`courseware-structural-elements/${element.id}/copy`, copy); + const id = result.data.data.id; + await dispatch('loadStructuralElement', id); + + const newElement = rootGetters['courseware-structural-elements/byId']({ id }); + + return dispatch('courseware-structure/loadDescendants', { root: newElement }); }, lockObject({ dispatch, getters }, { id, type }) { -- GitLab