-
-
-
-
-

-
-
-
attachment
-
{{value}}
+
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/display-value/display-value.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/display-value/display-value.widget.spec.ts
index 17e3b896ef..207e51f4a1 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/display-value/display-value.widget.spec.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/display-value/display-value.widget.spec.ts
@@ -20,6 +20,7 @@ import { CoreModule, LogServiceMock } from 'ng2-alfresco-core';
import { Observable } from 'rxjs/Rx';
import { DisplayValueWidget } from './display-value.widget';
import { FormService } from '../../../services/form.service';
+import { ActivitiContent } from '../../activiti-content.component';
import { EcmModelService } from '../../../services/ecm-model.service';
import { FormFieldModel } from './../core/form-field.model';
import { FormFieldTypes } from '../core/form-field-types';
@@ -688,7 +689,7 @@ describe('DisplayValueWidget', () => {
window['componentHandler'] = componentHandler;
TestBed.configureTestingModule({
imports: [CoreModule],
- declarations: [DisplayValueWidget],
+ declarations: [DisplayValueWidget, ActivitiContent],
providers: [
EcmModelService,
FormService,
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/tabs/tabs.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/tabs/tabs.widget.spec.ts
index 510b4c5b1f..1ffd67bebf 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/tabs/tabs.widget.spec.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/tabs/tabs.widget.spec.ts
@@ -23,6 +23,7 @@ import { TabsWidget } from './tabs.widget';
import { TabModel } from '../core/tab.model';
import { WIDGET_DIRECTIVES } from '../index';
import { FormFieldComponent } from './../../form-field/form-field.component';
+import { ActivitiContent } from './../../activiti-content.component';
import { CoreModule } from 'ng2-alfresco-core';
describe('TabsWidget', () => {
@@ -103,7 +104,7 @@ describe('TabsWidget', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [CoreModule],
- declarations: [FormFieldComponent, WIDGET_DIRECTIVES]
+ declarations: [FormFieldComponent, ActivitiContent, WIDGET_DIRECTIVES]
}).compileComponents().then(() => {
fixture = TestBed.createComponent(TabsWidget);
tabWidgetComponent = fixture.componentInstance;
diff --git a/ng2-components/ng2-activiti-form/src/i18n/en.json b/ng2-components/ng2-activiti-form/src/i18n/en.json
index 701b687e00..c05017b260 100644
--- a/ng2-components/ng2-activiti-form/src/i18n/en.json
+++ b/ng2-components/ng2-activiti-form/src/i18n/en.json
@@ -2,6 +2,9 @@
"FORM": {
"START_FORM": {
"TITLE": "Start Form"
+ },
+ "PREVIEW": {
+ "IMAGE_NOT_AVAILABLE": "The preview image is not available."
}
}
}
diff --git a/ng2-components/ng2-activiti-form/src/i18n/it.json b/ng2-components/ng2-activiti-form/src/i18n/it.json
new file mode 100644
index 0000000000..58d9aa460c
--- /dev/null
+++ b/ng2-components/ng2-activiti-form/src/i18n/it.json
@@ -0,0 +1,10 @@
+{
+ "FORM": {
+ "START_FORM": {
+ "TITLE": "Inizia"
+ },
+ "PREVIEW": {
+ "IMAGE_NOT_AVAILABLE": "Anteprima immagine non disponibile."
+ }
+ }
+}
diff --git a/ng2-components/ng2-activiti-form/src/services/form.service.spec.ts b/ng2-components/ng2-activiti-form/src/services/form.service.spec.ts
index 28339b0ded..1e042a453f 100644
--- a/ng2-components/ng2-activiti-form/src/services/form.service.spec.ts
+++ b/ng2-components/ng2-activiti-form/src/services/form.service.spec.ts
@@ -30,6 +30,7 @@ describe('FormService', () => {
let service: FormService;
let apiService: AlfrescoApiService;
let logService: LogService;
+ let bpmCli: any;
beforeEach(() => {
TestBed.configureTestingModule({
@@ -44,6 +45,7 @@ describe('FormService', () => {
});
service = TestBed.get(FormService);
apiService = TestBed.get(AlfrescoApiService);
+ bpmCli = apiService.getInstance().bpmAuth;
logService = TestBed.get(LogService);
});
@@ -374,6 +376,81 @@ describe('FormService', () => {
});
});
+ it('should return the unsupported content when the file is an image', (done) => {
+ let contentId: number = 999;
+ responseBody = {
+ id: contentId,
+ name: 'fake-name.jpg',
+ created: '2017-01-23T12:12:53.219+0000',
+ createdBy: {id: 2, firstName: 'fake-admin', lastName: 'fake-last', 'email': 'fake-admin'},
+ relatedContent: false,
+ contentAvailable: true,
+ link: false,
+ mimeType: 'image/jpeg',
+ simpleType: 'image',
+ previewStatus: 'unsupported',
+ thumbnailStatus: 'unsupported'
+ };
+
+ service.getFileContent(contentId).subscribe(result => {
+ expect(result.id).toEqual(contentId);
+ expect(result.name).toEqual('fake-name.jpg');
+ expect(result.simpleType).toEqual('image');
+ expect(result.thumbnailStatus).toEqual('unsupported');
+ done();
+ });
+
+ jasmine.Ajax.requests.mostRecent().respondWith({
+ 'status': 200,
+ contentType: 'application/json',
+ responseText: JSON.stringify(responseBody)
+ });
+ });
+
+ it('should return the supported content when the file is a pdf', (done) => {
+ let contentId: number = 888;
+ responseBody = {
+ id: contentId,
+ name: 'fake-name.pdf',
+ created: '2017-01-23T12:12:53.219+0000',
+ createdBy: {id: 2, firstName: 'fake-admin', lastName: 'fake-last', 'email': 'fake-admin'},
+ relatedContent: false,
+ contentAvailable: true,
+ link: false,
+ mimeType: 'application/pdf',
+ simpleType: 'pdf',
+ previewStatus: 'created',
+ thumbnailStatus: 'created'
+ };
+
+ service.getFileContent(contentId).subscribe(result => {
+ expect(result.id).toEqual(contentId);
+ expect(result.name).toEqual('fake-name.pdf');
+ expect(result.simpleType).toEqual('pdf');
+ expect(result.thumbnailStatus).toEqual('created');
+ done();
+ });
+
+ jasmine.Ajax.requests.mostRecent().respondWith({
+ 'status': 200,
+ contentType: 'application/json',
+ responseText: JSON.stringify(responseBody)
+ });
+ });
+
+ it('should return the raw content URL', () => {
+ let contentId: number = 999;
+ let contentRawUrl = service.getFileRawContentUrl(contentId);
+ expect(contentRawUrl).toEqual(`${bpmCli.basePath}/api/enterprise/content/${contentId}/raw`);
+ });
+
+ it('should return the thumbnail URL', () => {
+ let contentId: number = 999;
+
+ let contentRawUrl = service.getContentThumbnailUrl(contentId);
+ expect(contentRawUrl).toEqual(`${bpmCli.basePath}/app/rest/content/${contentId}/rendition/thumbnail`);
+ });
+
it('should create a Form form a Node', (done) => {
let nameForm = 'testNode';
diff --git a/ng2-components/ng2-activiti-form/src/services/form.service.ts b/ng2-components/ng2-activiti-form/src/services/form.service.ts
index 0ffc0156d3..a142f492ad 100644
--- a/ng2-components/ng2-activiti-form/src/services/form.service.ts
+++ b/ng2-components/ng2-activiti-form/src/services/form.service.ts
@@ -252,6 +252,26 @@ export class FormService {
return Observable.fromPromise(this.apiService.getInstance().activiti.contentApi.createTemporaryRawRelatedContent(file));
}
+ getFileContent(contentId: number): Observable
{
+ let alfrescoApi = this.apiService.getInstance();
+ return Observable.fromPromise(alfrescoApi.activiti.contentApi.getContent(contentId));
+ }
+
+ getFileRawContent(contentId: number): Observable {
+ let alfrescoApi = this.apiService.getInstance();
+ return Observable.fromPromise(alfrescoApi.activiti.contentApi.getRawContent(contentId));
+ }
+
+ getFileRawContentUrl(contentId: number): string {
+ let alfrescoApi = this.apiService.getInstance();
+ return alfrescoApi.activiti.contentApi.getRawContentUrl(contentId);
+ }
+
+ getContentThumbnailUrl(contentId: number): string {
+ let alfrescoApi = this.apiService.getInstance();
+ return alfrescoApi.activiti.contentApi.getContentThumbnailUrl(contentId);
+ }
+
getRestFieldValues(taskId: string, field: string): Observable {
let alfrescoApi = this.apiService.getInstance();
return Observable.fromPromise(alfrescoApi.activiti.taskApi.getRestFieldValues(taskId, field));