From 12c4de2c1e1eb1c9200c1a14a9cbcb2e853306c0 Mon Sep 17 00:00:00 2001 From: Vito Albano Date: Fri, 16 Dec 2016 13:08:38 +0000 Subject: [PATCH] #1031 - Check the value of old forms in process variables --- .../src/components/activiti-form.component.ts | 4 +- .../display-value.widget.spec.ts | 2 +- .../widgets/dropdown/dropdown.widget.spec.ts | 2 +- .../dynamic-table.widget.spec.ts | 2 +- .../radio-buttons.widget.spec.ts | 2 +- .../typeahead/typeahead.widget.spec.ts | 2 +- .../src/services/widget-visibility.service.ts | 43 +++++++------------ 7 files changed, 22 insertions(+), 35 deletions(-) diff --git a/ng2-components/ng2-activiti-form/src/components/activiti-form.component.ts b/ng2-components/ng2-activiti-form/src/components/activiti-form.component.ts index de4e05d199..139104cc00 100644 --- a/ng2-components/ng2-activiti-form/src/components/activiti-form.component.ts +++ b/ng2-components/ng2-activiti-form/src/components/activiti-form.component.ts @@ -280,7 +280,7 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges { loadForm() { if (this.taskId) { this.getFormByTaskId(this.taskId); - this.visibilityService.getTaskProcessVariable(this.taskId); + this.visibilityService.getTaskProcessVariable(this.taskId).subscribe(); return; } @@ -411,7 +411,7 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges { */ getFormDefinitionOutcomes(form: FormModel): FormOutcomeModel[] { return [ - new FormOutcomeModel(form, {id: '$custom', name: FormOutcomeModel.SAVE_ACTION, isSystem: true}) + new FormOutcomeModel(form, { id: '$custom', name: FormOutcomeModel.SAVE_ACTION, isSystem: true }) ]; } 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 9bf151601e..19f98d5ffa 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 @@ -38,7 +38,7 @@ describe('DisplayValueWidget', () => { beforeEach(() => { settingsService = new AlfrescoSettingsService(); formService = new FormService(null, null); - visibilityService = new WidgetVisibilityService(null, null, null); + visibilityService = new WidgetVisibilityService(null); widget = new DisplayValueWidget(formService, visibilityService, settingsService); }); diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.spec.ts index 97f58b2a03..1d263dff8e 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.spec.ts +++ b/ng2-components/ng2-activiti-form/src/components/widgets/dropdown/dropdown.widget.spec.ts @@ -34,7 +34,7 @@ describe('DropdownWidget', () => { beforeEach(() => { formService = new FormService(null, null); - visibilityService = new WidgetVisibilityService(null, null, null); + visibilityService = new WidgetVisibilityService(null); widget = new DropdownWidget(formService, visibilityService); widget.field = new FormFieldModel(new FormModel()); }); diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/dynamic-table/dynamic-table.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/dynamic-table/dynamic-table.widget.spec.ts index 4accc990d1..2c6c33d793 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/dynamic-table/dynamic-table.widget.spec.ts +++ b/ng2-components/ng2-activiti-form/src/components/widgets/dynamic-table/dynamic-table.widget.spec.ts @@ -28,7 +28,7 @@ describe('DynamicTableWidget', () => { beforeEach(() => { table = new DynamicTableModel(null); - visibilityService = new WidgetVisibilityService(null, null, null); + visibilityService = new WidgetVisibilityService(null); widget = new DynamicTableWidget(null, visibilityService); widget.content = table; }); diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/radio-buttons/radio-buttons.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/radio-buttons/radio-buttons.widget.spec.ts index 1141405b71..c21594f359 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/radio-buttons/radio-buttons.widget.spec.ts +++ b/ng2-components/ng2-activiti-form/src/components/widgets/radio-buttons/radio-buttons.widget.spec.ts @@ -36,7 +36,7 @@ describe('RadioButtonsWidget', () => { beforeEach(() => { formService = new FormService(null, null); - visibilityService = new WidgetVisibilityService(null, null, null); + visibilityService = new WidgetVisibilityService(null); widget = new RadioButtonsWidget(formService, visibilityService); widget.field = new FormFieldModel(new FormModel(), { restUrl: '' }); }); diff --git a/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.spec.ts b/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.spec.ts index 0ea589ef03..b79759c6ba 100644 --- a/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.spec.ts +++ b/ng2-components/ng2-activiti-form/src/components/widgets/typeahead/typeahead.widget.spec.ts @@ -35,7 +35,7 @@ describe('TypeaheadWidget', () => { beforeEach(() => { formService = new FormService(null, null); - visibilityService = new WidgetVisibilityService(null, null, null); + visibilityService = new WidgetVisibilityService(null); widget = new TypeaheadWidget(formService, visibilityService); widget.field = new FormFieldModel(new FormModel({ taskId: 'task-id' })); }); diff --git a/ng2-components/ng2-activiti-form/src/services/widget-visibility.service.ts b/ng2-components/ng2-activiti-form/src/services/widget-visibility.service.ts index db75d8060e..95ac4ac132 100644 --- a/ng2-components/ng2-activiti-form/src/services/widget-visibility.service.ts +++ b/ng2-components/ng2-activiti-form/src/services/widget-visibility.service.ts @@ -16,9 +16,8 @@ */ import { Injectable } from '@angular/core'; -import { Response, Http, Headers, RequestOptions } from '@angular/http'; import { Observable } from 'rxjs/Rx'; -import { AlfrescoSettingsService, AlfrescoAuthenticationService } from 'ng2-alfresco-core'; +import { AlfrescoApiService } from 'ng2-alfresco-core'; import { FormModel, FormFieldModel, @@ -35,9 +34,7 @@ export class WidgetVisibilityService { private processVarList: TaskProcessVariableModel[]; - constructor(private http: Http, - private alfrescoSettingsService: AlfrescoSettingsService, - private authService: AlfrescoAuthenticationService) { + constructor(private apiService: AlfrescoApiService) { } public refreshVisibility(form: FormModel) { @@ -80,10 +77,14 @@ export class WidgetVisibilityService { } getLeftValue(form: FormModel, visibilityObj: WidgetVisibilityModel) { + let leftValue = ''; if (visibilityObj.leftRestResponseId && visibilityObj.leftRestResponseId !== 'null') { - return this.getVariableValue(form, visibilityObj.leftRestResponseId, this.processVarList); + leftValue = this.getVariableValue(form, visibilityObj.leftRestResponseId, this.processVarList); + } else { + leftValue = this.getFormValue(form, visibilityObj.leftFormFieldId); + leftValue = leftValue ? leftValue : this.getVariableValue(form, visibilityObj.leftFormFieldId, this.processVarList); } - return this.getFormValue(form, visibilityObj.leftFormFieldId); + return leftValue; } getRightValue(form: FormModel, visibilityObj: WidgetVisibilityModel) { @@ -231,29 +232,15 @@ export class WidgetVisibilityService { } getTaskProcessVariable(taskId: string): Observable { - let url = `${this.alfrescoSettingsService.getBPMApiBaseUrl()}/app/rest/task-forms/${taskId}/variables`; - let options = this.getRequestOptions(); - return this.http - .get(url, options) - .map((response: Response) => this.processVarList = response.json()) + return Observable.fromPromise(this.apiService.getInstance().activiti.taskFormsApi.getTaskFormVariables(taskId)) + .map((response: TaskProcessVariableModel[]) => { + this.processVarList = response; + }) .catch(this.handleError); } - private getHeaders(): Headers { - return new Headers({ - 'Accept': 'application/json', - 'Content-Type': 'application/json', - 'Authorization': this.authService.getTicketBpm() - }); - } - - private getRequestOptions(): RequestOptions { - let headers = this.getHeaders(); - return new RequestOptions({headers: headers}); - } - - private handleError(error: Response) { - console.error(error); - return Observable.throw(error.json().error || 'Server error'); + private handleError() { + console.error('Error while performing a call'); + return Observable.throw('Error while performing a call - Server error'); } }