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[];
columns: DefaultTableColumn[];
enabledColumns: TableColumn[];
pinnedLeftColumns?: TableColumn[];
pinnedRightColumns?: TableColumn[];
}) => {
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, align: column.align,
autoSize: column.autoSize, autoSize,
id: column.value, id: column.value,
isEnabled: enabledColumns.includes(column.value), isEnabled,
pinned: column.pinned, pinned,
width: column.width, width: column.width,
})); };
});
}; };