projects/ng-dynamic-forms/core/src/lib/component/dynamic-form-control-with-template.component.ts
DynamicFormControlWithTemplate
AfterViewInit
Properties |
|
Methods |
Accessors |
Readonly templateDirectives |
Type : Map<string | string>
|
templates |
Type : QueryList<DynamicTemplateDirective> | DynamicTemplateDirective[] | undefined
|
Private _hasFocus |
Default value : false
|
Inherited from
DynamicFormControlComponent
|
Defined in
DynamicFormControlComponent:21
|
blur |
Type : EventEmitter<any>
|
Inherited from
DynamicFormControlComponent
|
Defined in
DynamicFormControlComponent:29
|
change |
Type : EventEmitter<any>
|
Inherited from
DynamicFormControlComponent
|
Defined in
DynamicFormControlComponent:30
|
customEvent |
Type : EventEmitter<DynamicFormControlCustomEvent>
|
Inherited from
DynamicFormControlComponent
|
Defined in
DynamicFormControlComponent:31
|
focus |
Type : EventEmitter<any>
|
Inherited from
DynamicFormControlComponent
|
Defined in
DynamicFormControlComponent:32
|
formLayout |
Type : DynamicFormLayout
|
Inherited from
DynamicFormControlComponent
|
Defined in
DynamicFormControlComponent:23
|
group |
Type : FormGroup
|
Inherited from
DynamicFormControlComponent
|
Defined in
DynamicFormControlComponent:24
|
layout |
Type : DynamicFormControlLayout
|
Inherited from
DynamicFormControlComponent
|
Defined in
DynamicFormControlComponent:25
|
model |
Type : DynamicFormControlModel
|
Inherited from
DynamicFormControlComponent
|
Defined in
DynamicFormControlComponent:26
|
templates |
Type : DynamicFormControlTemplates
|
Inherited from
DynamicFormControlComponent
|
Defined in
DynamicFormControlComponent:27
|
bindTemplate | ||||||
bindTemplate(template: DynamicTemplateDirective)
|
||||||
Parameters :
Returns :
void
|
Abstract mapTemplate | ||||||
mapTemplate(template: DynamicTemplateDirective)
|
||||||
Parameters :
Returns :
DynamicTemplateDirective | TemplateRef
|
ngAfterViewInit |
ngAfterViewInit()
|
Returns :
void
|
getClass | ||||||||||||||||
getClass(context: DynamicFormControlLayoutContext, place: DynamicFormControlLayoutPlace, model: DynamicFormControlModel)
|
||||||||||||||||
Inherited from
DynamicFormControlComponent
|
||||||||||||||||
Defined in
DynamicFormControlComponent:73
|
||||||||||||||||
Parameters :
Returns :
string
|
onBlur | ||||||
onBlur($event: any)
|
||||||
Inherited from
DynamicFormControlComponent
|
||||||
Defined in
DynamicFormControlComponent:82
|
||||||
Parameters :
Returns :
void
|
onChange | ||||||
onChange($event: any)
|
||||||
Inherited from
DynamicFormControlComponent
|
||||||
Defined in
DynamicFormControlComponent:92
|
||||||
Parameters :
Returns :
void
|
onCustomEvent | ||||||||||||||||
onCustomEvent($event: any, type: string | null, bypass: boolean)
|
||||||||||||||||
Inherited from
DynamicFormControlComponent
|
||||||||||||||||
Defined in
DynamicFormControlComponent:101
|
||||||||||||||||
Parameters :
Returns :
void
|
onFocus | ||||||
onFocus($event: any)
|
||||||
Inherited from
DynamicFormControlComponent
|
||||||
Defined in
DynamicFormControlComponent:113
|
||||||
Parameters :
Returns :
void
|
viewChild |
getviewChild()
|
import { AfterViewInit, QueryList, TemplateRef } from "@angular/core";
import { DynamicFormControlWithTemplate } from "./dynamic-form-control-with-template-interface";
import { DynamicTemplateDirective } from "../directive/dynamic-template.directive";
import { DynamicFormControlComponent } from "./dynamic-form-control.component";
import { isString } from "../utils/core.utils";
export abstract class DynamicFormControlWithTemplateComponent extends DynamicFormControlComponent
implements DynamicFormControlWithTemplate, AfterViewInit {
readonly templateDirectives: Map<string, string>;
templates: QueryList<DynamicTemplateDirective> | DynamicTemplateDirective[] | undefined;
ngAfterViewInit() {
this.layoutService
.filterTemplatesByModel(this.model, this.templates)
.forEach(template => this.bindTemplate(template));
}
abstract get viewChild(): any;
abstract mapTemplate(template: DynamicTemplateDirective): DynamicTemplateDirective | TemplateRef<any>;
bindTemplate(template: DynamicTemplateDirective) {
if (isString(template.as) && this.templateDirectives.has(template.as)) {
const property = this.templateDirectives.get(template.as) as string;
this.viewChild[property] = this.mapTemplate(template);
}
}
}