From 04a46c43ad982b6d5618a7239ed7a3b55d6cb121 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jun 2024 16:28:25 +0100 Subject: [PATCH 1/3] Use common search utils to generate field options for design section filter builder --- .../settings/controls/FilterEditor/FilterEditor.svelte | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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() { From 62da97814aa61e84b4903c4011f9e12c2ff8a5f9 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jun 2024 16:44:28 +0100 Subject: [PATCH 2/3] Fix relationship filtering in automations --- .../automation/SetupPanel/AutomationBlockSetup.svelte | 8 ++++++-- .../frontend-core/src/components/FilterBuilder.svelte | 4 +--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte index 57ca19ddb2..01fde43d12 100644 --- a/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte +++ b/packages/builder/src/components/automation/SetupPanel/AutomationBlockSetup.svelte @@ -43,7 +43,7 @@ EditorModes, } from "components/common/CodeEditor" import FilterBuilder from "components/design/settings/controls/FilterEditor/FilterBuilder.svelte" - import { QueryUtils, Utils } from "@budibase/frontend-core" + import { QueryUtils, Utils, search } from "@budibase/frontend-core" import { getSchemaForDatasourcePlus, getEnvironmentBindings, @@ -75,7 +75,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 === "TRIGGER" $: isUpdateRow = stepId === ActionStepID.UPDATE_ROW diff --git a/packages/frontend-core/src/components/FilterBuilder.svelte b/packages/frontend-core/src/components/FilterBuilder.svelte index 6d1e1fa502..0b13d48946 100644 --- a/packages/frontend-core/src/components/FilterBuilder.svelte +++ b/packages/frontend-core/src/components/FilterBuilder.svelte @@ -62,9 +62,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, })) From 0c3c9270ad8a1bc0cda268872f8ba2a563532df2 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jun 2024 18:25:57 +0100 Subject: [PATCH 3/3] Lint --- packages/frontend-core/src/components/FilterBuilder.svelte | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/frontend-core/src/components/FilterBuilder.svelte b/packages/frontend-core/src/components/FilterBuilder.svelte index 0b13d48946..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