diff --git a/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.html b/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.html index 3613ae89f9..f9001080a7 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.html +++ b/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.html @@ -8,8 +8,8 @@ (showRowActionsMenu)="onShowRowActionsMenu($event)" (executeRowAction)="onExecuteRowAction($event)"> - + - \ No newline at end of file + diff --git a/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.spec.ts b/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.spec.ts index 541e270b39..191165be6e 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.spec.ts +++ b/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.spec.ts @@ -36,6 +36,7 @@ describe('Activiti Process Instance Attachment List', () => { let getProcessRelatedContentSpy: jasmine.Spy; let deleteContentSpy: jasmine.Spy; let getFileRawContentSpy: jasmine.Spy; + let mockAttachment: any; beforeEach(async(() => { TestBed.configureTestingModule({ @@ -59,31 +60,30 @@ describe('Activiti Process Instance Attachment List', () => { component = fixture.componentInstance; service = fixture.debugElement.injector.get(ActivitiContentService); - getProcessRelatedContentSpy = spyOn(service, 'getProcessRelatedContent').and.returnValue(Observable.of( - { - 'size': 2, - 'total': 2, - 'start': 0, - 'data': [{ - 'id': 4001, - 'name': 'Invoice01.pdf', - 'created': '2017-05-12T12:50:05.522+0000', - 'createdBy': { - 'id': 1, - 'firstName': 'Apps', - 'lastName': 'Administrator', - 'email': 'admin@app.activiti.com', - 'company': 'Alfresco.com', - 'pictureId': 3003 - }, - 'relatedContent': true, - 'contentAvailable': true, - 'link': false, - 'mimeType': 'application/pdf', - 'simpleType': 'pdf', - 'previewStatus': 'created', - 'thumbnailStatus': 'created' + mockAttachment = { + 'size': 2, + 'total': 2, + 'start': 0, + 'data': [{ + 'id': 4001, + 'name': 'Invoice01.pdf', + 'created': '2017-05-12T12:50:05.522+0000', + 'createdBy': { + 'id': 1, + 'firstName': 'Apps', + 'lastName': 'Administrator', + 'email': 'admin@app.activiti.com', + 'company': 'Alfresco.com', + 'pictureId': 3003 }, + 'relatedContent': true, + 'contentAvailable': true, + 'link': false, + 'mimeType': 'application/pdf', + 'simpleType': 'pdf', + 'previewStatus': 'created', + 'thumbnailStatus': 'created' + }, { 'id': 4002, 'name': 'Invoice02.pdf', @@ -104,7 +104,9 @@ describe('Activiti Process Instance Attachment List', () => { 'previewStatus': 'created', 'thumbnailStatus': 'created' }] - })); + }; + + getProcessRelatedContentSpy = spyOn(service, 'getProcessRelatedContent').and.returnValue(Observable.of(mockAttachment)); deleteContentSpy = spyOn(service, 'deleteRelatedContent').and.returnValue(Observable.of({successCode: true})); @@ -134,6 +136,16 @@ describe('Activiti Process Instance Attachment List', () => { expect(emitSpy).toHaveBeenCalled(); }); + it('should emit a success event when the attachments are loaded', () => { + let change = new SimpleChange(null, '123', true); + component.success.subscribe((attachments) => { + expect(attachments[0].name).toEqual(mockAttachment.data[0].name); + expect(attachments[0].id).toEqual(mockAttachment.data[0].id); + }); + + component.ngOnChanges({'taskId': change}); + }); + it('should not attach when no processInstanceId is specified', () => { fixture.detectChanges(); expect(getProcessRelatedContentSpy).not.toHaveBeenCalled(); diff --git a/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.ts b/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.ts index e003afba06..1647ca5500 100644 --- a/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.ts +++ b/ng2-components/ng2-activiti-processlist/src/components/adf-process-attachment-list.component.ts @@ -32,6 +32,9 @@ export class ActivitiProcessAttachmentListComponent implements OnChanges { @Output() attachmentClick = new EventEmitter(); + @Output() + success = new EventEmitter(); + @Output() error: EventEmitter = new EventEmitter(); @@ -42,14 +45,13 @@ export class ActivitiProcessAttachmentListComponent implements OnChanges { private contentService: ContentService) { if (translateService) { - translateService.addTranslationFolder('ng2-activiti-processlist', 'node_modules/ng2-activiti-processlist/src'); + translateService.addTranslationFolder('ng2-activiti-processlist', 'assets/ng2-activiti-processlist'); } } ngOnChanges(changes: SimpleChanges) { if (changes['processInstanceId'] && changes['processInstanceId'].currentValue) { - this.processInstanceId = changes['processInstanceId'].currentValue; - this.loadAttachmentsByProcessInstanceId(this.processInstanceId); + this.loadAttachmentsByProcessInstanceId(changes['processInstanceId'].currentValue); } } @@ -71,7 +73,7 @@ export class ActivitiProcessAttachmentListComponent implements OnChanges { icon: this.activitiContentService.getMimeTypeIcon(content.mimeType) }); }); - + this.success.emit(this.attachments); }, (err) => { this.error.emit(err); @@ -149,9 +151,6 @@ export class ActivitiProcessAttachmentListComponent implements OnChanges { ); } - /** - * Invoke content download. - */ downloadContent(content: any): void { this.activitiContentService.getFileRawContent(content.id).subscribe( (blob: Blob) => this.contentService.downloadBlob(blob, content.name),