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 { Response, Http, Headers, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs/Rx'; import { Observable } from 'rxjs/Rx';
import { AlfrescoSettingsService, AlfrescoAuthenticationService } from 'ng2-alfresco-core'; 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 { WidgetVisibilityModel } from '../models/widget-visibility.model';
import { TaskProcessVariableModel } from '../models/task-process-variable.model'; import { TaskProcessVariableModel } from '../models/task-process-variable.model';
@ -38,9 +38,11 @@ export class WidgetVisibilityService {
form.tabs.map(tabModel => this.refreshTabVisibility(tabModel)); form.tabs.map(tabModel => this.refreshTabVisibility(tabModel));
} }
if (form && form.fields.length > 0) { if (form && form.fields.length > 0) {
form.fields.map(contModel => form.fields.map(contModel => {
this.refreshContainerVisibility(contModel);
contModel.columns.map(contColModel => 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) { refreshTabVisibility(tab: TabModel) {
if (tab.visibilityCondition) { if (tab.visibilityCondition) {
tab.isVisible = this.evaluateVisibility(tab.form, tab.visibilityCondition); tab.isVisible = this.evaluateVisibility(tab.form, tab.visibilityCondition);
@ -81,7 +89,7 @@ export class WidgetVisibilityService {
} }
getLeftValue(form: FormModel, visibilityObj: WidgetVisibilityModel) { getLeftValue(form: FormModel, visibilityObj: WidgetVisibilityModel) {
if (visibilityObj.leftRestResponseId) { if (visibilityObj.leftRestResponseId && visibilityObj.leftRestResponseId !== 'null') {
return this.getVariableValue(form, visibilityObj.leftRestResponseId, this.processVarList); return this.getVariableValue(form, visibilityObj.leftRestResponseId, this.processVarList);
} }
return this.getFormValue(form, visibilityObj.leftFormFieldId); return this.getFormValue(form, visibilityObj.leftFormFieldId);