diff --git a/app/imports/ui/dialogStack/DialogStack.vue b/app/imports/ui/dialogStack/DialogStack.vue index 89e45b97..0e5158a1 100644 --- a/app/imports/ui/dialogStack/DialogStack.vue +++ b/app/imports/ui/dialogStack/DialogStack.vue @@ -20,6 +20,7 @@ :key="dialog._id" class="dialog" :data-element-id="dialog.elementId" + :data-return-element-id="dialog.returnElementId" :data-index="index" :style="getDialogStyle(index)" :elevation="6" @@ -94,8 +95,13 @@ }); }, leave(target, done){ - let elementId = target.attributes['data-element-id'].value; - let source = document.getElementById(elementId); + let elementId; + if (target.attributes['data-return-element-id']) { + elementId = target.attributes['data-return-element-id'].value; + } else { + elementId = target.attributes['data-element-id'].value; + } + let source = document.getElementById(elementId); let index = target.attributes['data-index'].value; if (index != 0){ // If we aren't the only dialog, we'll need compensate for offset diff --git a/app/imports/ui/dialogStack/dialogStackStore.js b/app/imports/ui/dialogStack/dialogStackStore.js index 13c9b702..6795768a 100644 --- a/app/imports/ui/dialogStack/dialogStackStore.js +++ b/app/imports/ui/dialogStack/dialogStackStore.js @@ -7,7 +7,7 @@ const dialogStackStore = { currentResult: null, }, mutations: { - pushDialogStack(state, {component, data, elementId, returnElement, callback}){ + pushDialogStack(state, {component, data, elementId, returnElementId, callback}){ // Generate a new _id so that Vue knows how to shuffle the array const _id = Random.id(); state.dialogs.push({ @@ -15,7 +15,7 @@ const dialogStackStore = { component, data, elementId, - returnElement, + returnElementId, callback, }); updateHistory();