diff --git a/packages/bbui/src/Table/Table.svelte b/packages/bbui/src/Table/Table.svelte index 7022fa6aba..90e3babdde 100644 --- a/packages/bbui/src/Table/Table.svelte +++ b/packages/bbui/src/Table/Table.svelte @@ -28,6 +28,7 @@ export let editColumnTitle = "Edit" export let customRenderers = [] export let disableSorting = false + export let autoSortColumns = true const dispatch = createEventDispatcher() rowCount = 8 @@ -46,7 +47,7 @@ let loaded = false $: schema = fixSchema(schema) $: if (!loading) loaded = true - $: fields = getFields(schema, showAutoColumns) + $: fields = getFields(schema, showAutoColumns, autoSortColumns) $: rows = fields?.length ? data || [] : [] $: visibleRowCount = getVisibleRowCount(loaded, height, rows.length, rowCount) $: contentStyle = getContentStyle(visibleRowCount, rowCount) @@ -162,14 +163,14 @@ return name || "" } - const getFields = (schema, showAutoColumns) => { + const getFields = (schema, showAutoColumns, autoSortColumns) => { let columns = [] let autoColumns = [] Object.entries(schema || {}).forEach(([field, fieldSchema]) => { if (!field || !fieldSchema) { return } - if (!fieldSchema?.autocolumn) { + if (!autoSortColumns || !fieldSchema?.autocolumn) { columns.push(fieldSchema) } else if (showAutoColumns) { autoColumns.push(fieldSchema) diff --git a/packages/client/src/components/app/table/Table.svelte b/packages/client/src/components/app/table/Table.svelte index 1662f5fa09..43dd8957fe 100644 --- a/packages/client/src/components/app/table/Table.svelte +++ b/packages/client/src/components/app/table/Table.svelte @@ -87,6 +87,9 @@ if (field?.displayName) { newSchema[columnName].displayName = field?.displayName } + if (field?.width) { + newSchema[columnName].width = field?.width + } }) return newSchema } @@ -125,6 +128,7 @@ allowEditColumns={false} showAutoColumns={true} disableSorting + autoSortColumns={!columns.length} on:sort={onSort} on:click={onClick} >