From 728c21a515077aded9bc6fbb511b4bf5c520a60c Mon Sep 17 00:00:00 2001 From: annampak Date: Mon, 6 Nov 2017 12:38:58 +0200 Subject: [PATCH] textarea field --- .../fields/dynamic-form-field.component.html | 3 ++- .../src/app/form/fields/textarea/textarea.ts | 11 +++++++++++ .../src/app/services/dataModelBuilder.service.ts | 16 ++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 dmp-frontend/src/app/form/fields/textarea/textarea.ts diff --git a/dmp-frontend/src/app/form/fields/dynamic-form-field.component.html b/dmp-frontend/src/app/form/fields/dynamic-form-field.component.html index f54f1e29f..ade2c9a00 100644 --- a/dmp-frontend/src/app/form/fields/dynamic-form-field.component.html +++ b/dmp-frontend/src/app/form/fields/dynamic-form-field.component.html @@ -44,7 +44,8 @@ (change)="toggleVisibility($event, field, true)" [required]="field.required" [checked]="form.get(field.key).value"> - +
diff --git a/dmp-frontend/src/app/form/fields/textarea/textarea.ts b/dmp-frontend/src/app/form/fields/textarea/textarea.ts new file mode 100644 index 000000000..6bcd3592d --- /dev/null +++ b/dmp-frontend/src/app/form/fields/textarea/textarea.ts @@ -0,0 +1,11 @@ +import {FieldBase} from '../field-base'; + +export class TextAreaField extends FieldBase { + controlType = 'textarea'; + type: string; + + constructor (options: {} = {}) { + super(options); + this.type = options['type'] || ''; + } +} \ No newline at end of file diff --git a/dmp-frontend/src/app/services/dataModelBuilder.service.ts b/dmp-frontend/src/app/services/dataModelBuilder.service.ts index 8424c32d5..a2a580e38 100644 --- a/dmp-frontend/src/app/services/dataModelBuilder.service.ts +++ b/dmp-frontend/src/app/services/dataModelBuilder.service.ts @@ -4,6 +4,7 @@ import { FieldBase } from '../../app/form/fields/field-base'; import { TextboxField } from '../../app/form/fields/textbox/field-textbox'; import { CheckBoxField } from '../../app/form/fields/checkbox/field-checkbox'; import { RadioBoxField } from '../../app/form/fields/radiobox/field-radiobox'; +import { TextAreaField } from '../../app/form/fields/textarea/textarea'; import { DataModel } from '../entities/DataModel'; import { Rule } from '../entities/common/rule'; import { GroupBase } from '../form/dynamic-form-group/group-base'; @@ -113,6 +114,21 @@ export class dataModelBuilder { value: false }] }); + fieldsVisible.push(newfield); + }else if (element.viewStyle._renderstyle == "textarea") { + let newfield: FieldBase; + let rule = new Rule(); + newfield = new TextAreaField({ + label: element.title.__cdata, + key: element._id, + value: element.value, + order: element._ordinal, + rules: element.visible.rule != undefined ? element.visible.rule : rule, + visible: element._defaultVisibility, + group: element._group, + description: element.description.__cdata + }); + fieldsVisible.push(newfield); } });