15768: cleaned up toolbar types Arvados-DCO-1.1-Signed-off-by: Lisa Knox <lisa.knox...
authorLisa Knox <lisaknox83@gmail.com>
Fri, 12 May 2023 15:51:34 +0000 (11:51 -0400)
committerLisa Knox <lisaknox83@gmail.com>
Fri, 12 May 2023 15:51:34 +0000 (11:51 -0400)
src/components/data-explorer/data-explorer.tsx
src/components/multiselectToolbar/MultiselectToolbar.tsx

index 8d16aed2e17968430cacbdf1c1e35064c8d05e26..0446ee6f3565169eef18cce0d669a7b8dfde29b4 100644 (file)
@@ -228,7 +228,7 @@ export const DataExplorer = withStyles(styles)(
                                             </Tooltip>
                                         )}
                                     </Toolbar>
-                                    {isMSToolbarVisible && <MultiselectToolbar actions={defaultActions} />}
+                                    {isMSToolbarVisible && <MultiselectToolbar buttons={defaultActions} />}
                                 </Grid>
                             )}
                         </div>
index d857d7ffa07dae596ffc999bbd6209ec958c5e07..6620792e11787de49bff66cc91ce614d3c40c675 100644 (file)
@@ -23,24 +23,22 @@ const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
 });
 
 type MultiselectToolbarAction = {
-    name: string;
-    fn: () => ReactElement;
+    fn: (classes, i) => ReactElement;
 };
 
 export type MultiselectToolbarActions = {
-    actions: Array<MultiselectToolbarAction>;
+    buttons: Array<MultiselectToolbarAction>;
 };
 
 export const defaultActions: Array<MultiselectToolbarAction> = [
     {
-        name: 'foo',
-        fn: () => MSToolbarCopyButton({ button: { border: '1px solid blue' } }),
+        fn: (classes, i) => MSToolbarCopyButton(classes, i),
     },
 ];
 
-const MSToolbarCopyButton = (classes) => {
+const MSToolbarCopyButton = (classes, i) => {
     return (
-        <Button className={classes.button}>
+        <Button key={i} className={classes.button}>
             <CopyToClipboardSnackbar value='foo' children={<div>Copy</div>} />
         </Button>
     );
@@ -50,18 +48,8 @@ type MultiselectToolbarProps = MultiselectToolbarActions & WithStyles<CssRules>;
 
 export const MultiselectToolbar = connect(mapStateToProps)(
     withStyles(styles)((props: MultiselectToolbarProps) => {
-        const { classes, actions } = props;
-        return (
-            <Toolbar className={classes.root}>
-                {actions.map((action, i) => (
-                    <Button key={i} className={classes.button} onClick={action.fn}>
-                        {action.name}
-                    </Button>
-                ))}
-                <MSToolbarCopyButton />
-                {/* <CopyToClipboardSnackbar value='foo' children={<div>test</div>} /> */}
-            </Toolbar>
-        );
+        const { classes, buttons } = props;
+        return <Toolbar className={classes.root}>{buttons.map((btn, i) => btn.fn(classes, i))}</Toolbar>;
     })
 );