From 3a55411f404499b1d0bcc3d69e50451b10889182 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Tue, 27 Feb 2018 15:30:24 +0000 Subject: [PATCH] [ACA-99] Viewer actions (#203) * "toggle favorite" action * copy and move actions * move actions to the "more" menu --- .../services/content-management.service.ts | 8 ++++ .../components/preview/preview.component.html | 41 +++++++++++++++---- .../preview/preview.component.spec.ts | 5 ++- .../components/preview/preview.component.ts | 18 ++++++-- .../ui/overrides/_alfresco-document-list.scss | 4 -- 5 files changed, 60 insertions(+), 16 deletions(-) diff --git a/src/app/common/services/content-management.service.ts b/src/app/common/services/content-management.service.ts index 125876f5c..eebdce4e4 100644 --- a/src/app/common/services/content-management.service.ts +++ b/src/app/common/services/content-management.service.ts @@ -57,6 +57,14 @@ export class ContentManagementService { return this.nodeHasPermission(node, 'delete'); } + canMoveNode(node: Node): boolean { + return this.nodeHasPermission(node, 'delete'); + } + + canCopyNode(node: Node): boolean { + return true; + } + async deleteNode(node: Node) { if (this.canDeleteNode(node)) { try { diff --git a/src/app/components/preview/preview.component.html b/src/app/components/preview/preview.component.html index c7f0c8de4..7b954934c 100644 --- a/src/app/components/preview/preview.component.html +++ b/src/app/components/preview/preview.component.html @@ -9,15 +9,42 @@ (navigateBefore)="onNavigateBefore()" (navigateNext)="onNavigateNext()"> - + - - + + + + + + + diff --git a/src/app/components/preview/preview.component.spec.ts b/src/app/components/preview/preview.component.spec.ts index e653a9194..bc7941c71 100644 --- a/src/app/components/preview/preview.component.spec.ts +++ b/src/app/components/preview/preview.component.spec.ts @@ -29,7 +29,7 @@ import { RouterTestingModule } from '@angular/router/testing'; import { TestBed, async, ComponentFixture } from '@angular/core/testing'; import { AlfrescoApiService, UserPreferencesService, TranslationService, TranslationMock, - AppConfigService, StorageService, CookieService, NotificationService + AppConfigService, StorageService, CookieService, NotificationService, NodeFavoriteDirective } from '@alfresco/adf-core'; import { TranslateModule } from '@ngx-translate/core'; import { HttpClientModule } from '@angular/common/http'; @@ -67,7 +67,8 @@ describe('PreviewComponent', () => { ContentManagementService ], declarations: [ - PreviewComponent + PreviewComponent, + NodeFavoriteDirective ], schemas: [ NO_ERRORS_SCHEMA ] }) diff --git a/src/app/components/preview/preview.component.ts b/src/app/components/preview/preview.component.ts index b671b39a3..8ec5d82b6 100644 --- a/src/app/components/preview/preview.component.ts +++ b/src/app/components/preview/preview.component.ts @@ -26,7 +26,7 @@ import { Component, OnInit, ViewEncapsulation } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { AlfrescoApiService, UserPreferencesService, ObjectUtils } from '@alfresco/adf-core'; -import { MinimalNodeEntryEntity } from 'alfresco-js-api'; +import { Node, MinimalNodeEntity } from 'alfresco-js-api'; import { ContentManagementService } from '../../common/services/content-management.service'; @Component({ @@ -39,7 +39,7 @@ import { ContentManagementService } from '../../common/services/content-manageme }) export class PreviewComponent implements OnInit { - node: MinimalNodeEntryEntity; + node: Node; previewLocation: string = null; routesSkipNavigation = [ 'shared', 'recent-files', 'favorites' ]; navigateSource: string = null; @@ -51,6 +51,8 @@ export class PreviewComponent implements OnInit { nextNodeId: string; navigateMultiple = false; + selectedEntities: MinimalNodeEntity[] = []; + constructor(private router: Router, private route: ActivatedRoute, private apiService: AlfrescoApiService, @@ -93,8 +95,10 @@ export class PreviewComponent implements OnInit { if (id) { try { this.node = await this.apiService.nodesApi.getNodeInfo(id, { - include: [ 'allowableOperations'] + include: ['allowableOperations'] }); + this.selectedEntities = [{ entry: this.node }]; + if (this.node && this.node.isFile) { const nearest = await this.getNearestNodes(this.node.id, this.node.parentId); @@ -331,4 +335,12 @@ export class PreviewComponent implements OnInit { } catch { } } + + canMoveFile(): boolean { + return this.content.canMoveNode(this.node); + } + + canCopyFile(): boolean { + return this.content.canCopyNode(this.node); + } } diff --git a/src/app/ui/overrides/_alfresco-document-list.scss b/src/app/ui/overrides/_alfresco-document-list.scss index 4cfaf424d..7598e4485 100644 --- a/src/app/ui/overrides/_alfresco-document-list.scss +++ b/src/app/ui/overrides/_alfresco-document-list.scss @@ -54,10 +54,6 @@ adf-document-list { } } - .adf-no-content-container { - border: none !important; - } - .adf-datatable-header:first-of-type, .adf-datatable-header.adf-data-table-cell--image, .adf-data-table-cell:first-of-type, .adf-data-table-cell.adf-data-table-cell--image { padding-left: 24px;