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 8d245cf1904e8fd489658d9a5bd5fb9909bf9a2a..b049fbda9035f3c0501d873c90e9610db779f76f 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 }) {