[ACA-4677] Added download functionality on DownloadPromptDialog (#8467)

* [ACA-4677] Added download functionality on DownloadPromptDialog

* [ACA-4677] Added downloadFile event emitter documentation to ViewerComponent README. Updated reference of NonResponsiveDialog to DownloadPromptDialog

* [ACA-4677] Corrected typo in documentation for downloadFile event

* [ACA-4677] Updated test case to check for method call via actual event handling instead of calling the method manually
This commit is contained in:
swapnil-verma-gl
2023-04-20 13:53:45 +05:30
committed by GitHub
parent 0ebdecbe74
commit 760798338f
6 changed files with 51 additions and 12 deletions

View File

@@ -21,6 +21,7 @@
[urlFile]="urlFileContent"
[tracks]="tracks"
[readOnly]="readOnly"
(downloadFile)="onDownloadFile()"
(navigateBefore)="onNavigateBeforeClick($event)"
(navigateNext)="onNavigateNextClick($event)"
(showViewerChange)="onClose()"

View File

@@ -26,19 +26,20 @@ import { AppExtensionService, ViewerExtensionRef } from '@alfresco/adf-extension
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { NodeEntry, VersionEntry } from '@alfresco/js-api';
import { AlfrescoViewerComponent, RenditionService } from '@alfresco/adf-content-services';
import { AlfrescoViewerComponent, NodeActionsService, RenditionService } from '@alfresco/adf-content-services';
import {
CoreTestingModule,
setupTestBed,
EventMock,
ViewUtilService
ViewUtilService, ViewerComponent
} from '@alfresco/adf-core';
import { NodesApiService } from '../../common/services/nodes-api.service';
import { UploadService } from '../../common/services/upload.service';
import { FileModel } from '../../common/models/file.model';
import { throwError } from 'rxjs';
import { Component } from '@angular/core';
import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { ESCAPE } from '@angular/cdk/keycodes';
import { By } from '@angular/platform-browser';
@Component({
selector: 'adf-viewer-container-toolbar',
@@ -149,6 +150,7 @@ describe('AlfrescoViewerComponent', () => {
let extensionService: AppExtensionService;
let renditionService: RenditionService;
let viewUtilService: ViewUtilService;
let nodeActionsService: NodeActionsService;
setupTestBed({
imports: [
@@ -174,7 +176,8 @@ describe('AlfrescoViewerComponent', () => {
},
{provide: Location, useClass: SpyLocation},
MatDialog
]
],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
});
beforeEach(() => {
@@ -188,6 +191,7 @@ describe('AlfrescoViewerComponent', () => {
extensionService = TestBed.inject(AppExtensionService);
renditionService = TestBed.inject(RenditionService);
viewUtilService = TestBed.inject(ViewUtilService);
nodeActionsService = TestBed.inject(NodeActionsService);
});
afterEach(() => {
@@ -350,6 +354,15 @@ describe('AlfrescoViewerComponent', () => {
expect(component.nodeId).toBe('id1');
}));
it('should download file when downloadFile event is emitted', () => {
spyOn(nodeActionsService, 'downloadNode');
const viewerComponent = fixture.debugElement.query(By.directive(ViewerComponent));
viewerComponent.triggerEventHandler('downloadFile');
fixture.detectChanges();
expect(nodeActionsService.downloadNode).toHaveBeenCalled();
});
describe('Viewer Example Component Rendering', () => {
it('should use custom toolbar', (done) => {

View File

@@ -60,6 +60,7 @@ import { ContentService } from '../../common/services/content.service';
import { NodesApiService } from '../../common/services/nodes-api.service';
import { UploadService } from '../../common/services/upload.service';
import { FileModel } from '../../common/models/file.model';
import { NodeActionsService } from '../../document-list';
@Component({
selector: 'adf-alfresco-viewer',
@@ -238,7 +239,8 @@ export class AlfrescoViewerComponent implements OnChanges, OnInit, OnDestroy {
private contentService: ContentService,
private uploadService: UploadService,
public dialog: MatDialog,
private cdr: ChangeDetectorRef) {
private cdr: ChangeDetectorRef,
private nodeActionsService: NodeActionsService) {
renditionService.maxRetries = this.maxRetries;
}
@@ -449,4 +451,7 @@ export class AlfrescoViewerComponent implements OnChanges, OnInit, OnDestroy {
this.onDestroy$.complete();
}
onDownloadFile() {
this.nodeActionsService.downloadNode(this.nodeEntry);
}
}