File

src/app/shared/dynamic-form/ui/dynamic-form-inputs/form-input-text/form-input-text.component.ts

Implements

DynamicFormInputComponent OnInit

Metadata

changeDetection ChangeDetectionStrategy.OnPush
selector form-input-text
styleUrls ./form-input-text.component.scss
templateUrl ./form-input-text.component.html

Index

Properties
Methods

Constructor

constructor(sanitizer: DomSanitizer)
Parameters :
Name Type Optional
sanitizer DomSanitizer No

Methods

ngOnInit
ngOnInit()
Returns : void

Properties

formGroup
Type : FormGroup
formInput
Type : DynamicFormInput<string>
import { Component, OnInit, ChangeDetectionStrategy } from "@angular/core"
import { FormGroup } from '@angular/forms'

import { DynamicFormInput } from '../../../models/dynamic-form-input.model'
import { DynamicFormInputComponent } from '../../../models/dynamic-form-input-component.interface'
import { DomSanitizer } from '@angular/platform-browser';

@Component({
  selector: 'form-input-text',
  templateUrl: './form-input-text.component.html',
  styleUrls: ['./form-input-text.component.scss'],
  changeDetection: ChangeDetectionStrategy.OnPush
})
export class FormInputTextComponent implements DynamicFormInputComponent, OnInit {
  formInput: DynamicFormInput<string>
  formGroup: FormGroup

  constructor(private sanitizer: DomSanitizer) {}

  ngOnInit(): void {
    this.formInput.errors.forEach(formError => {
      formError.errorMessageHTML = this.sanitizer.bypassSecurityTrustHtml(formError.errorMessageHTML as string)
    })
  }
}
<div class="dynamic-field-container" 
  [formGroup]="formGroup">
  <mat-form-field class="dynamic-form-field">
    <input matInput [placeholder]="formInput.placeholder" [formControlName]="formInput.name">
    <mat-hint align="start" *ngIf="formInput.hint"><strong>{{formInput.hint}}</strong></mat-hint>
    <mat-error 
      *ngFor="let formError of formInput.errors">
      <ng-container *ngIf="formGroup.get(formInput.name).hasError(formError.validationRule)">
        <span [innerHTML]="formError.errorMessageHTML"></span>
      </ng-container>
    </mat-error>
  </mat-form-field>
</div>

./form-input-text.component.scss

Legend
Html element
Component
Html element with directive

result-matching ""

    No results matching ""