@ng-dynamic-forms/ui-ng-bootstrap
Version:
NG Bootstrap UI package for NG Dynamic Forms
40 lines • 11.1 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 { NgbButtonsModule } from "@ng-bootstrap/ng-bootstrap";
import * as i0 from "@angular/core";
import * as i1 from "@ng-dynamic-forms/core";
import * as i2 from "@angular/forms";
import * as i3 from "@ng-bootstrap/ng-bootstrap";
export class DynamicNGBootstrapRadioGroupComponent 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: DynamicNGBootstrapRadioGroupComponent, 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: DynamicNGBootstrapRadioGroupComponent, isStandalone: true, selector: "dynamic-ng-bootstrap-radio-group", inputs: { formLayout: "formLayout", group: "group", layout: "layout", model: "model" }, outputs: { blur: "blur", change: "change", focus: "focus" }, usesInheritance: true, ngImport: i0, template: "<ng-container [formGroup]=\"group\">\n\n <div ngbRadioGroup class=\"btn-group btn-group-toggle\" role=\"radiogroup\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\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 <label *ngFor=\"let option of model.options$ | async\" ngbButtonLabel\n [ngClass]=\"[getClass('element', 'option'), getClass('grid', 'option')]\">\n\n <input type=\"radio\" ngbButton\n [disabled]=\"option.disabled\"\n [name]=\"model.name\"\n [value]=\"option.value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"/><span [innerHTML]=\"option.label\"></span>\n </label>\n\n </div>\n\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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: "ngmodule", type: NgbButtonsModule }, { kind: "directive", type: i3.NgbButtonLabel, selector: "[ngbButtonLabel]" }, { kind: "directive", type: i3.NgbRadioGroup, selector: "[ngbRadioGroup]", inputs: ["name"] }, { kind: "directive", type: i3.NgbRadio, selector: "[ngbButton][type=radio]", inputs: ["name", "value", "disabled"] }, { 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: DynamicNGBootstrapRadioGroupComponent, decorators: [{
type: Component,
args: [{ selector: "dynamic-ng-bootstrap-radio-group", changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ReactiveFormsModule, NgbButtonsModule, NgClass, NgIf, NgFor, AsyncPipe], template: "<ng-container [formGroup]=\"group\">\n\n <div ngbRadioGroup class=\"btn-group btn-group-toggle\" role=\"radiogroup\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\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 <label *ngFor=\"let option of model.options$ | async\" ngbButtonLabel\n [ngClass]=\"[getClass('element', 'option'), getClass('grid', 'option')]\">\n\n <input type=\"radio\" ngbButton\n [disabled]=\"option.disabled\"\n [name]=\"model.name\"\n [value]=\"option.value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"/><span [innerHTML]=\"option.label\"></span>\n </label>\n\n </div>\n\n</ng-container>\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1uZy1ib290c3RyYXAtcmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZHluYW1pYy1mb3Jtcy91aS1uZy1ib290c3RyYXAvc3JjL2xpYi9yYWRpby1ncm91cC9keW5hbWljLW5nLWJvb3RzdHJhcC1yYWRpby1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1keW5hbWljLWZvcm1zL3VpLW5nLWJvb3RzdHJhcC9zcmMvbGliL3JhZGlvLWdyb3VwL2R5bmFtaWMtbmctYm9vdHN0cmFwLXJhZGlvLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFvQixtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFDSCwyQkFBMkIsRUFNOUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBUzlELE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSwyQkFBMkI7SUFVbEYsWUFBc0IsYUFBdUMsRUFBWSxpQkFBK0M7UUFDcEgsS0FBSyxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRHRCLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUFZLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBOEI7UUFKOUcsU0FBSSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdDLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvQyxVQUFLLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFJeEQsQ0FBQzs4R0FaUSxxQ0FBcUM7a0dBQXJDLHFDQUFxQyx3UUNwQmxELHE3QkF5QkEsMkNEUGMsbUJBQW1CLG1sQkFBRSxnQkFBZ0IsaVVBQUUsT0FBTyxvRkFBRSxJQUFJLDZGQUFFLEtBQUssOEdBQUUsU0FBUzs7MkZBRXZFLHFDQUFxQztrQkFQakQsU0FBUzsrQkFDSSxrQ0FBa0MsbUJBRTNCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDOzBKQUd4RSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVJLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7XG4gICAgRHluYW1pY0Zvcm1Db250cm9sQ29tcG9uZW50LFxuICAgIER5bmFtaWNGb3JtQ29udHJvbExheW91dCxcbiAgICBEeW5hbWljRm9ybUxheW91dCxcbiAgICBEeW5hbWljRm9ybUxheW91dFNlcnZpY2UsXG4gICAgRHluYW1pY0Zvcm1WYWxpZGF0aW9uU2VydmljZSxcbiAgICBEeW5hbWljUmFkaW9Hcm91cE1vZGVsXG59IGZyb20gXCJAbmctZHluYW1pYy1mb3Jtcy9jb3JlXCI7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ0ZvciwgQXN5bmNQaXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTmdiQnV0dG9uc01vZHVsZSB9IGZyb20gXCJAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJkeW5hbWljLW5nLWJvb3RzdHJhcC1yYWRpby1ncm91cFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZHluYW1pYy1uZy1ib290c3RyYXAtcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWxcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOZ2JCdXR0b25zTW9kdWxlLCBOZ0NsYXNzLCBOZ0lmLCBOZ0ZvciwgQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljTkdCb290c3RyYXBSYWRpb0dyb3VwQ29tcG9uZW50IGV4dGVuZHMgRHluYW1pY0Zvcm1Db250cm9sQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBmb3JtTGF5b3V0PzogRHluYW1pY0Zvcm1MYXlvdXQ7XG4gICAgQElucHV0KCkgZ3JvdXAhOiBVbnR5cGVkRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpIGxheW91dD86IER5bmFtaWNGb3JtQ29udHJvbExheW91dDtcbiAgICBASW5wdXQoKSBtb2RlbCE6IER5bmFtaWNSYWRpb0dyb3VwTW9kZWw8c3RyaW5nPjtcblxuICAgIEBPdXRwdXQoKSBibHVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGxheW91dFNlcnZpY2U6IER5bmFtaWNGb3JtTGF5b3V0U2VydmljZSwgcHJvdGVjdGVkIHZhbGlkYXRpb25TZXJ2aWNlOiBEeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGxheW91dFNlcnZpY2UsIHZhbGlkYXRpb25TZXJ2aWNlKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cblxuICAgIDxkaXYgbmdiUmFkaW9Hcm91cCBjbGFzcz1cImJ0bi1ncm91cCBidG4tZ3JvdXAtdG9nZ2xlXCIgcm9sZT1cInJhZGlvZ3JvdXBcIlxuICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJtb2RlbC5pZFwiXG4gICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2VsZW1lbnQnLCAnY29udHJvbCcpXCJcbiAgICAgICAgIFt0YWJpbmRleF09XCJtb2RlbC50YWJJbmRleFwiXG4gICAgICAgICAoY2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIj5cblxuICAgICAgICA8bGVnZW5kICpuZ0lmPVwibW9kZWwubGVnZW5kXCIgW2lubmVySFRNTF09XCJtb2RlbC5sZWdlbmRcIj48L2xlZ2VuZD5cblxuICAgICAgICA8bGFiZWwgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBtb2RlbC5vcHRpb25zJCB8IGFzeW5jXCIgbmdiQnV0dG9uTGFiZWxcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltnZXRDbGFzcygnZWxlbWVudCcsICdvcHRpb24nKSwgZ2V0Q2xhc3MoJ2dyaWQnLCAnb3B0aW9uJyldXCI+XG5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBuZ2JCdXR0b25cbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJtb2RlbC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiLz48c3BhbiBbaW5uZXJIVE1MXT1cIm9wdGlvbi5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cblxuICAgIDwvZGl2PlxuXG48L25nLWNvbnRhaW5lcj5cbiJdfQ==