From d80225786fea08f36bffa094e3540ecfc8fe4eff Mon Sep 17 00:00:00 2001 From: Ruidy Nemausat Date: Fri, 17 Apr 2020 17:20:39 +0200 Subject: [PATCH] [UI] Users Modal done --- app.db | Bin 106496 -> 106496 bytes client/src/components/Modals/UsersModal.tsx | 101 ++++++++++++-------- 2 files changed, 61 insertions(+), 40 deletions(-) diff --git a/app.db b/app.db index 68d0ac39123881a38dbc61f4e25fbfdf37b9fdfb..d760d1eb80bf0576be343922b757b4a20605e4b0 100644 GIT binary patch delta 124 zcmZoTz}9epZNvI{MwZDN>NQxHnL{}z8`!JxaPhBYVB&9P;BV%?wpmc1oS#*bg)@{9 zB*)6kz`&q6d1JpSGf-^uMt?O%mQ52FCvfwx2Wn|!;BVu<4%AY`KmBq&qXt;D#$*vY VmC5VNQvxnL{}z8`!Jxa4|42F!8Tt;J?nlcC( + createStyles({ + root: { + width: "100%", + maxWidth: 360, + backgroundColor: theme.palette.background.paper, + }, + }) +); + export const UsersModal: FC = ({ show, handleClose, users, allUsers, }) => { - const [filterText, setFilterText] = useState(""); - const [members, setMembers] = useState(users); const { id } = useParams(); + const [filterText, setFilterText] = useState(""); const handleChange = (e: ChangeEvent): void => { setFilterText(e.target.value); }; + const memberIDs = users.map((u) => u.id); + const [members, setMembers] = useState(memberIDs); + + const handleToggle = (value: string) => () => { + const currentIndex = members.indexOf(value); + const newChecked = [...members]; + + if (currentIndex === -1) { + newChecked.push(value); + } else { + newChecked.splice(currentIndex, 1); + } + + setMembers(newChecked); + }; + const handleSubmit = async (e: FormEvent) => { e.preventDefault(); await patch( `${Constants.projectsURI}/${id}/members`, - members.map((m) => m.id) + members //.map((m) => m.id) ); handleClose(); }; + const classes = useStyles(); + return ( = ({ action="Submit" handleAction={handleSubmit} > -
-
-

Manage users

-
-
- - close - -
-
-
+ setFilterText("")} handleChange={handleChange} /> -
+ -
-
    - {allUsers.map((u: User) => ( -
  • - + {allUsers.map((u: User) => ( + + + + + + + -
  • - ))} -
-
- -
-
+ + + ))} +
); };