X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/dd89200ad6fdbfa337fdbab5f54def8712c6746c..8ff3c558698ed01fbca057ff876935470c358e65:/src/views-components/current-token-dialog/current-token-dialog.tsx diff --git a/src/views-components/current-token-dialog/current-token-dialog.tsx b/src/views-components/current-token-dialog/current-token-dialog.tsx index fca9f05982..ba6c3258f4 100644 --- a/src/views-components/current-token-dialog/current-token-dialog.tsx +++ b/src/views-components/current-token-dialog/current-token-dialog.tsx @@ -5,6 +5,13 @@ import * as React from 'react'; import { Dialog, DialogActions, DialogTitle, DialogContent, WithStyles, withStyles, StyleRulesCallback, Button, Typography, Paper } 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 { RootState } from '~/store/store'; +import { DefaultCodeSnippet } from '~/components/default-code-snippet/default-code-snippet'; type CssRules = 'link' | 'paper' | 'button'; @@ -26,65 +33,51 @@ const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ } }); -interface CurrentTokenDataProps { - currentToken?: string; - open: boolean; -} - -interface CurrentTokenActionProps { - handleClose: () => void; -} - -type CurrentTokenProps = CurrentTokenDataProps & CurrentTokenActionProps & WithStyles; - -export const CurrentTokenDialog = withStyles(styles)( - class extends React.Component { +type CurrentTokenProps = CurrentTokenDialogData & WithDialogProps<{}> & WithStyles; - render() { - const { classes, open, handleClose, currentToken } = this.props; - return ( - - Current Token - - - The Arvados API token is a secret key that enables the Arvados SDKs to access Arvados with the proper permissions. +export const CurrentTokenDialog = compose( + withStyles(styles), + connect(getCurrentTokenDialogData), + withDialog('currentTokenDialog') +)(class extends React.Component { + render() { + const { classes, open, closeDialog, ...data } = this.props; + return + Current Token + + + The Arvados API token is a secret key that enables the Arvados SDKs to access Arvados with the proper permissions. - For more information see + For more information see - Getting an API token. + Getting an API token. - + + + + Paste the following lines at a shell prompt to set up the necessary environment for Arvados SDKs to authenticate to your klingenc account. - - - Paste the following lines at a shell prompt to set up the necessary environment for Arvados SDKs to authenticate to your klingenc account. - - - - - HISTIGNORE=$HISTIGNORE:'export ARVADOS_API_TOKEN=*' - - - export ARVADOS_API_TOKEN={currentToken} - - - export ARVADOS_API_HOST=api.ardev.roche.com - - - unset ARVADOS_API_HOST_INSECURE - - - - Arvados + + + Arvados virtual machines - do this for you automatically. This setup is needed only when you use the API remotely (e.g., from your own workstation). + do this for you automatically. This setup is needed only when you use the API remotely (e.g., from your own workstation). - - - - - - ); - } + + + + + ; } +} ); + +const getSnippet = ({ apiHost, currentToken }: CurrentTokenDialogData) => +`HISTIGNORE=$HISTIGNORE:'export ARVADOS_API_TOKEN=*' +export ARVADOS_API_TOKEN=${currentToken} +export ARVADOS_API_HOST=${apiHost} +unset ARVADOS_API_HOST_INSECURE`;