diff options
author | Michael Lando <ml636r@att.com> | 2018-03-04 14:53:33 +0200 |
---|---|---|
committer | Michael Lando <ml636r@att.com> | 2018-03-07 13:19:05 +0000 |
commit | a5445100050e49e83f73424198d73cd72d672a4d (patch) | |
tree | cacf4df817df31be23e4e790d1dda857bdae061e /catalog-ui/src/app/models/properties-inputs/input-fe-model.ts | |
parent | 51157f92c21976cba4914c378aaa3cba49826931 (diff) |
Sync Integ to Master
Change-Id: I71e3acc26fa612127756ac04073a522b9cc6cd74
Issue-ID: SDC-977
Signed-off-by: Gitelman, Tal (tg851x) <tg851x@intl.att.com>
Diffstat (limited to 'catalog-ui/src/app/models/properties-inputs/input-fe-model.ts')
-rw-r--r-- | catalog-ui/src/app/models/properties-inputs/input-fe-model.ts | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/catalog-ui/src/app/models/properties-inputs/input-fe-model.ts b/catalog-ui/src/app/models/properties-inputs/input-fe-model.ts index 630374aac3..c349f41ea2 100644 --- a/catalog-ui/src/app/models/properties-inputs/input-fe-model.ts +++ b/catalog-ui/src/app/models/properties-inputs/input-fe-model.ts @@ -18,15 +18,22 @@ * ============LICENSE_END========================================================= */ +import * as _ from "lodash"; import { SchemaPropertyGroupModel, SchemaProperty } from "../aschema-property"; -import { PropertyBEModel } from "../../models"; +import {PropertyFEModel} from "../../models"; import {PROPERTY_DATA} from "../../utils/constants"; import {InputBEModel} from "./input-be-model"; +import {DerivedPropertyType} from "./property-be-model"; export class InputFEModel extends InputBEModel { isSimpleType: boolean; relatedPropertyValue: any; relatedPropertyName: string; + defaultValueObj:any; + defaultValueObjIsValid:boolean; + defaultValueObjOrig:any; + defaultValueObjIsChanged:boolean; + derivedDataType: DerivedPropertyType; constructor(input?: InputBEModel) { super(input); @@ -37,7 +44,37 @@ export class InputFEModel extends InputBEModel { this.relatedPropertyValue = relatedProperty.value; this.relatedPropertyName = relatedProperty.name; } + this.derivedDataType = this.getDerivedPropertyType(); + this.resetDefaultValueObjValidation(); + this.updateDefaultValueObjOrig(); } } + public updateDefaultValueObj(defaultValueObj:any, isValid:boolean) { + this.defaultValueObj = PropertyFEModel.cleanValueObj(defaultValueObj); + this.defaultValueObjIsValid = isValid; + this.defaultValueObjIsChanged = this.hasDefaultValueChanged(); + } + + public updateDefaultValueObjOrig() { + this.defaultValueObjOrig = _.cloneDeep(this.defaultValueObj); + this.defaultValueObjIsChanged = false; + } + + public getJSONDefaultValue(): string { + return PropertyFEModel.stringifyValueObj(this.defaultValueObj, this.schema.property.type, this.derivedDataType); + } + + public getDefaultValueObj(): any { + return PropertyFEModel.parseValueObj(this.defaultValue, this.type, this.derivedDataType); + } + + public resetDefaultValueObjValidation() { + this.defaultValueObjIsValid = true; + } + + hasDefaultValueChanged(): boolean { + return !_.isEqual(this.defaultValueObj, this.defaultValueObjOrig); + } + }
\ No newline at end of file |