argos/dmp-frontend/src/app/form/dynamic-form-group/group-base.ts

48 lines
1.4 KiB
TypeScript

import { Rule } from '../../entities/common/rule';
import { FieldBase } from '../fields/field-base';
export class GroupBase<T>{
value: T;
key: string;
title: string;
rules: Rule[];
groupFields: FieldBase<T>[];
visible: boolean;
order:number;
controlType:string;
section:string;
style:string;
class: string;
page: number;
compositeFields: GroupBase<T>;
constructor(options: {
value?: T,
key?: string,
title?: string,
rules?: Rule[],
groupFields?: FieldBase<T>[],
visible?: boolean,
order?: number,
controlType?: string
section?: string,
style?:string
class?:string,
page?:number,
compositeFields?:GroupBase<T>
} = {}) {
this.value = options.value;
this.key = options.key || '';
this.title = options.title || '';
this.rules = options.rules;
this.groupFields = options.groupFields;
this.visible = options.visible;
this.order = options.order === undefined ? 1 : options.order;
this.controlType = options.controlType || '';
this.section = options.section || '';
this.style = options.style || '';
this.class = options.class || '';
this.page = options.page || 1;
this.compositeFields = options.compositeFields;
}
}