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"