From bbd56eac8e340c564e561df66776c3d19f6afa4a Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Tue, 18 Feb 2025 10:41:54 +0100 Subject: [PATCH] Convert getBindings formula to ts --- .../backend/DataTable/{formula.js => formula.ts} | 11 ++++++++--- packages/types/src/ui/bindings/binding.ts | 11 ++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) rename packages/builder/src/components/backend/DataTable/{formula.js => formula.ts} (92%) diff --git a/packages/builder/src/components/backend/DataTable/formula.js b/packages/builder/src/components/backend/DataTable/formula.ts similarity index 92% rename from packages/builder/src/components/backend/DataTable/formula.js rename to packages/builder/src/components/backend/DataTable/formula.ts index 9ec75b52c0..66d5087d87 100644 --- a/packages/builder/src/components/backend/DataTable/formula.js +++ b/packages/builder/src/components/backend/DataTable/formula.ts @@ -1,4 +1,4 @@ -import { FieldType } from "@budibase/types" +import { FieldType, Table, UIBinding } from "@budibase/types" import { FIELDS } from "@/constants/backend" import { tables } from "@/stores/builder" import { get as svelteGet } from "svelte/store" @@ -21,8 +21,13 @@ export function getBindings({ path = null, category = null, depth = 0, +}: { + table: Table | undefined + path: string | null + category: string | null + depth: number }) { - let bindings = [] + let bindings: UIBinding[] = [] if (!table) { return bindings } @@ -58,7 +63,7 @@ export function getBindings({ } const field = Object.values(FIELDS).find( field => field.type === schema.type - ) + )! const label = path == null ? column : `${path}.0.${column}` const binding = path == null ? `[${column}]` : `[${path}].0.[${column}]` diff --git a/packages/types/src/ui/bindings/binding.ts b/packages/types/src/ui/bindings/binding.ts index fdeb4a6c13..9b8d0b2e23 100644 --- a/packages/types/src/ui/bindings/binding.ts +++ b/packages/types/src/ui/bindings/binding.ts @@ -28,7 +28,16 @@ export interface UIBinding { prefixKeys?: string } component?: string - providerId: string + providerId?: string readableBinding?: string runtimeBinding?: string + label?: string + path?: string + type: string + category?: string + description?: string + display: { + name: string + type: string + } }