Merge branch '19988-data-explorer-sorting' into main. Closes #19988
[arvados-workbench2.git] / src / components / column-selector / column-selector.tsx
index 63934ddbff54681c4b344e202a00ffc5654cd58f..0eb1323a07d44d2fd58a3ea3a5f912f01d083a18 100644 (file)
@@ -10,20 +10,25 @@ import { Popover } from "../popover/popover";
 import { IconButtonProps } from '@material-ui/core/IconButton';
 import { DataColumns } from '../data-table/data-table';
 import { ArvadosTheme } from "common/custom-theme";
-import { ResourceName } from 'views-components/data-explorer/renderers';
 
 interface ColumnSelectorDataProps {
-    columns: DataColumns<any>;
-    onColumnToggle: (column: DataColumn<any>) => void;
+    columns: DataColumns<any, any>;
+    onColumnToggle: (column: DataColumn<any, any>) => void;
     className?: string;
 }
 
-type CssRules = "checkbox";
+type CssRules = "checkbox" | "listItem" | "listItemText";
 
 const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
     checkbox: {
         width: 24,
         height: 24
+    },
+    listItem: {
+        padding: 0
+    },
+    listItemText: {
+        paddingTop: '0.2rem'
     }
 });
 
@@ -31,17 +36,7 @@ export type ColumnSelectorProps = ColumnSelectorDataProps & WithStyles<CssRules>
 
 export const ColumnSelector = withStyles(styles)(
     ({ columns, onColumnToggle, classes }: ColumnSelectorProps) =>
-    {
-//         // console.log('COLUMN_SELECTOR',columns)
-//     columns = [...columns, {
-//         name:'bananas',
-//         selected: false,
-//         configurable: true, filters:{}, render: (uuid)=><ResourceName uuid='bananas'/>
-//     }
-// ]
-// //lisa
-//     // console.log('COLUMN_SELECTOR',columns)
-       return <Popover triggerComponent={ColumnSelectorTrigger}>
+        <Popover triggerComponent={ColumnSelectorTrigger}>
             <Paper>
                 <List dense>
                     {columns
@@ -50,20 +45,22 @@ export const ColumnSelector = withStyles(styles)(
                             <ListItem
                                 button
                                 key={index}
+                                className={classes.listItem}
                                 onClick={() => onColumnToggle(column)}>
                                 <Checkbox
                                     disableRipple
                                     color="primary"
                                     checked={column.selected}
                                     className={classes.checkbox} />
-                                <ListItemText>
+                                <ListItemText
+                                    className={classes.listItemText}>
                                     {column.name}
                                 </ListItemText>
                             </ListItem>
                         )}
                 </List>
             </Paper>
-        </Popover>}
+        </Popover>
 );
 
 export const ColumnSelectorTrigger = (props: IconButtonProps) =>