diff --git a/packages/client/manifest.json b/packages/client/manifest.json index 6788925c31..3bf4a8f7a8 100644 --- a/packages/client/manifest.json +++ b/packages/client/manifest.json @@ -5623,5 +5623,66 @@ "defaultValue": false } ] + }, + "bbreferencefield": { + "name": "BB Reference field", + "icon": "Link", + "styles": ["size"], + "requiredAncestors": ["form"], + "editable": true, + "size": { + "width": 400, + "height": 50 + }, + "settings": [ + { + "type": "text", + "label": "Label", + "key": "label" + }, + { + "type": "text", + "label": "Placeholder", + "key": "placeholder" + }, + { + "type": "text", + "label": "Default value", + "key": "defaultValue" + }, + { + "type": "event", + "label": "On change", + "key": "onChange", + "context": [ + { + "label": "Field Value", + "key": "value" + } + ] + }, + { + "type": "validation/link", + "label": "Validation", + "key": "validation" + }, + { + "type": "filter/relationship", + "label": "Filtering", + "key": "filter" + }, + { + "type": "boolean", + "label": "Search", + "key": "autocomplete", + "defaultValue": true + }, + { + "type": "boolean", + "label": "Disabled", + "key": "disabled", + "defaultValue": false + } + ] } } diff --git a/packages/client/src/components/app/blocks/form/InnerFormBlock.svelte b/packages/client/src/components/app/blocks/form/InnerFormBlock.svelte index f2887e97ad..ec5daa21b1 100644 --- a/packages/client/src/components/app/blocks/form/InnerFormBlock.svelte +++ b/packages/client/src/components/app/blocks/form/InnerFormBlock.svelte @@ -30,6 +30,7 @@ link: "relationshipfield", json: "jsonfield", barcodeqr: "codescanner", + bb_reference: "bbreferencefield", } let formId diff --git a/packages/client/src/components/app/forms/BBReferenceField.svelte b/packages/client/src/components/app/forms/BBReferenceField.svelte new file mode 100644 index 0000000000..87bc015f93 --- /dev/null +++ b/packages/client/src/components/app/forms/BBReferenceField.svelte @@ -0,0 +1,11 @@ + + + diff --git a/packages/client/src/components/app/forms/RelationshipField.svelte b/packages/client/src/components/app/forms/RelationshipField.svelte index c9fe4a8549..6402ccbe2d 100644 --- a/packages/client/src/components/app/forms/RelationshipField.svelte +++ b/packages/client/src/components/app/forms/RelationshipField.svelte @@ -16,6 +16,7 @@ export let defaultValue export let onChange export let filter + export let datasourceType = "table" let fieldState let fieldApi @@ -29,7 +30,7 @@ $: fetch = fetchData({ API, datasource: { - type: "table", + type: datasourceType, tableId: linkedTableId, }, options: { diff --git a/packages/client/src/components/app/forms/index.js b/packages/client/src/components/app/forms/index.js index 47701fe3a9..5804d3a79d 100644 --- a/packages/client/src/components/app/forms/index.js +++ b/packages/client/src/components/app/forms/index.js @@ -15,3 +15,4 @@ export { default as formstep } from "./FormStep.svelte" export { default as jsonfield } from "./JSONField.svelte" export { default as s3upload } from "./S3Upload.svelte" export { default as codescanner } from "./CodeScannerField.svelte" +export { default as bbreferencefield } from "./BBReferenceField.svelte"