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.ts14
1 files changed, 12 insertions, 2 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 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)));