Merge pull request #15667 from Budibase/BUDI-9077/types

Typing field
This commit is contained in:
Adria Navarro 2025-03-04 11:27:29 +01:00 committed by GitHub
commit 14e5a9f5a8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 23 additions and 8 deletions

View File

@ -5,11 +5,12 @@
import { memo } from "@budibase/frontend-core"
import Placeholder from "../Placeholder.svelte"
import InnerForm from "./InnerForm.svelte"
import type { FieldApi } from "."
export let label: string | undefined = undefined
export let field: string | undefined = undefined
export let fieldState: any
export let fieldApi: any
export let fieldApi: FieldApi
export let fieldSchema: any
export let defaultValue: string | undefined = undefined
export let type: any

View File

@ -1,6 +1,6 @@
<script lang="ts">
import { CoreSelect, CoreMultiselect } from "@budibase/bbui"
import { FieldType, InternalTable } from "@budibase/types"
import { BasicOperator, FieldType, InternalTable } from "@budibase/types"
import { fetchData, Utils } from "@budibase/frontend-core"
import { getContext } from "svelte"
import Field from "./Field.svelte"
@ -9,10 +9,11 @@
RelationshipFieldMetadata,
Row,
} from "@budibase/types"
import type { FieldApi, FieldState } from "."
export let field: string | undefined = undefined
export let label: string | undefined = undefined
export let placeholder: any = undefined
export let placeholder: string | undefined = undefined
export let disabled: boolean = false
export let readonly: boolean = false
export let validation: any
@ -35,12 +36,13 @@
const { API } = getContext("sdk")
// Field state
let fieldState: any
let fieldApi: any
let fieldState: FieldState<string | string[]> | undefined
let fieldApi: FieldApi
let fieldSchema: RelationshipFieldMetadata | undefined
// Local UI state
let searchTerm: any
let searchTerm: string
let open: boolean = false
// Options state
@ -306,14 +308,14 @@
}
// Ensure we match all filters, rather than any
let newFilter: any = filter
let newFilter = filter
if (searchTerm) {
// @ts-expect-error this doesn't fit types, but don't want to change it yet
newFilter = (newFilter || []).filter(x => x.operator !== "allOr")
newFilter.push({
// Use a big numeric prefix to avoid clashing with an existing filter
field: `999:${primaryDisplay}`,
operator: "string",
operator: BasicOperator.STRING,
value: searchTerm,
})
}

View File

@ -19,3 +19,15 @@ export { default as codescanner } from "./CodeScannerField.svelte"
export { default as signaturesinglefield } from "./SignatureField.svelte"
export { default as bbreferencefield } from "./BBReferenceField.svelte"
export { default as bbreferencesinglefield } from "./BBReferenceSingleField.svelte"
export interface FieldApi {
setValue(value: any): boolean
deregister(): void
}
export interface FieldState<T> {
value: T
fieldId: string
disabled: boolean
readonly: boolean
}