// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import Drawer from '@material-ui/core/Drawer'; import IconButton from "@material-ui/core/IconButton"; import CloseIcon from '@material-ui/icons/Close'; import { StyleRulesCallback, WithStyles, withStyles, Theme } from "@material-ui/core/styles"; import Tabs from '@material-ui/core/Tabs'; import Tab from '@material-ui/core/Tab'; import Typography from '@material-ui/core/Typography'; function TabContainer(props: any) { return ( {props.children} ); } export interface DetailsPanelProps { toggleDrawer: (isOpened: boolean) => void; isOpened: boolean; } class DetailsPanel extends React.Component, {}> { state = { value: 0, }; handleChange = (event: any, value: boolean) => { this.setState({ value }); } render() { const { classes, toggleDrawer, isOpened } = this.props; const { value } = this.state; return (
toggleDrawer(false)} classes={{ paper: classes.drawerPaper }}>

Tutorial pipeline

toggleDrawer(false)}> {value === 0 && Item One } {value === 1 && Item Two }
); } } type CssRules = 'drawerPaper' | 'container' | 'title' | 'tabsRoot' | 'tabsIndicator' | 'tabRoot' | 'tabSelected'; const drawerWidth = 320; const styles: StyleRulesCallback = (theme: Theme) => ({ container: { position: 'relative', height: 'auto' }, drawerPaper: { position: 'relative', width: drawerWidth }, title: { padding: '10px 0px', fontSize: '20px', fontWeight: 400, fontStyle: 'normal' }, tabsRoot: { borderBottom: '1px solid transparent', }, tabsIndicator: { backgroundColor: 'rgb(106, 27, 154)', }, tabRoot: { fontSize: '13px', fontWeight: 400, color: '#333333', '&$tabSelected': { fontWeight: 700, color: 'rgb(106, 27, 154)' }, }, tabSelected: {} }); export default withStyles(styles)(DetailsPanel);