mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 21:47:20 +00:00
* 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
72 lines
1.9 KiB
TypeScript
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;
|