diff --git a/packages/builder/src/builderStore/dataBinding.js b/packages/builder/src/builderStore/dataBinding.js
index 296d65765..5b3e24211 100644
--- a/packages/builder/src/builderStore/dataBinding.js
+++ b/packages/builder/src/builderStore/dataBinding.js
@@ -53,6 +53,7 @@ export const getBindableContexts = (rootComponent, componentId) => {
readableBinding: `${provider._instanceName}.${table.name}.${key}`,
fieldSchema,
providerId: provider._id,
+ tableId: provider.datasource.tableId,
})
})
})
diff --git a/packages/builder/src/components/design/AppPreview/componentStructure.json b/packages/builder/src/components/design/AppPreview/componentStructure.json
index 2fc80f682..1359b20ce 100644
--- a/packages/builder/src/components/design/AppPreview/componentStructure.json
+++ b/packages/builder/src/components/design/AppPreview/componentStructure.json
@@ -22,11 +22,13 @@
},
"button",
"text",
+ "link",
{
"name": "Other",
"icon": "ri-file-edit-line",
"children": [
- "screenslot"
+ "screenslot",
+ "navigation"
]
}
]
\ No newline at end of file
diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ScreenSelect.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ScreenSelect.svelte
index 9a3e55574..993e49faa 100644
--- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ScreenSelect.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ScreenSelect.svelte
@@ -1,68 +1,54 @@
diff --git a/packages/builder/src/components/design/PropertiesPanel/SettingsView.svelte b/packages/builder/src/components/design/PropertiesPanel/SettingsView.svelte
index bfb3c121c..093987627 100644
--- a/packages/builder/src/components/design/PropertiesPanel/SettingsView.svelte
+++ b/packages/builder/src/components/design/PropertiesPanel/SettingsView.svelte
@@ -53,6 +53,7 @@
boolean: Checkbox,
number: Input,
event: EventsEditor,
+ table: TableSelect,
}
const getControl = type => {
return controlMap[type]
diff --git a/packages/builder/src/components/design/temporaryPanelStructure.js b/packages/builder/src/components/design/temporaryPanelStructure.js
index cd0d3d8fe..5f4b433ee 100644
--- a/packages/builder/src/components/design/temporaryPanelStructure.js
+++ b/packages/builder/src/components/design/temporaryPanelStructure.js
@@ -754,26 +754,6 @@ export default {
settings: [{ label: "URL", key: "url", control: Input }],
},
},
- {
- _component: "@budibase/standard-components/link",
- name: "Link",
- description: "A basic link component for internal and external links",
- icon: "ri-link",
- children: [],
- properties: {
- design: { ...all },
- settings: [
- { label: "Text", key: "text", control: Input },
- { label: "Url", key: "url", control: ScreenSelect },
- {
- label: "New Tab",
- key: "openInNewTab",
- valueKey: "checked",
- control: Checkbox,
- },
- ],
- },
- },
{
_component: "@budibase/standard-components/icon",
name: "Icon",
@@ -838,30 +818,6 @@ export default {
commonProps: {},
children: [],
},
- {
- name: "Nav Bar",
- _component: "@budibase/standard-components/navigation",
- description:
- "A component for handling the navigation within your app.",
- icon: "ri-navigation-line",
- children: [],
- properties: {
- design: { ...all },
- settings: [{ label: "Logo URL", key: "logoUrl", control: Input }],
- },
- },
- {
- name: "Row Detail",
- _component: "@budibase/standard-components/rowdetail",
- description:
- "Loads a row, using an id from the URL, which can be used with {{ context }}, in children",
- icon: "ri-profile-line",
- properties: {
- design: { ...all },
- settings: [{ label: "Table", key: "table", control: TableSelect }],
- },
- children: [],
- },
{
name: "New Row",
_component: "@budibase/standard-components/newrow",
diff --git a/packages/standard-components/components.json b/packages/standard-components/components.json
index 909789122..4e45cb3e1 100644
--- a/packages/standard-components/components.json
+++ b/packages/standard-components/components.json
@@ -13,14 +13,6 @@
"embed": "string"
}
},
- "navigation": {
- "name": "Navigation",
- "description": "A basic header navigation component",
- "children": true,
- "props": {
- "logoUrl": "string"
- }
- },
"richtext": {
"name": "Rich Text",
"description": "A component that allows the user to enter long form text.",
@@ -43,18 +35,6 @@
}
},
-
- "rowdetail": {
- "name": "Row Detail",
- "description": "Loads a row, using an ID in the url",
- "context": "table",
- "children": true,
- "data": true,
- "baseComponent": true,
- "props": {
- "table": "tables"
- }
- },
"newrow": {
"name": "New Row",
"description": "Prepares a new row for creation",
@@ -411,15 +391,6 @@
"placeholder": "string"
}
},
- "link": {
- "name": "Link",
- "description": "an HTML anchor tag",
- "props": {
- "url": "string",
- "openInNewTab": "bool",
- "text": "string"
- }
- },
"image": {
"description": "an HTML
tag",
"props": {
diff --git a/packages/standard-components/manifest.json b/packages/standard-components/manifest.json
index 07cfc314a..87c46dd3c 100644
--- a/packages/standard-components/manifest.json
+++ b/packages/standard-components/manifest.json
@@ -291,5 +291,57 @@
"key": "buttonText"
}
]
+ },
+ "navigation": {
+ "name": "Nav Bar",
+ "description": "A component for handling the navigation within your app.",
+ "icon": "ri-navigation-line",
+ "styleable": true,
+ "hasChildren": true,
+ "settings": [
+ {
+ "type": "text",
+ "label": "Logo URL",
+ "key": "logoUrl"
+ }
+ ]
+ },
+ "link": {
+ "name": "Link",
+ "description": "A basic link component for internal and external links",
+ "icon": "ri-link",
+ "styleable": true,
+ "settings": [
+ {
+ "type": "text",
+ "label": "Text",
+ "key": "text"
+ },
+ {
+ "type": "screen",
+ "label": "URL",
+ "key": "url"
+ },
+ {
+ "type": "boolean",
+ "label": "New Tab",
+ "key": "openInNewTab"
+ }
+ ]
+ },
+ "rowdetail": {
+ "name": "Row Detail",
+ "description": "Loads a row, using an id from the URL, which can be used with {{ context }}, in children",
+ "icon": "ri-profile-line",
+ "styleable": true,
+ "hasChildren": true,
+ "dataProvider": true,
+ "settings": [
+ {
+ "type": "table",
+ "label": "Table",
+ "key": "table"
+ }
+ ]
}
}
diff --git a/packages/standard-components/src/index.js b/packages/standard-components/src/index.js
index 2a10a8a28..f85f0ae30 100644
--- a/packages/standard-components/src/index.js
+++ b/packages/standard-components/src/index.js
@@ -18,15 +18,15 @@ export { default as form } from "./DataFormWide.svelte"
export { default as datepicker } from "./DatePicker.svelte"
export { default as text } from "./Text.svelte"
export { default as login } from "./Login.svelte"
+export { default as navigation } from "./Navigation.svelte"
+export { default as link } from "./Link.svelte"
+export { default as rowdetail } from "./RowDetail.svelte"
// export { default as heading } from "./Heading.svelte"
-// export { default as link } from "./Link.svelte"
// export { default as image } from "./Image.svelte"
-// export { default as navigation } from "./Navigation.svelte"
// export { default as embed } from "./Embed.svelte"
// export { default as cardhorizontal } from "./CardHorizontal.svelte"
// export { default as cardstat } from "./CardStat.svelte"
-// export { default as rowdetail } from "./RowDetail.svelte"
// export { default as newrow } from "./NewRow.svelte"
// export { default as icon } from "./Icon.svelte"
// export * from "./charts"