diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.html b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.html
index c37ccc5370..60862ea1f7 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.html
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.html
@@ -6,9 +6,13 @@
-
+
{{decode(file.name)}}
-
@@ -24,4 +28,5 @@
(change)="onFileChanged($event)">
+
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.scss b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.scss
index 21db1e9fc9..cdff33bbaa 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.scss
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.scss
@@ -18,6 +18,7 @@
&-upload-widget__icon {
padding: 6px;
float: left;
+ cursor: pointer;
}
&-adf-file {
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.spec.ts
index ca3f01b6ca..9138f4157b 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.spec.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.spec.ts
@@ -112,6 +112,7 @@ describe('UploadWidgetComponent', () => {
let element: HTMLInputElement;
let debugElement: DebugElement;
let inputElement: HTMLInputElement;
+ let formServiceInstance: FormService;
beforeEach(async(() => {
TestBed.configureTestingModule({
@@ -140,6 +141,7 @@ describe('UploadWidgetComponent', () => {
type: FormFieldTypes.UPLOAD,
readOnly: false
});
+ formServiceInstance = TestBed.get(FormService);
jasmine.Ajax.install();
});
@@ -249,6 +251,33 @@ describe('UploadWidgetComponent', () => {
});
}));
+ it('should emit form content clicked event on icon click', (done) => {
+
+ formServiceInstance.formContentClicked.subscribe((content: any) => {
+ expect(content.name).toBe(fakeJpgAnswer.name);
+ expect(content.id).toBe(fakeJpgAnswer.id);
+ expect(content.contentBlob).not.toBeNull();
+ done();
+ });
+
+ uploadWidgetComponent.field.params.multiple = true;
+ uploadWidgetComponent.field.value = [];
+ uploadWidgetComponent.field.value.push(fakeJpgAnswer);
+ uploadWidgetComponent.field.value.push(fakePngAnswer);
+ fixture.detectChanges();
+
+ fixture.whenStable().then(() => {
+ let fileJpegIcon = debugElement.query(By.css('#file-1156-icon'));
+ fileJpegIcon.nativeElement.dispatchEvent(new MouseEvent('click'));
+ jasmine.Ajax.requests.mostRecent().respondWith({
+ status: 200,
+ contentType: 'json',
+ responseText: new Blob()
+ });
+ });
+
+ });
+
});
});
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.ts
index ff1ac585ed..ee696cdba6 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/upload/upload.widget.ts
@@ -21,6 +21,7 @@ import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { LogService, ThumbnailService } from 'ng2-alfresco-core';
import { Observable } from 'rxjs/Rx';
import { FormService } from '../../../services/form.service';
+import { ContentLinkModel } from '../core/content-link.model';
import { baseHost, WidgetComponent } from './../widget.component';
@Component({
@@ -117,4 +118,16 @@ export class UploadWidgetComponent extends WidgetComponent implements OnInit {
return this.thumbnailService.getMimeTypeIcon(mimeType);
}
+ fileClicked(file: ContentLinkModel): void {
+ this.formService.getFileRawContent(file.id).subscribe(
+ (blob: Blob) => {
+ file.contentBlob = blob;
+ this.formService.formContentClicked.next(file);
+ },
+ (error) => {
+ this.logService.error('Unable to send evento for file ' + file.name);
+ }
+ );
+ }
+
}