diff options
author | MichaelMorris <michael.morris@est.tech> | 2022-08-04 11:13:54 +0100 |
---|---|---|
committer | Andr� Schmid <andre.schmid@est.tech> | 2022-08-10 09:01:21 +0000 |
commit | aa948a8d914d3e30018a52bbbec4c7dbe408e9da (patch) | |
tree | 7cf45662d08c8fe62c1961fe8f4196bf2412906f /catalog-ui/src/app/ng2/pages/properties-assignment | |
parent | 7b0009c2bebe54214f920baf6b2aa4058921777b (diff) |
Property assignment view policy tosca function
Enable setting policy properties to a TOSCA function value expression in the property assignment view
Signed-off-by: MichaelMorris <michael.morris@est.tech>
Issue-ID: SDC-4122
Change-Id: Idd6b08c31995f5f421213075a3981f58edca2f9c
Diffstat (limited to 'catalog-ui/src/app/ng2/pages/properties-assignment')
-rw-r--r-- | catalog-ui/src/app/ng2/pages/properties-assignment/properties-assignment.page.component.ts | 25 |
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"); |