mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[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:
@@ -21,6 +21,7 @@
|
||||
[urlFile]="urlFileContent"
|
||||
[tracks]="tracks"
|
||||
[readOnly]="readOnly"
|
||||
(downloadFile)="onDownloadFile()"
|
||||
(navigateBefore)="onNavigateBeforeClick($event)"
|
||||
(navigateNext)="onNavigateNextClick($event)"
|
||||
(showViewerChange)="onClose()"
|
||||
|
@@ -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) => {
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user