From ab7797ea499062adbd6d5720d0ccdef47601da8c Mon Sep 17 00:00:00 2001 From: Tomasz Golabek Date: Wed, 19 Dec 2018 15:26:34 +0100 Subject: Improvement: Add property to VF - complex types Handling booleans inside map at parameter area Change-Id: I7cc149e20ee133b22ede74f41f1d230cdd799d90 Issue-ID: SDC-1996 Signed-off-by: Tomasz Golabek --- .../dynamic-property.component.html | 1 + .../dynamic-element/dynamic-element.component.ts | 25 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) (limited to 'catalog-ui/src/app/ng2') diff --git a/catalog-ui/src/app/ng2/components/logic/properties-table/dynamic-property/dynamic-property.component.html b/catalog-ui/src/app/ng2/components/logic/properties-table/dynamic-property/dynamic-property.component.html index ec335931c6..d4e7b02930 100644 --- a/catalog-ui/src/app/ng2/components/logic/properties-table/dynamic-property/dynamic-property.component.html +++ b/catalog-ui/src/app/ng2/components/logic/properties-table/dynamic-property/dynamic-property.component.html @@ -46,6 +46,7 @@ pattern="validationUtils.getValidationPattern(property.type)" [value]="property.isDeclared ? property.value : property.valueObj" [type]="property.isDeclared ? 'string' : property.type" + [childType]="property.schema.property.type" [name]="property.name" [path]="property.propertiesName" (elementChanged)="onElementChanged($event)" diff --git a/catalog-ui/src/app/ng2/components/ui/dynamic-element/dynamic-element.component.ts b/catalog-ui/src/app/ng2/components/ui/dynamic-element/dynamic-element.component.ts index c15f92ccb8..76b0b9ec2b 100644 --- a/catalog-ui/src/app/ng2/components/ui/dynamic-element/dynamic-element.component.ts +++ b/catalog-ui/src/app/ng2/components/ui/dynamic-element/dynamic-element.component.ts @@ -16,6 +16,8 @@ * See the License for the specific language governing permissions and * limitations under the License. * ============LICENSE_END========================================================= + * Modifications copyright (c) 2018 Nokia + * ================================================================================ */ import * as _ from "lodash"; @@ -52,6 +54,7 @@ export class DynamicElementComponent { @ViewChild('target', { read: ViewContainerRef }) target: any; @Input() type: any; + @Input() childType: any; @Input() name: string; @Input() testId: string; @Input() readonly:boolean; @@ -96,6 +99,9 @@ export class DynamicElementComponent { case this.type === 'boolean': this.elementCreatorIdentifier = DynamicElementComponentCreatorIdentifier.BOOLEAN; break; + case this.type === 'map': + this.createElementCreatorIdentifierForChild(); + break; default: this.elementCreatorIdentifier = DynamicElementComponentCreatorIdentifier.DEFAULT; } @@ -118,6 +124,25 @@ export class DynamicElementComponent { } } + createElementCreatorIdentifierForChild():void{ + switch(this.childType) { + case 'integer': + this.elementCreatorIdentifier = DynamicElementComponentCreatorIdentifier.INTEGER; + break; + case 'float': + this.elementCreatorIdentifier = DynamicElementComponentCreatorIdentifier.FLOAT; + break; + case 'string': + this.elementCreatorIdentifier = DynamicElementComponentCreatorIdentifier.STRING; + break; + case 'boolean': + this.elementCreatorIdentifier = DynamicElementComponentCreatorIdentifier.BOOLEAN; + break; + default: + this.elementCreatorIdentifier = DynamicElementComponentCreatorIdentifier.DEFAULT; + } + } + createComponentByIdentifier() { switch(this.elementCreatorIdentifier) { case DynamicElementComponentCreatorIdentifier.SUBNETPOOLID: -- cgit 1.2.3-korg