aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/SharingManager.tsx
diff options
context:
space:
mode:
authorsrichman333 <sarah_n_richman@brown.edu>2023-06-26 15:02:12 -0400
committersrichman333 <sarah_n_richman@brown.edu>2023-06-26 15:02:12 -0400
commit68e791512551261fd805f841fd88aba373df845a (patch)
tree3c0c620a582375aec233ae2cb20a4e3d8c9b521b /src/client/util/SharingManager.tsx
parentfbfd21718e63e13ec5b8ba913a65b3ee76891a34 (diff)
layout always an option in SharingManager, current user layout acl bug fix in PropertiesView + SharingManager
Diffstat (limited to 'src/client/util/SharingManager.tsx')
-rw-r--r--src/client/util/SharingManager.tsx54
1 files changed, 25 insertions, 29 deletions
diff --git a/src/client/util/SharingManager.tsx b/src/client/util/SharingManager.tsx
index 0f7ce26d2..7593cc025 100644
--- a/src/client/util/SharingManager.tsx
+++ b/src/client/util/SharingManager.tsx
@@ -539,21 +539,11 @@ export class SharingManager extends React.Component<{}> {
// const permissions = uniform ? StrCast(targetDoc?.[userKey]) : '-multiple-';
let permissions = this.layoutDocAcls ? (targetDoc[DocAcl][userKey] ? HierarchyMapping.get(targetDoc[DocAcl][userKey])?.name : StrCast(Doc.GetProto(targetDoc)[userKey])) : StrCast(targetDoc[userKey]);
if (this.layoutDocAcls){
- if (targetDoc[DocAcl][userKey]){
- permissions = HierarchyMapping.get(targetDoc[DocAcl][userKey])?.name;
- }
- else{
- if (targetDoc['embedContainer']){
- permissions = StrCast(Doc.GetProto(DocCast(targetDoc['embedContainer']))[userKey]);
- }
- else{
- permissions = uniform ? StrCast(Doc.GetProto(targetDoc)?.[userKey]) : '-multiple-';
- }
- }
- }
- else{
- permissions = uniform ? StrCast(targetDoc?.[userKey]) : '-multiple-';
+ if (targetDoc[DocAcl][userKey]) permissions = HierarchyMapping.get(targetDoc[DocAcl][userKey])?.name;
+ else if (targetDoc['embedContainer']) permissions = StrCast(Doc.GetProto(DocCast(targetDoc['embedContainer']))[userKey]);
+ else permissions = uniform ? StrCast(Doc.GetProto(targetDoc)?.[userKey]) : '-multiple-';
}
+ else permissions = uniform ? StrCast(targetDoc?.[userKey]) : '-multiple-';
return !permissions ? null : (
<div key={userKey} className={'container'}>
@@ -578,7 +568,15 @@ export class SharingManager extends React.Component<{}> {
const sameAuthor = docs.every(doc => doc?.author === docs[0]?.author);
// the owner of the doc and the current user are placed at the top of the user list.
- const curUserPermission = HierarchyMapping.get(effectiveAcls[0])!.name
+ const userKey = `acl-${normalizeEmail(Doc.CurrentUserEmail)}`;
+ var curUserPermission;
+ if (this.layoutDocAcls){
+ if (targetDoc[DocAcl][userKey]) curUserPermission = HierarchyMapping.get(targetDoc[DocAcl][userKey])?.name;
+ else if (targetDoc['embedContainer']) curUserPermission = StrCast(Doc.GetProto(DocCast(targetDoc['embedContainer']))[userKey]);
+ else curUserPermission = StrCast(Doc.GetProto(targetDoc)?.[userKey]);
+ }
+ else curUserPermission = StrCast(targetDoc[userKey]);
+ // const curUserPermission = HierarchyMapping.get(effectiveAcls[0])!.name
userListContents.unshift(
sameAuthor ? (
<div key={'owner'} className={'container'}>
@@ -593,7 +591,7 @@ export class SharingManager extends React.Component<{}> {
<span className={'padding'}>Me</span>
<div className="edit-actions">
<div className={`permissions-dropdown-${curUserPermission}`}>
- {effectiveAcls.every(acl => acl === effectiveAcls[0]) ? concat(ReverseHierarchyMap.get(curUserPermission)?.image, ' ', curUserPermission) : '-multiple-'}
+ {effectiveAcls.every(acl => acl === effectiveAcls[0]) ? concat(ReverseHierarchyMap.get(curUserPermission!)?.image, ' ', curUserPermission) : '-multiple-'}
&nbsp;
</div>
</div>
@@ -613,22 +611,14 @@ export class SharingManager extends React.Component<{}> {
let permissions = this.layoutDocAcls ? (targetDoc[DocAcl][groupKey] ? HierarchyMapping.get(targetDoc[DocAcl][groupKey])?.name : StrCast(Doc.GetProto(targetDoc)[groupKey])) : StrCast(targetDoc[groupKey]);
if (this.layoutDocAcls){
if (groupKey == 'acl-Public') groupKey = 'acl-Public-layout';
- if (targetDoc[DocAcl][groupKey]){
- permissions = HierarchyMapping.get(targetDoc[DocAcl][groupKey])?.name;
- }
+ if (targetDoc[DocAcl][groupKey]) permissions = HierarchyMapping.get(targetDoc[DocAcl][groupKey])?.name;
else{
if (groupKey == 'acl-Public-layout') groupKey = 'acl-Public';
- if (targetDoc['embedContainer']){
- permissions = StrCast(Doc.GetProto(DocCast(targetDoc['embedContainer']))[groupKey]);
- }
- else{
- permissions = uniform ? StrCast(Doc.GetProto(targetDoc)?.[groupKey]) : '-multiple-';
- }
+ if (targetDoc['embedContainer']) permissions = StrCast(Doc.GetProto(DocCast(targetDoc['embedContainer']))[groupKey]);
+ else permissions = uniform ? StrCast(Doc.GetProto(targetDoc)?.[groupKey]) : '-multiple-';
}
}
- else{
- permissions = uniform ? StrCast(targetDoc?.[groupKey]) : '-multiple-';
- }
+ else permissions = uniform ? StrCast(targetDoc?.[groupKey]) : '-multiple-';
return !permissions ? null : (
<div key={groupKey} className={'container'}>
@@ -710,7 +700,13 @@ export class SharingManager extends React.Component<{}> {
</div>
</div>
) : (
- <br />
+ <div className='share-container'>
+ <div className='acl-container'>
+ <div className='layoutDoc-acls'>
+ <input type="checkbox" onChange={action(() => (this.layoutDocAcls = !this.layoutDocAcls))} checked={this.layoutDocAcls} /> <label>Layout</label>
+ </div>
+ </div>
+ </div>
)}
<div className="main-container">
<div className={'individual-container'}>