src/lib/dynamic-form-input/dynamic-form-radio/dynamic-form-radio.component.ts
DynamicFormInputBase
selector | mat-dynamic-form-radio |
imports |
ReactiveFormsModule
MatDynamicFormInputWrapperComponent
MatRadioModule
|
templateUrl | ./dynamic-form-radio.component.html |
constructor(validationService: DynamicFormValidationService)
|
||||||
Parameters :
|
import { Component } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { MatRadioModule } from '@angular/material/radio';
import { DynamicFormInputBase, DynamicFormRadio, DynamicFormValidationService } from '@dynamic-forms/core';
import { MatDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component';
@Component({
selector: 'mat-dynamic-form-radio',
templateUrl: './dynamic-form-radio.component.html',
imports: [ReactiveFormsModule, MatDynamicFormInputWrapperComponent, MatRadioModule],
})
export class MatDynamicFormRadioComponent extends DynamicFormInputBase<DynamicFormRadio> {
constructor(protected override validationService: DynamicFormValidationService) {
super(validationService);
}
}
<mat-dynamic-form-input-wrapper
[label]="template.label"
[required]="validation?.required"
[disabled]="disabled"
[invalid]="showErrors"
[hasValidation]="hasValidation"
[errorMessage]="showErrors ? errorMessage : null"
>
<mat-radio-group [formControl]="control">
@for (option of input.options; track $index) {
<mat-radio-button color="primary" [id]="inputId + '-' + $index" [value]="option.value" [disabled]="option.disabled">{{
option.label
}}</mat-radio-button>
}
</mat-radio-group>
</mat-dynamic-form-input-wrapper>