diff options
author | imamSidero <imam.hussain@est.tech> | 2023-01-24 16:03:54 +0000 |
---|---|---|
committer | Michael Morris <michael.morris@est.tech> | 2023-01-27 18:22:19 +0000 |
commit | 43ffce5d0d30872446c51afaf786d5cfad4378be (patch) | |
tree | c5ccdb92091586525b0b567f591c402ee642aecf /catalog-ui/src/app/ng2/components | |
parent | e3a17890903ee443d0b5d0ee872e316e4369318d (diff) |
Provide add/edit constraints capability to inputs in properties page
Providing the capability to add or edit constraints to inputs in properies of a service
Issue-ID: SDC-4346
Signed-off-by: Imam hussain <imam.hussain@est.tech>
Change-Id: I56261441022751a191fe057aafa4c681c8db96c5
Diffstat (limited to 'catalog-ui/src/app/ng2/components')
-rw-r--r-- | catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.html | 2 | ||||
-rw-r--r-- | catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts | 44 |
2 files changed, 43 insertions, 3 deletions
diff --git a/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.html b/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.html index 7c83c55ae6..1389c21bcd 100644 --- a/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.html +++ b/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.html @@ -44,7 +44,7 @@ <!-- Property Name --> <div class="table-cell col1"> <div class="inner-cell-div"> - <span class="property-name" tooltip="{{input.name}}">{{input.name}}</span> + <a class="property-name" (click)="updateProperty(input)" tooltip="{{input.name}}">{{input.name}}</a> </div> <span *ngIf="input.description" class="property-description-icon sprite-new show-desc" diff --git a/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts b/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts index 822d8c9cdd..ec18767183 100644 --- a/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts +++ b/catalog-ui/src/app/ng2/components/logic/inputs-table/inputs-table.component.ts @@ -23,7 +23,8 @@ * Created by rc2122 on 5/4/2017. */ import { Component, Input, Output, EventEmitter, ViewChildren, QueryList } from "@angular/core"; -import { InputFEModel } from "app/models"; +import { InputFEModel, PropertyModel, PropertiesGroup, Component as ComponentData } from "app/models"; +import { ModalsHandler } from 'app/utils'; import { ModalService } from "../../../services/modal.service"; import { InstanceFeDetails } from "app/models/instance-fe-details"; import { InstanceFePropertiesMap } from "../../../../models/properties-inputs/property-fe-map"; @@ -48,6 +49,8 @@ export class InputsTableComponent { @Output() deleteInput: EventEmitter<any> = new EventEmitter<any>(); @Input() fePropertiesMap: InstanceFePropertiesMap; + @Input() componentInstancePropertyMap: PropertiesGroup; + @Input() parentComponent: ComponentData; @ViewChildren('metadataViewChildren') public metadataViewChildren: QueryList<DynamicElementComponent>; @@ -84,7 +87,7 @@ export class InputsTableComponent { }; - constructor(private modalService: ModalService, private dataTypeService: DataTypeService){ + constructor(private modalService: ModalService, private dataTypeService: DataTypeService, private modalsHandler: ModalsHandler){ var x = 5 } @@ -175,6 +178,43 @@ export class InputsTableComponent { return false; } + public updateProperty = (inputProperty: InputFEModel): void => { + let modelProperty : PropertyModel = this.createPropertyModel(inputProperty); + if (inputProperty.instanceUniqueId != null && this.componentInstancePropertyMap != null && modelProperty.constraints == null) { + this.componentInstancePropertyMap[inputProperty.instanceUniqueId].forEach(tempProperty => { + modelProperty.constraints = tempProperty.constraints; + }); + } + this.modalsHandler.newOpenEditPropertyModal(modelProperty, [],true, 'component', modelProperty.resourceInstanceUniqueId, this.parentComponent, inputProperty); + } + + private createPropertyModel(inputproperty: InputFEModel){ + let propertyModel = new PropertyModel(); + propertyModel.constraints = inputproperty.constraints; + propertyModel.defaultValue = inputproperty.defaultValue; + propertyModel.definition = inputproperty.definition; + propertyModel.description = inputproperty.description; + propertyModel.name = inputproperty.name; + propertyModel.parentUniqueId = inputproperty.parentUniqueId; + propertyModel.password = inputproperty.password; + propertyModel.required = inputproperty.required; + propertyModel.schema = inputproperty.schema; + propertyModel.schemaType = inputproperty.schemaType; + propertyModel.type = inputproperty.type; + propertyModel.uniqueId = inputproperty.uniqueId; + propertyModel.value = inputproperty.value; + propertyModel.getInputValues = inputproperty.getInputValues; + propertyModel.parentPropertyType = inputproperty.parentPropertyType; + propertyModel.subPropertyInputPath = inputproperty.subPropertyInputPath; + propertyModel.getPolicyValues = inputproperty.getPolicyValues; + propertyModel.inputPath = inputproperty.inputPath; + propertyModel.metadata = inputproperty.metadata; + propertyModel.subPropertyToscaFunctions = inputproperty.subPropertyToscaFunctions; + propertyModel.ownerId = inputproperty.ownerId; + propertyModel.propertyView = true; + return propertyModel; + } + } |