diff options
author | Michael Lando <ml636r@att.com> | 2017-06-09 03:19:04 +0300 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2017-06-09 03:19:04 +0300 |
commit | ed64b5edff15e702493df21aa3230b81593e6133 (patch) | |
tree | a4cb01fdaccc34930a8db403a3097c0d1e40914b /catalog-ui/src/app/models/properties-inputs/property-be-model.ts | |
parent | 280f8015d06af1f41a3ef12e8300801c7a5e0d54 (diff) |
[SDC-29] catalog 1707 rebase commit.
Change-Id: I43c3dc5cf44abf5da817649bc738938a3e8388c1
Signed-off-by: Michael Lando <ml636r@att.com>
Diffstat (limited to 'catalog-ui/src/app/models/properties-inputs/property-be-model.ts')
-rw-r--r-- | catalog-ui/src/app/models/properties-inputs/property-be-model.ts | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/catalog-ui/src/app/models/properties-inputs/property-be-model.ts b/catalog-ui/src/app/models/properties-inputs/property-be-model.ts new file mode 100644 index 0000000000..a5279d0668 --- /dev/null +++ b/catalog-ui/src/app/models/properties-inputs/property-be-model.ts @@ -0,0 +1,84 @@ +import { SchemaPropertyGroupModel, SchemaProperty } from "../aschema-property"; + +export class PropertyBEModel { + + defaultValue: string; + description: string; + fromDerived: boolean; + name: string; + parentUniqueId: string; + password: boolean; + required: boolean; + schema: SchemaPropertyGroupModel; + type: string; + uniqueId: string; + value: string; + definition: boolean; + inputPath: string; + propertiesName: string; + input: PropertyBEModel; + + constructor(property?: PropertyBEModel, childProperty?:PropertyBEModel) { + if (property) { + this.defaultValue = property.defaultValue; + this.description = property.description; + this.fromDerived = property.fromDerived; + this.name = property.name; + this.parentUniqueId = property.parentUniqueId; + this.password = property.password; + this.required = property.required; + this.schema = property.schema; + this.type = property.type; + this.uniqueId = property.uniqueId; + this.value = property.value ? property.value : property.defaultValue; + this.definition = property.definition; + if (property.inputPath) { + this.inputPath = property.inputPath; + } + } + if (childProperty) { + this.input = childProperty; + this.propertiesName = childProperty.propertiesName; + } + + if (!this.schema || !this.schema.property) { + this.schema = new SchemaPropertyGroupModel(new SchemaProperty()); + } else { //forcing creating new object, so editing different one than the object in the table + this.schema = new SchemaPropertyGroupModel(new SchemaProperty(this.schema.property)); + } + } + + + + public toJSON = (): any => { + let temp = angular.copy(this); + temp.value = temp.value === "{}" || temp.value === "[]" ? undefined : temp.value; + temp.defaultValue = temp.defaultValue === "{}" || temp.defaultValue === "[]" ? undefined : temp.defaultValue; + return temp; + }; + +} + + +// EXTRAS FROM CONSTRUCTOR: +// this.source = property.source; +// this.valueUniqueUid = property.valueUniqueUid; +// this.path = property.path; +// this.rules = property.rules; +// this.resourceInstanceUniqueId = property.resourceInstanceUniqueId; +// this.readonly = property.readonly; +// this.simpleType = property.simpleType; +// this.componentInstanceId = property.componentInstanceId; +// this.parentValue = property.parentValue; +//NEW PROPERTIES MAY NEED: +// export class PropertyFEModel extends PropertyBEModel { +// componentInstanceId: string; +// isAlreadySelected: boolean; +// filterTerm: string; +// } +//FOR INPUTS, BE ALSO INCLUDES: +//export class InputFEModel extends PropertyBEModel { +// hidden: boolean; +// label: string; +// immutable: boolean; +// } |