diff options
author | MichaelMorris <michael.morris@est.tech> | 2023-01-25 16:29:38 +0000 |
---|---|---|
committer | Michael Morris <michael.morris@est.tech> | 2023-01-26 18:36:57 +0000 |
commit | 1bbecd7edbdd907a53812d303d378236d23d071e (patch) | |
tree | 2f8e6e9557ec8403c3b6900206b826d00d6e0895 /catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts | |
parent | dce3a3476f0d08dc9ffc1b012f11da6aa02a6858 (diff) |
Fix datatype in model not found
Signed-off-by: MichaelMorris <michael.morris@est.tech>
Issue-ID: SDC-4348
Change-Id: I648ffd91d719982e55d5ddc786a471f641ece088
Diffstat (limited to 'catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts')
-rw-r--r-- | catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts b/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts index ff2344534a..cb16ffa2b4 100644 --- a/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts +++ b/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts @@ -70,9 +70,8 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective { fieldsPrefixName: '=', readOnly: '=', defaultValue: '@', - // types: '=', - expandByDefault: '=' - + types: '=', + expandByDefault: '=' }; restrict = 'E'; @@ -102,7 +101,7 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective { private initDataOnScope = (scope:any, $attr:any):void => { scope.dataTypesService = this.DataTypesService; - scope.dataTypeProperties = this.DataTypesService.getFirsLevelOfDataTypeProperties(scope.typeName); + scope.dataTypeProperties = this.getDataTypeProperties(scope.typeName, scope.types); if ($attr.defaultValue) { scope.currentTypeDefaultValue = JSON.parse($attr.defaultValue); } else { @@ -123,6 +122,14 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective { } }); }; + + private getDataTypeProperties = (dataTypeName:string, typesInModel:DataTypesMap):Array<DataTypePropertyModel> => { + let properties = typesInModel[dataTypeName].properties || []; + if (typesInModel[dataTypeName].derivedFromName != "tosca.datatypes.Root") { + properties = this.getDataTypeProperties(typesInModel[dataTypeName].derivedFromName, typesInModel).concat(properties); + } + return properties; + }; private rerender = (scope:any):void => { scope.expanded = false; |