@catull/igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
109 lines • 9.7 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Component, ViewChild, Input, Output, EventEmitter, HostListener, HostBinding } from '@angular/core';
import { IgxCalendarComponent } from '../calendar';
import { InteractionMode } from '../core/enums';
import { IgxDatePickerActionsDirective } from './date-picker.directives';
/**
* @hidden
*/
let IgxCalendarContainerComponent = class IgxCalendarContainerComponent {
constructor() {
this.mode = InteractionMode.Dialog;
this.vertical = false;
this.onClose = new EventEmitter();
this.onTodaySelection = new EventEmitter();
this.styleClass = 'igx-date-picker';
}
get dropdownCSS() {
return this.mode === InteractionMode.DropDown;
}
get verticalCSS() {
return this.vertical && this.mode === InteractionMode.Dialog;
}
onEscape(event) {
event.preventDefault();
this.onClose.emit();
}
/**
* Returns whether the date-picker is in readonly dialog mode.
*
* @hidden
*/
get isReadonly() {
return this.mode === InteractionMode.Dialog;
}
/**
* Emits close event for the calendar.
*/
closeCalendar() {
this.onClose.emit();
}
/**
* Emits today selection event for the calendar.
*/
triggerTodaySelection() {
this.onTodaySelection.emit();
}
};
__decorate([
ViewChild('calendar', { static: true }),
__metadata("design:type", IgxCalendarComponent)
], IgxCalendarContainerComponent.prototype, "calendar", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], IgxCalendarContainerComponent.prototype, "mode", void 0);
__decorate([
Input(),
__metadata("design:type", Object)
], IgxCalendarContainerComponent.prototype, "vertical", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], IgxCalendarContainerComponent.prototype, "cancelButtonLabel", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], IgxCalendarContainerComponent.prototype, "todayButtonLabel", void 0);
__decorate([
Input(),
__metadata("design:type", IgxDatePickerActionsDirective)
], IgxCalendarContainerComponent.prototype, "datePickerActions", void 0);
__decorate([
Output(),
__metadata("design:type", Object)
], IgxCalendarContainerComponent.prototype, "onClose", void 0);
__decorate([
Output(),
__metadata("design:type", Object)
], IgxCalendarContainerComponent.prototype, "onTodaySelection", void 0);
__decorate([
HostBinding('class.igx-date-picker'),
__metadata("design:type", Object)
], IgxCalendarContainerComponent.prototype, "styleClass", void 0);
__decorate([
HostBinding('class.igx-date-picker--dropdown'),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [])
], IgxCalendarContainerComponent.prototype, "dropdownCSS", null);
__decorate([
HostBinding('class.igx-date-picker--vertical'),
__metadata("design:type", Boolean),
__metadata("design:paramtypes", [])
], IgxCalendarContainerComponent.prototype, "verticalCSS", null);
__decorate([
HostListener('keydown.esc', ['$event']),
HostListener('keydown.alt.arrowup', ['$event']),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", void 0)
], IgxCalendarContainerComponent.prototype, "onEscape", null);
IgxCalendarContainerComponent = __decorate([
Component({
selector: 'igx-calendar-container',
template: "<ng-template #defaultDatePickerActions>\n <div *ngIf=\"cancelButtonLabel || todayButtonLabel\" class=\"igx-date-picker__buttons\">\n <button #closeButton *ngIf=\"cancelButtonLabel\" igxButton=\"flat\" igxRipple (click)=\"closeCalendar()\">\n {{ cancelButtonLabel }}\n </button>\n <button #todayButton *ngIf=\"todayButtonLabel\" igxButton=\"flat\" igxRipple (click)=\"triggerTodaySelection()\">\n {{ todayButtonLabel }}\n </button>\n </div>\n</ng-template>\n<igx-calendar #calendar></igx-calendar>\n<ng-container *ngTemplateOutlet=\"datePickerActions ? datePickerActions.template : defaultDatePickerActions\"></ng-container>\n",
styles: [':host {display: block;}']
})
], IgxCalendarContainerComponent);
export { IgxCalendarContainerComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2lnbml0ZXVpLWFuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvZGF0ZS1waWNrZXIvY2FsZW5kYXItY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RTs7R0FFRztBQU1ILElBQWEsNkJBQTZCLEdBQTFDLE1BQWEsNkJBQTZCO0lBQTFDO1FBS1csU0FBSSxHQUFvQixlQUFlLENBQUMsTUFBTSxDQUFDO1FBRy9DLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFZakIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHN0IscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd0QyxlQUFVLEdBQUcsaUJBQWlCLENBQUM7SUF5QzFDLENBQUM7SUF0Q0csSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQUdELElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDakUsQ0FBQztJQUlNLFFBQVEsQ0FBQyxLQUFLO1FBQ2pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7OztNQUlFO0lBQ0YsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsTUFBTSxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O01BRUU7SUFDSyxxQkFBcUI7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7Q0FDSixDQUFBO0FBakVHO0lBREMsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzs4QkFDdkIsb0JBQW9COytEQUFDO0FBR3RDO0lBREMsS0FBSyxFQUFFOzsyREFDOEM7QUFHdEQ7SUFEQyxLQUFLLEVBQUU7OytEQUNnQjtBQUd4QjtJQURDLEtBQUssRUFBRTs7d0VBQ3lCO0FBR2pDO0lBREMsS0FBSyxFQUFFOzt1RUFDd0I7QUFHaEM7SUFEQyxLQUFLLEVBQUU7OEJBQ2tCLDZCQUE2Qjt3RUFBQztBQUd4RDtJQURDLE1BQU0sRUFBRTs7OERBQzJCO0FBR3BDO0lBREMsTUFBTSxFQUFFOzt1RUFDb0M7QUFHN0M7SUFEQyxXQUFXLENBQUMsdUJBQXVCLENBQUM7O2lFQUNDO0FBR3RDO0lBREMsV0FBVyxDQUFDLGlDQUFpQyxDQUFDOzs7Z0VBRzlDO0FBR0Q7SUFEQyxXQUFXLENBQUMsaUNBQWlDLENBQUM7OztnRUFHOUM7QUFJRDtJQUZDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7Ozs2REFJL0M7QUEzQ1EsNkJBQTZCO0lBTHpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx3QkFBd0I7UUFFbEMscXJCQUFnRDtpQkFEdkMseUJBQXlCO0tBRXJDLENBQUM7R0FDVyw2QkFBNkIsQ0FtRXpDO1NBbkVZLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElneENhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FsZW5kYXInO1xuaW1wb3J0IHsgSW50ZXJhY3Rpb25Nb2RlIH0gZnJvbSAnLi4vY29yZS9lbnVtcyc7XG5pbXBvcnQgeyBJZ3hEYXRlUGlja2VyQWN0aW9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGF0ZS1waWNrZXIuZGlyZWN0aXZlcyc7XG5cbi8qKlxuICogQGhpZGRlblxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2lneC1jYWxlbmRhci1jb250YWluZXInLFxuICAgIHN0eWxlczogWyc6aG9zdCB7ZGlzcGxheTogYmxvY2s7fSddLFxuICAgIHRlbXBsYXRlVXJsOiAnY2FsZW5kYXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBJZ3hDYWxlbmRhckNvbnRhaW5lckNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnY2FsZW5kYXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHB1YmxpYyBjYWxlbmRhcjogSWd4Q2FsZW5kYXJDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtb2RlOiBJbnRlcmFjdGlvbk1vZGUgPSBJbnRlcmFjdGlvbk1vZGUuRGlhbG9nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdmVydGljYWwgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhbmNlbEJ1dHRvbkxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0b2RheUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkYXRlUGlja2VyQWN0aW9uczogSWd4RGF0ZVBpY2tlckFjdGlvbnNEaXJlY3RpdmU7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBvblRvZGF5U2VsZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pZ3gtZGF0ZS1waWNrZXInKVxuICAgIHB1YmxpYyBzdHlsZUNsYXNzID0gJ2lneC1kYXRlLXBpY2tlcic7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlneC1kYXRlLXBpY2tlci0tZHJvcGRvd24nKVxuICAgIGdldCBkcm9wZG93bkNTUygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZSA9PT0gSW50ZXJhY3Rpb25Nb2RlLkRyb3BEb3duO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaWd4LWRhdGUtcGlja2VyLS12ZXJ0aWNhbCcpXG4gICAgZ2V0IHZlcnRpY2FsQ1NTKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52ZXJ0aWNhbCAmJiB0aGlzLm1vZGUgPT09IEludGVyYWN0aW9uTW9kZS5EaWFsb2c7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2MnLCBbJyRldmVudCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYWx0LmFycm93dXAnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbkVzY2FwZShldmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLm9uQ2xvc2UuZW1pdCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgZGF0ZS1waWNrZXIgaXMgaW4gcmVhZG9ubHkgZGlhbG9nIG1vZGUuXG4gICAgICpcbiAgICAgKiBAaGlkZGVuXG4gICAgKi9cbiAgICBwdWJsaWMgZ2V0IGlzUmVhZG9ubHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGUgPT09IEludGVyYWN0aW9uTW9kZS5EaWFsb2c7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW1pdHMgY2xvc2UgZXZlbnQgZm9yIHRoZSBjYWxlbmRhci5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2xvc2VDYWxlbmRhcigpIHtcbiAgICAgICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAqIEVtaXRzIHRvZGF5IHNlbGVjdGlvbiBldmVudCBmb3IgdGhlIGNhbGVuZGFyLlxuICAgICovXG4gICAgcHVibGljIHRyaWdnZXJUb2RheVNlbGVjdGlvbigpIHtcbiAgICAgICAgdGhpcy5vblRvZGF5U2VsZWN0aW9uLmVtaXQoKTtcbiAgICB9XG59XG4iXX0=