aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client/util/SharingManager.scss1
-rw-r--r--src/client/util/SharingManager.tsx54
-rw-r--r--src/client/views/PropertiesView.tsx15
3 files changed, 36 insertions, 34 deletions
diff --git a/src/client/util/SharingManager.scss b/src/client/util/SharingManager.scss
index 98fea0dcb..86de5ac44 100644
--- a/src/client/util/SharingManager.scss
+++ b/src/client/util/SharingManager.scss
@@ -86,6 +86,7 @@
float: right;
align-items: baseline;
margin-top: -12;
+ margin-bottom: 10;
.layoutDoc-acls,
.myDocs-acls {
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'}>
diff --git a/src/client/views/PropertiesView.tsx b/src/client/views/PropertiesView.tsx
index ca357f830..904755132 100644
--- a/src/client/views/PropertiesView.tsx
+++ b/src/client/views/PropertiesView.tsx
@@ -453,9 +453,7 @@ export class PropertiesView extends React.Component<PropertiesViewProps> {
const userKey = `acl-${normalizeEmail(userEmail)}`;
var permission;
if (this.layoutDocAcls){
- if (target[DocAcl][userKey]){
- permission = HierarchyMapping.get(target[DocAcl][userKey])?.name;
- }
+ if (target[DocAcl][userKey]) permission = HierarchyMapping.get(target[DocAcl][userKey])?.name;
else if (target['embedContainer']) permission = StrCast(Doc.GetProto(DocCast(target['embedContainer']))[userKey]);
else permission = StrCast(Doc.GetProto(target)?.[userKey]);
}
@@ -465,10 +463,17 @@ export class PropertiesView extends React.Component<PropertiesViewProps> {
// adds current user
var userEmail = Doc.CurrentUserEmail;
+ const userKey = `acl-${normalizeEmail(userEmail)}`;
if (userEmail == 'guest') userEmail = 'Public';
if (!usersAdded.includes(userEmail) && userEmail != 'Public' && userEmail != target.author) {
- individualTableEntries.unshift(this.sharingItem(userEmail, showAdmin, StrCast(target[`acl-${normalizeEmail(userEmail)}`]), false)); // adds each user
- usersAdded.push(userEmail);
+ var permission;
+ if (this.layoutDocAcls){
+ if (target[DocAcl][userKey]) permission = HierarchyMapping.get(target[DocAcl][userKey])?.name;
+ else if (target['embedContainer']) permission = StrCast(Doc.GetProto(DocCast(target['embedContainer']))[userKey]);
+ else permission = StrCast(Doc.GetProto(target)?.[userKey]);
+ }
+ else permission = StrCast(target[userKey]);
+ individualTableEntries.unshift(this.sharingItem(userEmail, showAdmin, permission!, false)); // adds each user
}
// shift owner to top