// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import { TreeItem, TreeItemStatus } from '~/components/tree/tree'; import { FileTreeData } from '~/components/file-tree/file-tree-data'; import { FileTree } from '~/components/file-tree/file-tree'; import { IconButton, Grid, Typography, StyleRulesCallback, withStyles, WithStyles, CardHeader, Card, Button, Tooltip } from '@material-ui/core'; import { CustomizeTableIcon } from '~/components/icon/icon'; import { DownloadIcon } from '~/components/icon/icon'; export interface CollectionPanelFilesProps { items: Array>; onUploadDataClick: () => void; onItemMenuOpen: (event: React.MouseEvent, item: TreeItem) => void; onOptionsMenuOpen: (event: React.MouseEvent) => void; onSelectionToggle: (event: React.MouseEvent, item: TreeItem) => void; onCollapseToggle: (id: string, status: TreeItemStatus) => void; onFileClick: (id: string) => void; } type CssRules = 'root' | 'cardSubheader' | 'nameHeader' | 'fileSizeHeader' | 'uploadIcon' | 'button'; const styles: StyleRulesCallback = theme => ({ root: { paddingBottom: theme.spacing.unit }, cardSubheader: { paddingTop: 0, paddingBottom: 0 }, nameHeader: { marginLeft: '75px' }, fileSizeHeader: { marginRight: '65px' }, uploadIcon: { transform: 'rotate(180deg)' }, button: { marginRight: -theme.spacing.unit, marginTop: '0px' } }); export const CollectionPanelFiles = withStyles(styles)( ({ onItemMenuOpen, onOptionsMenuOpen, onUploadDataClick, classes, ...treeProps }: CollectionPanelFilesProps & WithStyles) => Upload data } /> } /> Name File size );