// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import { MenuItem, Grid, Select, withStyles, StyleRulesCallback } from '@material-ui/core'; import RemoveRedEye from '@material-ui/icons/RemoveRedEye'; import Edit from '@material-ui/icons/Edit'; import Computer from '@material-ui/icons/Computer'; import { WithStyles } from '@material-ui/core/styles'; import { SelectProps } from '@material-ui/core/Select'; export enum PermissionSelectValue { READ = 'Read', WRITE = 'Write', MANAGE = 'Manage', } type PermissionSelectClasses = 'value'; const PermissionSelectStyles: StyleRulesCallback = theme => ({ value: { marginLeft: theme.spacing.unit, } }); export const PermissionSelect = withStyles(PermissionSelectStyles)( ({ classes, ...props }: SelectProps & WithStyles) => ); const renderPermissionItem = (value: string) => ; type PermissionItemClasses = 'value'; const permissionItemStyles: StyleRulesCallback = theme => ({ value: { marginLeft: theme.spacing.unit, } }); const PermissionItem = withStyles(permissionItemStyles)( ({ value, classes }: { value: string } & WithStyles) => {renderPermissionIcon(value)} {value} ); const renderPermissionIcon = (value: string) => { switch (value) { case PermissionSelectValue.READ: return ; case PermissionSelectValue.WRITE: return ; case PermissionSelectValue.MANAGE: return ; default: return null; } };