fix(fe): Fix function run row object result

fix(fe): Fix function run row object result
This commit is contained in:
andrewwallacespeckle
2025-09-12 13:18:52 +01:00
committed by GitHub
4 changed files with 20 additions and 16 deletions
@@ -20,10 +20,11 @@
{{ result.message }}
</div>
</button>
<div class="flex mt-2 ml-3 overflow-hidden">
<div class="flex mt-2 px-3 overflow-hidden">
<ViewerFiltersFilterNumeric
v-if="metadataGradientIsSet && computedFilterData"
:filter="computedFilterData"
no-padding
/>
</div>
</div>
@@ -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(() => {
@@ -1,7 +1,7 @@
<template>
<LayoutMenu
v-model:open="showMenu"
class="pl-9"
:class="noPadding ? '' : 'pl-9'"
:items="menuItems"
show-ticks="right"
:custom-menu-items-classes="[
@@ -46,6 +46,7 @@ import { LayoutMenu, FormButton, type LayoutMenuItem } from '@speckle/ui-compone
const props = defineProps<{
filter: FilterData
noPadding?: boolean
}>()
const emit = defineEmits(['selectCondition'])
@@ -1,5 +1,5 @@
<template>
<div class="flex flex-col gap-2 px-9 pt-1 pb-2">
<div class="flex flex-col gap-2 pt-1 pb-2" :class="{ 'px-9': !noPadding }">
<FormDualRange
v-model="rangeValues"
:name="`range-${filter.id}`"
@@ -26,6 +26,7 @@ import type { NumericFilterData } from '~/lib/viewer/helpers/filters/types'
const props = defineProps<{
filter: NumericFilterData
noPadding?: boolean
}>()
const { setNumericRange, filters } = useFilterUtilities()
@@ -2,12 +2,14 @@
<div class="pt-0.5">
<ViewerFiltersFilterConditionSelector
:filter="filter"
:no-padding="noPadding"
@select-condition="handleConditionSelect"
/>
<ViewerFiltersFilterNumericBetween
v-if="filter.condition === NumericFilterCondition.IsBetween"
:filter="filter"
:no-padding="noPadding"
/>
<ViewerFiltersFilterNumericSingle
@@ -30,6 +32,7 @@ import { useFilterUtilities } from '~/lib/viewer/composables/filtering/filtering
const props = defineProps<{
filter: NumericFilterData
noPadding?: boolean
}>()
const { updateFilterCondition } = useFilterUtilities()