import * as React from "react"; import MainViewModal from "../views/MainViewModal"; import { observer } from "mobx-react"; import GroupManager, { UserOptions } from "./GroupManager"; import { library } from "@fortawesome/fontawesome-svg-core"; import { StrCast } from "../../fields/Types"; import { action, observable } from "mobx"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import * as fa from '@fortawesome/free-solid-svg-icons'; import Select from "react-select"; import { Doc } from "../../fields/Doc"; import "./GroupMemberView.scss"; library.add(fa.faTimes, fa.faTrashAlt); interface GroupMemberViewProps { group: Doc; onCloseButtonClick: () => void; } @observer export default class GroupMemberView extends React.Component { @observable private memberSort: "ascending" | "descending" | "none" = "none"; private get editingInterface() { let members: string[] = this.props.group ? JSON.parse(StrCast(this.props.group.members)) : []; members = this.memberSort === "ascending" ? members.sort() : this.memberSort === "descending" ? members.sort().reverse() : members; const options: UserOptions[] = this.props.group ? GroupManager.Instance.options.filter(option => !(JSON.parse(StrCast(this.props.group.members)) as string[]).includes(option.value)) : []; return (!this.props.group ? null :
this.props.group.groupName = e.currentTarget.value} >
{GroupManager.Instance.hasEditAccess(this.props.group) ?