import React, { useEffect } from "react"; import styled from "styled-components"; import TagListField from "components/editorComponents/form/fields/TagListField"; import FormGroup from "components/editorComponents/form/FormGroup"; import { reduxForm } from "redux-form"; import SelectField from "components/editorComponents/form/fields/SelectField"; import Button from "components/editorComponents/Button"; import { connect } from "react-redux"; import { AppState } from "reducers"; import { getRoles, getDefaultRole, getRolesForField, getAllUsers, } from "selectors/organizationSelectors"; import { ReduxActionTypes } from "constants/ReduxActionConstants"; import { InviteUsersToOrgFormValues, inviteUsersToOrg } from "./helpers"; import { OrgRole } from "constants/orgConstants"; import { INVITE_USERS_TO_ORG_FORM } from "constants/forms"; import { Classes } from "@blueprintjs/core"; import { noop } from "lodash"; const StyledForm = styled.div` width: 100%; background: white; padding: ${props => props.theme.spaces[5]}px; &&& { .bp3-input { box-shadow: none; } } .manageUsers { float: right; margin-top: 12px; } `; const StyledInviteFieldGroup = styled.div` && { display: flex; flex-direction: row; flex-wrap: none; justify-content: space-between; align-items: flex-start; } .bp3-popover-target { padding-right: 10px; padding-top: 5px; } `; const UserList = styled.div` max-height: 100px; overflow-y: scroll; .user { display: flex; flex-direction: row; justify-content: space-between; margin-top: 8px; margin-bottom: 8px; } `; const StyledButton = styled(Button)` &&&.${Classes.BUTTON} { width: 100px; height: 32px; } `; const InviteUsersForm = (props: any) => { const { handleSubmit, allUsers } = props; useEffect(() => { props.fetchUser(props.orgId); props.fetchAllRoles(props.orgId); }, [props.orgId]); return ( { inviteUsersToOrg({ ...values, orgId: props.orgId }, dispatch); })} /> {allUsers.map((user: { username: string; roleName: string }) => { return (
{user.username}
{user.roleName}
); })}