From 24d10f9bfe91ce1872901118082b13ff8d1286fe Mon Sep 17 00:00:00 2001 From: Vito Albano Date: Tue, 18 Oct 2016 01:10:30 +0100 Subject: [PATCH] added refresh visibility for container widget header --- .../src/services/widget-visibility.service.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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 8b3a632dab..6271654812 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 @@ -19,7 +19,7 @@ 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 { FormModel, FormFieldModel, TabModel } from '../components/widgets/core/index'; +import { FormModel, FormFieldModel, TabModel, ContainerModel } from '../components/widgets/core/index'; import { WidgetVisibilityModel } from '../models/widget-visibility.model'; import { TaskProcessVariableModel } from '../models/task-process-variable.model'; @@ -38,9 +38,11 @@ export class WidgetVisibilityService { form.tabs.map(tabModel => this.refreshTabVisibility(tabModel)); } if (form && form.fields.length > 0) { - form.fields.map(contModel => + form.fields.map(contModel => { + this.refreshContainerVisibility(contModel); contModel.columns.map(contColModel => - contColModel.fields.map(field => this.refreshFieldVisibility(field)))); + contColModel.fields.map(field => this.refreshFieldVisibility(field))); + }); } } @@ -50,6 +52,12 @@ export class WidgetVisibilityService { } } + refreshContainerVisibility(content: ContainerModel) { + if (content.visibilityCondition) { + content.isVisible = this.evaluateVisibility(content.form, content.visibilityCondition); + } + } + refreshTabVisibility(tab: TabModel) { if (tab.visibilityCondition) { tab.isVisible = this.evaluateVisibility(tab.form, tab.visibilityCondition); @@ -81,7 +89,7 @@ export class WidgetVisibilityService { } getLeftValue(form: FormModel, visibilityObj: WidgetVisibilityModel) { - if (visibilityObj.leftRestResponseId) { + if (visibilityObj.leftRestResponseId && visibilityObj.leftRestResponseId !== 'null') { return this.getVariableValue(form, visibilityObj.leftRestResponseId, this.processVarList); } return this.getFormValue(form, visibilityObj.leftFormFieldId);