fleet/frontend/pages/admin/UserManagementPage/components/CreateUserModal/CreateUserModal.tsx
Martavis Parker bcfac603f0
Added components to Storybook library (#2768)
* added storybook

* added avatar component

* added button story

* added dropdown button story

* removed unused ellipsis component

* cleaned up modal path

* reorganized enroll secrets table file

* added flash story; removed unused persistent flash

* added fleet ace story

* added checkbox story

* added dropdown story

* added input story

* fixed storybook build

* fixed avatar

* added input with icon story

* added radio button story

* added select targets dropdown story

* added slider story

* added tooltip story

* added info banner story

* removed unused loaders; added spinner story

* added modal story

* removed unused NumberPill

* added pagination story

* lint fixes

* added documentation to run

* modified documentation

* fixed corelayout test

* fixed format for date-fns

* fixed date format that breaks tests

* wait for page
2021-11-06 23:41:09 -07:00

72 lines
1.9 KiB
TypeScript

import React, { useState } from "react";
import { ITeam } from "interfaces/team";
import { IUserFormErrors } from "interfaces/user";
import Modal from "components/Modal";
import Spinner from "components/Spinner";
import UserForm from "../UserForm";
import { IFormData } from "../UserForm/UserForm";
interface ICreateUserModalProps {
onCancel: () => void;
onSubmit: (formData: IFormData) => void;
defaultGlobalRole?: string | null;
defaultTeamRole?: string;
defaultTeams?: ITeam[];
availableTeams: ITeam[];
isPremiumTier: boolean;
smtpConfigured: boolean;
currentTeam?: ITeam;
canUseSso: boolean; // corresponds to whether SSO is enabled for the organization
isModifiedByGlobalAdmin?: boolean | false;
isFormSubmitting?: boolean | false;
serverErrors?: IUserFormErrors;
}
const baseClass = "create-user-modal";
const CreateUserModal = ({
onCancel,
onSubmit,
currentTeam,
defaultGlobalRole,
defaultTeamRole,
defaultTeams,
availableTeams,
isPremiumTier,
smtpConfigured,
canUseSso,
isModifiedByGlobalAdmin,
isFormSubmitting,
serverErrors,
}: ICreateUserModalProps): JSX.Element => {
return (
<Modal title="Create user" onExit={onCancel} className={baseClass}>
<>
{isFormSubmitting && (
<div className="loading-spinner">
<Spinner />
</div>
)}
<UserForm
serverErrors={serverErrors}
defaultGlobalRole={defaultGlobalRole}
defaultTeamRole={defaultTeamRole}
defaultTeams={defaultTeams}
onCancel={onCancel}
onSubmit={onSubmit}
availableTeams={availableTeams}
submitText={"Create"}
isPremiumTier={isPremiumTier}
smtpConfigured={smtpConfigured}
canUseSso={canUseSso}
isModifiedByGlobalAdmin={isModifiedByGlobalAdmin}
currentTeam={currentTeam}
isNewUser
/>
</>
</Modal>
);
};
export default CreateUserModal;