diff --git a/packages/bbui/src/Table/CellRenderer.svelte b/packages/bbui/src/Table/CellRenderer.svelte index a4345512a3..9a53fd0169 100644 --- a/packages/bbui/src/Table/CellRenderer.svelte +++ b/packages/bbui/src/Table/CellRenderer.svelte @@ -5,6 +5,7 @@ import RelationshipRenderer from "./RelationshipRenderer.svelte" import AttachmentRenderer from "./AttachmentRenderer.svelte" import ArrayRenderer from "./ArrayRenderer.svelte" + import InternalRenderer from "./InternalRenderer.svelte" export let row export let schema @@ -22,6 +23,7 @@ number: StringRenderer, longform: StringRenderer, array: ArrayRenderer, + internal: InternalRenderer, } $: type = schema?.type ?? "string" $: customRenderer = customRenderers?.find(x => x.column === schema?.name) diff --git a/packages/builder/src/components/backend/DataTable/DataTable.svelte b/packages/builder/src/components/backend/DataTable/DataTable.svelte index 11bf1ee739..336bb51670 100644 --- a/packages/builder/src/components/backend/DataTable/DataTable.svelte +++ b/packages/builder/src/components/backend/DataTable/DataTable.svelte @@ -20,10 +20,30 @@ $: type = $tables.selected?.type $: isInternal = type !== "external" $: schema = $tables.selected?.schema + $: enrichedSchema = enrichSchema($tables.selected?.schema) $: id = $tables.selected?._id $: search = searchTable(id) $: columnOptions = Object.keys($search.schema || {}) + const enrichSchema = schema => { + let tempSchema = { ...schema } + tempSchema._id = { + type: "internal", + editable: false, + displayName: "ID", + autocolumn: true, + } + if (isInternal) { + tempSchema._rev = { + type: "internal", + editable: false, + displayName: "Revision", + autocolumn: true, + } + } + + return tempSchema + } // Fetches new data whenever the table changes const searchTable = tableId => { return fetchTableData({ @@ -66,7 +86,7 @@
field.type === schema.type ) + const label = path == null ? column : `${path}.0.${column}` // only supply a description for relationship paths const description =