From ab860cf7b2e44e8deca2430ca3da875b89fcb44e Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Fri, 1 Mar 2019 19:12:50 +0000 Subject: [PATCH] [ACA-2194] better custom aspects in metadata tab (#985) * better custom aspects in metadata tab * update test --- .../info-drawer/info-drawer.component.spec.ts | 10 ++-- .../info-drawer/info-drawer.component.ts | 47 +++---------------- 2 files changed, 13 insertions(+), 44 deletions(-) diff --git a/src/app/components/info-drawer/info-drawer.component.spec.ts b/src/app/components/info-drawer/info-drawer.component.spec.ts index 1aaad4c38..657d4567f 100644 --- a/src/app/components/info-drawer/info-drawer.component.spec.ts +++ b/src/app/components/info-drawer/info-drawer.component.spec.ts @@ -35,9 +35,9 @@ import { of } from 'rxjs'; describe('InfoDrawerComponent', () => { let fixture: ComponentFixture; let component: InfoDrawerComponent; - let contentApiService; + let contentApiService: ContentApiService; let tab; - let appExtensionService; + let appExtensionService: AppExtensionService; const storeMock = { dispatch: jasmine.createSpy('dispatch') }; @@ -66,6 +66,10 @@ describe('InfoDrawerComponent', () => { spyOn(appExtensionService, 'getSidebarTabs').and.returnValue([tab]); }); + afterEach(() => { + fixture.destroy(); + }); + it('should get tabs configuration on initialization', () => { fixture.detectChanges(); @@ -83,7 +87,7 @@ describe('InfoDrawerComponent', () => { it('should set displayNode when node is from personal list', () => { spyOn(contentApiService, 'getNodeInfo'); - const nodeMock = { entry: { id: 'nodeId' } }; + const nodeMock = { entry: { id: 'nodeId', aspectNames: [] } }; component.node = nodeMock; fixture.detectChanges(); diff --git a/src/app/components/info-drawer/info-drawer.component.ts b/src/app/components/info-drawer/info-drawer.component.ts index 355725bc0..727327b18 100644 --- a/src/app/components/info-drawer/info-drawer.component.ts +++ b/src/app/components/info-drawer/info-drawer.component.ts @@ -33,7 +33,6 @@ import { ContentApiService } from '../../services/content-api.service'; import { AppExtensionService } from '../../extensions/extension.service'; import { SidebarTabRef } from '@alfresco/adf-extensions'; import { Store } from '@ngrx/store'; -import { AppStore } from '../../store/states/app.state'; import { SetInfoDrawerStateAction } from '../../store/actions'; @Component({ @@ -51,7 +50,7 @@ export class InfoDrawerComponent implements OnChanges, OnInit, OnDestroy { tabs: Array = []; constructor( - private store: Store, + private store: Store, private contentApi: ContentApiService, private extensions: AppExtensionService ) {} @@ -66,39 +65,21 @@ export class InfoDrawerComponent implements OnChanges, OnInit, OnDestroy { ngOnChanges() { if (this.node) { - const entry: any = this.node.entry; - - if (this.isLibraryListNode(this.node)) { + if (this.node['isLibrary']) { return this.setDisplayNode(this.node); } - if (this.isSharedFilesNode(this.node)) { - return this.loadNodeInfo(entry.nodeId); - } + const entry: any = this.node.entry; - if (this.isFavoriteListNode(this.node)) { - return this.loadNodeInfo(entry.id); - } - - if (this.isRecentListFileNode(this.node)) { - return this.loadNodeInfo(entry.id); + if (!entry.aspectNames) { + const id = entry.nodeId || entry.id; + return this.loadNodeInfo(id); } this.setDisplayNode(entry); } } - private hasAspectNames(entry: MinimalNodeEntryEntity): boolean { - return entry.aspectNames && entry.aspectNames.includes('exif:exif'); - } - - private isTypeImage(entry: MinimalNodeEntryEntity): boolean { - if (entry && entry.content && entry.content.mimeType) { - return entry.content.mimeType.includes('image/'); - } - return false; - } - private loadNodeInfo(nodeId: string) { if (nodeId) { this.isLoading = true; @@ -116,20 +97,4 @@ export class InfoDrawerComponent implements OnChanges, OnInit, OnDestroy { private setDisplayNode(node: any) { this.displayNode = node; } - - private isLibraryListNode(node: any): boolean { - return node.isLibrary; - } - - private isFavoriteListNode(node: MinimalNodeEntity): boolean { - return !this.isLibraryListNode(node) && (node).entry.guid; - } - - private isSharedFilesNode(node: any): boolean { - return !!node.entry.nodeId; - } - - private isRecentListFileNode(node: MinimalNodeEntity): boolean { - return this.isTypeImage(node.entry) && !this.hasAspectNames(node.entry); - } }