File

projects/ng-dynamic-forms/core/src/lib/model/form-group/dynamic-form-group.model.ts

Extends

DynamicFormControlModel

Index

Properties
Methods

Constructor

constructor(config: DynamicFormGroupModelConfig, layout?: DynamicFormControlLayout)
Parameters :
Name Type Optional
config DynamicFormGroupModelConfig No
layout DynamicFormControlLayout Yes

Properties

group
Type : DynamicFormModel
Default value : []
Decorators :
@serializable()
legend
Type : string | null
Decorators :
@serializable()
Readonly type
Type : string
Default value : DYNAMIC_FORM_CONTROL_TYPE_GROUP
Decorators :
@serializable()
_disabled
Type : boolean
Decorators :
@serializable('disabled')
Inherited from DynamicFormControlModel
asyncValidators
Type : DynamicValidatorsConfig | null
Decorators :
@serializable()
Inherited from DynamicFormControlModel
controlTooltip
Type : string | null
Decorators :
@serializable()
Inherited from DynamicFormControlModel
Private Readonly disabled$
Type : BehaviorSubject<boolean>
Inherited from DynamicFormControlModel
Readonly disabledChanges
Type : Observable<boolean>
Inherited from DynamicFormControlModel
errorMessages
Type : DynamicValidatorsConfig | null
Decorators :
@serializable()
Inherited from DynamicFormControlModel
hidden
Type : boolean
Decorators :
@serializable()
Inherited from DynamicFormControlModel
id
Type : string
Decorators :
@serializable()
Inherited from DynamicFormControlModel
label
Type : string | null
Decorators :
@serializable()
Inherited from DynamicFormControlModel
labelTooltip
Type : string | null
Decorators :
@serializable()
Inherited from DynamicFormControlModel
layout
Type : DynamicFormControlLayout | null
Decorators :
@serializable()
Inherited from DynamicFormControlModel
name
Type : string
Decorators :
@serializable()
Inherited from DynamicFormControlModel
parent
Type : DynamicPathable | null
Default value : null
Inherited from DynamicFormControlModel
relations
Type : DynamicFormControlRelation[]
Decorators :
@serializable()
Inherited from DynamicFormControlModel
Abstract Readonly type
Type : string
Inherited from DynamicFormControlModel
updateOn
Type : DynamicFormHook | null
Decorators :
@serializable()
Inherited from DynamicFormControlModel
validators
Type : DynamicValidatorsConfig | null
Decorators :
@serializable()
Inherited from DynamicFormControlModel

Methods

add
add(controlModel: DynamicFormControlModel)
Parameters :
Name Type Optional
controlModel DynamicFormControlModel No
Returns : void
get
get(index: number)
Parameters :
Name Type Optional
index number No
insert
insert(index: number, controlModel: DynamicFormControlModel)
Parameters :
Name Type Optional
index number No
controlModel DynamicFormControlModel No
Returns : void
move
move(index: number, step: number)
Parameters :
Name Type Optional
index number No
step number No
Returns : void
remove
remove(index: number)
Parameters :
Name Type Optional
index number No
Returns : void
set
set(index: number, controlModel: DynamicFormControlModel)
Parameters :
Name Type Optional
index number No
controlModel DynamicFormControlModel No
Returns : void
size
size()
Returns : number
toJSON
toJSON()
Inherited from DynamicFormControlModel
Returns : any
import { DynamicFormControlModel, DynamicFormControlModelConfig } from "../dynamic-form-control.model";
import { DynamicFormModel } from "../dynamic-form.model";
import { DynamicFormControlLayout } from "../misc/dynamic-form-control-layout.model";
import { serializable } from "../../decorator/serializable.decorator";

export const DYNAMIC_FORM_CONTROL_TYPE_GROUP = "GROUP";

export interface DynamicFormGroupModelConfig extends DynamicFormControlModelConfig {

    group?: DynamicFormModel;
    legend?: string;
}

export class DynamicFormGroupModel extends DynamicFormControlModel {

    @serializable() group: DynamicFormModel = [];
    @serializable() legend: string | null;

    @serializable() readonly type: string = DYNAMIC_FORM_CONTROL_TYPE_GROUP;

    constructor(config: DynamicFormGroupModelConfig, layout?: DynamicFormControlLayout) {

        super(config, layout);

        this.group = Array.isArray(config.group) ? config.group : [];
        this.legend = config.legend || null;
    }

    get(index: number): DynamicFormControlModel {
        return this.group[index];
    }

    set(index: number, controlModel: DynamicFormControlModel,): void {
        this.group[index] = controlModel;
    }

    add(controlModel: DynamicFormControlModel): void {
        this.group.push(controlModel);
    }

    insert(index: number, controlModel: DynamicFormControlModel): void {
        this.group.splice(index, 0, controlModel);
    }

    move(index: number, step: number): void {
        this.group.splice(index + step, 0, ...this.group.splice(index, 1));
    }

    remove(index: number) {
        this.group.splice(index, 1);
    }

    size(): number {
        return this.group.length;
    }
}

result-matching ""

    No results matching ""