import {Component, Injectable} from '@angular/core'; import {Ng2vDateStruct, Ng2vCalendar, Ng2vCalendarIslamicCivil, Ng2vDatepickerI18n} from '@ng2v/ng2v-components'; const WEEKDAYS_SHORT = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su']; const MONTHS_SHORT = ['Muh.', 'Saf.', 'Rab. I', 'Rab. II', 'Jum. I', 'Jum. II', 'Raj.', 'Sha.', 'Ram.', 'Shaw.', 'Dhuʻl-Q.', 'Dhuʻl-H.']; const MONTHS_FULL = [ 'Muharram', 'Safar', 'Rabiʻ I', 'Rabiʻ II', 'Jumada I', 'Jumada II', 'Rajab', 'Shaʻban', 'Ramadan', 'Shawwal', 'Dhuʻl-Qiʻdah', 'Dhuʻl-Hijjah' ]; @Injectable() export class IslamicCivilI18n extends Ng2vDatepickerI18n { getWeekdayShortName(weekday: number) { return WEEKDAYS_SHORT[weekday - 1]; } getMonthShortName(month: number) { return MONTHS_SHORT[month - 1]; } getMonthFullName(month: number) { return MONTHS_FULL[month - 1]; } } @Component({ selector: 'ng2vd-datepicker-calendars', templateUrl: './datepicker-calendars.html', providers: [ {provide: Ng2vCalendar, useClass: Ng2vCalendarIslamicCivil}, {provide: Ng2vDatepickerI18n, useClass: IslamicCivilI18n} ] }) export class Ng2vdDatepickerCalendars { private today: Ng2vDateStruct; model: Ng2vDateStruct; date: {year: number, month: number}; constructor(calendar: Ng2vCalendar) { this.today = calendar.getToday(); } selectToday() { this.model = { year: this.today.year, month: this.today.month, day: this.today.day }; } }