UNPKG

@qeydar/datepicker

Version:

A comprehensive Date and Time Picker for Angular with Jalali calendar support

121 lines (120 loc) 4.15 kB
import { DateAdapter } from '../../date-adapter'; import { CustomLabels, YearRange } from '../../utils/models'; import { DatepickerMode } from '../../utils/types'; import * as i0 from "@angular/core"; export declare class CalendarUtilsService { /** * Generate days grid for calendar view */ generateDaysGrid(currentDate: Date, dateAdapter: DateAdapter<Date>): Date[]; /** * Generate month list (1-12) */ generateMonthList(): number[]; /** * Generate year list around a specific year */ generateYearList(centerYear: number, length?: number): number[]; /** * Generate year ranges for year selector */ generateYearRanges(length: number, dateAdapter: DateAdapter<Date>): YearRange[]; /** * Get week day names */ getWeekDays(dateAdapter: DateAdapter<Date>): string[]; /** * Get month names */ getMonthNames(dateAdapter: DateAdapter<Date>, format?: 'long' | 'short'): string[]; /** * Get month name by number */ getMonthName(month: number, dateAdapter: DateAdapter<Date>): string; /** * Get current month name */ getCurrentMonthName(currentDate: Date, dateAdapter: DateAdapter<Date>): string; /** * Get current year */ getCurrentYear(currentDate: Date, dateAdapter: DateAdapter<Date>): number; /** * Navigate to previous month */ navigateToPrevMonth(currentDate: Date, dateAdapter: DateAdapter<Date>): Date; /** * Navigate to next month */ navigateToNextMonth(currentDate: Date, dateAdapter: DateAdapter<Date>): Date; /** * Navigate to previous year */ navigateToPrevYear(currentDate: Date, dateAdapter: DateAdapter<Date>): Date; /** * Navigate to next year */ navigateToNextYear(currentDate: Date, dateAdapter: DateAdapter<Date>): Date; /** * Navigate to previous year range */ navigateToPrevYearRange(yearList: number[]): number[]; /** * Navigate to next year range */ navigateToNextYearRange(yearList: number[]): number[]; /** * Create date for month selection */ createDateForMonth(year: number, month: number, dateAdapter: DateAdapter<Date>): Date; /** * Create date for year selection */ createDateForYear(year: number, currentDate: Date, dateAdapter: DateAdapter<Date>): Date; /** * Set year for existing date */ setYearForDate(date: Date, year: number, dateAdapter: DateAdapter<Date>): Date; /** * Determine view mode based on datepicker mode */ determineViewMode(mode: DatepickerMode): 'days' | 'months' | 'years'; /** * Generate default periods for range picker */ generateDefaultPeriods(today: Date, lang: any): CustomLabels[]; /** * Helper method to add days (used in generateDefaultPeriods) */ private addDays; /** * Helper method to add months (used in generateDefaultPeriods) */ private addMonths; /** * Check if two dates are in the same month */ isSameMonth(date1: Date, date2: Date, dateAdapter: DateAdapter<Date>): boolean; /** * Check if date is today */ isToday(date: Date, dateAdapter: DateAdapter<Date>): boolean; /** * Check if month is active */ isActiveMonth(month: number, currentDate: Date, dateAdapter: DateAdapter<Date>): boolean; /** * Check if year is active */ isActiveYear(year: number, currentDate: Date, dateAdapter: DateAdapter<Date>): boolean; /** * Check if year range is active */ isActiveYearRange(startYear: number, yearList: number[]): boolean; /** * Get scroll item ID for different view modes */ getScrollItemId(viewMode: 'days' | 'months' | 'years', date: Date, dateAdapter: DateAdapter<Date>, yearRanges?: YearRange[]): number | null; static ɵfac: i0.ɵɵFactoryDeclaration<CalendarUtilsService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<CalendarUtilsService>; }