16115: Adds unit tests to SharingURLsComponent.
[arvados-workbench2.git] / src / views-components / sharing-dialog / sharing-management-form-component.tsx
index e4096ea597cfa8e651fe9e39645aeb8763f44088..2ebf8c2d8c806aff8fccfccf034682b627c56c8a 100644 (file)
@@ -2,7 +2,7 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import * as React from 'react';
+import React from 'react';
 import { Grid, StyleRulesCallback, Divider, IconButton, Typography } from '@material-ui/core';
 import {
     Field,
@@ -14,17 +14,19 @@ import {
 import { PermissionSelect, formatPermissionLevel, parsePermissionLevel } from './permission-select';
 import { WithStyles } from '@material-ui/core/styles';
 import withStyles from '@material-ui/core/styles/withStyles';
-import { CloseIcon } from '~/components/icon/icon';
+import { CloseIcon } from 'components/icon/icon';
 
 
 export default () =>
-    <FieldArray name='permissions' component={SharingManagementFieldArray} />;
+    <FieldArray name='permissions' component={SharingManagementFieldArray as any} />;
 
 const SharingManagementFieldArray = ({ fields }: WrappedFieldArrayProps<{ email: string }>) =>
     <div>
         {
-            fields.map((field, index, fields) =>
+        fields.length > 0
+        ? fields.map((field, index, fields) =>
                 <PermissionManagementRow key={field} {...{ field, index, fields }} />)
+        : <Typography>No permissions set</Typography>
         }
         <Divider />
     </div>;
@@ -44,7 +46,7 @@ const PermissionManagementRow = withStyles(permissionManagementRowStyles)(
                 </Grid>
                 <Grid item xs={4} container wrap='nowrap'>
                     <Field
-                        name={`${field}.permissions`}
+                        name={`${field}.permissions` as string}
                         component={PermissionSelectComponent}
                         format={formatPermissionLevel}
                         parse={parsePermissionLevel} />