X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a60d90f0ee4d4cd71ccc876b112911f437ffb974..2a7fd99c212c33a1ec9911f8529fa5afc59a7bb2:/src/views-components/sharing-dialog/sharing-invitation-form-component.tsx
diff --git a/src/views-components/sharing-dialog/sharing-invitation-form-component.tsx b/src/views-components/sharing-dialog/sharing-invitation-form-component.tsx
index 9efbb1be71..871ea503ec 100644
--- a/src/views-components/sharing-dialog/sharing-invitation-form-component.tsx
+++ b/src/views-components/sharing-dialog/sharing-invitation-form-component.tsx
@@ -2,48 +2,84 @@
//
// SPDX-License-Identifier: AGPL-3.0
-import * as React from 'react';
-import { Field, WrappedFieldProps } from 'redux-form';
-import { Grid, Input, FormControl, FormHelperText, FormLabel, InputLabel } from '@material-ui/core';
-import { ChipsInput } from '~/components/chips-input/chips-input';
-import { identity } from 'lodash';
-import { PermissionSelect } from './permission-select';
-
-export default () =>
-
-
-
-
-
-
-
- ;
+import React from 'react';
+import { Field, WrappedFieldProps, FieldArray, WrappedFieldArrayProps } from 'redux-form';
+import { Grid, FormControl, InputLabel, Tooltip, IconButton, StyleRulesCallback } from '@material-ui/core';
+import { PermissionSelect, parsePermissionLevel, formatPermissionLevel } from './permission-select';
+import { ParticipantSelect, Participant } from './participant-select';
+import { AddIcon } from 'components/icon/icon';
+import { WithStyles } from '@material-ui/core/styles';
+import withStyles from '@material-ui/core/styles/withStyles';
+import { ArvadosTheme } from 'common/custom-theme';
+
+type SharingStyles = 'root' | 'addButtonRoot' | 'addButtonPrimary' | 'addButtonDisabled';
+
+const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({
+ root: {
+ padding: `${theme.spacing.unit}px 0`,
+ },
+ addButtonRoot: {
+ height: "36px",
+ width: "36px",
+ marginRight: "6px",
+ marginLeft: "6px",
+ marginTop: "12px",
+ },
+ addButtonPrimary: {
+ color: theme.palette.primary.contrastText,
+ background: theme.palette.primary.main,
+ "&:hover": {
+ background: theme.palette.primary.dark,
+ }
+ },
+ addButtonDisabled: {
+ background: 'none',
+ }
+});
+
+const SharingInvitationFormComponent = (props: { onSave: () => void, saveEnabled: boolean }) =>
+
+export default SharingInvitationFormComponent;
+
+const StyledSharingInvitationFormComponent = withStyles(styles)(
+ ({ onSave, saveEnabled, classes }: { onSave: () => void, saveEnabled: boolean } & WithStyles) =>
+
+
+
+
+
+
+
+
+
+
+
+
+ );
const InvitedPeopleField = () =>
- ;
+ component={InvitedPeopleFieldComponent as any} />;
-const InvitedPeopleFieldComponent = (props: WrappedFieldProps) =>
-
-
- Invite people
-
-
-
- Helper text
-
- ;
+const InvitedPeopleFieldComponent = ({ fields }: WrappedFieldArrayProps) =>
+ ;
const PermissionSelectField = () =>
;
+ name='permissions'
+ component={PermissionSelectComponent}
+ format={formatPermissionLevel}
+ parse={parsePermissionLevel} />;
const PermissionSelectComponent = ({ input }: WrappedFieldProps) =>