aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.ts25
1 files changed, 22 insertions, 3 deletions
diff --git a/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.ts b/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.ts
index 6474b15df0..557365592f 100644
--- a/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.ts
+++ b/catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.ts
@@ -511,17 +511,18 @@ export class PropertiesAssignmentComponent {
* Select Tosca function value from defined values
*/
selectToscaFunctionAndValues = (): void => {
- const selectedInstanceData: ComponentInstance | GroupInstance = this.getSelectedInstance();
+ const selectedInstanceData: ComponentInstance | GroupInstance | PolicyInstance = this.getSelectedInstance();
if (!selectedInstanceData) {
return;
}
this.openToscaGetFunctionModal();
}
- private getSelectedInstance(): ComponentInstance | GroupInstance {
+ private getSelectedInstance(): ComponentInstance | GroupInstance | PolicyInstance {
const instancesIds = this.keysPipe.transform(this.instanceFePropertiesMap, []);
const instanceId: string = instancesIds[0];
- return <ComponentInstance | GroupInstance> this.instances.find(instance => instance.uniqueId == instanceId && instance instanceof ComponentInstance || instance instanceof GroupInstance);
+ return <ComponentInstance | GroupInstance | PolicyInstance> this.instances.find(instance =>
+ instance.uniqueId == instanceId && instance instanceof ComponentInstance || instance instanceof GroupInstance || instance instanceof PolicyInstance);
}
private buildCheckedInstanceProperty(): PropertyBEModel {
@@ -582,6 +583,8 @@ export class PropertiesAssignmentComponent {
this.updateInstanceProperty(checkedInstanceProperty);
} else if (this.selectedInstanceData instanceof GroupInstance) {
this.updateGroupInstanceProperty(checkedInstanceProperty);
+ } else if (this.selectedInstanceData instanceof PolicyInstance) {
+ this.updatePolicyInstanceProperty(checkedInstanceProperty);
}
}
@@ -592,6 +595,8 @@ export class PropertiesAssignmentComponent {
this.updateInstanceProperty(checkedProperty);
} else if (this.selectedInstanceData instanceof GroupInstance) {
this.updateGroupInstanceProperty(checkedProperty);
+ } else if (this.selectedInstanceData instanceof PolicyInstance) {
+ this.updatePolicyInstanceProperty(checkedProperty);
}
}
@@ -623,6 +628,20 @@ export class PropertiesAssignmentComponent {
});
}
+ updatePolicyInstanceProperty(instanceProperty: PropertyBEModel) {
+ this.loadingProperties = true;
+ this.componentInstanceServiceNg2.updateComponentPolicyInstanceProperties(this.component.componentType, this.component.uniqueId,
+ this.selectedInstanceData.uniqueId, [instanceProperty])
+ .subscribe(() => {
+ this.changeSelectedInstance(this.getSelectedInstance());
+ }, (error) => {
+ this.loadingProperties = false;
+ console.error(error);
+ }, () => {
+ this.loadingProperties = false;
+ });
+ }
+
/*** DECLARE PROPERTIES/INPUTS ***/
declareProperties = (): void => {
console.debug("==>" + this.constructor.name + ": declareProperties");