// 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'; import Grid from '@material-ui/core/Grid'; import * as classnames from "classnames"; export interface DetailsPanelProps { closeDrawer: () => void; isOpened: boolean; } class DetailsPanel extends React.Component, {}> { state = { tabsValue: 0, }; handleChange = (event: any, value: boolean) => { this.setState({ tabsValue: value }); } renderTabContainer = (children: React.ReactElement) => { return ( {children} ); } render() { const { classes, closeDrawer, isOpened } = this.props; const { tabsValue } = this.state; return (
Tutorial pipeline {tabsValue === 0 && this.renderTabContainer(

Type

Size

Location

Owner

Process

---

Projects

me

)} {tabsValue === 1 && this.renderTabContainer(

Type

Size

Location

Owner

Process

---

Projects

me

)}
); } } type CssRules = 'drawerPaper' | 'container' | 'opened' | 'headerContainer' | 'tabsIndicator' | 'tabRoot' | 'tabContainer' | 'tabSelected' | 'gridLabel'; const drawerWidth = 320; const colorPurple = '#692498'; const colorLightGray = '#A1A1A1'; const colorVeryLightGray = '#999999'; const colorGray = '#333'; const styles: StyleRulesCallback = (theme: Theme) => ({ container: { width: 0, position: 'relative', height: 'auto', transition: 'width 0.5s ease', '&$opened': { width: drawerWidth } }, opened: {}, drawerPaper: { position: 'relative', width: drawerWidth }, headerContainer: { color: colorLightGray, margin: `${theme.spacing.unit}px 0` }, tabsIndicator: { backgroundColor: colorPurple }, tabRoot: { color: colorGray, '&$tabSelected': { fontWeight: 700, color: colorPurple } }, tabContainer: { padding: theme.spacing.unit * 3 }, tabSelected: {}, gridLabel: { color: colorVeryLightGray, } }); export default withStyles(styles)(DetailsPanel);