diff options
author | srichman333 <sarah_n_richman@brown.edu> | 2023-06-26 15:02:12 -0400 |
---|---|---|
committer | srichman333 <sarah_n_richman@brown.edu> | 2023-06-26 15:02:12 -0400 |
commit | 68e791512551261fd805f841fd88aba373df845a (patch) | |
tree | 3c0c620a582375aec233ae2cb20a4e3d8c9b521b /src/client/util/SharingManager.tsx | |
parent | fbfd21718e63e13ec5b8ba913a65b3ee76891a34 (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.tsx | 54 |
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-'} </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'}> |