virtual-machines-panel-init
[arvados-workbench2.git] / src / views-components / current-token-dialog / current-token-dialog.tsx
index d2acccb78d42be530ed5a86d8a9dd2d07123a280..934be54d37f15336d5e6e5b5a89a66002bdf4b34 100644 (file)
@@ -3,13 +3,12 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import * as React from 'react';
-import { Dialog, DialogActions, DialogTitle, DialogContent, WithStyles, withStyles, StyleRulesCallback, Button, Typography, Paper } from '@material-ui/core';
+import { Dialog, DialogActions, DialogTitle, DialogContent, WithStyles, withStyles, StyleRulesCallback, Button, Typography } from '@material-ui/core';
 import { ArvadosTheme } from '~/common/custom-theme';
 import { withDialog } from '~/store/dialog/with-dialog';
 import { WithDialogProps } from '~/store/dialog/with-dialog';
-import { compose } from 'redux';
 import { connect } from 'react-redux';
-import { CurrentTokenDialogData, getCurrentTokenDialogData } from '~/store/current-token-dialog/current-token-dialog-actions';
+import { CurrentTokenDialogData, getCurrentTokenDialogData, CURRENT_TOKEN_DIALOG_NAME } from '~/store/current-token-dialog/current-token-dialog-actions';
 import { DefaultCodeSnippet } from '~/components/default-code-snippet/default-code-snippet';
 
 type CssRules = 'link' | 'paper' | 'button';
@@ -34,46 +33,46 @@ const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
 
 type CurrentTokenProps = CurrentTokenDialogData & WithDialogProps<{}> & WithStyles<CssRules>;
 
-export const CurrentTokenDialog = compose(
-    withStyles(styles),
-    connect(getCurrentTokenDialogData),
-    withDialog('currentTokenDialog')
-)(class extends React.Component<CurrentTokenProps> {
-    render() {
-        const { classes, open, closeDialog, ...data } = this.props;
-        return <Dialog
-            open={open}
-            onClose={closeDialog}
-            fullWidth={true}
-            maxWidth='md'>
-            <DialogTitle>Current Token</DialogTitle>
-            <DialogContent>
-                <Typography variant='body1' paragraph={true}>
-                    The Arvados API token is a secret key that enables the Arvados SDKs to access Arvados with the proper permissions.
-                            <Typography component='p'>
-                        For more information see
-                                <a href='http://doc.arvados.org/user/reference/api-tokens.html' target='blank' className={classes.link}>
-                            Getting an API token.
-                                </a>
-                    </Typography>
-                </Typography>
-                <Typography variant='body1' paragraph={true}>
-                    Paste the following lines at a shell prompt to set up the necessary environment for Arvados SDKs to authenticate to your klingenc account.
-                        </Typography>
-                <DefaultCodeSnippet lines={[getSnippet(data)]} />
-                <Typography variant='body1'>
-                    Arvados
-                            <a href='http://doc.arvados.org/user/reference/api-tokens.html' target='blank' className={classes.link}>virtual machines</a>
-                    do this for you automatically. This setup is needed only when you use the API remotely (e.g., from your own workstation).
+export const CurrentTokenDialog =
+    withStyles(styles)(
+    connect(getCurrentTokenDialogData)(
+    withDialog(CURRENT_TOKEN_DIALOG_NAME)(
+    class extends React.Component<CurrentTokenProps> {
+        render() {
+            const { classes, open, closeDialog, ...data } = this.props;
+            return <Dialog
+                open={open}
+                onClose={closeDialog}
+                fullWidth={true}
+                maxWidth='md'>
+                <DialogTitle>Current Token</DialogTitle>
+                <DialogContent>
+                    <Typography variant='body1' paragraph={true}>
+                        The Arvados API token is a secret key that enables the Arvados SDKs to access Arvados with the proper permissions.
+                                <Typography component='p'>
+                            For more information see
+                                    <a href='http://doc.arvados.org/user/reference/api-tokens.html' target='blank' className={classes.link}>
+                                Getting an API token.
+                                    </a>
                         </Typography>
-            </DialogContent>
-            <DialogActions>
-                <Button onClick={closeDialog} className={classes.button} color="primary">CLOSE</Button>
-            </DialogActions>
-        </Dialog>;
+                    </Typography>
+                    <Typography variant='body1' paragraph={true}>
+                        Paste the following lines at a shell prompt to set up the necessary environment for Arvados SDKs to authenticate to your klingenc account.
+                            </Typography>
+                    <DefaultCodeSnippet lines={[getSnippet(data)]} />
+                    <Typography variant='body1'>
+                        Arvados
+                                <a href='http://doc.arvados.org/user/reference/api-tokens.html' target='blank' className={classes.link}>virtual machines</a>
+                        do this for you automatically. This setup is needed only when you use the API remotely (e.g., from your own workstation).
+                            </Typography>
+                </DialogContent>
+                <DialogActions>
+                    <Button onClick={closeDialog} className={classes.button} color="primary">CLOSE</Button>
+                </DialogActions>
+            </Dialog>;
+        }
     }
-}
-);
+)));
 
 const getSnippet = ({ apiHost, currentToken }: CurrentTokenDialogData) =>
 `HISTIGNORE=$HISTIGNORE:'export ARVADOS_API_TOKEN=*'