@ng-dynamic-forms/ui-bootstrap
Version:
Bootstrap UI package for NG Dynamic Forms
38 lines • 10.4 kB
JavaScript
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from "@angular/core";
import { ReactiveFormsModule } from "@angular/forms";
import { DynamicFormControlComponent } from "@ng-dynamic-forms/core";
import { NgClass, NgIf, NgFor, AsyncPipe } from "@angular/common";
import * as i0 from "@angular/core";
import * as i1 from "@ng-dynamic-forms/core";
import * as i2 from "@angular/forms";
export class DynamicBootstrapRadioGroupComponent extends DynamicFormControlComponent {
constructor(layoutService, validationService) {
super(layoutService, validationService);
this.layoutService = layoutService;
this.validationService = validationService;
this.blur = new EventEmitter();
this.change = new EventEmitter();
this.focus = new EventEmitter();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: DynamicBootstrapRadioGroupComponent, deps: [{ token: i1.DynamicFormLayoutService }, { token: i1.DynamicFormValidationService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: DynamicBootstrapRadioGroupComponent, isStandalone: true, selector: "dynamic-bootstrap-radio-group", inputs: { formLayout: "formLayout", group: "group", layout: "layout", model: "model" }, outputs: { blur: "blur", change: "change", focus: "focus" }, usesInheritance: true, ngImport: i0, template: "<fieldset role=\"radiogroup\"\n [formGroup]=\"group\"\n [id]=\"id\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\"\n [tabindex]=\"model.tabIndex\"\n (change)=\"onChange($event)\">\n\n <legend *ngIf=\"model.legend\" [innerHTML]=\"model.legend\"></legend>\n\n <div *ngFor=\"let option of model.options$ | async\" [ngClass]=\"getClass('element', 'option') || 'radio'\">\n\n <label><input type=\"radio\"\n [formControlName]=\"model.id\"\n [name]=\"model.name\"\n [value]=\"option.value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"/><span [innerHTML]=\"option.label\"></span></label>\n </div>\n\n</fieldset>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: DynamicBootstrapRadioGroupComponent, decorators: [{
type: Component,
args: [{ selector: "dynamic-bootstrap-radio-group", changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ReactiveFormsModule, NgClass, NgIf, NgFor, AsyncPipe], template: "<fieldset role=\"radiogroup\"\n [formGroup]=\"group\"\n [id]=\"id\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\"\n [tabindex]=\"model.tabIndex\"\n (change)=\"onChange($event)\">\n\n <legend *ngIf=\"model.legend\" [innerHTML]=\"model.legend\"></legend>\n\n <div *ngFor=\"let option of model.options$ | async\" [ngClass]=\"getClass('element', 'option') || 'radio'\">\n\n <label><input type=\"radio\"\n [formControlName]=\"model.id\"\n [name]=\"model.name\"\n [value]=\"option.value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"/><span [innerHTML]=\"option.label\"></span></label>\n </div>\n\n</fieldset>\n" }]
}], ctorParameters: function () { return [{ type: i1.DynamicFormLayoutService }, { type: i1.DynamicFormValidationService }]; }, propDecorators: { formLayout: [{
type: Input
}], group: [{
type: Input
}], layout: [{
type: Input
}], model: [{
type: Input
}], blur: [{
type: Output
}], change: [{
type: Output
}], focus: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1ib290c3RyYXAtcmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZHluYW1pYy1mb3Jtcy91aS1ib290c3RyYXAvc3JjL2xpYi9yYWRpby1ncm91cC9keW5hbWljLWJvb3RzdHJhcC1yYWRpby1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1keW5hbWljLWZvcm1zL3VpLWJvb3RzdHJhcC9zcmMvbGliL3JhZGlvLWdyb3VwL2R5bmFtaWMtYm9vdHN0cmFwLXJhZGlvLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFvQixtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFDSCwyQkFBMkIsRUFNOUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFTbEUsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLDJCQUEyQjtJQVVoRixZQUFzQixhQUF1QyxFQUFZLGlCQUErQztRQUNwSCxLQUFLLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFEdEIsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBQVksc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE4QjtRQUo5RyxTQUFJLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0MsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLFVBQUssR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUl4RCxDQUFDOzhHQVpRLG1DQUFtQztrR0FBbkMsbUNBQW1DLHFRQ25CaEQsb3pCQXFCQSwyQ0RKYyxtQkFBbUIsdWpDQUFFLE9BQU8sb0ZBQUUsSUFBSSw2RkFBRSxLQUFLLDhHQUFFLFNBQVM7OzJGQUVyRCxtQ0FBbUM7a0JBUC9DLFNBQVM7K0JBQ0ksK0JBQStCLG1CQUV4Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQzswSkFHdEQsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge1xuICAgIER5bmFtaWNGb3JtQ29udHJvbENvbXBvbmVudCxcbiAgICBEeW5hbWljRm9ybUNvbnRyb2xMYXlvdXQsXG4gICAgRHluYW1pY0Zvcm1MYXlvdXQsXG4gICAgRHluYW1pY0Zvcm1MYXlvdXRTZXJ2aWNlLFxuICAgIER5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2UsXG4gICAgRHluYW1pY1JhZGlvR3JvdXBNb2RlbFxufSBmcm9tIFwiQG5nLWR5bmFtaWMtZm9ybXMvY29yZVwiO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiwgTmdGb3IsIEFzeW5jUGlwZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwiZHluYW1pYy1ib290c3RyYXAtcmFkaW8tZ3JvdXBcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2R5bmFtaWMtYm9vdHN0cmFwLXJhZGlvLWdyb3VwLmNvbXBvbmVudC5odG1sXCIsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgTmdDbGFzcywgTmdJZiwgTmdGb3IsIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Jvb3RzdHJhcFJhZGlvR3JvdXBDb21wb25lbnQgZXh0ZW5kcyBEeW5hbWljRm9ybUNvbnRyb2xDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGZvcm1MYXlvdXQ/OiBEeW5hbWljRm9ybUxheW91dDtcbiAgICBASW5wdXQoKSBncm91cCE6IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgQElucHV0KCkgbGF5b3V0PzogRHluYW1pY0Zvcm1Db250cm9sTGF5b3V0O1xuICAgIEBJbnB1dCgpIG1vZGVsITogRHluYW1pY1JhZGlvR3JvdXBNb2RlbDxzdHJpbmc+O1xuXG4gICAgQE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBmb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbGF5b3V0U2VydmljZTogRHluYW1pY0Zvcm1MYXlvdXRTZXJ2aWNlLCBwcm90ZWN0ZWQgdmFsaWRhdGlvblNlcnZpY2U6IER5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIobGF5b3V0U2VydmljZSwgdmFsaWRhdGlvblNlcnZpY2UpO1xuICAgIH1cbn1cbiIsIjxmaWVsZHNldCByb2xlPVwicmFkaW9ncm91cFwiXG4gICAgICAgICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXG4gICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICBbbmFtZV09XCJtb2RlbC5uYW1lXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJnZXRDbGFzcygnZWxlbWVudCcsICdjb250cm9sJylcIlxuICAgICAgICAgIFt0YWJpbmRleF09XCJtb2RlbC50YWJJbmRleFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCI+XG5cbiAgICA8bGVnZW5kICpuZ0lmPVwibW9kZWwubGVnZW5kXCIgW2lubmVySFRNTF09XCJtb2RlbC5sZWdlbmRcIj48L2xlZ2VuZD5cblxuICAgIDxkaXYgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBtb2RlbC5vcHRpb25zJCB8IGFzeW5jXCIgW25nQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2VsZW1lbnQnLCAnb3B0aW9uJykgfHwgJ3JhZGlvJ1wiPlxuXG4gICAgICAgIDxsYWJlbD48aW5wdXQgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm1vZGVsLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJtb2RlbC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiLz48c3BhbiBbaW5uZXJIVE1MXT1cIm9wdGlvbi5sYWJlbFwiPjwvc3Bhbj48L2xhYmVsPlxuICAgIDwvZGl2PlxuXG48L2ZpZWxkc2V0PlxuIl19