@ng-dynamic-forms/ui-bootstrap
Version:
Bootstrap UI package for NG Dynamic Forms
38 lines • 10 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, 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 DynamicBootstrapSelectComponent 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: DynamicBootstrapSelectComponent, 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: DynamicBootstrapSelectComponent, isStandalone: true, selector: "dynamic-bootstrap-select", 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 <select class=\"form-control\"\n [compareWith]=\"model.compareWithFn\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\"\n [required]=\"model.required\"\n [tabindex]=\"model.tabIndex\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\">\n\n <option *ngFor=\"let option of model.options$ | async\"\n [disabled]=\"option.disabled\"\n [ngValue]=\"option.value\">{{ option.label }}\n </option>\n\n </select>\n\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: 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: DynamicBootstrapSelectComponent, decorators: [{
type: Component,
args: [{ selector: "dynamic-bootstrap-select", changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ReactiveFormsModule, NgClass, NgFor, AsyncPipe], template: "<ng-container [formGroup]=\"group\">\n\n <select class=\"form-control\"\n [compareWith]=\"model.compareWithFn\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\n [name]=\"model.name\"\n [ngClass]=\"getClass('element', 'control')\"\n [required]=\"model.required\"\n [tabindex]=\"model.tabIndex\"\n (blur)=\"onBlur($event)\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\">\n\n <option *ngFor=\"let option of model.options$ | async\"\n [disabled]=\"option.disabled\"\n [ngValue]=\"option.value\">{{ option.label }}\n </option>\n\n </select>\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1ib290c3RyYXAtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWR5bmFtaWMtZm9ybXMvdWktYm9vdHN0cmFwL3NyYy9saWIvc2VsZWN0L2R5bmFtaWMtYm9vdHN0cmFwLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1keW5hbWljLWZvcm1zL3VpLWJvb3RzdHJhcC9zcmMvbGliL3NlbGVjdC9keW5hbWljLWJvb3RzdHJhcC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQW9CLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUNILDJCQUEyQixFQU05QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBUzVELE1BQU0sT0FBTywrQkFBZ0MsU0FBUSwyQkFBMkI7SUFVNUUsWUFBc0IsYUFBdUMsRUFBWSxpQkFBK0M7UUFDcEgsS0FBSyxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRHRCLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUFZLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBOEI7UUFKOUcsU0FBSSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzdDLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMvQyxVQUFLLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFJeEQsQ0FBQzs4R0FaUSwrQkFBK0I7a0dBQS9CLCtCQUErQixnUUNuQjVDLDh0QkFzQkEsMkNETGMsbUJBQW1CLDRzQ0FBRSxPQUFPLG9GQUFFLEtBQUssOEdBQUUsU0FBUzs7MkZBRS9DLCtCQUErQjtrQkFQM0MsU0FBUzsrQkFDSSwwQkFBMEIsbUJBRW5CLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUM7MEpBR2hELFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHtcbiAgICBEeW5hbWljRm9ybUNvbnRyb2xDb21wb25lbnQsXG4gICAgRHluYW1pY0Zvcm1Db250cm9sTGF5b3V0LFxuICAgIER5bmFtaWNGb3JtTGF5b3V0LFxuICAgIER5bmFtaWNGb3JtTGF5b3V0U2VydmljZSxcbiAgICBEeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlLFxuICAgIER5bmFtaWNTZWxlY3RNb2RlbFxufSBmcm9tIFwiQG5nLWR5bmFtaWMtZm9ybXMvY29yZVwiO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3IsIEFzeW5jUGlwZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwiZHluYW1pYy1ib290c3RyYXAtc2VsZWN0XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9keW5hbWljLWJvb3RzdHJhcC1zZWxlY3QuY29tcG9uZW50Lmh0bWxcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOZ0NsYXNzLCBOZ0ZvciwgQXN5bmNQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljQm9vdHN0cmFwU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgRHluYW1pY0Zvcm1Db250cm9sQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBmb3JtTGF5b3V0PzogRHluYW1pY0Zvcm1MYXlvdXQ7XG4gICAgQElucHV0KCkgZ3JvdXAhOiBVbnR5cGVkRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpIGxheW91dD86IER5bmFtaWNGb3JtQ29udHJvbExheW91dDtcbiAgICBASW5wdXQoKSBtb2RlbCE6IER5bmFtaWNTZWxlY3RNb2RlbDxzdHJpbmc+O1xuXG4gICAgQE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBmb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbGF5b3V0U2VydmljZTogRHluYW1pY0Zvcm1MYXlvdXRTZXJ2aWNlLCBwcm90ZWN0ZWQgdmFsaWRhdGlvblNlcnZpY2U6IER5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIobGF5b3V0U2VydmljZSwgdmFsaWRhdGlvblNlcnZpY2UpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxuXG4gICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBbY29tcGFyZVdpdGhdPVwibW9kZWwuY29tcGFyZVdpdGhGblwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIm1vZGVsLmlkXCJcbiAgICAgICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgICAgICBbbmFtZV09XCJtb2RlbC5uYW1lXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldENsYXNzKCdlbGVtZW50JywgJ2NvbnRyb2wnKVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwibW9kZWwucmVxdWlyZWRcIlxuICAgICAgICAgICAgW3RhYmluZGV4XT1cIm1vZGVsLnRhYkluZGV4XCJcbiAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCI+XG5cbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG1vZGVsLm9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJvcHRpb24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPnt7IG9wdGlvbi5sYWJlbCB9fVxuICAgICAgICA8L29wdGlvbj5cblxuICAgIDwvc2VsZWN0PlxuXG48L25nLWNvbnRhaW5lcj5cbiJdfQ==