diff --git a/packages/client/manifest.json b/packages/client/manifest.json index 06dbaad660..5d73d3b95c 100644 --- a/packages/client/manifest.json +++ b/packages/client/manifest.json @@ -2680,11 +2680,10 @@ "defaultValue": 8 }, { - "type": "multifield", + "type": "columns", "label": "Columns", "key": "columns", - "dependsOn": "dataProvider", - "placeholder": "All columns" + "dependsOn": "dataProvider" }, { "type": "select", diff --git a/packages/client/src/components/app/table/Table.svelte b/packages/client/src/components/app/table/Table.svelte index f462b93551..1662f5fa09 100644 --- a/packages/client/src/components/app/table/Table.svelte +++ b/packages/client/src/components/app/table/Table.svelte @@ -40,7 +40,8 @@ // Check for an invalid column selection let invalid = false customColumns?.forEach(column => { - if (schema[column] == null) { + const columnName = typeof column === "string" ? column : column.name + if (schema[columnName] == null) { invalid = true } }) @@ -75,9 +76,16 @@ } fields.forEach(field => { - newSchema[field] = schema[field] - if (schema[field] && UnsortableTypes.indexOf(schema[field].type) !== -1) { - newSchema[field].sortable = false + const columnName = typeof field === "string" ? field : field.name + if (!schema[columnName]) { + return + } + newSchema[columnName] = schema[columnName] + if (UnsortableTypes.includes(schema[columnName].type)) { + newSchema[columnName].sortable = false + } + if (field?.displayName) { + newSchema[columnName].displayName = field?.displayName } }) return newSchema