diff --git a/packages/frontend-2/components/automate/viewer/panel/FunctionRunRowObjectResult.vue b/packages/frontend-2/components/automate/viewer/panel/FunctionRunRowObjectResult.vue
index d3baed9b1..858f36a78 100644
--- a/packages/frontend-2/components/automate/viewer/panel/FunctionRunRowObjectResult.vue
+++ b/packages/frontend-2/components/automate/viewer/panel/FunctionRunRowObjectResult.vue
@@ -20,10 +20,11 @@
{{ result.message }}
-
@@ -42,7 +43,7 @@ import type { NumericPropertyInfo } from '@speckle/viewer'
import { containsAll } from '~~/lib/common/helpers/utils'
import type { Automate } from '@speckle/shared'
import type { NumericFilterData } from '~/lib/viewer/helpers/filters/types'
-import { NumericFilterCondition, FilterType } from '~/lib/viewer/helpers/filters/types'
+import { isNumericFilter } from '~/lib/viewer/helpers/filters/types'
type ObjectResult = Automate.AutomateTypes.ResultsSchema['values']['objectResults'][0]
@@ -57,7 +58,7 @@ const {
}
} = useInjectedViewerState()
-const { isolateObjects, resetFilters, addActiveFilter, toggleFilterApplied } =
+const { isolateObjects, resetFilters, addActiveFilter, toggleFilterApplied, filters } =
useFilterUtilities()
const { setSelectionFromObjectIds, clearSelection } = useSelectionUtilities()
@@ -147,18 +148,13 @@ const computedPropInfo = computed(() => {
})
const computedFilterData = computed((): NumericFilterData | undefined => {
- if (!computedPropInfo.value) return
+ if (!metadataGradientIsSet.value || !props.functionId) return
- const propInfo = computedPropInfo.value
- return {
- id: `gradient-${props.functionId}`,
- isApplied: true,
- selectedValues: [],
- condition: NumericFilterCondition.IsBetween,
- type: FilterType.Numeric,
- filter: propInfo,
- numericRange: { min: propInfo.min, max: propInfo.max }
- }
+ const activeFilter = filters.propertyFilters.value.find(
+ (f) => f.filter?.key === props.functionId
+ )
+
+ return activeFilter && isNumericFilter(activeFilter) ? activeFilter : undefined
})
const setOrUnsetGradient = () => {
@@ -174,6 +170,9 @@ const setOrUnsetGradient = () => {
metadataGradientIsSet.value = true
const filterId = addActiveFilter(computedPropInfo.value)
toggleFilterApplied(filterId)
+
+ const ids = resultObjectIds.value
+ setSelectionFromObjectIds(ids)
}
const iconAndColor = computed(() => {
diff --git a/packages/frontend-2/components/viewer/filters/filter/ConditionSelector.vue b/packages/frontend-2/components/viewer/filters/filter/ConditionSelector.vue
index 5fbffacb7..5d9d87a66 100644
--- a/packages/frontend-2/components/viewer/filters/filter/ConditionSelector.vue
+++ b/packages/frontend-2/components/viewer/filters/filter/ConditionSelector.vue
@@ -1,7 +1,7 @@
+
()
const { setNumericRange, filters } = useFilterUtilities()
diff --git a/packages/frontend-2/components/viewer/filters/filter/numeric/Numeric.vue b/packages/frontend-2/components/viewer/filters/filter/numeric/Numeric.vue
index dda444ee6..0af828241 100644
--- a/packages/frontend-2/components/viewer/filters/filter/numeric/Numeric.vue
+++ b/packages/frontend-2/components/viewer/filters/filter/numeric/Numeric.vue
@@ -2,12 +2,14 @@
()
const { updateFilterCondition } = useFilterUtilities()