import { Component, EventEmitter, Input, Output } from '@angular/core';
import { yearsPerCalendar } from '../../engine/format-years-calendar';
import {
BsDatepickerViewMode,
BsNavigationDirection,
BsNavigationEvent,
CalendarCellViewModel,
CellHoverEvent,
YearsCalendarViewModel
} from '../../models/index';
@Component({
selector: 'bs-years-calendar-view',
template: `
`
})
export class BsYearsCalendarViewComponent {
@Input() calendar: YearsCalendarViewModel;
@Output() onNavigate = new EventEmitter();
@Output() onViewMode = new EventEmitter();
@Output() onSelect = new EventEmitter();
@Output() onHover = new EventEmitter();
navigateTo(event: BsNavigationDirection): void {
const step = BsNavigationDirection.DOWN === event ? -1 : 1;
this.onNavigate.emit({step: {year: step * yearsPerCalendar}});
}
viewYear(year: CalendarCellViewModel) {
this.onSelect.emit(year);
}
hoverYear(cell: CalendarCellViewModel, isHovered: boolean) {
this.onHover.emit({cell, isHovered});
}
changeViewMode(event: BsDatepickerViewMode): void {
this.onViewMode.emit(event);
}
}