mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-09 20:29:36 +02:00
improve pickTableColumns util to handle more properties
This commit is contained in:
@@ -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,
|
||||||
}));
|
};
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user