[ACA-1529] performance fixes for permission checks (#498)

* fix recent files

* fix files component

* fix shared files

* don't evaluate permissions for empty selection

* fix info drawer

* fix viewer

* fix tests

* reduce one more check

* track upload errors on app level

* remove console log

* reduce service dependencies
This commit is contained in:
Denys Vuika
2018-07-08 12:25:20 +01:00
committed by GitHub
parent fe683015c5
commit 718a32a907
23 changed files with 171 additions and 151 deletions

View File

@@ -25,9 +25,8 @@
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { ActivatedRoute, Router, UrlTree, UrlSegmentGroup, UrlSegment, PRIMARY_OUTLET } from '@angular/router';
import { UserPreferencesService, ObjectUtils, UploadService } from '@alfresco/adf-core';
import { UserPreferencesService, ObjectUtils } from '@alfresco/adf-core';
import { Node, MinimalNodeEntity } from 'alfresco-js-api';
import { NodePermissionService } from '../../common/services/node-permission.service';
import { Store } from '@ngrx/store';
import { AppStore } from '../../store/states/app.state';
import { DeleteNodesAction } from '../../store/actions';
@@ -35,6 +34,7 @@ import { PageComponent } from '../page.component';
import { ContentApiService } from '../../services/content-api.service';
import { ExtensionService } from '../../extensions/extension.service';
import { OpenWithExtension } from '../../extensions/open-with.extension';
import { ContentManagementService } from '../../common/services/content-management.service';
@Component({
selector: 'app-preview',
templateUrl: 'preview.component.html',
@@ -59,16 +59,18 @@ export class PreviewComponent extends PageComponent implements OnInit {
selectedEntities: MinimalNodeEntity[] = [];
openWith: Array<OpenWithExtension> = [];
canDeletePreview = false;
canUpdatePreview = false;
constructor(
private contentApi: ContentApiService,
private uploadService: UploadService,
private preferences: UserPreferencesService,
private route: ActivatedRoute,
private router: Router,
store: Store<AppStore>,
public permission: NodePermissionService,
extensions: ExtensionService) {
super(store, extensions);
extensions: ExtensionService,
content: ContentManagementService) {
super(store, extensions, content);
}
ngOnInit() {
@@ -97,10 +99,6 @@ export class PreviewComponent extends PageComponent implements OnInit {
}
});
this.subscriptions = this.subscriptions.concat([
this.uploadService.fileUploadError.subscribe((error) => this.onFileUploadedError(error))
]);
this.openWith = this.extensions.openWithActions;
}
@@ -113,6 +111,8 @@ export class PreviewComponent extends PageComponent implements OnInit {
try {
this.node = await this.contentApi.getNodeInfo(id).toPromise();
this.selectedEntities = [{ entry: this.node }];
this.canDeletePreview = this.node && this.content.canDeleteNode(this.node);
this.canUpdatePreview = this.node && this.content.canUpdateNode(this.node);
if (this.node && this.node.isFile) {
const nearest = await this.getNearestNodes(this.node.id, this.node.parentId);