diff --git a/resources/vue/components/courseware/ManagerApp.vue b/resources/vue/components/courseware/ManagerApp.vue index ed493e70b2ca93f266aafbec6b1e2616039245e6..777c5af052f0e5a5bc78ca747e11f889c653ea9c 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 949b574a237baccbf275526b01d31943d4f71374..be6ea2732de9d45b4f6e1646e587eab32e94eb96 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 }) {