From 75614b12296eeb1eba87bf200a66140ca7bb7526 Mon Sep 17 00:00:00 2001 From: annampak Date: Thu, 4 Jan 2018 13:20:50 +0200 Subject: [PATCH] validation type combobox in field --- dmp-admin/src/app/common/validationTypes.ts | 5 +- .../field-form/field-form.component.html | 11 ++- .../field-form/field-form.component.ts | 15 ++-- .../src/app/models/DataSetProfile/Field.ts | 72 ++++++++++--------- 4 files changed, 60 insertions(+), 43 deletions(-) diff --git a/dmp-admin/src/app/common/validationTypes.ts b/dmp-admin/src/app/common/validationTypes.ts index 781ff5bb1..7dbeabd02 100644 --- a/dmp-admin/src/app/common/validationTypes.ts +++ b/dmp-admin/src/app/common/validationTypes.ts @@ -1,3 +1,4 @@ export enum ValidationTypes { - required - } \ No newline at end of file + None = 0, + Required = 1 +} \ No newline at end of file diff --git a/dmp-admin/src/app/dataset-profile-form/field-form/field-form.component.html b/dmp-admin/src/app/dataset-profile-form/field-form/field-form.component.html index 7c5899bab..8de843522 100644 --- a/dmp-admin/src/app/dataset-profile-form/field-form/field-form.component.html +++ b/dmp-admin/src/app/dataset-profile-form/field-form/field-form.component.html @@ -78,9 +78,14 @@
- +
+
+ +
+
+
diff --git a/dmp-admin/src/app/dataset-profile-form/field-form/field-form.component.ts b/dmp-admin/src/app/dataset-profile-form/field-form/field-form.component.ts index 6a55a3c10..41c89f1dd 100644 --- a/dmp-admin/src/app/dataset-profile-form/field-form/field-form.component.ts +++ b/dmp-admin/src/app/dataset-profile-form/field-form/field-form.component.ts @@ -2,6 +2,7 @@ import { Rule } from '../../models/DataSetProfile/Rule'; import { Component, Input } from '@angular/core'; import { FormGroup, FormControl, FormArray } from '@angular/forms'; +import { ValidationTypes } from 'app/common/validationTypes'; @Component({ selector: 'field-form', @@ -14,15 +15,17 @@ export class FieldFormComponent { @Input() dataModel: Field; @Input() showMultiplicity: boolean = true; @Input() indexPath: string; - + validationsOptions: Array; isFieldMultiplicityEnabled: boolean = false; - constructon() { } + constructon() { + } ngOnInit() { - if(this.form.get("multiplicity")) - if (this.form.get("multiplicity").value.min >1 || this.form.get("multiplicity").value.max >1) + if (this.form.get("multiplicity")) + if (this.form.get("multiplicity").value.min > 1 || this.form.get("multiplicity").value.max > 1) this.isFieldMultiplicityEnabled = true; + this.validationsOptions = [{ key: 0, value: ValidationTypes[0] }, { key: 1, value: ValidationTypes[1] }] // this.addNewRule(); } @@ -43,4 +46,8 @@ export class FieldFormComponent { this.dataModel.visible.rules.splice(index, 1); (this.form.get("visible").get("rules")).removeAt(index); } + + onchangeCombo() { + debugger; + } } \ No newline at end of file diff --git a/dmp-admin/src/app/models/DataSetProfile/Field.ts b/dmp-admin/src/app/models/DataSetProfile/Field.ts index 14139306d..2f3c6eb1e 100644 --- a/dmp-admin/src/app/models/DataSetProfile/Field.ts +++ b/dmp-admin/src/app/models/DataSetProfile/Field.ts @@ -7,70 +7,74 @@ import { WordListData } from '../DataField/WordListData'; import { AutocompleteData } from '../DataField/AutocompleteData'; import { DataField } from '../DataField/DataField'; import { BaseModel } from '../BaseModel'; -import { FormGroup } from '@angular/forms'; +import { FormGroup, FormArray, FormControl } from '@angular/forms'; import { FormGenerator } from '../interfaces/FormGenerator'; import { JsonSerializer } from 'app/utilities/JsonSerializer'; import { Serializable } from '../interfaces/Serializable'; -import {Rule} from './Rule'; -import {Multiplicity} from './Multiplicity'; -import {DefaultValue} from './DefaultValue'; -import {ViewStyle} from './ViewStyle'; -import {Visibility} from './Visibility'; +import { Rule } from './Rule'; +import { Multiplicity } from './Multiplicity'; +import { DefaultValue } from './DefaultValue'; +import { ViewStyle } from './ViewStyle'; +import { Visibility } from './Visibility'; import { ValidationTypes } from 'app/common/validationTypes'; -export class Field extends BaseModel implements Serializable,FormGenerator{ +export class Field extends BaseModel implements Serializable, FormGenerator{ - public id:string; - public title:string; - public defaultValue:DefaultValue = new DefaultValue; - public viewStyle:ViewStyle = new ViewStyle(); - public page:number; + public id: string; + public title: string; + public defaultValue: DefaultValue = new DefaultValue; + public viewStyle: ViewStyle = new ViewStyle(); + public page: number; //public multiplicity: Multiplicity = new Multiplicity(); public ordinal: number; public visible: Visibility = new Visibility(); - public data:DataField; + public data: DataField; public validations: Array; - fromJSONObject(item:any):Field{ + fromJSONObject(item: any): Field { this.id = item.id; this.title = item.title; - this.defaultValue = new JsonSerializer().fromJSONObject(item.defaultValue, DefaultValue); + this.defaultValue = new JsonSerializer().fromJSONObject(item.defaultValue, DefaultValue); this.page = item.page; - // this.multiplicity = new JsonSerializer().fromJSONObject(item.multiplicity, Multiplicity); + // this.multiplicity = new JsonSerializer().fromJSONObject(item.multiplicity, Multiplicity); this.ordinal = item.ordinal; this.validations = item.validations; this.viewStyle = new JsonSerializer().fromJSONObject(item.viewStyle, ViewStyle); this.visible = new JsonSerializer().fromJSONObject(item.visible, Visibility); - if(item.data) { - if(this.viewStyle.renderStyle === "combobox"){ - if(item.data.type === "autocomplete") this.data = new JsonSerializer().fromJSONObject(item.data,AutocompleteData); - if(item.data.type === "wordlist")this.data = new JsonSerializer().fromJSONObject(item.data,WordListData); - }else{ - if(this.viewStyle.renderStyle === "radiobox") this.data = new JsonSerializer().fromJSONObject(item.data,RadioBoxData); - if(this.viewStyle.renderStyle === "checkBox") this.data = new JsonSerializer().fromJSONObject(item.data,CheckBoxData); - if(this.viewStyle.renderStyle === "textarea") this.data = new JsonSerializer