change on datamodel
This commit is contained in:
parent
391fd20baf
commit
9e25001f10
|
@ -2,12 +2,27 @@
|
|||
<label>
|
||||
<input type="checkbox" [(ngModel)]="isComposite" (ngModelChange)="onIsCompositeChange(isComposite)" /> Composite Field</label>
|
||||
<label>
|
||||
<input type="checkbox" [(ngModel)]="isMultiplicityEnabled" (ngModelChange)="onIsMultiplicityEnabledChange(isMultiplicityEnabled)" /> Multiplicity</label>
|
||||
<input type="checkbox" [(ngModel)]="isMultiplicityEnabled" (ngModelChange)="onIsMultiplicityEnabledChange(isMultiplicityEnabled)"
|
||||
/> Multiplicity</label>
|
||||
<div [formGroup]="form">
|
||||
<div class="row">
|
||||
<div class="form-group col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<label>FieldSet Label</label>
|
||||
<input data-toggle="tooltip" title="tooltip on second input!" type="text" class="form-control" formControlName="title">
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label>description</label>
|
||||
<input type="text" class="form-control" formControlName="description">
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label>extendedDescription</label>
|
||||
<input type="text" class="form-control" formControlName="extendedDescription">
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="isMultiplicityEnabled" formGroupName="multiplicity">
|
||||
<div class="form-group">
|
||||
<div>
|
||||
<h5 style="margin-left:15px; font-weight:bold;">Multiplicity</h5>
|
||||
<div class="col-md-2">
|
||||
<label>Min</label>
|
||||
|
@ -20,11 +35,11 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="isComposite" class="form-group col-md-4">
|
||||
<div *ngIf="isComposite" class="col-md-4">
|
||||
<label>Ordinal</label>
|
||||
<input type="number" class="form-control" formControlName="ordinal">
|
||||
</div>
|
||||
<div *ngIf="isComposite" class="form-group col-md-4">
|
||||
<div *ngIf="isComposite" class="col-md-4">
|
||||
<label>Id</label>
|
||||
<input type="string" class="form-control" formControlName="id">
|
||||
</div>
|
||||
|
@ -33,7 +48,8 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<field-form *ngIf="!isComposite" [form]="form.get('fields').get(''+0)" [dataModel]="dataModel.fields[0]" [showMultiplicity]="false" [indexPath]="indexPath + 'f' + 0"></field-form>
|
||||
<field-form *ngIf="!isComposite" [form]="form.get('fields').get(''+0)" [dataModel]="dataModel.fields[0]" [showMultiplicity]="false"
|
||||
[indexPath]="indexPath + 'f' + 0"></field-form>
|
||||
|
||||
<div *ngIf="isComposite" class="panel-group" style="margin-top:10px;">
|
||||
<div *ngFor="let field of dataModel.fields let i=index;" class="panel panel-default">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Component, Input } from '@angular/core';
|
||||
import { FormGroup } from '@angular/forms';
|
||||
import { CompositeField } from 'app/models/DataSetProfile/CompositeField';
|
||||
import { FieldSet } from 'app/models/DataSetProfile/FieldSet';
|
||||
import { Field } from 'app/models/DataSetProfile/Field';
|
||||
import { FormArray, FormControl } from '@angular/forms/src/model';
|
||||
|
||||
|
@ -12,7 +12,7 @@ import { FormArray, FormControl } from '@angular/forms/src/model';
|
|||
|
||||
export class CompositeFieldFormComponent {
|
||||
@Input() form: FormGroup;
|
||||
@Input() dataModel: CompositeField;
|
||||
@Input() dataModel: FieldSet;
|
||||
@Input() indexPath: string;
|
||||
|
||||
isComposite: boolean = false;
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<radiobox-component [form]="form" [dataModel]="dataModel"></radiobox-component>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- <div class="row">
|
||||
<div class="form-group col-md-6">
|
||||
<label>description</label>
|
||||
<input type="text" class="form-control" formControlName="description">
|
||||
|
@ -42,7 +42,7 @@
|
|||
<label>extendedDescription</label>
|
||||
<input type="text" class="form-control" formControlName="extendedDescription">
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="row">
|
||||
<div *ngIf="isFieldMultiplicityEnabled" formGroupName="multiplicity">
|
||||
<div class="form-group">
|
||||
|
@ -68,16 +68,6 @@
|
|||
<input type="text" class="form-control" formControlName="value">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-2">
|
||||
<label class="radio control-label">Default Visibility</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" [value]="true" formControlName="defaultVisibility"> true
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" [value]="false" formControlName="defaultVisibility"> false
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<label *ngIf="showMultiplicity">
|
||||
|
|
|
@ -4,7 +4,12 @@
|
|||
<div class="row">
|
||||
<div class="form-group col-md-12">
|
||||
<label>Label</label>
|
||||
<input type="text" class="form-control" formControlName="label">
|
||||
<input type="text" class="form-control" formControlName="label" id="label" required >
|
||||
<!-- <div *ngIf="form.get('label').invalid && (form.get('label').dirty || form.get('label').touched)" class="alert alert-danger"> -->
|
||||
<!-- <div *ngIf="form.get('label').errors.required" class="alert alert-danger">
|
||||
Name is required.
|
||||
</div> -->
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -62,7 +67,7 @@
|
|||
</a>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-primary" style="margin-top:20px;" type="submit">Save</button>
|
||||
<button class="btn btn-primary" style="margin-top:20px;" type="submit" [disabled]="!form.valid">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
<p>Form value: {{ form.value | json }}</p>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { FormGroup } from '@angular/forms';
|
||||
import { FieldGroup } from 'app/models/DataSetProfile/FieldGroup';
|
||||
import { CompositeField } from 'app/models/DataSetProfile/CompositeField';
|
||||
import { FieldSet } from 'app/models/DataSetProfile/FieldSet';
|
||||
import { FormArray } from '@angular/forms/src/model';
|
||||
import { Field } from 'app/models/DataSetProfile/Field';
|
||||
|
||||
|
@ -23,7 +23,7 @@ export class GroupFieldFormComponent {
|
|||
}
|
||||
|
||||
addNewFieldSet(){
|
||||
let compositeField: CompositeField = new CompositeField();
|
||||
let compositeField: FieldSet = new FieldSet();
|
||||
|
||||
let field: Field = new Field(); //create field at the same time
|
||||
compositeField.fields.push(field);
|
||||
|
|
|
@ -57,9 +57,34 @@
|
|||
|
||||
|
||||
|
||||
<div *ngFor="let fieldGroup of dataModel.fieldGroups let i=index;">
|
||||
<!-- <div *ngFor="let fieldGroup of dataModel.fieldGroups let i=index;">
|
||||
<groupfield-form [form]="form.get('fieldGroups').get(''+i)" [dataModel]="fieldGroup" [indexPath]="indexPath + 'g' + i"></groupfield-form>
|
||||
</div> -->
|
||||
|
||||
<div class="panel-group" style="margin-top:10px;">
|
||||
<div *ngFor="let field of dataModel.fieldSets let i=index;" class="panel panel-default">
|
||||
<div class="panel-heading clearfix">
|
||||
<!-- <a *ngIf="form.get('compositeFields').get(''+i).get('title').value" data-toggle="collapse" href="#{{'compositeFieldCollapse' + i}}"
|
||||
class="panel-title pull-left" style="padding-top: 7.5px;">{{i + 1}}. {{form.get('compositeFields').get(''+i).get('title').value}}</a>
|
||||
<a *ngIf="!form.get('compositeFields').get(''+i).get('title').value" data-toggle="collapse" href="#{{'compositeFieldCollapse' + i}}"
|
||||
class="panel-title pull-left" style="padding-top: 7.5px;">{{i + 1}}. Field {{i + 1}}</a> -->
|
||||
<a data-toggle="collapse" href="#{{indexPath + 'cf' + i}}"
|
||||
class="panel-title pull-left" style="padding-top: 7.5px;">{{i + 1}}. Field {{i + 1}}</a>
|
||||
|
||||
<div class="btn-group pull-right">
|
||||
<button type="button" class="btn btn-sm" style="margin-left:5px;" (click)="DeleteFieldSet(i);">
|
||||
<span class="glyphicon glyphicon-erase"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="{{indexPath + 'cf' + i}}" class="panel-collapse collapse in">
|
||||
<div class="panel-body">
|
||||
<compositefield-form [form]="form.get('fieldSets').get(''+i)" [dataModel]="field" [indexPath]="indexPath + 'cf' + i"></compositefield-form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div *ngIf="dataModel.fieldGroups" class="panel-group" style="margin-top:10px;">
|
||||
<div *ngFor="let fieldGroup of dataModel.fieldGroups let i=index;" class="panel panel-default">
|
||||
|
|
|
@ -4,7 +4,7 @@ import { Section } from 'app/models/DataSetProfile/Section';
|
|||
import { FieldGroup } from 'app/models/DataSetProfile/FieldGroup';
|
||||
import { FormArray } from '@angular/forms/src/model';
|
||||
import { DatasetProfileModel } from 'app/models/DataSetProfile/DatasetProfileModel';
|
||||
import { CompositeField } from 'app/models/DataSetProfile/CompositeField';
|
||||
import { FieldSet } from 'app/models/DataSetProfile/FieldSet';
|
||||
import { Field } from 'app/models/DataSetProfile/Field';
|
||||
import { Page } from 'app/models/DataSetProfile/Page';
|
||||
import { JsonSerializer } from 'app/utilities/JsonSerializer';
|
||||
|
@ -31,28 +31,28 @@ export class SectionFormComponent {
|
|||
});
|
||||
}
|
||||
|
||||
addGroupField() {
|
||||
let fieldGroup: FieldGroup = new FieldGroup();
|
||||
if (this.dataModel.fieldGroups)
|
||||
this.dataModel.fieldGroups.push(fieldGroup);
|
||||
(<FormArray>this.form.get("fieldGroups")).push(fieldGroup.buildForm());
|
||||
}
|
||||
// addGroupField() {
|
||||
// let fieldGroup: FieldGroup = new FieldGroup();
|
||||
// if (this.dataModel.fieldGroups)
|
||||
// this.dataModel.fieldGroups.push(fieldGroup);
|
||||
// (<FormArray>this.form.get("fieldGroups")).push(fieldGroup.buildForm());
|
||||
// }
|
||||
|
||||
addField() {
|
||||
let fieldSet: CompositeField = new CompositeField();
|
||||
addField() {debugger;
|
||||
let fieldSet: FieldSet = new FieldSet();
|
||||
let field: Field = new Field();
|
||||
let fieldGroup: FieldGroup = new FieldGroup();
|
||||
//let fieldGroup: FieldGroup = new FieldGroup();
|
||||
fieldSet.fields.push(field);
|
||||
fieldGroup.compositeFields.push(fieldSet);
|
||||
if (this.dataModel.fieldGroups)
|
||||
this.dataModel.fieldGroups.push(fieldGroup);
|
||||
(<FormArray>this.form.get("fieldGroups")).push(fieldGroup.buildForm());
|
||||
//fieldGroup.compositeFields.push(fieldSet);
|
||||
if (this.dataModel.fieldSets)
|
||||
this.dataModel.fieldSets.push(fieldSet);
|
||||
(<FormArray>this.form.get("fieldSets")).push(fieldSet.buildForm());
|
||||
}
|
||||
|
||||
DeleteFieldGroup(index) {
|
||||
this.dataModel.fieldGroups.splice(index, 1);
|
||||
(<FormArray>this.form.get("fieldGroups")).removeAt(index)
|
||||
}
|
||||
// DeleteFieldGroup(index) {
|
||||
// this.dataModel.fieldGroups.splice(index, 1);
|
||||
// (<FormArray>this.form.get("fieldGroups")).removeAt(index)
|
||||
// }
|
||||
|
||||
addSectioninSection() {
|
||||
let section: Section = new Section();
|
||||
|
@ -65,6 +65,11 @@ export class SectionFormComponent {
|
|||
(<FormArray>this.form.get("sections")).removeAt(index);
|
||||
}
|
||||
|
||||
DeleteFieldSet(index){
|
||||
this.dataModel.fieldSets.splice(index, 1);
|
||||
(<FormArray>this.form.get("compositeFields")).removeAt(index);
|
||||
}
|
||||
|
||||
keepPageSelectionValid(pagesJson: Array<any>) {
|
||||
let selectedPage = this.form.get("page").value as number;
|
||||
let pages: Array<Page> = new JsonSerializer<Page>().fromJSONArray(pagesJson, Page);
|
||||
|
|
|
@ -19,22 +19,22 @@
|
|||
|
||||
</tr>
|
||||
<tr>
|
||||
<th [ngClass]="{true:'visible', false:'invisible'}[showIDs]"><mfDefaultSorter by="id">ID</mfDefaultSorter></th>
|
||||
<!-- <th [ngClass]="{true:'visible', false:'invisible'}[showIDs]"><mfDefaultSorter by="id">ID</mfDefaultSorter></th> -->
|
||||
<th><mfDefaultSorter by="label">Label</mfDefaultSorter></th>
|
||||
<th><mfDefaultSorter by="ruleset">Ruleset</mfDefaultSorter></th>
|
||||
<th><mfDefaultSorter by="viewstyle">Viewstyle</mfDefaultSorter></th>
|
||||
<th><mfDefaultSorter by="definition">Definition</mfDefaultSorter></th>
|
||||
<th><mfDefaultSorter by="created">Created</mfDefaultSorter></th>
|
||||
<th><mfDefaultSorter by="description">Description</mfDefaultSorter></th>
|
||||
<th><mfDefaultSorter by="status">Status</mfDefaultSorter></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="grayout-empty-table" *ngIf="!mf.data[0]" [contextMenu]="basicMenu" [contextMenuSubject]="datasetProfile"> <td colspan="5">No elements</td></tr>
|
||||
<tr *ngFor="let datasetProfile of mf.data" class="hover" [contextMenu]="basicMenu" [contextMenuSubject]="datasetProfile">
|
||||
<td [ngClass]="{true:'visible', false:'invisible'}[showIDs]">{{datasetProfile.id}}</td>
|
||||
<!-- <td [ngClass]="{true:'visible', false:'invisible'}[showIDs]">{{datasetProfile.id}}</td> -->
|
||||
<td>{{datasetProfile?.label}}</td>
|
||||
<td>{{datasetProfile?.ruleset?.label}}</td>
|
||||
<td>{{datasetProfile?.viewstyle?.label}}</td>
|
||||
<td>{{datasetProfile?.definition}}</td>
|
||||
<td>{{datasetProfile?.created}}</td>
|
||||
<td>{{datasetProfile?.description}}</td>
|
||||
<td>{{datasetProfile?.status}}</td>
|
||||
<td><button type="button" class="btn btn-sm btn-primary btn-create" data-toggle="modal" data-target="#newdataset-modal-container" [routerLink]="['/form/'+datasetProfile.id]">Go</button></td>
|
||||
|
||||
</tr>
|
||||
|
|
|
@ -69,7 +69,7 @@ export class DatasetprofileEditorComponent implements OnInit {
|
|||
this.tableVisible = false;
|
||||
this.editorVisible = true;
|
||||
if(datasetProfileID == null){
|
||||
this.editingDatasetProfile = {id: null, label: "", ruleset: "", viewstyle: "", definition: "" };
|
||||
this.editingDatasetProfile = {id: null, label: "", created: "", description: "", status: "" };
|
||||
}
|
||||
else{
|
||||
this.editingDatasetProfile = this.tableData.filter((datasetProfile) => datasetProfile.id === datasetProfileID)[0];
|
||||
|
@ -79,7 +79,7 @@ export class DatasetprofileEditorComponent implements OnInit {
|
|||
|
||||
getAllDatasetProfiles(showNotification : boolean){
|
||||
this.datasetProfileService.fetchAllDatasetProfiles().subscribe( (data) => {
|
||||
this.tableData = data;
|
||||
this.tableData = data.payload;
|
||||
if(showNotification)
|
||||
simple_notifier("info",null,"Refreshed the table");
|
||||
});
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { BaseModel } from '../BaseModel';
|
||||
import { FormBuilder, FormGroup, FormControl } from '@angular/forms';
|
||||
import { FormBuilder, FormGroup, FormControl, Validators } from '@angular/forms';
|
||||
import { FormGenerator } from '../interfaces/FormGenerator';
|
||||
import { JsonSerializer } from 'app/utilities/JsonSerializer';
|
||||
import { Section } from './Section';
|
||||
|
@ -30,13 +30,13 @@ export class DatasetProfileModel extends BaseModel implements Serializable<Datas
|
|||
formGroup.addControl('sections', this.formBuilder.array(sectionsFormArray));
|
||||
|
||||
let pagesFormArray = new Array<FormGroup>();
|
||||
this.pages.forEach(item => {
|
||||
let form: FormGroup = item.buildForm();
|
||||
pagesFormArray.push(form)
|
||||
})
|
||||
// this.pages.forEach(item => {
|
||||
// let form: FormGroup = item.buildForm();
|
||||
// pagesFormArray.push(form)
|
||||
// })
|
||||
formGroup.addControl('pages', this.formBuilder.array(pagesFormArray));
|
||||
|
||||
formGroup.addControl('label', new FormControl(this.label));
|
||||
formGroup.addControl('label', new FormControl(this.label, [Validators.required]));
|
||||
return formGroup;
|
||||
}
|
||||
|
||||
|
|
|
@ -17,13 +17,10 @@ export class Field extends BaseModel implements Serializable<Field>,FormGenerato
|
|||
|
||||
public id:string;
|
||||
public title:string;
|
||||
public defaultValue:DefaultValue = new DefaultValue;
|
||||
public description:string;
|
||||
public extendedDescription:string;
|
||||
public defaultValue:DefaultValue = new DefaultValue;
|
||||
public viewStyle:ViewStyle = new ViewStyle();
|
||||
public defaultVisibility:boolean;
|
||||
public page:number;
|
||||
public multiplicity: Multiplicity = new Multiplicity();
|
||||
//public multiplicity: Multiplicity = new Multiplicity();
|
||||
public ordinal: number;
|
||||
public visible: Visibility = new Visibility();
|
||||
public data:DataField<any>;
|
||||
|
@ -31,12 +28,9 @@ export class Field extends BaseModel implements Serializable<Field>,FormGenerato
|
|||
fromJSONObject(item:any):Field{
|
||||
this.id = item.id;
|
||||
this.title = item.title;
|
||||
this.defaultValue = new JsonSerializer<DefaultValue>().fromJSONObject(item.defaultValue, DefaultValue);
|
||||
this.description = item.description;
|
||||
this.extendedDescription = item.extendedDescription;
|
||||
this.defaultVisibility = item.defaultVisibility !==null ? item.defaultVisibility : true;
|
||||
this.defaultValue = new JsonSerializer<DefaultValue>().fromJSONObject(item.defaultValue, DefaultValue);
|
||||
this.page = item.page;
|
||||
this.multiplicity = new JsonSerializer<Multiplicity>().fromJSONObject(item.multiplicity, Multiplicity);
|
||||
// this.multiplicity = new JsonSerializer<Multiplicity>().fromJSONObject(item.multiplicity, Multiplicity);
|
||||
this.ordinal = item.ordinal;
|
||||
this.viewStyle = new JsonSerializer<ViewStyle>().fromJSONObject(item.viewStyle, ViewStyle);
|
||||
this.visible = new JsonSerializer<Visibility>().fromJSONObject(item.visible, Visibility);
|
||||
|
@ -54,23 +48,18 @@ export class Field extends BaseModel implements Serializable<Field>,FormGenerato
|
|||
buildForm():FormGroup{
|
||||
let formGroup = this.formBuilder.group({
|
||||
id: [this.id],
|
||||
title: [this.title],
|
||||
description: [this.description],
|
||||
extendedDescription:[this.extendedDescription],
|
||||
defaultVisibility:[this.defaultVisibility],
|
||||
title: [this.title],
|
||||
page:[this.page] ,
|
||||
ordinal:[this.ordinal]
|
||||
});
|
||||
|
||||
|
||||
formGroup.addControl("multiplicity", this.multiplicity.buildForm());
|
||||
//formGroup.addControl("multiplicity", this.multiplicity.buildForm());
|
||||
formGroup.addControl("defaultValue", this.defaultValue.buildForm());
|
||||
formGroup.addControl("viewStyle", this.viewStyle.buildForm());
|
||||
formGroup.addControl("visible", this.visible.buildForm());
|
||||
//formGroup.addControl("data",this.data? this.data.buildForm():this.formBuilder.group({}));
|
||||
if(this.data)formGroup.addControl("data",this.data.buildForm());
|
||||
|
||||
if( formGroup.controls["defaultVisibility"].value == null) formGroup.controls["defaultVisibility"].setValue(true);
|
||||
|
||||
return formGroup;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { CompositeField } from './CompositeField';
|
||||
import { FieldSet } from './FieldSet';
|
||||
import { BaseModel } from '../BaseModel';
|
||||
import { FormGroup } from '@angular/forms';
|
||||
import { FormGenerator } from '../interfaces/FormGenerator';
|
||||
|
@ -18,7 +18,7 @@ export class FieldGroup extends BaseModel implements Serializable<FieldGroup>, F
|
|||
public defaultVisibility: boolean;
|
||||
public page: number;
|
||||
public ordinal: number;
|
||||
public compositeFields: Array<CompositeField> = new Array<CompositeField>();
|
||||
public compositeFields: Array<FieldSet> = new Array<FieldSet>();
|
||||
|
||||
fromJSONObject(item: any): FieldGroup {
|
||||
this.id = item.id;
|
||||
|
@ -29,7 +29,7 @@ export class FieldGroup extends BaseModel implements Serializable<FieldGroup>, F
|
|||
this.defaultVisibility = item.defaultVisibility;
|
||||
this.page = item.page;
|
||||
this.ordinal = item.ordinal;
|
||||
this.compositeFields = new JsonSerializer<CompositeField>().fromJSONArray(item.compositeFields, CompositeField);
|
||||
this.compositeFields = new JsonSerializer<FieldSet>().fromJSONArray(item.compositeFields, FieldSet);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,25 +5,34 @@ import { BaseModel } from '../BaseModel';
|
|||
import {Field} from './Field'
|
||||
import {Multiplicity} from './Multiplicity'
|
||||
|
||||
export class CompositeField extends BaseModel implements Serializable<CompositeField> {
|
||||
export class FieldSet extends BaseModel implements Serializable<FieldSet> {
|
||||
public fields:Array<Field> = new Array<Field>();
|
||||
public id:string;
|
||||
public ordinal:number;
|
||||
public multiplicity: Multiplicity = new Multiplicity();
|
||||
public title:string;
|
||||
public description:string;
|
||||
public extendedDescription:string;
|
||||
|
||||
fromJSONObject(item:any):CompositeField{
|
||||
fromJSONObject(item:any):FieldSet{
|
||||
|
||||
this.fields = new JsonSerializer<Field>().fromJSONArray(item.fields,Field);
|
||||
this.multiplicity = new JsonSerializer<Multiplicity>().fromJSONObject(item.multiplicity, Multiplicity);
|
||||
this.id = item.id;
|
||||
this.ordinal = item.ordinal;
|
||||
this.title = item.title;
|
||||
this.description = item.description;
|
||||
this.extendedDescription = item.extendedDescription;
|
||||
return this;
|
||||
}
|
||||
|
||||
buildForm():FormGroup{
|
||||
let formGroup = this.formBuilder.group({
|
||||
id:[this.id],
|
||||
ordinal:[this.ordinal]
|
||||
ordinal:[this.ordinal],
|
||||
title:[this.title],
|
||||
description: [this.description],
|
||||
extendedDescription:[this.extendedDescription]
|
||||
});
|
||||
|
||||
let fieldsFormArray = new Array<FormGroup>();
|
|
@ -4,26 +4,29 @@ import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'
|
|||
import { JsonSerializer } from 'app/utilities/JsonSerializer';
|
||||
import { Serializable } from '../interfaces/Serializable';
|
||||
import { FieldGroup } from './FieldGroup';
|
||||
import { FieldSet } from 'app/models/DataSetProfile/FieldSet';
|
||||
|
||||
export class Section extends BaseModel implements Serializable<Section>, FormGenerator<FormGroup>{
|
||||
public sections: Array<Section> = new Array<Section>();
|
||||
public fieldGroups: Array<FieldGroup> = new Array<FieldGroup>();
|
||||
//public fieldGroups: Array<FieldGroup> = new Array<FieldGroup>();
|
||||
public defaultVisibility: boolean;
|
||||
public page: number;
|
||||
public id: string
|
||||
public title: string
|
||||
public description: string;
|
||||
public ordinal: number;
|
||||
public fieldSets: Array<FieldSet> = new Array<FieldSet>();
|
||||
|
||||
fromJSONObject(item: any): Section {
|
||||
this.sections = new JsonSerializer<Section>().fromJSONArray(item.sections, Section);
|
||||
this.fieldGroups = new JsonSerializer<FieldGroup>().fromJSONArray(item.fieldGroups, FieldGroup);
|
||||
//this.fieldGroups = new JsonSerializer<FieldGroup>().fromJSONArray(item.fieldGroups, FieldGroup);
|
||||
this.page = item.page;
|
||||
this.defaultVisibility = item.defaultVisibility;
|
||||
this.id = item.id;
|
||||
this.title = item.title;
|
||||
this.description = item.description;
|
||||
this.ordinal = item.ordinal;
|
||||
this.fieldSets = new JsonSerializer<FieldSet>().fromJSONArray(item.fieldSets, FieldSet);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -36,15 +39,24 @@ export class Section extends BaseModel implements Serializable<Section>, FormGen
|
|||
sectionsFormArray.push(form)
|
||||
})
|
||||
}
|
||||
let fieldGroupsFormArray = new Array<FormGroup>();
|
||||
if (this.fieldGroups) {
|
||||
this.fieldGroups.forEach(item => {
|
||||
// let fieldGroupsFormArray = new Array<FormGroup>();
|
||||
// if (this.fieldGroups) {
|
||||
// this.fieldGroups.forEach(item => {
|
||||
// let form: FormGroup = item.buildForm();
|
||||
// fieldGroupsFormArray.push(form)
|
||||
// })
|
||||
// }
|
||||
let compositeFieldsFormArray = new Array<FormGroup>();
|
||||
if (this.fieldSets) {
|
||||
this.fieldSets.forEach(item => {
|
||||
let form: FormGroup = item.buildForm();
|
||||
fieldGroupsFormArray.push(form)
|
||||
compositeFieldsFormArray.push(form)
|
||||
})
|
||||
}
|
||||
|
||||
formGroup.addControl('sections', this.formBuilder.array(sectionsFormArray));
|
||||
formGroup.addControl('fieldGroups', this.formBuilder.array(fieldGroupsFormArray));
|
||||
// formGroup.addControl('fieldGroups', this.formBuilder.array(fieldGroupsFormArray));
|
||||
formGroup.addControl('fieldSets', this.formBuilder.array(compositeFieldsFormArray));
|
||||
formGroup.addControl('defaultVisibility', new FormControl(this.defaultVisibility));
|
||||
formGroup.addControl('page', new FormControl(this.page, [Validators.required]));
|
||||
formGroup.addControl('id', new FormControl(this.id));
|
||||
|
|
|
@ -17,7 +17,7 @@ export class DatasetProfileService implements OnInit {
|
|||
}
|
||||
|
||||
fetchAllDatasetProfiles(){
|
||||
return this.restBase.get("datasetprofile/getAll");
|
||||
return this.restBase.get("datasetprofiles/getAll");
|
||||
}
|
||||
|
||||
getDatasetProfileById(datasetProfileID){
|
||||
|
|
Loading…
Reference in New Issue