added refresh visibility for container widget header

This commit is contained in:
Vito Albano 2016-10-18 01:10:30 +01:00
parent 1eef1b13d8
commit 24d10f9bfe

View File

@ -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);