diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte index 7588614f1b..7c7f86966e 100644 --- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte +++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte @@ -43,8 +43,7 @@ EditorModes, } from "components/common/CodeEditor" import FilterBuilder from "components/design/settings/controls/FilterEditor/FilterBuilder.svelte" - import { QueryUtils, Utils, memo } from "@budibase/frontend-core" - + import { QueryUtils, Utils, search, memo } from "@budibase/frontend-core" import { getSchemaForDatasourcePlus, getEnvironmentBindings, @@ -101,7 +100,11 @@ $: schema = getSchemaForDatasourcePlus(tableId, { searchableSchema: true, }).schema - $: schemaFields = Object.values(schema || {}) + $: schemaFields = search.getFields( + $tables.list, + Object.values(schema || {}), + { allowLinks: true } + ) $: queryLimit = tableId?.includes("datasource") ? "∞" : "1000" $: isTrigger = block?.type === AutomationStepType.TRIGGER $: codeMode = diff --git a/packages/builder/src/components/design/settings/controls/FilterEditor/FilterEditor.svelte b/packages/builder/src/components/design/settings/controls/FilterEditor/FilterEditor.svelte index e481bb4381..ed5e36cd65 100644 --- a/packages/builder/src/components/design/settings/controls/FilterEditor/FilterEditor.svelte +++ b/packages/builder/src/components/design/settings/controls/FilterEditor/FilterEditor.svelte @@ -9,7 +9,8 @@ import { createEventDispatcher } from "svelte" import { getDatasourceForProvider, getSchemaForDatasource } from "dataBinding" import FilterBuilder from "./FilterBuilder.svelte" - import { selectedScreen } from "stores/builder" + import { tables, selectedScreen } from "stores/builder" + import { search } from "@budibase/frontend-core" const dispatch = createEventDispatcher() @@ -23,7 +24,11 @@ $: tempValue = value $: datasource = getDatasourceForProvider($selectedScreen, componentInstance) $: dsSchema = getSchemaForDatasource($selectedScreen, datasource)?.schema - $: schemaFields = Object.values(schema || dsSchema || {}) + $: schemaFields = search.getFields( + $tables.list, + Object.values(schema || dsSchema || {}), + { allowLinks: true } + ) $: text = getText(value?.filter(filter => filter.field)) async function saveFilter() { diff --git a/packages/frontend-core/src/components/FilterBuilder.svelte b/packages/frontend-core/src/components/FilterBuilder.svelte index 6d1e1fa502..5f58c9ea7f 100644 --- a/packages/frontend-core/src/components/FilterBuilder.svelte +++ b/packages/frontend-core/src/components/FilterBuilder.svelte @@ -16,7 +16,6 @@ import { QueryUtils, Constants } from "@budibase/frontend-core" import { getContext } from "svelte" import FilterUsers from "./FilterUsers.svelte" - import { getFields } from "../utils/searchFields" const { OperatorOptions, DEFAULT_BB_DATASOURCE_ID } = Constants @@ -62,9 +61,7 @@ ] const context = getContext("context") - $: fieldOptions = getFields(tables, schemaFields || [], { - allowLinks: true, - }).map(field => ({ + $: fieldOptions = (schemaFields || []).map(field => ({ label: field.displayName || field.name, value: field.name, }))