aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts
diff options
context:
space:
mode:
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.ts15
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;