diff --git a/api/web/src/components/CloudTAK/Map.vue b/api/web/src/components/CloudTAK/Map.vue index f9370fc0f..7e41938c0 100644 --- a/api/web/src/components/CloudTAK/Map.vue +++ b/api/web/src/components/CloudTAK/Map.vue @@ -141,6 +141,7 @@ ('static') // Set the terra-draw mode to avoid getMo const drawModePoint = ref('u-d-p'); const pointInput = ref(false); const feat = ref() // Show the Feat Viewer sidebar -const locked = ref([]) // Lock the map view to a given CoT - The last element is the currently locked value +const locked = ref>([]) // Lock the map view to a given CoT - The last element is the currently locked value // this is an array so that things like the radial menu can temporarily lock state but remember the previous lock value when they are closed const live_loc_denied = ref(false) // User denied live location services const live_loc = ref(); @@ -614,7 +615,6 @@ watch(mapStore.radial, () => { mapStore.map.touchZoomRotate.disableRotation(); mapStore.map.dragRotate.disable(); mapStore.map.dragPan.disable(); - // @ts-expect-error Fix Types locked.value.push(mapStore.radial.cot.properties ? mapStore.radial.cot.properties.id : mapStore.radial.cot.id); } else { mapStore.map.scrollZoom.enable(); @@ -864,6 +864,9 @@ async function handleRadial(event: string): Promise { await cotStore.delete(String(cot.id)) await updateCOT(); + } else if (event === 'cot:lock') { + locked.value.push(mapStore.radial.cot.properties ? mapStore.radial.cot.properties.id : mapStore.radial.cot.id); + closeRadial() } else if (event === 'cot:edit') { editGeometry(mapStore.radial.cot.properties ? mapStore.radial.cot.properties.id : mapStore.radial.cot.id); closeRadial() diff --git a/api/web/src/components/CloudTAK/RadialMenu/RadialMenu.vue b/api/web/src/components/CloudTAK/RadialMenu/RadialMenu.vue index dafd9333a..10046d8d6 100644 --- a/api/web/src/components/CloudTAK/RadialMenu/RadialMenu.vue +++ b/api/web/src/components/CloudTAK/RadialMenu/RadialMenu.vue @@ -13,6 +13,23 @@ id='icons' class='d-none' > + + + + + + +