aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package-lock.json16
-rw-r--r--src/client/util/GroupManager.tsx2
-rw-r--r--src/client/util/SharingManager.scss4
-rw-r--r--src/client/util/SharingManager.tsx29
4 files changed, 47 insertions, 4 deletions
diff --git a/package-lock.json b/package-lock.json
index ae8818538..53b2fc009 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1050,6 +1050,15 @@
"@types/react": "*"
}
},
+ "@types/react-transition-group": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.0.tgz",
+ "integrity": "sha512-/QfLHGpu+2fQOqQaXh8MG9q03bFENooTb/it4jr5kKaZlDQfWvjqWZg48AwzPVMBHlRuTRAY7hRHCEOXz5kV6w==",
+ "dev": true,
+ "requires": {
+ "@types/react": "*"
+ }
+ },
"@types/reactcss": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/@types/reactcss/-/reactcss-1.2.3.tgz",
@@ -8354,6 +8363,11 @@
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
+ "memoize-one": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz",
+ "integrity": "sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA=="
+ },
"memory-fs": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
@@ -17832,4 +17846,4 @@
}
}
}
-} \ No newline at end of file
+}
diff --git a/src/client/util/GroupManager.tsx b/src/client/util/GroupManager.tsx
index 885f9da8e..7c68fc2a0 100644
--- a/src/client/util/GroupManager.tsx
+++ b/src/client/util/GroupManager.tsx
@@ -119,7 +119,7 @@ export default class GroupManager extends React.Component<{}> {
*/
getAllGroupsCopy(): Doc[] {
return this.getAllGroups().map(({ groupName, owners, members }) =>
- Doc.assign(new Doc, { groupName: (groupName as string), owners: (owners as string), members: (members as string) })
+ Doc.assign(new Doc, { groupName: (StrCast(groupName)), owners: (StrCast(owners)), members: (StrCast(members)) })
);
}
diff --git a/src/client/util/SharingManager.scss b/src/client/util/SharingManager.scss
index aac9a33e8..fcbc05f8a 100644
--- a/src/client/util/SharingManager.scss
+++ b/src/client/util/SharingManager.scss
@@ -10,6 +10,10 @@
height: 300;
}
+ .overlay {
+ transform: translate(-20px, -20px);
+ }
+
.sharing-contents {
display: flex;
diff --git a/src/client/util/SharingManager.tsx b/src/client/util/SharingManager.tsx
index 1f62c824d..127ee33ce 100644
--- a/src/client/util/SharingManager.tsx
+++ b/src/client/util/SharingManager.tsx
@@ -169,6 +169,19 @@ export default class SharingManager extends React.Component<{}> {
permissions[StrCast(group ? group.groupName : Doc.CurrentUserEmail)] = parseInt(HierarchyMapping.get(state)!);
const max = Math.max(...Object.values(permissions));
+ // let max = 0;
+ // const keys: string[] = [];
+ // for (const [key, value] of Object.entries(permissions)) {
+ // if (value === max && max !== 0) {
+ // keys.push(key);
+ // }
+ // else if (value > max) {
+ // keys.splice(0, keys.length);
+ // keys.push(key);
+ // max = value;
+ // }
+ // }
+
switch (max) {
case 0:
if (metadata) {
@@ -187,6 +200,7 @@ export default class SharingManager extends React.Component<{}> {
manager[key] = metadata;
}
metadata.permissions = JSON.stringify(permissions);
+ // metadata.usersShared = JSON.stringify(keys);
break;
}
@@ -271,6 +285,9 @@ export default class SharingManager extends React.Component<{}> {
private get sharingInterface() {
const existOtherUsers = this.users.length > 0;
const existGroups = this.groups.length > 0;
+
+ // const manager = this.sharingDoc!;
+
return (
<div className={"sharing-interface"}>
{this.groupToView ?
@@ -279,7 +296,6 @@ export default class SharingManager extends React.Component<{}> {
onCloseButtonClick={action(() => this.groupToView = undefined)}
/> :
null}
-
<p className={"share-link"}>Manage the public link to {this.focusOn("this document...")}</p>
{!this.linkVisible ? (null) :
<div className={"link-container"}>
@@ -315,16 +331,24 @@ export default class SharingManager extends React.Component<{}> {
<p className={"share-individual"}>Privately share {this.focusOn("this document")} with an individual...</p>
<div className={"users-list"} style={{ display: existOtherUsers ? "block" : "flex", minHeight: existOtherUsers ? undefined : 150 }}>{/*200*/}
{!existOtherUsers ? "There are no other users in your database." :
- this.users.map(({ user, notificationDoc }) => {
+ this.users.map(({ user, notificationDoc }) => { // can't use async here
const userKey = user.userDocumentId;
const permissions = this.computePermissions(userKey);
const color = ColorMapping.get(permissions);
+
+ // console.log(manager);
+ // const metadata = manager[userKey] as Doc;
+ // const usersShared = StrCast(metadata?.usersShared, "");
+ // console.log(usersShared)
+
+
return (
<div
key={userKey}
className={"container"}
>
<span className={"padding"}>{user.email}</span>
+ {/* <div className={"shared-by"}>{usersShared}</div> */}
<div className="edit-actions">
<select
className={"permissions-dropdown"}
@@ -380,6 +404,7 @@ export default class SharingManager extends React.Component<{}> {
}
render() {
+ // console.log(this.sharingDoc);
return (
<MainViewModal
contents={this.sharingInterface}