From 1913ab4377e68b1215d4422fc0448c023211d739 Mon Sep 17 00:00:00 2001 From: franciscovila Date: Tue, 1 Nov 2022 14:21:27 +0000 Subject: Issues with 'range' data type detected Fix issues with range data type Issue-ID: SDC-4243 Signed-off-by: franciscovila Change-Id: Ie93f8c38b766d78f890dbe2b854a096bb8546fe8 --- .../input-list-item/input-list-item.component.html | 13 +++++++ .../input-list-item/input-list-item.component.ts | 42 ++++++++++++++++++++-- 2 files changed, 52 insertions(+), 3 deletions(-) (limited to 'catalog-ui/src/app/ng2/pages') diff --git a/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.html b/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.html index fce8e7ea4f..1e0804eb04 100644 --- a/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.html +++ b/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.html @@ -76,6 +76,19 @@ + +
    + +
  • + + {{valueObjRef[i]}} + + +
  • +
    +
+
    diff --git a/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.ts b/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.ts index 4612ca6d60..88ff8deec6 100644 --- a/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.ts +++ b/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.ts @@ -85,7 +85,7 @@ export class InputListItemComponent implements OnInit { if (this.valueObjRef[property.name] == undefined) { if (this.isTypeComplex(property.type) || this.isTypeMap(property.type)) { this.valueObjRef[property.name] = {}; - } else if (this.isTypeList(property.type)) { + } else if (this.isTypeList(property.type) || this.isTypeRange(property.type)) { this.valueObjRef[property.name] = []; } else { this.valueObjRef[property.name] = null; @@ -100,13 +100,49 @@ export class InputListItemComponent implements OnInit { return DerivedPropertyType.LIST; } else if (typeName === PROPERTY_TYPES.MAP) { return DerivedPropertyType.MAP; + } else if (typeName === PROPERTY_TYPES.RANGE) { + return DerivedPropertyType.RANGE; } else { return DerivedPropertyType.COMPLEX; } } + isTypeWithoutProperties(typeName: string): boolean { + if (this.dataTypeMap.get(typeName) === undefined) { + return true; + } + return this.dataTypeMap.get(typeName).properties === undefined || + this.dataTypeMap.get(typeName).properties.length == 0; + } + + isTypeDerivedFromSimple(typeName: string): boolean { + if (typeName === undefined) { + return false; + } + if (this.dataTypeMap.get(typeName) !== undefined) { + if (this.isTypeRange(typeName)) { + return false; + } + if (this.dataTypeMap.get(typeName).derivedFromName == PROPERTY_DATA.ROOT_DATA_TYPE) { + return false; + } else if (PROPERTY_DATA.SIMPLE_TYPES.indexOf(this.dataTypeMap.get(typeName).derivedFromName) > -1) { + return true; + } else { + return this.isTypeDerivedFromSimple(this.dataTypeMap.get(typeName).derivedFromName); + } + } + return true; + } + isTypeSimple(typeName: string): boolean { - return this.getType(typeName) == DerivedPropertyType.SIMPLE; + if (this.getType(typeName) == DerivedPropertyType.SIMPLE) { + return true; + } + return this.isTypeDerivedFromSimple(typeName) && (this.isTypeWithoutProperties(typeName)); + } + + isTypeRange(typeName: string): boolean { + return this.getType(typeName) == DerivedPropertyType.RANGE; } isTypeList(typeName: string): boolean { @@ -118,7 +154,7 @@ export class InputListItemComponent implements OnInit { } isTypeComplex(typeName: string): boolean { - return !this.isTypeSimple(typeName) && !this.isTypeList(typeName) && !this.isTypeMap(typeName); + return !this.isTypeSimple(typeName) && !this.isTypeList(typeName) && !this.isTypeMap(typeName) && !this.isTypeRange(typeName); } expandAndCollapse() { -- cgit 1.2.3-korg