fix(fe): Fix function run row object result
fix(fe): Fix function run row object result
This commit is contained in:
+13
-14
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user