From 83e42683912184b7c8a53f804b62efe29829f309 Mon Sep 17 00:00:00 2001 From: usodhi <61431818+usodhi@users.noreply.github.com> Date: Thu, 25 Jun 2020 14:09:25 +0530 Subject: initial group edit setup --- src/client/util/GroupManager.scss | 4 ++-- src/client/util/GroupManager.tsx | 28 ++++++++++++++++++++++++---- 2 files changed, 26 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/client/util/GroupManager.scss b/src/client/util/GroupManager.scss index 973a988d7..0e479f039 100644 --- a/src/client/util/GroupManager.scss +++ b/src/client/util/GroupManager.scss @@ -82,8 +82,8 @@ .group-row { display: flex; position: relative; - - margin-bottom: 17.5; + margin-top: 5px; + margin-bottom: 16.5px; .group-name { position: relative; diff --git a/src/client/util/GroupManager.tsx b/src/client/util/GroupManager.tsx index 2617047f7..5435ca532 100644 --- a/src/client/util/GroupManager.tsx +++ b/src/client/util/GroupManager.tsx @@ -3,7 +3,7 @@ import { observable, action, runInAction, computed } from "mobx"; import { SelectionManager } from "./SelectionManager"; import MainViewModal from "../views/MainViewModal"; import { observer } from "mobx-react"; -import { Doc, DocListCast } from "../../fields/Doc"; +import { Doc, DocListCast, Opt } from "../../fields/Doc"; import { List } from "../../fields/List"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import * as fa from '@fortawesome/free-solid-svg-icons'; @@ -30,6 +30,7 @@ export default class GroupManager extends React.Component<{}> { @observable private overlayOpacity: number = 0.4; @observable private users: string[] = []; @observable private selectedUsers: UserOptions[] | null = null; + @observable private currentGroupModal: Opt; private inputRef: React.RefObject = React.createRef(); constructor(props: Readonly<{}>) { @@ -60,6 +61,7 @@ export default class GroupManager extends React.Component<{}> { close = action(() => { this.isOpen = false; + this.currentGroupModal = undefined; }); get GroupManagerDoc(): Doc | undefined { @@ -77,13 +79,13 @@ export default class GroupManager extends React.Component<{}> { } get adminGroupMembers(): string[] { - return JSON.parse(GroupManager.Instance.getGroup("admin")!.members as string); + return GroupManager.Instance.getGroup("admin") ? JSON.parse(GroupManager.Instance.getGroup("admin")!.members as string) : ""; } hasEditAccess(groupDoc: Doc): boolean { if (!groupDoc) return false; const accessList: string[] = JSON.parse(groupDoc.owners as string); - return accessList.includes(Doc.CurrentUserEmail) || GroupManager.Instance.adminGroupMembers.includes(Doc.CurrentUserEmail); + return accessList.includes(Doc.CurrentUserEmail) || GroupManager.Instance.adminGroupMembers?.includes(Doc.CurrentUserEmail); } createGroupDoc(groupName: string, memberEmails: string[]) { @@ -157,9 +159,27 @@ export default class GroupManager extends React.Component<{}> { this.inputRef.current.value = ""; } + private get editingInterface() { + return ( + //
+ + //
+ "HEY HEY" + ); + + } + + private get groupInterface() { return (
+

Groups

@@ -184,7 +204,7 @@ export default class GroupManager extends React.Component<{}> { {this.getAllGroups().map(group =>
{group.groupName}
-
-- cgit v1.2.3-70-g09d2