From 16a9fce0e104a38371a9e5a567ec611ae3fc7f33 Mon Sep 17 00:00:00 2001 From: ys9693 Date: Sun, 19 Jan 2020 13:50:02 +0200 Subject: Catalog alignment Issue-ID: SDC-2724 Signed-off-by: ys9693 Change-Id: I52b4aacb58cbd432ca0e1ff7ff1f7dd52099c6fe --- .../data-type-fields-structure.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts') 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 eed209d438..ff2344534a 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 @@ -42,6 +42,7 @@ export interface IDataTypeFieldsStructureScope extends ng.IScope { expand:boolean; expanded:boolean; dataTypesService:DataTypesService; + constraints:string[]; expandAndCollapse():void; getValidationPattern(type:string):RegExp; @@ -53,11 +54,15 @@ export interface IDataTypeFieldsStructureScope extends ng.IScope { export class DataTypeFieldsStructureDirective implements ng.IDirective { + + constructor(private DataTypesService:DataTypesService, private PropertyNameValidationPattern:RegExp, private ValidationUtils:ValidationUtils) { } + constraints: string[]; + scope = { valueObjRef: '=', typeName: '=', @@ -67,6 +72,7 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective { defaultValue: '@', // types: '=', expandByDefault: '=' + }; restrict = 'E'; @@ -93,6 +99,7 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective { return defaultValue; }; + private initDataOnScope = (scope:any, $attr:any):void => { scope.dataTypesService = this.DataTypesService; scope.dataTypeProperties = this.DataTypesService.getFirsLevelOfDataTypeProperties(scope.typeName); @@ -149,7 +156,7 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective { return !value || this.ValidationUtils.validateIntRange(value); }; - scope.onValueChange = (propertyName:string, type:string):void => { + scope.onValueChange = (propertyName:string, type:string,):void => { scope.valueObjRef[propertyName] = !angular.isUndefined(scope.valueObjRef[propertyName]) ? scope.valueObjRef[propertyName] : scope.currentTypeDefaultValue[propertyName]; if (scope.valueObjRef[propertyName] && type != 'string') { scope.valueObjRef[propertyName] = JSON.parse(scope.valueObjRef[propertyName]); @@ -157,7 +164,10 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective { }; scope.inputOnValueChange = (property:any) => { - + if (property.constraints){ + // this.constraints = property.constraints[0].validValues; + } + let value = !scope.parentFormObj[scope.fieldsPrefixName + property.name].$error.pattern && ('integer' == property.type && scope.parentFormObj[scope.fieldsPrefixName + property.name].$setValidity('pattern', scope.validateIntRange(scope.valueObjRef[property.name])) || scope.onValueChange(property.name, (property.simpleType || property.type))); -- cgit 1.2.3-korg