From 26a552ac5c2711c24fe71c253979f924c155fbf7 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 22 Jul 2024 09:35:36 +0100 Subject: [PATCH] Add options picker for values when configuring conditions on options columns --- .../settings/controls/EditComponentPopover.svelte | 1 - .../controls/GridColumnConfiguration/getColumns.js | 12 ++++++------ .../settings/controls/TableConditionEditor.svelte | 12 ++++++++++++ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/packages/builder/src/components/design/settings/controls/EditComponentPopover.svelte b/packages/builder/src/components/design/settings/controls/EditComponentPopover.svelte index 116867caf8..a491561f93 100644 --- a/packages/builder/src/components/design/settings/controls/EditComponentPopover.svelte +++ b/packages/builder/src/components/design/settings/controls/EditComponentPopover.svelte @@ -10,7 +10,6 @@ export let componentBindings export let bindings export let parseSettings - export let disabled const draggable = getContext("draggable") const dispatch = createEventDispatcher() diff --git a/packages/builder/src/components/design/settings/controls/GridColumnConfiguration/getColumns.js b/packages/builder/src/components/design/settings/controls/GridColumnConfiguration/getColumns.js index 4fbe6fc9e7..148055d727 100644 --- a/packages/builder/src/components/design/settings/controls/GridColumnConfiguration/getColumns.js +++ b/packages/builder/src/components/design/settings/controls/GridColumnConfiguration/getColumns.js @@ -108,12 +108,12 @@ const getColumns = ({ createComponent, schema ) - const primary = draggableList.find( - entry => entry.field === primaryDisplayColumnName - ) - const sortable = draggableList.filter( - entry => entry.field !== primaryDisplayColumnName - ) + const primary = draggableList + .filter(entry => entry.field === primaryDisplayColumnName) + .map(instance => ({ ...instance, schema }))[0] + const sortable = draggableList + .filter(entry => entry.field !== primaryDisplayColumnName) + .map(instance => ({ ...instance, schema })) return { primary, diff --git a/packages/builder/src/components/design/settings/controls/TableConditionEditor.svelte b/packages/builder/src/components/design/settings/controls/TableConditionEditor.svelte index 0d93d3dc1d..13250ab43d 100644 --- a/packages/builder/src/components/design/settings/controls/TableConditionEditor.svelte +++ b/packages/builder/src/components/design/settings/controls/TableConditionEditor.svelte @@ -8,6 +8,7 @@ Select, Icon, DatePicker, + Combobox, } from "@budibase/bbui" import { createEventDispatcher } from "svelte" import { cloneDeep } from "lodash" @@ -18,6 +19,8 @@ import { FieldType, FormulaType } from "@budibase/types" import { dndzone } from "svelte-dnd-action" import { flip } from "svelte/animate" + import { getDatasourceForProvider } from "dataBinding" + import { selectedScreen } from "stores/builder" export let componentInstance export let bindings @@ -62,6 +65,8 @@ // on the page, so adding this ensures formula columns get operators formulaType: FormulaType.STATIC, }) + $: datasource = getDatasourceForProvider($selectedScreen, componentInstance) + $: console.log(componentInstance) const getValueTypeOptions = type => { let options = [ @@ -222,6 +227,13 @@ options={["True", "False"]} bind:value={condition.referenceValue} /> + {:else if type === FieldType.OPTIONS && condition.valueType === type} + {:else}