diff --git a/src/i18n/app_en.json b/src/i18n/app_en.json index b520aae9..8965a5bd 100644 --- a/src/i18n/app_en.json +++ b/src/i18n/app_en.json @@ -33,7 +33,8 @@ "VIGICRUES_LEVEL_4": "Major flood risk", "REMOVE_LABEL": "$t(REMOVE_LABEL)", "REMOVE_DIALOG_TITLE": "Remove {{layer}} ?", - "REMOVE_DIALOG_MESSAGE": "Are you sure you want to remove {{layer}} from your workspace ?" + "REMOVE_DIALOG_MESSAGE": "Are you sure you want to remove {{layer}} from your workspace ?", + "ZOOM_TO_LABEL": "Zoom to" }, "MapActivity": { "TOGGLE_FULLSCREEN": "Fullscreen", diff --git a/src/i18n/app_fr.json b/src/i18n/app_fr.json index 63ba0a23..a210edaa 100644 --- a/src/i18n/app_fr.json +++ b/src/i18n/app_fr.json @@ -33,7 +33,8 @@ "VIGICRUES_LEVEL_4": "Risque de crue majeure", "REMOVE_LABEL": "$t(REMOVE_LABEL)", "REMOVE_DIALOG_TITLE": "Supprimer {{layer}} ?", - "REMOVE_DIALOG_MESSAGE": "Etes vous sûr de vouloier supprimer {{layer}} de votre espace de travail ?" + "REMOVE_DIALOG_MESSAGE": "Etes vous sûr de vouloier supprimer {{layer}} de votre espace de travail ?", + "ZOOM_TO_LABEL": "Zoomer sur" }, "MapActivity": { "TOGGLE_FULLSCREEN": "Plein écran", diff --git a/src/mixins/mixin.activity.js b/src/mixins/mixin.activity.js index 60d8ddcd..5cb45ab9 100644 --- a/src/mixins/mixin.activity.js +++ b/src/mixins/mixin.activity.js @@ -15,6 +15,7 @@ export default { this.layers = {} this.layerHandlers = { toggle: (layer) => this.onTriggerLayer(layer), + zoomTo: (layer) => this.onZoomToLayer(layer), remove: (layer) => this.onRemoveLayer(layer) } const catalogService = this.$api.getService('catalog') @@ -29,9 +30,13 @@ export default { }) }, onLayerAdded (layer) { - // FIXME: Add supported actions + // Add supported actions if (layer.type === 'OverlayLayer') { layer.actions = [{ + name: 'zoomTo', + label: this.$t('Activity.ZOOM_TO_LABEL'), + icon: 'remove_circle' + }, { name: 'remove', label: this.$t('Activity.REMOVE_LABEL'), icon: 'remove_circle' @@ -45,6 +50,9 @@ export default { this.hideLayer(layer.name) } }, + onZoomToLayer (layer) { + this.zoomToLayer(layer.name) + }, onRemoveLayer (layer) { Dialog.create({ title: this.$t('Activity.REMOVE_DIALOG_TITLE', { layer: layer.name }),