import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { action, observable } from "mobx"; import { observer } from "mobx-react"; import * as React from "react"; import Select from "react-select"; import { Doc } from "../../fields/Doc"; import { StrCast } from "../../fields/Types"; import { MainViewModal } from "../views/MainViewModal"; import { GroupManager, UserOptions } from "./GroupManager"; import "./GroupMemberView.scss"; interface GroupMemberViewProps { group: Doc; onCloseButtonClick: () => void; } @observer export 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)) : []; const hasEditAccess = GroupManager.Instance.hasEditAccess(this.props.group); return (!this.props.group ? null :
this.props.group.groupName = e.currentTarget.value} disabled={!hasEditAccess} >
{GroupManager.Instance.hasEditAccess(this.props.group) ?