X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/eb4491eea9ba873845f7a5796d139d19977f8112..fc898afbfa340c57062887083c96bc197fc283d0:/src/components/collection-panel-files/collection-panel-files.tsx diff --git a/src/components/collection-panel-files/collection-panel-files.tsx b/src/components/collection-panel-files/collection-panel-files.tsx index 665758c3..48b36be1 100644 --- a/src/components/collection-panel-files/collection-panel-files.tsx +++ b/src/components/collection-panel-files/collection-panel-files.tsx @@ -3,26 +3,26 @@ // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; -import { TreeItem, TreeItemStatus } from '../tree/tree'; -import { FileTreeData } from '../file-tree/file-tree-data'; -import { FileTree } from '../file-tree/file-tree'; -import { IconButton, Grid, Typography, StyleRulesCallback, withStyles, WithStyles, CardHeader, Card, Button } from '@material-ui/core'; -import { CustomizeTableIcon } from '../icon/icon'; -import { connect, DispatchProp } from "react-redux"; -import { Dispatch } from "redux"; -import { RootState } from "~/store/store"; -import { ServiceRepository } from "~/services/services"; +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>; + isWritable: boolean; onUploadDataClick: () => void; - onItemMenuOpen: (event: React.MouseEvent, item: TreeItem) => void; - onOptionsMenuOpen: (event: React.MouseEvent) => void; + onItemMenuOpen: (event: React.MouseEvent, item: TreeItem, isWritable: boolean) => void; + onOptionsMenuOpen: (event: React.MouseEvent, isWritable: boolean) => void; onSelectionToggle: (event: React.MouseEvent, item: TreeItem) => void; onCollapseToggle: (id: string, status: TreeItemStatus) => void; + onFileClick: (id: string) => void; + currentItemUuid?: string; } -type CssRules = 'root' | 'cardSubheader' | 'nameHeader' | 'fileSizeHeader'; +type CssRules = 'root' | 'cardSubheader' | 'nameHeader' | 'fileSizeHeader' | 'uploadIcon' | 'button'; const styles: StyleRulesCallback = theme => ({ root: { @@ -37,47 +37,53 @@ const styles: StyleRulesCallback = theme => ({ }, fileSizeHeader: { marginRight: '65px' + }, + uploadIcon: { + transform: 'rotate(180deg)' + }, + button: { + marginRight: -theme.spacing.unit, + marginTop: '0px' } }); -const renameFile = () => (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => { - services.collectionFilesService.renameTest(); -}; - - export const CollectionPanelFiles = - connect()( withStyles(styles)( - ({ onItemMenuOpen, onOptionsMenuOpen, classes, dispatch, ...treeProps }: CollectionPanelFilesProps & DispatchProp & WithStyles) => - - { - dispatch(renameFile()); - }} - variant='raised' - color='primary' - size='small'> - Upload data - - } /> - - - - } /> - - - Name + ({ onItemMenuOpen, onOptionsMenuOpen, onUploadDataClick, classes, isWritable, ...treeProps }: CollectionPanelFilesProps & WithStyles) => + + + + Upload data + + } /> + + onOptionsMenuOpen(ev, isWritable)}> + + + + } /> + + + Name - - File size + + File size - - - ) -); + + onItemMenuOpen(ev, item, isWritable)} {...treeProps} /> + );