UNPKG

@ng-flexy/form-bootstrap

Version:

Flexy components and tools to build Angular 8+ applications

133 lines 13.6 kB
import { Component, EventEmitter, Input, Output } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "ngx-bootstrap/datepicker"; import * as i3 from "@angular/forms"; import * as i4 from "./readonly.component"; function FlexyControlDatepickerComponent_div_0_button_4_Template(rf, ctx) { if (rf & 1) { const _r5 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "button", 7); i0.ɵɵlistener("click", function FlexyControlDatepickerComponent_div_0_button_4_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r5); i0.ɵɵnextContext(); const _r2 = i0.ɵɵreference(2); _r2.toggle(); return $event.stopPropagation(); }); i0.ɵɵelement(1, "span", 8); i0.ɵɵelementEnd(); } } function FlexyControlDatepickerComponent_div_0_Template(rf, ctx) { if (rf & 1) { const _r7 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 2); i0.ɵɵelementStart(1, "input", 3, 4); i0.ɵɵlistener("focus", function FlexyControlDatepickerComponent_div_0_Template_input_focus_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return ctx_r6.focused.emit($event); })("click", function FlexyControlDatepickerComponent_div_0_Template_input_click_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return ctx_r8.clicked.emit($event); })("bsValueChange", function FlexyControlDatepickerComponent_div_0_Template_input_bsValueChange_1_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r9 = i0.ɵɵnextContext(); return ctx_r9.changed.emit($event); }); i0.ɵɵelementEnd(); i0.ɵɵelementStart(3, "span", 5); i0.ɵɵtemplate(4, FlexyControlDatepickerComponent_div_0_button_4_Template, 2, 0, "button", 6); i0.ɵɵelementEnd(); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵadvance(1); i0.ɵɵproperty("isDisabled", ctx_r0.isDisabled)("formControl", ctx_r0.control)("bsConfig", ctx_r0.bsConfig)("minDate", ctx_r0.minDate)("maxDate", ctx_r0.maxDate); i0.ɵɵattribute("placeholder", ctx_r0.placeholder); i0.ɵɵadvance(3); i0.ɵɵproperty("ngIf", !ctx_r0.hideButton); } } function FlexyControlDatepickerComponent_flexy_control_readonly_1_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "flexy-control-readonly", 9); i0.ɵɵpipe(1, "date"); } if (rf & 2) { const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵproperty("value", i0.ɵɵpipeBind2(1, 2, ctx_r1.control.value, ctx_r1.format))("default", ctx_r1.default); } } const DATEPICKER_THEMES = ['theme-default', 'theme-green', 'theme-blue', 'theme-dark-blue', 'theme-red', 'theme-orange']; const BS_DATEPICKER_MODES = { month: 'month', quarter: 'month', year: 'year', day: 'day' }; export class FlexyControlDatepickerComponent { constructor() { this.focused = new EventEmitter(); this.clicked = new EventEmitter(); this.changed = new EventEmitter(); } ngOnInit() { this.configDatepicker(); } configDatepicker() { this.minDate = this.min ? new Date(this.min) : null; this.maxDate = this.max ? new Date(this.max) : null; this.bsConfig = { minMode: this.minMode && BS_DATEPICKER_MODES[this.minMode] ? BS_DATEPICKER_MODES[this.minMode] : 'day', dateInputFormat: this.format ? this.format.toUpperCase() : 'YYYY-MM-DD', containerClass: [DATEPICKER_THEMES.includes(this.theme) ? this.theme : 'theme-default', 'mode-' + this.minMode] }; } } FlexyControlDatepickerComponent.ɵfac = function FlexyControlDatepickerComponent_Factory(t) { return new (t || FlexyControlDatepickerComponent)(); }; FlexyControlDatepickerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: FlexyControlDatepickerComponent, selectors: [["flexy-control-datepicker"]], inputs: { control: "control", default: "default", min: "min", max: "max", placeholder: "placeholder", theme: "theme", format: "format", readonly: "readonly", isDisabled: "isDisabled", hideButton: "hideButton", minMode: "minMode" }, outputs: { focused: "focused", clicked: "clicked", changed: "changed" }, decls: 2, vars: 2, consts: [["class", "input-group", 4, "ngIf"], [3, "value", "default", 4, "ngIf"], [1, "input-group"], ["type", "text", "bsDatepicker", "", 1, "form-control", 3, "isDisabled", "formControl", "bsConfig", "minDate", "maxDate", "focus", "click", "bsValueChange"], ["dp", "bsDatepicker"], [1, "input-group-btn"], ["class", "btn btn-primary", 3, "click", 4, "ngIf"], [1, "btn", "btn-primary", 3, "click"], [1, "flexy-icon-calendar"], [3, "value", "default"]], template: function FlexyControlDatepickerComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵtemplate(0, FlexyControlDatepickerComponent_div_0_Template, 5, 7, "div", 0); i0.ɵɵtemplate(1, FlexyControlDatepickerComponent_flexy_control_readonly_1_Template, 2, 5, "flexy-control-readonly", 1); } if (rf & 2) { i0.ɵɵproperty("ngIf", !ctx.readonly); i0.ɵɵadvance(1); i0.ɵɵproperty("ngIf", ctx.readonly); } }, directives: [i1.NgIf, i2.BsDatepickerInputDirective, i3.DefaultValueAccessor, i2.BsDatepickerDirective, i3.NgControlStatus, i3.FormControlDirective, i4.FlexyControlReadonlyComponent], pipes: [i1.DatePipe], encapsulation: 2 }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(FlexyControlDatepickerComponent, [{ type: Component, args: [{ selector: 'flexy-control-datepicker', template: ` <div class="input-group" *ngIf="!readonly"> <input #dp="bsDatepicker" class="form-control" type="text" [isDisabled]="isDisabled" [formControl]="control" [attr.placeholder]="placeholder" [bsConfig]="bsConfig" [minDate]="minDate" [maxDate]="maxDate" (focus)="focused.emit($event)" (click)="clicked.emit($event)" (bsValueChange)="changed.emit($event)" bsDatepicker /> <span class="input-group-btn"> <button *ngIf="!hideButton" class="btn btn-primary" (click)="dp.toggle(); $event.stopPropagation()"> <span class="flexy-icon-calendar"></span> </button> </span> </div> <flexy-control-readonly *ngIf="readonly" [value]="control.value | date: format" [default]="default"></flexy-control-readonly> ` }] }], null, { control: [{ type: Input }], default: [{ type: Input }], min: [{ type: Input }], max: [{ type: Input }], placeholder: [{ type: Input }], theme: [{ type: Input }], format: [{ type: Input }], readonly: [{ type: Input }], isDisabled: [{ type: Input }], hideButton: [{ type: Input }], minMode: [{ type: Input }], focused: [{ type: Output }], clicked: [{ type: Output }], changed: [{ type: Output }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLWJvb3RzdHJhcC9zcmMvbGliL2NvbnRyb2xzL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0lBK0J2RSxpQ0FDRTtJQURrRCxvTUFBUyxZQUFXLFNBQUUsd0JBQXdCLElBQUM7SUFDakcsMEJBQXlDO0lBQzNDLGlCQUFTOzs7O0lBbkJiLDhCQUNFO0lBQUEsbUNBZUE7SUFMRSxpTEFBUywyQkFBb0IsSUFBQyxvS0FDckIsMkJBQW9CLElBREMsb0xBRWIsMkJBQW9CLElBRlA7SUFWaEMsaUJBZUE7SUFBQSwrQkFDRTtJQUFBLDRGQUNFO0lBRUosaUJBQU87SUFDVCxpQkFBTTs7O0lBaEJGLGVBQXlCO0lBQXpCLDhDQUF5QiwrQkFBQSw2QkFBQSwyQkFBQSwyQkFBQTtJQUV6QixpREFBZ0M7SUFVeEIsZUFBbUI7SUFBbkIseUNBQW1COzs7SUFLL0IsNENBQTZIOzs7O0lBQXBGLGlGQUFzQywyQkFBQTs7QUFqQ25GLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDekgsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixLQUFLLEVBQUUsT0FBTztJQUNkLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLEtBQUs7Q0FDWCxDQUFDO0FBOEJGLE1BQU0sT0FBTywrQkFBK0I7SUE1QjVDO1FBcURZLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ3BDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ3BDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO0tBZS9DO0lBYkMsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNwRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN0RyxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWTtZQUN2RSxjQUFjLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDaEgsQ0FBQztJQUNKLENBQUM7OzhHQXpDVSwrQkFBK0I7b0VBQS9CLCtCQUErQjtRQXpCeEMsZ0ZBQ0U7UUFxQkYsc0hBQW9HOztRQXRCM0Usb0NBQWlCO1FBc0JsQixlQUFnQjtRQUFoQixtQ0FBZ0I7O2tEQUcvQiwrQkFBK0I7Y0E1QjNDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCVDthQUNGO2dCQWFVLE9BQU87a0JBQWYsS0FBSztZQUVHLE9BQU87a0JBQWYsS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFFSSxPQUFPO2tCQUFoQixNQUFNO1lBQ0csT0FBTztrQkFBaEIsTUFBTTtZQUNHLE9BQU87a0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuY29uc3QgREFURVBJQ0tFUl9USEVNRVMgPSBbJ3RoZW1lLWRlZmF1bHQnLCAndGhlbWUtZ3JlZW4nLCAndGhlbWUtYmx1ZScsICd0aGVtZS1kYXJrLWJsdWUnLCAndGhlbWUtcmVkJywgJ3RoZW1lLW9yYW5nZSddO1xuY29uc3QgQlNfREFURVBJQ0tFUl9NT0RFUyA9IHtcbiAgbW9udGg6ICdtb250aCcsXG4gIHF1YXJ0ZXI6ICdtb250aCcsXG4gIHllYXI6ICd5ZWFyJyxcbiAgZGF5OiAnZGF5J1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmxleHktY29udHJvbC1kYXRlcGlja2VyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiAqbmdJZj1cIiFyZWFkb25seVwiPlxuICAgICAgPGlucHV0XG4gICAgICAgICNkcD1cImJzRGF0ZXBpY2tlclwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBbaXNEaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFtic0NvbmZpZ109XCJic0NvbmZpZ1wiXG4gICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgKGZvY3VzKT1cImZvY3VzZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGNsaWNrKT1cImNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGJzVmFsdWVDaGFuZ2UpPVwiY2hhbmdlZC5lbWl0KCRldmVudClcIlxuICAgICAgICBic0RhdGVwaWNrZXJcbiAgICAgIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLWJ0blwiPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWhpZGVCdXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJkcC50b2dnbGUoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4eS1pY29uLWNhbGVuZGFyXCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZmxleHktY29udHJvbC1yZWFkb25seSAqbmdJZj1cInJlYWRvbmx5XCIgW3ZhbHVlXT1cImNvbnRyb2wudmFsdWUgfCBkYXRlOiBmb3JtYXRcIiBbZGVmYXVsdF09XCJkZWZhdWx0XCI+PC9mbGV4eS1jb250cm9sLXJlYWRvbmx5PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIEZsZXh5Q29udHJvbERhdGVwaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBic0NvbmZpZzoge1xuICAgIG1pbk1vZGU6IHN0cmluZztcbiAgICBkYXRlSW5wdXRGb3JtYXQ6IHN0cmluZztcbiAgICBjb250YWluZXJDbGFzczogc3RyaW5nW107XG4gIH07XG4gIGJzVmFsdWU6IERhdGU7XG4gIG1pbkRhdGU6IERhdGU7XG4gIG1heERhdGU6IERhdGU7XG5cbiAgZGVmYXVsdEZvcm1hdHRlZDtcblxuICBASW5wdXQoKSBjb250cm9sOiBGb3JtQ29udHJvbDtcblxuICBASW5wdXQoKSBkZWZhdWx0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1pbjogc3RyaW5nO1xuICBASW5wdXQoKSBtYXg6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgdGhlbWU6IHN0cmluZztcbiAgQElucHV0KCkgZm9ybWF0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICBASW5wdXQoKSBpc0Rpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBoaWRlQnV0dG9uOiBib29sZWFuO1xuICBASW5wdXQoKSBtaW5Nb2RlOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIGZvY3VzZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbmZpZ0RhdGVwaWNrZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uZmlnRGF0ZXBpY2tlcigpIHtcbiAgICB0aGlzLm1pbkRhdGUgPSB0aGlzLm1pbiA/IG5ldyBEYXRlKHRoaXMubWluKSA6IG51bGw7XG4gICAgdGhpcy5tYXhEYXRlID0gdGhpcy5tYXggPyBuZXcgRGF0ZSh0aGlzLm1heCkgOiBudWxsO1xuICAgIHRoaXMuYnNDb25maWcgPSB7XG4gICAgICBtaW5Nb2RlOiB0aGlzLm1pbk1vZGUgJiYgQlNfREFURVBJQ0tFUl9NT0RFU1t0aGlzLm1pbk1vZGVdID8gQlNfREFURVBJQ0tFUl9NT0RFU1t0aGlzLm1pbk1vZGVdIDogJ2RheScsXG4gICAgICBkYXRlSW5wdXRGb3JtYXQ6IHRoaXMuZm9ybWF0ID8gdGhpcy5mb3JtYXQudG9VcHBlckNhc2UoKSA6ICdZWVlZLU1NLUREJyxcbiAgICAgIGNvbnRhaW5lckNsYXNzOiBbREFURVBJQ0tFUl9USEVNRVMuaW5jbHVkZXModGhpcy50aGVtZSkgPyB0aGlzLnRoZW1lIDogJ3RoZW1lLWRlZmF1bHQnLCAnbW9kZS0nICsgdGhpcy5taW5Nb2RlXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==