// Copyright (C) The Arvados Authors. All rights reserved. // // 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"; 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; } type CssRules = 'root' | 'cardSubheader' | 'nameHeader' | 'fileSizeHeader'; const styles: StyleRulesCallback = theme => ({ root: { paddingBottom: theme.spacing.unit }, cardSubheader: { paddingTop: 0, paddingBottom: 0 }, nameHeader: { marginLeft: '75px' }, fileSizeHeader: { marginRight: '65px' } }); 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 File size ) );