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"