diff --git a/src/modules/drawing/components/DrawingToolbox.vue b/src/modules/drawing/components/DrawingToolbox.vue index 57a44966a5..05a1fac164 100644 --- a/src/modules/drawing/components/DrawingToolbox.vue +++ b/src/modules/drawing/components/DrawingToolbox.vue @@ -241,7 +241,7 @@ const debounceSaveDrawingName = debounce(async (newName) => { data-cy="drawing-toolbox-delete-button" @click="showClearConfirmationModal = true" > - {{ $t('delete') }} + {{ i18n.t('delete') }}
@@ -255,7 +255,7 @@ const debounceSaveDrawingName = debounce(async (newName) => { data-cy="drawing-toolbox-share-button" @click="showShareModal = true" > - {{ $t('share') }} + {{ i18n.t('share') }}
@@ -292,7 +292,9 @@ const debounceSaveDrawingName = debounce(async (newName) => { @click="drawMenuOpen = !drawMenuOpen" > - {{ $t(drawMenuOpen ? 'close_menu' : 'open_menu') }} + {{ + i18n.t(drawMenuOpen ? 'close_menu' : 'open_menu') + }} @@ -302,12 +304,12 @@ const debounceSaveDrawingName = debounce(async (newName) => { fluid @close="onCloseClearConfirmation" > - {{ $t('confirm_remove_all_features') }} + {{ i18n.t('confirm_remove_all_features') }} @@ -315,7 +317,7 @@ const debounceSaveDrawingName = debounce(async (newName) => { diff --git a/src/modules/menu/components/print/MenuPrintSection.vue b/src/modules/menu/components/print/MenuPrintSection.vue index 27e2604878..a7a7c9d9db 100644 --- a/src/modules/menu/components/print/MenuPrintSection.vue +++ b/src/modules/menu/components/print/MenuPrintSection.vue @@ -100,6 +100,8 @@ function close() { async function printMap() { try { const documentUrl = await print(printGrid.value, printLegend.value) + // force hides the "drawing lost" warning when we open the print result + await store.dispatch('setIsOpeningNewTab', { isOpeningNewTab: true, ...dispatcher }) if (documentUrl) { if (window.navigator.userAgent.indexOf('MSIE ') > -1) { window.open(documentUrl) @@ -115,6 +117,8 @@ async function printMap() { } } catch (error) { log.error('Print failed', error) + } finally { + await store.dispatch('setIsOpeningNewTab', { isOpeningNewTab: false, ...dispatcher }) } } diff --git a/src/store/modules/ui.store.js b/src/store/modules/ui.store.js index 17b936e0c2..33adace5e8 100644 --- a/src/store/modules/ui.store.js +++ b/src/store/modules/ui.store.js @@ -175,6 +175,17 @@ export default { * @type Boolean */ showDragAndDropOverlay: false, + + /** + * Flag set to true when the app is opening a new tab. + * + * This helps us decide to show or not show a warning popup for lost changes if the user + * closes the tab. In some cases, we are opening a new tab ourselves (print result) and + * don't want this popup to show up. + * + * @type Boolean + */ + isOpeningNewTab: false, }, getters: { showLoadingBar(state) { @@ -451,6 +462,9 @@ export default { setShowDragAndDropOverlay({ commit }, { showDragAndDropOverlay, dispatcher }) { commit('setShowDragAndDropOverlay', { showDragAndDropOverlay, dispatcher }) }, + setIsOpeningNewTab({ commit }, { isOpeningNewTab, dispatcher }) { + commit('setIsOpeningNewTab', { isOpeningNewTab, dispatcher }) + }, }, mutations: { setSize(state, { height, width }) { @@ -520,5 +534,7 @@ export default { removeWarning: (state, { warning }) => state.warnings.delete(warning), setShowDragAndDropOverlay: (state, { showDragAndDropOverlay }) => (state.showDragAndDropOverlay = showDragAndDropOverlay), + setIsOpeningNewTab: (state, { isOpeningNewTab }) => + (state.isOpeningNewTab = isOpeningNewTab), }, } diff --git a/src/views/MapView.vue b/src/views/MapView.vue index e21ffffd6f..dcb78c1910 100644 --- a/src/views/MapView.vue +++ b/src/views/MapView.vue @@ -1,5 +1,6 @@