@ng-dynamic-forms/ui-ng-bootstrap
Version:
NG Bootstrap UI package for NG Dynamic Forms
47 lines • 15 kB
JavaScript
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from "@angular/core";
import { ReactiveFormsModule } from "@angular/forms";
import { NgbDatepicker, NgbDatepickerModule } from "@ng-bootstrap/ng-bootstrap";
import { DynamicFormControlComponent } from "@ng-dynamic-forms/core";
import { NgClass, NgIf } from "@angular/common";
import * as i0 from "@angular/core";
import * as i1 from "@ng-dynamic-forms/core";
import * as i2 from "@ng-bootstrap/ng-bootstrap";
import * as i3 from "@angular/forms";
export class DynamicNGBootstrapDatePickerComponent extends DynamicFormControlComponent {
constructor(layoutService, validationService, config) {
super(layoutService, validationService);
this.layoutService = layoutService;
this.validationService = validationService;
this.config = config;
this.blur = new EventEmitter();
this.change = new EventEmitter();
this.customEvent = new EventEmitter();
this.focus = new EventEmitter();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: DynamicNGBootstrapDatePickerComponent, deps: [{ token: i1.DynamicFormLayoutService }, { token: i1.DynamicFormValidationService }, { token: i2.NgbDatepickerConfig }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: DynamicNGBootstrapDatePickerComponent, isStandalone: true, selector: "dynamic-ng-bootstrap-datepicker", inputs: { formLayout: "formLayout", group: "group", layout: "layout", model: "model" }, outputs: { blur: "blur", change: "change", customEvent: "customEvent", focus: "focus" }, viewQueries: [{ propertyName: "ngbDatePicker", first: true, predicate: NgbDatepicker, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"group\" class=\"input-group\">\n\n <input ngbDatepicker class=\"form-control\" #datepicker=\"ngbDatepicker\"\n [class.is-invalid]=\"showErrorMessages\"\n [displayMonths]=\"model.getAdditional('displayMonths', config['displayMonths'])\"\n [firstDayOfWeek]=\"model.getAdditional('firstDayOfWeek', config['firstDayOfWeek'])\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\n [maxDate]=\"model.max\"\n [minDate]=\"model.min\"\n [name]=\"model.name\"\n [navigation]=\"model.getAdditional('navigation', config['navigation'])\"\n [ngClass]=\"getClass('element', 'control')\"\n [outsideDays]=\"model.getAdditional('outsideDays', config['outsideDays'])\"\n [placeholder]=\"model.placeholder\"\n [placement]=\"model.getAdditional('placement', 'bottom-left')\"\n [showWeekNumbers]=\"model.getAdditional('showWeekNumbers', config['showWeekNumbers'])\"\n [startDate]=\"model.focusedDate\"\n [weekdays]=\"model.getAdditional('weekdays', config['weekdays'])\"\n (blur)=\"onBlur($event)\"\n (dateSelect)=\"onCustomEvent($event, 'dateSelect')\"\n (closed)=\"onCustomEvent($event, 'closed')\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\">\n\n <div class=\"input-group-append\">\n\n <button class=\"btn btn-outline-secondary\" type=\"button\" (click)=\"datepicker.toggle()\">\n\n <img *ngIf=\"model.toggleIcon\" [src]=\"model.toggleIcon\" style=\"cursor: pointer;\"/>\n <span *ngIf=\"model.toggleLabel\">{{ model.toggleLabel }}</span>\n\n </button>\n\n </div>\n\n</div>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NgbDatepickerModule }, { kind: "directive", type: i2.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: DynamicNGBootstrapDatePickerComponent, decorators: [{
type: Component,
args: [{ selector: "dynamic-ng-bootstrap-datepicker", changeDetection: ChangeDetectionStrategy.Default, standalone: true, imports: [ReactiveFormsModule, NgbDatepickerModule, NgClass, NgIf], template: "<div [formGroup]=\"group\" class=\"input-group\">\n\n <input ngbDatepicker class=\"form-control\" #datepicker=\"ngbDatepicker\"\n [class.is-invalid]=\"showErrorMessages\"\n [displayMonths]=\"model.getAdditional('displayMonths', config['displayMonths'])\"\n [firstDayOfWeek]=\"model.getAdditional('firstDayOfWeek', config['firstDayOfWeek'])\"\n [formControlName]=\"model.id\"\n [id]=\"id\"\n [maxDate]=\"model.max\"\n [minDate]=\"model.min\"\n [name]=\"model.name\"\n [navigation]=\"model.getAdditional('navigation', config['navigation'])\"\n [ngClass]=\"getClass('element', 'control')\"\n [outsideDays]=\"model.getAdditional('outsideDays', config['outsideDays'])\"\n [placeholder]=\"model.placeholder\"\n [placement]=\"model.getAdditional('placement', 'bottom-left')\"\n [showWeekNumbers]=\"model.getAdditional('showWeekNumbers', config['showWeekNumbers'])\"\n [startDate]=\"model.focusedDate\"\n [weekdays]=\"model.getAdditional('weekdays', config['weekdays'])\"\n (blur)=\"onBlur($event)\"\n (dateSelect)=\"onCustomEvent($event, 'dateSelect')\"\n (closed)=\"onCustomEvent($event, 'closed')\"\n (change)=\"onChange($event)\"\n (focus)=\"onFocus($event)\">\n\n <div class=\"input-group-append\">\n\n <button class=\"btn btn-outline-secondary\" type=\"button\" (click)=\"datepicker.toggle()\">\n\n <img *ngIf=\"model.toggleIcon\" [src]=\"model.toggleIcon\" style=\"cursor: pointer;\"/>\n <span *ngIf=\"model.toggleLabel\">{{ model.toggleLabel }}</span>\n\n </button>\n\n </div>\n\n</div>\n" }]
}], ctorParameters: function () { return [{ type: i1.DynamicFormLayoutService }, { type: i1.DynamicFormValidationService }, { type: i2.NgbDatepickerConfig }]; }, propDecorators: { formLayout: [{
type: Input
}], group: [{
type: Input
}], layout: [{
type: Input
}], model: [{
type: Input
}], blur: [{
type: Output
}], change: [{
type: Output
}], customEvent: [{
type: Output
}], focus: [{
type: Output
}], ngbDatePicker: [{
type: ViewChild,
args: [NgbDatepicker]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1uZy1ib290c3RyYXAtZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1keW5hbWljLWZvcm1zL3VpLW5nLWJvb3RzdHJhcC9zcmMvbGliL2RhdGVwaWNrZXIvZHluYW1pYy1uZy1ib290c3RyYXAtZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1keW5hbWljLWZvcm1zL3VpLW5nLWJvb3RzdHJhcC9zcmMvbGliL2RhdGVwaWNrZXIvZHluYW1pYy1uZy1ib290c3RyYXAtZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQW9CLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBdUIsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRyxPQUFPLEVBRUgsMkJBQTJCLEVBTTlCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFTaEQsTUFBTSxPQUFPLHFDQUFzQyxTQUFRLDJCQUEyQjtJQWFsRixZQUFzQixhQUF1QyxFQUN2QyxpQkFBK0MsRUFDbEQsTUFBMkI7UUFDMUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBSHRCLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQThCO1FBQ2xELFdBQU0sR0FBTixNQUFNLENBQXFCO1FBVHBDLFNBQUksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM3QyxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0MsZ0JBQVcsR0FBZ0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM5RSxVQUFLLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFReEQsQ0FBQzs4R0FqQlEscUNBQXFDO2tHQUFyQyxxQ0FBcUMsMlRBV25DLGFBQWEsdUVDaEM1QixpdERBcUNBLDJDRGxCYyxtQkFBbUIsbTJCQUFFLG1CQUFtQix5ZkFBRSxPQUFPLG9GQUFFLElBQUk7OzJGQUV4RCxxQ0FBcUM7a0JBUGpELFNBQVM7K0JBQ0ksaUNBQWlDLG1CQUUxQix1QkFBdUIsQ0FBQyxPQUFPLGNBQ3BDLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUM7NExBR3pELFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTTtnQkFFbUIsYUFBYTtzQkFBdEMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTmdiRGF0ZXBpY2tlciwgTmdiRGF0ZXBpY2tlckNvbmZpZywgTmdiRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gXCJAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcFwiO1xuaW1wb3J0IHtcbiAgICBEeW5hbWljRGF0ZVBpY2tlck1vZGVsLFxuICAgIER5bmFtaWNGb3JtQ29udHJvbENvbXBvbmVudCxcbiAgICBEeW5hbWljRm9ybUNvbnRyb2xDdXN0b21FdmVudCxcbiAgICBEeW5hbWljRm9ybUNvbnRyb2xMYXlvdXQsXG4gICAgRHluYW1pY0Zvcm1MYXlvdXQsXG4gICAgRHluYW1pY0Zvcm1MYXlvdXRTZXJ2aWNlLFxuICAgIER5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2Vcbn0gZnJvbSBcIkBuZy1keW5hbWljLWZvcm1zL2NvcmVcIjtcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcImR5bmFtaWMtbmctYm9vdHN0cmFwLWRhdGVwaWNrZXJcIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2R5bmFtaWMtbmctYm9vdHN0cmFwLWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgTmdiRGF0ZXBpY2tlck1vZHVsZSwgTmdDbGFzcywgTmdJZl1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY05HQm9vdHN0cmFwRGF0ZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIER5bmFtaWNGb3JtQ29udHJvbENvbXBvbmVudCB7XG4gICAgQElucHV0KCkgZm9ybUxheW91dD86IER5bmFtaWNGb3JtTGF5b3V0O1xuICAgIEBJbnB1dCgpIGdyb3VwITogVW50eXBlZEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKSBsYXlvdXQ/OiBEeW5hbWljRm9ybUNvbnRyb2xMYXlvdXQ7XG4gICAgQElucHV0KCkgbW9kZWwhOiBEeW5hbWljRGF0ZVBpY2tlck1vZGVsO1xuXG4gICAgQE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBjdXN0b21FdmVudDogRXZlbnRFbWl0dGVyPER5bmFtaWNGb3JtQ29udHJvbEN1c3RvbUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZChOZ2JEYXRlcGlja2VyKSBuZ2JEYXRlUGlja2VyITogTmdiRGF0ZXBpY2tlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsYXlvdXRTZXJ2aWNlOiBEeW5hbWljRm9ybUxheW91dFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIHZhbGlkYXRpb25TZXJ2aWNlOiBEeW5hbWljRm9ybVZhbGlkYXRpb25TZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHB1YmxpYyBjb25maWc6IE5nYkRhdGVwaWNrZXJDb25maWcpIHtcbiAgICAgICAgc3VwZXIobGF5b3V0U2VydmljZSwgdmFsaWRhdGlvblNlcnZpY2UpO1xuICAgIH1cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJncm91cFwiIGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cblxuICAgIDxpbnB1dCBuZ2JEYXRlcGlja2VyIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgI2RhdGVwaWNrZXI9XCJuZ2JEYXRlcGlja2VyXCJcbiAgICAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwic2hvd0Vycm9yTWVzc2FnZXNcIlxuICAgICAgICAgICBbZGlzcGxheU1vbnRoc109XCJtb2RlbC5nZXRBZGRpdGlvbmFsKCdkaXNwbGF5TW9udGhzJywgY29uZmlnWydkaXNwbGF5TW9udGhzJ10pXCJcbiAgICAgICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cIm1vZGVsLmdldEFkZGl0aW9uYWwoJ2ZpcnN0RGF5T2ZXZWVrJywgY29uZmlnWydmaXJzdERheU9mV2VlayddKVwiXG4gICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwibW9kZWwuaWRcIlxuICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICBbbWF4RGF0ZV09XCJtb2RlbC5tYXhcIlxuICAgICAgICAgICBbbWluRGF0ZV09XCJtb2RlbC5taW5cIlxuICAgICAgICAgICBbbmFtZV09XCJtb2RlbC5uYW1lXCJcbiAgICAgICAgICAgW25hdmlnYXRpb25dPVwibW9kZWwuZ2V0QWRkaXRpb25hbCgnbmF2aWdhdGlvbicsIGNvbmZpZ1snbmF2aWdhdGlvbiddKVwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cImdldENsYXNzKCdlbGVtZW50JywgJ2NvbnRyb2wnKVwiXG4gICAgICAgICAgIFtvdXRzaWRlRGF5c109XCJtb2RlbC5nZXRBZGRpdGlvbmFsKCdvdXRzaWRlRGF5cycsIGNvbmZpZ1snb3V0c2lkZURheXMnXSlcIlxuICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwibW9kZWwucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICBbcGxhY2VtZW50XT1cIm1vZGVsLmdldEFkZGl0aW9uYWwoJ3BsYWNlbWVudCcsICdib3R0b20tbGVmdCcpXCJcbiAgICAgICAgICAgW3Nob3dXZWVrTnVtYmVyc109XCJtb2RlbC5nZXRBZGRpdGlvbmFsKCdzaG93V2Vla051bWJlcnMnLCBjb25maWdbJ3Nob3dXZWVrTnVtYmVycyddKVwiXG4gICAgICAgICAgIFtzdGFydERhdGVdPVwibW9kZWwuZm9jdXNlZERhdGVcIlxuICAgICAgICAgICBbd2Vla2RheXNdPVwibW9kZWwuZ2V0QWRkaXRpb25hbCgnd2Vla2RheXMnLCBjb25maWdbJ3dlZWtkYXlzJ10pXCJcbiAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAgICAoZGF0ZVNlbGVjdCk9XCJvbkN1c3RvbUV2ZW50KCRldmVudCwgJ2RhdGVTZWxlY3QnKVwiXG4gICAgICAgICAgIChjbG9zZWQpPVwib25DdXN0b21FdmVudCgkZXZlbnQsICdjbG9zZWQnKVwiXG4gICAgICAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1hcHBlbmRcIj5cblxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiZGF0ZXBpY2tlci50b2dnbGUoKVwiPlxuXG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwibW9kZWwudG9nZ2xlSWNvblwiIFtzcmNdPVwibW9kZWwudG9nZ2xlSWNvblwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiLz5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibW9kZWwudG9nZ2xlTGFiZWxcIj57eyBtb2RlbC50b2dnbGVMYWJlbCB9fTwvc3Bhbj5cblxuICAgICAgICA8L2J1dHRvbj5cblxuICAgIDwvZGl2PlxuXG48L2Rpdj5cbiJdfQ==