UNPKG

@hxui/angular

Version:

An Angular library based on the [HXUI design system](https://hxui.io).

67 lines 14 kB
import { DatePipe } from '@angular/common'; import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core'; import { DateSelectionType } from '../date-range-picker.model'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "../../datepicker/datepicker-form.component"; import * as i3 from "@angular/forms"; export class DateRangePickerCustomComponent { constructor(ref, datePipe) { this.ref = ref; this.datePipe = datePipe; this.newSelectedCustomDate = new EventEmitter(); this.closeDropdown = new EventEmitter(); this.DateSelectionType = DateSelectionType; } ngOnInit() { if (this.currentFromDate) { this.newFromDate = this.currentFromDate; } else { this.newFromDate = new Date(); } if (this.currentToDate) { this.newToDate = this.currentToDate; } else { this.newToDate = new Date(); } this.boundaryForToDate = this.datePipe.transform(this.newFromDate, 'dd/MM/yyyy'); this.boundaryForFromDate = this.datePipe.transform(this.newToDate, 'dd/MM/yyyy'); this.ref.markForCheck(); } ngDoCheck() { this.boundaryForToDate = this.datePipe.transform(this.newFromDate, 'dd/MM/yyyy'); this.boundaryForFromDate = this.datePipe.transform(this.newToDate, 'dd/MM/yyyy'); } onCancel() { this.closeDropdown.emit(true); } onSelected() { // do nothing against failed basic validation if (this.newFromDate == null || this.newToDate == null || this.newFromDate > this.newToDate || this.newToDate < this.newFromDate) return null; this.newSelectedCustomDate.emit([this.newFromDate, this.newToDate]); this.closeDropdown.emit(true); } } DateRangePickerCustomComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DateRangePickerCustomComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Component }); DateRangePickerCustomComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DateRangePickerCustomComponent, selector: "hxa-date-range-picker-custom", inputs: { currentFromDate: "currentFromDate", currentToDate: "currentToDate", dateFormat: "dateFormat" }, outputs: { newSelectedCustomDate: "newSelectedCustomDate", closeDropdown: "closeDropdown" }, ngImport: i0, template: "<div class=\"px-4 pt-3\">\r\n <hxa-datepicker-input\r\n placement=\"bottom\"\r\n [(ngModel)]=\"newFromDate\"\r\n placeholder=\"From\"\r\n [defaultToPresentDate]=\"false\"\r\n [dateFormat]=\"dateFormat\"\r\n [to]=\"boundaryForFromDate\"\r\n ></hxa-datepicker-input>\r\n</div>\r\n<div class=\"px-4 py-3\">\r\n <hxa-datepicker-input\r\n placement=\"bottom\"\r\n [(ngModel)]=\"newToDate\"\r\n placeholder=\"To\"\r\n [defaultToPresentDate]=\"false\"\r\n [dateFormat]=\"dateFormat\"\r\n [from]=\"boundaryForToDate\"\r\n ></hxa-datepicker-input>\r\n</div>\r\n<div class=\"hx-date-range-picker-interval-footer pa-3\">\r\n <div class=\"hx-columns\">\r\n <div class=\"hx-column\">\r\n <button id=\"custom_cancel\" class=\"hx-button\" (click)=\"onCancel()\">\r\n Cancel\r\n </button>\r\n </div>\r\n <div class=\"hx-column is-text-right\">\r\n <button\r\n id=\"custom_select\"\r\n class=\"hx-button is-primary\"\r\n (click)=\"onSelected()\"\r\n >\r\n Select\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".hx-date-range-picker-interval-footer{flex:0 0 auto;background-color:#0000000a}\n"], components: [{ type: i2.DatepickerFormComponent, selector: "hxa-datepicker-input", inputs: ["disabled", "readonly", "required", "defaultToPresentDate", "allowPreviousDates", "allowFutureDates", "dateFormat", "placeholder", "helpText", "helpTextVisible", "isWarning", "isDanger", "icon", "iconPlacement", "placement", "showDelay", "hideDelay", "from", "to", "interval", "dueDateInterval", "maskPattern"], outputs: ["dateChange", "inputFocus"] }], directives: [{ type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DateRangePickerCustomComponent, decorators: [{ type: Component, args: [{ selector: 'hxa-date-range-picker-custom', template: "<div class=\"px-4 pt-3\">\r\n <hxa-datepicker-input\r\n placement=\"bottom\"\r\n [(ngModel)]=\"newFromDate\"\r\n placeholder=\"From\"\r\n [defaultToPresentDate]=\"false\"\r\n [dateFormat]=\"dateFormat\"\r\n [to]=\"boundaryForFromDate\"\r\n ></hxa-datepicker-input>\r\n</div>\r\n<div class=\"px-4 py-3\">\r\n <hxa-datepicker-input\r\n placement=\"bottom\"\r\n [(ngModel)]=\"newToDate\"\r\n placeholder=\"To\"\r\n [defaultToPresentDate]=\"false\"\r\n [dateFormat]=\"dateFormat\"\r\n [from]=\"boundaryForToDate\"\r\n ></hxa-datepicker-input>\r\n</div>\r\n<div class=\"hx-date-range-picker-interval-footer pa-3\">\r\n <div class=\"hx-columns\">\r\n <div class=\"hx-column\">\r\n <button id=\"custom_cancel\" class=\"hx-button\" (click)=\"onCancel()\">\r\n Cancel\r\n </button>\r\n </div>\r\n <div class=\"hx-column is-text-right\">\r\n <button\r\n id=\"custom_select\"\r\n class=\"hx-button is-primary\"\r\n (click)=\"onSelected()\"\r\n >\r\n Select\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".hx-date-range-picker-interval-footer{flex:0 0 auto;background-color:#0000000a}\n"] }] }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DatePipe }]; }, propDecorators: { currentFromDate: [{ type: Input }], currentToDate: [{ type: Input }], dateFormat: [{ type: Input }], newSelectedCustomDate: [{ type: Output }], closeDropdown: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItY3VzdG9tLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h4LXVpL3NyYy9saWIvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXItY3VzdG9tL2RhdGUtcmFuZ2UtcGlja2VyLWN1c3RvbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9oeC11aS9zcmMvbGliL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLWN1c3RvbS9kYXRlLXJhbmdlLXBpY2tlci1jdXN0b20uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQU8vRCxNQUFNLE9BQU8sOEJBQThCO0lBT3pDLFlBQW9CLEdBQXNCLEVBQVUsUUFBa0I7UUFBbEQsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBSDVELDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbkQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBSXRELHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO0lBRm1DLENBQUM7SUFTMUUsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDekM7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztTQUMvQjtRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDckM7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztTQUM3QjtRQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FDOUMsSUFBSSxDQUFDLFdBQVcsRUFDaEIsWUFBWSxDQUNiLENBQUM7UUFDRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQ2hELElBQUksQ0FBQyxTQUFTLEVBQ2QsWUFBWSxDQUNiLENBQUM7UUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUM5QyxJQUFJLENBQUMsV0FBVyxFQUNoQixZQUFZLENBQ2IsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FDaEQsSUFBSSxDQUFDLFNBQVMsRUFDZCxZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFVBQVU7UUFDUiw2Q0FBNkM7UUFDN0MsSUFDRSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUk7WUFDeEIsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVM7WUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVztZQUVqQyxPQUFPLElBQUksQ0FBQztRQUVkLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OzRIQWpFVSw4QkFBOEI7Z0hBQTlCLDhCQUE4QiwyUUNqQjNDLHVsQ0FzQ0E7NEZEckJhLDhCQUE4QjtrQkFMMUMsU0FBUzsrQkFDRSw4QkFBOEI7K0hBSy9CLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBEb0NoZWNrLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVTZWxlY3Rpb25UeXBlIH0gZnJvbSAnLi4vZGF0ZS1yYW5nZS1waWNrZXIubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdoeGEtZGF0ZS1yYW5nZS1waWNrZXItY3VzdG9tJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1yYW5nZS1waWNrZXItY3VzdG9tLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLXBpY2tlci1jdXN0b20uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlUGlja2VyQ3VzdG9tQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrIHtcclxuICBASW5wdXQoKSBjdXJyZW50RnJvbURhdGU6IERhdGU7XHJcbiAgQElucHV0KCkgY3VycmVudFRvRGF0ZTogRGF0ZTtcclxuICBASW5wdXQoKSBkYXRlRm9ybWF0OiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIG5ld1NlbGVjdGVkQ3VzdG9tRGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZURyb3Bkb3duID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlKSB7fVxyXG5cclxuICBEYXRlU2VsZWN0aW9uVHlwZSA9IERhdGVTZWxlY3Rpb25UeXBlO1xyXG4gIG5ld0Zyb21EYXRlOiBEYXRlO1xyXG4gIG5ld1RvRGF0ZTogRGF0ZTtcclxuXHJcbiAgYm91bmRhcnlGb3JGcm9tRGF0ZTogc3RyaW5nO1xyXG4gIGJvdW5kYXJ5Rm9yVG9EYXRlOiBzdHJpbmc7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudEZyb21EYXRlKSB7XHJcbiAgICAgIHRoaXMubmV3RnJvbURhdGUgPSB0aGlzLmN1cnJlbnRGcm9tRGF0ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubmV3RnJvbURhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VycmVudFRvRGF0ZSkge1xyXG4gICAgICB0aGlzLm5ld1RvRGF0ZSA9IHRoaXMuY3VycmVudFRvRGF0ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubmV3VG9EYXRlID0gbmV3IERhdGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuYm91bmRhcnlGb3JUb0RhdGUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShcclxuICAgICAgdGhpcy5uZXdGcm9tRGF0ZSxcclxuICAgICAgJ2RkL01NL3l5eXknXHJcbiAgICApO1xyXG4gICAgdGhpcy5ib3VuZGFyeUZvckZyb21EYXRlID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oXHJcbiAgICAgIHRoaXMubmV3VG9EYXRlLFxyXG4gICAgICAnZGQvTU0veXl5eSdcclxuICAgICk7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIHRoaXMuYm91bmRhcnlGb3JUb0RhdGUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShcclxuICAgICAgdGhpcy5uZXdGcm9tRGF0ZSxcclxuICAgICAgJ2RkL01NL3l5eXknXHJcbiAgICApO1xyXG4gICAgdGhpcy5ib3VuZGFyeUZvckZyb21EYXRlID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oXHJcbiAgICAgIHRoaXMubmV3VG9EYXRlLFxyXG4gICAgICAnZGQvTU0veXl5eSdcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBvbkNhbmNlbCgpIHtcclxuICAgIHRoaXMuY2xvc2VEcm9wZG93bi5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RlZCgpIHtcclxuICAgIC8vIGRvIG5vdGhpbmcgYWdhaW5zdCBmYWlsZWQgYmFzaWMgdmFsaWRhdGlvblxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLm5ld0Zyb21EYXRlID09IG51bGwgfHxcclxuICAgICAgdGhpcy5uZXdUb0RhdGUgPT0gbnVsbCB8fFxyXG4gICAgICB0aGlzLm5ld0Zyb21EYXRlID4gdGhpcy5uZXdUb0RhdGUgfHxcclxuICAgICAgdGhpcy5uZXdUb0RhdGUgPCB0aGlzLm5ld0Zyb21EYXRlXHJcbiAgICApXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgIHRoaXMubmV3U2VsZWN0ZWRDdXN0b21EYXRlLmVtaXQoW3RoaXMubmV3RnJvbURhdGUsIHRoaXMubmV3VG9EYXRlXSk7XHJcbiAgICB0aGlzLmNsb3NlRHJvcGRvd24uZW1pdCh0cnVlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInB4LTQgcHQtM1wiPlxyXG4gIDxoeGEtZGF0ZXBpY2tlci1pbnB1dFxyXG4gICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgIFsobmdNb2RlbCldPVwibmV3RnJvbURhdGVcIlxyXG4gICAgcGxhY2Vob2xkZXI9XCJGcm9tXCJcclxuICAgIFtkZWZhdWx0VG9QcmVzZW50RGF0ZV09XCJmYWxzZVwiXHJcbiAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0XCJcclxuICAgIFt0b109XCJib3VuZGFyeUZvckZyb21EYXRlXCJcclxuICA+PC9oeGEtZGF0ZXBpY2tlci1pbnB1dD5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJweC00IHB5LTNcIj5cclxuICA8aHhhLWRhdGVwaWNrZXItaW5wdXRcclxuICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICBbKG5nTW9kZWwpXT1cIm5ld1RvRGF0ZVwiXHJcbiAgICBwbGFjZWhvbGRlcj1cIlRvXCJcclxuICAgIFtkZWZhdWx0VG9QcmVzZW50RGF0ZV09XCJmYWxzZVwiXHJcbiAgICBbZGF0ZUZvcm1hdF09XCJkYXRlRm9ybWF0XCJcclxuICAgIFtmcm9tXT1cImJvdW5kYXJ5Rm9yVG9EYXRlXCJcclxuICA+PC9oeGEtZGF0ZXBpY2tlci1pbnB1dD5cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJoeC1kYXRlLXJhbmdlLXBpY2tlci1pbnRlcnZhbC1mb290ZXIgcGEtM1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJoeC1jb2x1bW5zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaHgtY29sdW1uXCI+XHJcbiAgICAgIDxidXR0b24gaWQ9XCJjdXN0b21fY2FuY2VsXCIgY2xhc3M9XCJoeC1idXR0b25cIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPlxyXG4gICAgICAgIENhbmNlbFxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImh4LWNvbHVtbiBpcy10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBpZD1cImN1c3RvbV9zZWxlY3RcIlxyXG4gICAgICAgIGNsYXNzPVwiaHgtYnV0dG9uIGlzLXByaW1hcnlcIlxyXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdGVkKClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgU2VsZWN0XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=