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 @@