import React, { useState } from "react"; import PropTypes from "prop-types"; import "./group-select.css"; const GroupSelect = (props) => { var { onChange, validateUser, users } = props; var [selected, setSelected] = useState(users); var [username, setUsername] = useState(""); var [error, setError] = useState(null); if (!users) return null; return (
{error != null ? (
{error}
) : ( <> )}
{ setUsername(e.target.value); }} />

{selected.map((e, i) => (
{ let updated_selection = selected .slice(0, i) .concat(selected.slice(i + 1)); onChange(updated_selection, users); setSelected(updated_selection); }} > {e}
))} {users.map((e, i) => selected.includes(e) ? undefined : (
{ let updated_selection = selected.concat([e]); onChange(updated_selection, users); setSelected(updated_selection); }} > {e}
), )}




); }; GroupSelect.propTypes = { onChange: PropTypes.func, validateUser: PropTypes.func, users: PropTypes.array, }; export default GroupSelect;