@qeydar/datepicker
Version:
A comprehensive Date and Time Picker for Angular with Jalali calendar support
121 lines (120 loc) • 4.15 kB
TypeScript
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>;
}