diff options
| author | usodhi <61431818+usodhi@users.noreply.github.com> | 2020-09-20 19:09:50 +0530 |
|---|---|---|
| committer | usodhi <61431818+usodhi@users.noreply.github.com> | 2020-09-20 19:09:50 +0530 |
| commit | a453df4d9df855243005b83d8b1015c17d74d034 (patch) | |
| tree | d8d96cb3f35872013fe52ea3b336c4ecb8aac6b9 /src/client/views/collections/CollectionView.tsx | |
| parent | 3dc37b033e4218464019e10ea59a66249b2675a7 (diff) | |
| parent | b9735a34252459ee7f09bb58a49cc3da7a652ab7 (diff) | |
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web into acls_uv
Diffstat (limited to 'src/client/views/collections/CollectionView.tsx')
| -rw-r--r-- | src/client/views/collections/CollectionView.tsx | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/client/views/collections/CollectionView.tsx b/src/client/views/collections/CollectionView.tsx index 312bc045f..c9496d374 100644 --- a/src/client/views/collections/CollectionView.tsx +++ b/src/client/views/collections/CollectionView.tsx @@ -185,7 +185,8 @@ export class CollectionView extends Touchable<FieldViewProps & CollectionViewCus @action.bound removeDocument = (doc: any): boolean => { const effectiveAcl = GetEffectiveAcl(this.props.Document[DataSym]); - if (effectiveAcl === AclEdit || effectiveAcl === AclAdmin) { + const docAcl = GetEffectiveAcl(doc); + if (effectiveAcl === AclEdit || effectiveAcl === AclAdmin || docAcl === AclAdmin) { const docs = doc instanceof Doc ? [doc] : doc as Doc[]; const targetDataDoc = this.props.Document[DataSym]; const value = DocListCast(targetDataDoc[this.props.fieldKey]); @@ -193,8 +194,12 @@ export class CollectionView extends Touchable<FieldViewProps & CollectionViewCus if (toRemove.length !== 0) { const recent = Cast(Doc.UserDoc().myRecentlyClosedDocs, Doc) as Doc; toRemove.forEach(doc => { - Doc.RemoveDocFromList(targetDataDoc, this.props.fieldKey, doc); - recent && Doc.AddDocToList(recent, "data", doc, undefined, true, true); + const ind = (targetDataDoc[this.props.fieldKey] as List<Doc>).indexOf(doc); + (targetDataDoc[this.props.fieldKey] as List<Doc>).splice(ind, 0); + if (ind !== -1) { + Doc.RemoveDocFromList(targetDataDoc, this.props.fieldKey, doc); + recent && Doc.AddDocToList(recent, "data", doc, undefined, true, true); + } }); return true; } |
