diff options
Diffstat (limited to 'catalog-ui/app/scripts/directives/property-types/type-list/type-list-directive.ts')
-rw-r--r-- | catalog-ui/app/scripts/directives/property-types/type-list/type-list-directive.ts | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/catalog-ui/app/scripts/directives/property-types/type-list/type-list-directive.ts b/catalog-ui/app/scripts/directives/property-types/type-list/type-list-directive.ts deleted file mode 100644 index ce5ee1ffa6..0000000000 --- a/catalog-ui/app/scripts/directives/property-types/type-list/type-list-directive.ts +++ /dev/null @@ -1,130 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -/** - * Created by rcohen on 9/15/2016. - */ -/// <reference path="../../../references"/> -module Sdc.Directives { - 'use strict'; - /// import Model = go.Model; - - export interface ITypeListScope extends ng.IScope { - parentFormObj:ng.IFormController; - schemaProperty:Models.SchemaProperty; - isSchemaTypeDataType:boolean; - valueObjRef:any; - propertyNameValidationPattern: RegExp; - fieldsPrefixName:string; - readOnly:boolean; - listDefaultValue:any; - types:Models.DataTypesMap; - listNewItem:any; - maxLength:number; - - getValidationPattern(type:string):RegExp; - validateIntRange(value:string):boolean; - addListItem():void; - deleteListItem(listItemIndex:number):void - } - - - export class TypeListDirective implements ng.IDirective { - - constructor(private $templateCache:ng.ITemplateCacheService, - private DataTypesService:Sdc.Services.DataTypesService, - private PropertyNameValidationPattern: RegExp, - private ValidationUtils:Sdc.Utils.ValidationUtils) { - } - - scope = { - valueObjRef: '=',//ref to list object in the parent value object - schemaProperty: '=',//get the schema.property object - parentFormObj: '=',//ref to parent form (get angular form object) - fieldsPrefixName: '=',//prefix for form fields names - readOnly: '=',//is form read only - defaultValue: '@',//this list default value - types: '=',//data types list - maxLength: '=' - }; - - restrict = 'E'; - replace = true; - template = ():string => { - return this.$templateCache.get('/app/scripts/directives/property-types/type-list/type-list-directive.html'); - }; - - link = (scope:ITypeListScope, element:any, $attr:any) => { - scope.propertyNameValidationPattern = this.PropertyNameValidationPattern; - - //reset valueObjRef when schema type is changed - scope.$watchCollection('schemaProperty.type', (newData:any):void => { - scope.isSchemaTypeDataType = this.DataTypesService.isDataTypeForSchemaType(scope.schemaProperty,scope.types); - //insert 1 empty item dt by default - if(scope.isSchemaTypeDataType && (!scope.valueObjRef||!scope.valueObjRef.length)){ - scope.valueObjRef = scope.valueObjRef ||[]; - scope.valueObjRef.push({}); - } - }); - - //when user brows between properties in "edit property form" - scope.$watchCollection('fieldsPrefixName', (newData:any):void => { - scope.listNewItem={value:''}; - - if($attr.defaultValue){ - scope.listDefaultValue = JSON.parse($attr.defaultValue); - } - }); - - scope.getValidationPattern = (type:string):RegExp => { - return this.ValidationUtils.getValidationPattern(type); - }; - - scope.validateIntRange = (value:string):boolean => { - return !value || this.ValidationUtils.validateIntRange(value); - }; - - scope.addListItem = ():void => { - scope.valueObjRef = scope.valueObjRef ||[]; - let newVal = ((scope.schemaProperty.simpleType||scope.schemaProperty.type)==Utils.Constants.PROPERTY_TYPES.STRING?scope.listNewItem.value:JSON.parse(scope.listNewItem.value)); - scope.valueObjRef.push(newVal); - scope.listNewItem.value = ""; - }; - - scope.deleteListItem = (listItemIndex:number):void => { - scope.valueObjRef.splice(listItemIndex,1); - if (!scope.valueObjRef.length) { - if (scope.listDefaultValue ) { - angular.copy(scope.listDefaultValue, scope.valueObjRef); - } - } - }; - }; - - public static factory = ($templateCache:ng.ITemplateCacheService, - DataTypesService:Sdc.Services.DataTypesService, - PropertyNameValidationPattern:RegExp, - ValidationUtils:Sdc.Utils.ValidationUtils)=> { - return new TypeListDirective($templateCache,DataTypesService,PropertyNameValidationPattern,ValidationUtils); - }; - } - - TypeListDirective.factory.$inject = ['$templateCache','Sdc.Services.DataTypesService','PropertyNameValidationPattern','ValidationUtils']; -} - |