diff options
Diffstat (limited to 'catalog-ui/app/scripts/models/properties.ts')
-rw-r--r-- | catalog-ui/app/scripts/models/properties.ts | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/catalog-ui/app/scripts/models/properties.ts b/catalog-ui/app/scripts/models/properties.ts deleted file mode 100644 index 679ca03b44..0000000000 --- a/catalog-ui/app/scripts/models/properties.ts +++ /dev/null @@ -1,176 +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========================================================= - */ -/// <reference path="../references"/> -module Sdc.Models { - 'use strict'; - - export class PropertiesGroup { - constructor(propertiesObj?:Models.PropertiesGroup){ - _.forEach(propertiesObj, (properties:Array<Models.PropertyModel>, instance) => { - this[instance] = []; - _.forEach(properties, (property:Models.PropertyModel):void => { - property.resourceInstanceUniqueId = instance; - property.readonly = true; - this[instance].push(new Models.PropertyModel(property)); - }); - }); - } - } - - export interface IPropertyModel { - - //server data - uniqueId: string; - name: string; - constraints: Array<Object>; - defaultValue: string; - description: string; - password: boolean; - required: boolean; - type: string; - source: string; - parentUniqueId: string; - schema: Models.SchemaPropertyGroupModel; - - //instance properties - value:string; - valueUniqueUid:string; - path:Array<string>; - rules:Array<Object>; - - //custom properties - resourceInstanceUniqueId: string; - readonly: boolean; - simpleType: string; - } - - export class PropertyModel implements IPropertyModel{ - - //server data - uniqueId:string; - name:string; - constraints:Array<Object>; - defaultValue:string; - description:string; - password:boolean; - required:boolean; - type:string; - source:string; - parentUniqueId:string; - schema: Models.SchemaPropertyGroupModel; - - //instance properties - value:string; - valueUniqueUid:string; - path:Array<string>; - rules:Array<Object>; - - //custom properties - resourceInstanceUniqueId:string; - readonly:boolean; - simpleType: string; - filterTerm: string; - isAlreadySelected: boolean; - - constructor(property?:Models.PropertyModel) { - if (property) { - this.uniqueId = property.uniqueId; - this.name = property.name; - this.constraints = property.constraints; - this.defaultValue = property.defaultValue; - this.description = property.description; - this.password = property.password; - this.required = property.required; - this.type = property.type; - this.source = property.source; - this.parentUniqueId = property.parentUniqueId; - this.schema = property.schema; - this.value = property.value?property.value:property.defaultValue; - this.valueUniqueUid = property.valueUniqueUid; - this.path = property.path; - this.rules = property.rules; - this.resourceInstanceUniqueId = property.resourceInstanceUniqueId; - this.readonly = property.readonly; - this.simpleType = property.simpleType; - - - } - - if(!this.schema || !this.schema.property) { - this.schema = new Models.SchemaPropertyGroupModel(new Models.SchemaProperty()); - } else { - //forcing creating new object, so editing different one than the object in the table - this.schema = new Models.SchemaPropertyGroupModel(new Models.SchemaProperty(this.schema.property)); - } - if(property) { - this.filterTerm = this.name + " " + (this.description||"") +" " + this.type; - if(this.schema.property && this.schema.property.type) { - this.filterTerm += " " +this.schema.property.type; - } - } - } - - public convertToServerObject:Function = ():string => { - let serverObject = {}; - let mapData = { - "type": this.type, - "required": this.required || false, - "defaultValue": this.defaultValue != "" && this.defaultValue != "[]" && this.defaultValue != "{}" ? this.defaultValue :null, - "description": this.description, - "constraints": this.constraints, - "isPassword": this.password || false, - "schema": this.schema, - "name": this.name - }; - serverObject[this.name] = mapData; - - return JSON.stringify(serverObject); - }; - - - // public convertValueToView () { - // //unwrapping value {} or [] if type is complex - // if (this.defaultValue && (this.type === 'map' || this.type === 'list') && - // ['[','{'].indexOf(this.defaultValue.charAt(0)) > -1 && - // [']','}'].indexOf(this.defaultValue.slice(-1)) > -1) { - // this.defaultValue = this.defaultValue.slice(1, -1); - // } - // - // //also for value - for the modal in canvas - // if (this.value && (this.type === 'map' || this.type === 'list') && - // ['[','{'].indexOf(this.value.charAt(0)) > -1 && - // [']','}'].indexOf(this.value.slice(-1)) > -1) { - // this.value = this.value.slice(1, -1); - // } - // } - - public toJSON = ():any => { - if(!this.resourceInstanceUniqueId){ - this.value = undefined; - } - this.readonly = undefined; - this.resourceInstanceUniqueId = undefined; - this.simpleType = undefined; - this.value = this.value === "{}" || this.value === "[]" ? undefined: this.value; - this.defaultValue = this.defaultValue === "{}" || this.defaultValue === "[]" ? undefined: this.defaultValue; - return this; - }; - } -} |