diff --git a/app/components/ShrinkFilter.vue b/app/components/ShrinkFilter.vue new file mode 100644 index 00000000..8382f741 --- /dev/null +++ b/app/components/ShrinkFilter.vue @@ -0,0 +1,172 @@ + + + + + + + + + + + + + Shrink Factor + + {{ (shrinkFactor * 100).toFixed(0) }}% ({{ shrinkFactor.toFixed(2) }}) + + + + + + + + + + Remove Shrink + + + Reset + + + + + + + diff --git a/app/components/ViewToolbar.vue b/app/components/ViewToolbar.vue index 821e2b7e..c6065cfd 100644 --- a/app/components/ViewToolbar.vue +++ b/app/components/ViewToolbar.vue @@ -5,6 +5,7 @@ import CameraManager from "@ogw_front/components/CameraManager"; import CameraOrientation from "@ogw_front/components/CameraOrientation"; import ClippingPlanes from "@ogw_front/components/ClippingPlanes"; import Screenshot from "@ogw_front/components/Screenshot"; +import ShrinkFilter from "@ogw_front/components/ShrinkFilter"; import ZScaling from "@ogw_front/components/ZScaling"; import schemas from "@geode/opengeodeweb-viewer/opengeodeweb_viewer_schemas.json"; import { useHybridViewerStore } from "@ogw_front/stores/hybrid_viewer"; @@ -17,6 +18,7 @@ const show_camera_manager = ref(false); const showCameraOrientation = ref(false); const showZScaling = ref(false); const showClippingPlanes = ref(false); +const showShrinkFilter = ref(false); const grid_scale = ref(false); const zScale = ref(hybridViewerStore.zScale); @@ -162,6 +164,15 @@ const camera_options = computed(() => [ showClippingPlanes.value = !showClippingPlanes.value; }, }, + { + testId: "shrinkFilterButton", + tooltip: "Shrink Filter", + icon: "mdi-arrow-collapse-all", + color: showShrinkFilter.value ? "primary" : undefined, + action: () => { + showShrinkFilter.value = !showShrinkFilter.value; + }, + }, ]); @@ -235,6 +246,7 @@ const camera_options = computed(() => [ @apply="handleZScalingClose" /> +