improve pickTableColumns util to handle more properties

This commit is contained in:
jeffvli
2025-11-12 20:02:18 -08:00
parent 27e84ce518
commit 6bde14be49
@@ -649,13 +649,39 @@ export const GENRE_TABLE_COLUMNS: DefaultTableColumn[] = [
}, },
]; ];
export const pickTableColumns = (columns: DefaultTableColumn[], enabledColumns: TableColumn[]) => { export const pickTableColumns = (options: {
return columns.map((column) => ({ autoSizeColumns?: TableColumn[];
align: column.align, columns: DefaultTableColumn[];
autoSize: column.autoSize, enabledColumns: TableColumn[];
id: column.value, pinnedLeftColumns?: TableColumn[];
isEnabled: enabledColumns.includes(column.value), pinnedRightColumns?: TableColumn[];
pinned: column.pinned, }) => {
width: column.width, const {
})); autoSizeColumns = [],
columns,
enabledColumns,
pinnedLeftColumns = [],
pinnedRightColumns = [],
} = options;
return columns.map((column) => {
const pinned: 'left' | 'right' | null = pinnedLeftColumns.includes(column.value)
? 'left'
: pinnedRightColumns.includes(column.value)
? 'right'
: null;
const isEnabled = enabledColumns.includes(column.value);
const autoSize = autoSizeColumns.includes(column.value);
return {
align: column.align,
autoSize,
id: column.value,
isEnabled,
pinned,
width: column.width,
};
});
}; };