Some ignored filles was missing
This commit is contained in:
parent
7db22245e2
commit
fd5ab6bc0d
268 changed files with 31970 additions and 4 deletions
149
wwwroot/js/utils/DateCalculator.d.ts
vendored
Normal file
149
wwwroot/js/utils/DateCalculator.d.ts
vendored
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
/**
|
||||
* DateCalculator - Centralized date calculation logic for calendar
|
||||
* Handles all date computations with proper week start handling
|
||||
*/
|
||||
import { CalendarConfig } from '../core/CalendarConfig';
|
||||
export declare class DateCalculator {
|
||||
private static config;
|
||||
/**
|
||||
* Initialize DateCalculator with configuration
|
||||
* @param config - Calendar configuration
|
||||
*/
|
||||
static initialize(config: CalendarConfig): void;
|
||||
/**
|
||||
* Validate that a date is valid
|
||||
* @param date - Date to validate
|
||||
* @param methodName - Name of calling method for error messages
|
||||
* @throws Error if date is invalid
|
||||
*/
|
||||
private static validateDate;
|
||||
/**
|
||||
* Get dates for work week using ISO 8601 day numbering (Monday=1, Sunday=7)
|
||||
* @param weekStart - Any date in the week
|
||||
* @returns Array of dates for the configured work days
|
||||
*/
|
||||
static getWorkWeekDates(weekStart: Date): Date[];
|
||||
/**
|
||||
* Get the start of the ISO week (Monday) for a given date
|
||||
* @param date - Any date in the week
|
||||
* @returns The Monday of the ISO week
|
||||
*/
|
||||
static getISOWeekStart(date: Date): Date;
|
||||
/**
|
||||
* Get the end of the ISO week for a given date
|
||||
* @param date - Any date in the week
|
||||
* @returns The end date of the ISO week (Sunday)
|
||||
*/
|
||||
static getWeekEnd(date: Date): Date;
|
||||
/**
|
||||
* Get week number for a date (ISO 8601)
|
||||
* @param date - The date to get week number for
|
||||
* @returns Week number (1-53)
|
||||
*/
|
||||
static getWeekNumber(date: Date): number;
|
||||
/**
|
||||
* Format a date range with customizable options
|
||||
* @param start - Start date
|
||||
* @param end - End date
|
||||
* @param options - Formatting options
|
||||
* @returns Formatted date range string
|
||||
*/
|
||||
static formatDateRange(start: Date, end: Date, options?: {
|
||||
locale?: string;
|
||||
month?: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow';
|
||||
day?: 'numeric' | '2-digit';
|
||||
year?: 'numeric' | '2-digit';
|
||||
}): string;
|
||||
/**
|
||||
* Format a date to ISO date string (YYYY-MM-DD)
|
||||
* @param date - Date to format
|
||||
* @returns ISO date string
|
||||
*/
|
||||
static formatISODate(date: Date): string;
|
||||
/**
|
||||
* Check if a date is today
|
||||
* @param date - Date to check
|
||||
* @returns True if the date is today
|
||||
*/
|
||||
static isToday(date: Date): boolean;
|
||||
/**
|
||||
* Add days to a date
|
||||
* @param date - Base date
|
||||
* @param days - Number of days to add (can be negative)
|
||||
* @returns New date
|
||||
*/
|
||||
static addDays(date: Date, days: number): Date;
|
||||
/**
|
||||
* Add weeks to a date
|
||||
* @param date - Base date
|
||||
* @param weeks - Number of weeks to add (can be negative)
|
||||
* @returns New date
|
||||
*/
|
||||
static addWeeks(date: Date, weeks: number): Date;
|
||||
/**
|
||||
* Get all dates in a week
|
||||
* @param weekStart - Start of the week
|
||||
* @returns Array of 7 dates for the full week
|
||||
*/
|
||||
static getFullWeekDates(weekStart: Date): Date[];
|
||||
/**
|
||||
* Get the day name for a date using Intl.DateTimeFormat
|
||||
* @param date - Date to get day name for
|
||||
* @param format - 'short' or 'long'
|
||||
* @returns Day name
|
||||
*/
|
||||
static getDayName(date: Date, format?: 'short' | 'long'): string;
|
||||
/**
|
||||
* Format time to HH:MM
|
||||
* @param date - Date to format
|
||||
* @returns Time string
|
||||
*/
|
||||
static formatTime(date: Date): string;
|
||||
/**
|
||||
* Format time to 12-hour format
|
||||
* @param date - Date to format
|
||||
* @returns 12-hour time string
|
||||
*/
|
||||
static formatTime12(date: Date): string;
|
||||
/**
|
||||
* Convert minutes since midnight to time string
|
||||
* @param minutes - Minutes since midnight
|
||||
* @returns Time string
|
||||
*/
|
||||
static minutesToTime(minutes: number): string;
|
||||
/**
|
||||
* Convert time string to minutes since midnight
|
||||
* @param timeStr - Time string
|
||||
* @returns Minutes since midnight
|
||||
*/
|
||||
static timeToMinutes(timeStr: string): number;
|
||||
/**
|
||||
* Get minutes since start of day
|
||||
* @param date - Date or ISO string
|
||||
* @returns Minutes since midnight
|
||||
*/
|
||||
static getMinutesSinceMidnight(date: Date | string): number;
|
||||
/**
|
||||
* Calculate duration in minutes between two dates
|
||||
* @param start - Start date or ISO string
|
||||
* @param end - End date or ISO string
|
||||
* @returns Duration in minutes
|
||||
*/
|
||||
static getDurationMinutes(start: Date | string, end: Date | string): number;
|
||||
/**
|
||||
* Check if two dates are on the same day
|
||||
* @param date1 - First date
|
||||
* @param date2 - Second date
|
||||
* @returns True if same day
|
||||
*/
|
||||
static isSameDay(date1: Date, date2: Date): boolean;
|
||||
/**
|
||||
* Check if event spans multiple days
|
||||
* @param start - Start date or ISO string
|
||||
* @param end - End date or ISO string
|
||||
* @returns True if spans multiple days
|
||||
*/
|
||||
static isMultiDay(start: Date | string, end: Date | string): boolean;
|
||||
constructor();
|
||||
}
|
||||
export declare function createDateCalculator(config: CalendarConfig): DateCalculator;
|
||||
Loading…
Add table
Add a link
Reference in a new issue