-
+
{
});
widget.ngOnInit();
- let expected = moment(minValue, widget.DATE_FORMAT);
+ let expected = moment(minValue, widget.field.dateDisplayFormat);
expect(widget.datePicker._past.isSame(expected)).toBeTruthy();
});
@@ -65,7 +65,7 @@ describe('DateWidget', () => {
});
widget.ngOnInit();
- let expected = moment(maxValue, widget.DATE_FORMAT);
+ let expected = moment(maxValue, widget.field.dateDisplayFormat);
expect(widget.datePicker._future.isSame(expected)).toBeTruthy();
});
@@ -77,7 +77,7 @@ describe('DateWidget', () => {
});
widget.ngOnInit();
- let expected = moment(dateValue, widget.DATE_FORMAT);
+ let expected = moment(dateValue, widget.field.dateDisplayFormat);
expect(widget.datePicker.time.isSame(expected)).toBeTruthy();
});
@@ -115,7 +115,7 @@ describe('DateWidget', () => {
widget.field.value = '31-03-1982';
widget.onDateChanged();
- let expected = moment('31-03-1982', widget.DATE_FORMAT);
+ let expected = moment('31-03-1982', widget.field.dateDisplayFormat);
expect(widget.datePicker.time.isSame(expected)).toBeTruthy();
});
@@ -124,7 +124,7 @@ describe('DateWidget', () => {
widget.ngOnInit();
let date = '13-3-1982';
- widget.datePicker.time = moment(date, widget.DATE_FORMAT);
+ widget.datePicker.time = moment(date, widget.field.dateDisplayFormat);
widget.onDateSelected();
expect(widget.field.value).toBe(date);
});
@@ -157,7 +157,7 @@ describe('DateWidget', () => {
spyOn(w, 'setupMaterialTextField').and.callThrough();
w.field = new FormFieldModel(null, {value: '9-9-9999', type: 'date'});
w.ngOnInit();
- w.datePicker.time = moment('9-9-9999', w.DATE_FORMAT);
+ w.datePicker.time = moment('9-9-9999', w.field.dateDisplayFormat);
w.fieldChanged.subscribe((field) => {
expect(field).toBeDefined();
expect(field).not.toBeNull();
@@ -172,7 +172,7 @@ describe('DateWidget', () => {
spyOn(w, 'setupMaterialTextField').and.callThrough();
w.field = new FormFieldModel(null, {value: '9-9-9999', type: 'date'});
w.ngOnInit();
- w.datePicker.time = moment('9-9-9999', w.DATE_FORMAT);
+ w.datePicker.time = moment('9-9-9999', w.field.dateDisplayFormat);
w.fieldChanged.subscribe((field) => {
expect(field).toBeDefined();
expect(field).not.toBeNull();
diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.ts b/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.ts
index 7a36b067b6..4f1b739c47 100644
--- a/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.ts
+++ b/ng2-components/ng2-activiti-form/src/components/widgets/date/date.widget.ts
@@ -30,8 +30,6 @@ declare var componentHandler: any;
})
export class DateWidget extends WidgetComponent implements OnInit, AfterViewChecked {
- DATE_FORMAT: string = 'D-M-YYYY';
-
datePicker: any;
constructor(private elementRef: ElementRef) {
@@ -49,15 +47,15 @@ export class DateWidget extends WidgetComponent implements OnInit, AfterViewChec
if (this.field) {
if (this.field.minValue) {
- settings.past = moment(this.field.minValue, this.DATE_FORMAT);
+ settings.past = moment(this.field.minValue, this.field.dateDisplayFormat);
}
if (this.field.maxValue) {
- settings.future = moment(this.field.maxValue, this.DATE_FORMAT);
+ settings.future = moment(this.field.maxValue, this.field.dateDisplayFormat);
}
if (this.field.value) {
- settings.init = moment(this.field.value, this.DATE_FORMAT);
+ settings.init = moment(this.field.value, this.field.dateDisplayFormat);
}
}
@@ -73,7 +71,7 @@ export class DateWidget extends WidgetComponent implements OnInit, AfterViewChec
onDateChanged() {
if (this.field.value) {
- let value = moment(this.field.value, this.DATE_FORMAT);
+ let value = moment(this.field.value, this.field.dateDisplayFormat);
if (!value.isValid()) {
value = moment();
}
@@ -83,7 +81,7 @@ export class DateWidget extends WidgetComponent implements OnInit, AfterViewChec
}
onDateSelected() {
- let newValue = this.datePicker.time.format(this.DATE_FORMAT);
+ let newValue = this.datePicker.time.format(this.field.dateDisplayFormat);
this.field.value = newValue;
this.checkVisibility(this.field);
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 1e042a453f..805ab8ea35 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
@@ -16,6 +16,7 @@
*/
import { TestBed } from '@angular/core/testing';
+import { Observable } from 'rxjs/Rx';
import { CoreModule, AlfrescoApiService, LogService, LogServiceMock } from 'ng2-alfresco-core';
import { FormService } from './form.service';
import { EcmModelService } from './ecm-model.service';
@@ -32,6 +33,17 @@ describe('FormService', () => {
let logService: LogService;
let bpmCli: any;
+ function createFakeBlob() {
+ let data = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==';
+
+ let bytes = new Uint8Array(data.length / 2);
+
+ for (let i = 0; i < data.length; i += 2) {
+ bytes[i / 2] = parseInt(data.substring(i, i + 2), /* base = */ 16);
+ }
+ return new Blob([bytes], {type: 'image/png'});
+ }
+
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
@@ -444,11 +456,18 @@ describe('FormService', () => {
expect(contentRawUrl).toEqual(`${bpmCli.basePath}/api/enterprise/content/${contentId}/raw`);
});
- it('should return the thumbnail URL', () => {
+ it('should return a Blob as thumbnail', (done) => {
let contentId: number = 999;
- let contentRawUrl = service.getContentThumbnailUrl(contentId);
- expect(contentRawUrl).toEqual(`${bpmCli.basePath}/app/rest/content/${contentId}/rendition/thumbnail`);
+ let blob = createFakeBlob();
+ spyOn(service, 'getContentThumbnailUrl').and.returnValue(Observable.of(blob));
+
+ service.getContentThumbnailUrl(contentId).subscribe(result => {
+ expect(result).toEqual(jasmine.any(Blob));
+ expect(result.size).toEqual(48);
+ expect(result.type).toEqual('image/png');
+ done();
+ });
});
it('should create a Form form a Node', (done) => {
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 a142f492ad..fb2a4a14db 100644
--- a/ng2-components/ng2-activiti-form/src/services/form.service.ts
+++ b/ng2-components/ng2-activiti-form/src/services/form.service.ts
@@ -267,9 +267,9 @@ export class FormService {
return alfrescoApi.activiti.contentApi.getRawContentUrl(contentId);
}
- getContentThumbnailUrl(contentId: number): string {
+ getContentThumbnailUrl(contentId: number): Observable
{
let alfrescoApi = this.apiService.getInstance();
- return alfrescoApi.activiti.contentApi.getContentThumbnailUrl(contentId);
+ return Observable.fromPromise(alfrescoApi.activiti.contentApi.getContentThumbnailUrl(contentId));
}
getRestFieldValues(taskId: string, field: string): Observable {
diff --git a/ng2-components/ng2-activiti-processlist/demo/package.json b/ng2-components/ng2-activiti-processlist/demo/package.json
index 5b20cb04c2..3f8f8eaf84 100644
--- a/ng2-components/ng2-activiti-processlist/demo/package.json
+++ b/ng2-components/ng2-activiti-processlist/demo/package.json
@@ -50,10 +50,10 @@
"md-date-time-picker": "^2.2.0",
"ng2-translate": "2.5.0",
"alfresco-js-api": "~1.2.0",
- "ng2-activiti-tasklist": "1.2.0",
+ "ng2-activiti-tasklist": "1.2.1",
"ng2-alfresco-core": "1.2.0",
"ng2-alfresco-datatable": "1.2.0",
- "ng2-activiti-processlist": "1.2.0"
+ "ng2-activiti-processlist": "1.2.1"
},
"devDependencies": {
"@types/jasmine": "^2.2.33",
diff --git a/ng2-components/ng2-activiti-processlist/package.json b/ng2-components/ng2-activiti-processlist/package.json
index 54452b9292..cb82b9571e 100644
--- a/ng2-components/ng2-activiti-processlist/package.json
+++ b/ng2-components/ng2-activiti-processlist/package.json
@@ -1,7 +1,7 @@
{
"name": "ng2-activiti-processlist",
"description": "Show active processes from the Activiti Process Services suite",
- "version": "1.2.0",
+ "version": "1.2.1",
"author": "Alfresco Software, Ltd.",
"scripts": {
"clean": "npm install rimraf && npm run clean-build && rimraf dist node_modules typings",
@@ -63,8 +63,8 @@
"md-date-time-picker": "^2.2.0",
"ng2-translate": "2.5.0",
"alfresco-js-api": "~1.2.0",
- "ng2-activiti-form": "1.2.0",
- "ng2-activiti-tasklist": "1.2.0",
+ "ng2-activiti-form": "1.2.1",
+ "ng2-activiti-tasklist": "1.2.1",
"ng2-alfresco-core": "1.2.0",
"ng2-alfresco-datatable": "1.2.0"
},
diff --git a/ng2-components/ng2-activiti-tasklist/demo/package.json b/ng2-components/ng2-activiti-tasklist/demo/package.json
index ce3a735022..912bcc9528 100644
--- a/ng2-components/ng2-activiti-tasklist/demo/package.json
+++ b/ng2-components/ng2-activiti-tasklist/demo/package.json
@@ -46,7 +46,7 @@
"alfresco-js-api": "~1.2.0",
"ng2-alfresco-core": "1.2.0",
"ng2-alfresco-datatable": "1.2.0",
- "ng2-activiti-tasklist": "1.2.0"
+ "ng2-activiti-tasklist": "1.2.1"
},
"devDependencies": {
"@types/jasmine": "^2.2.33",
diff --git a/ng2-components/ng2-activiti-tasklist/package.json b/ng2-components/ng2-activiti-tasklist/package.json
index daa25209d3..de9d14e536 100644
--- a/ng2-components/ng2-activiti-tasklist/package.json
+++ b/ng2-components/ng2-activiti-tasklist/package.json
@@ -1,7 +1,7 @@
{
"name": "ng2-activiti-tasklist",
"description": "Activiti Angular2 Task List Component",
- "version": "1.2.0",
+ "version": "1.2.1",
"author": "Alfresco Software, Ltd.",
"scripts": {
"clean": "npm install rimraf && npm run clean-build && rimraf dist node_modules typings",
@@ -68,7 +68,7 @@
"md-date-time-picker": "^2.2.0",
"ng2-translate": "2.5.0",
"alfresco-js-api": "~1.2.0",
- "ng2-activiti-form": "1.2.0",
+ "ng2-activiti-form": "1.2.1",
"ng2-alfresco-core": "1.2.0",
"ng2-alfresco-datatable": "1.2.0"
},