55 lines
1.4 KiB
TypeScript
55 lines
1.4 KiB
TypeScript
import { IColumnDataSource } from '../types/ColumnDataSource';
|
|
import { DateService } from '../utils/DateService';
|
|
import { Configuration } from '../configurations/CalendarConfig';
|
|
import { CalendarView } from '../types/CalendarTypes';
|
|
/**
|
|
* DateColumnDataSource - Provides date-based columns
|
|
*
|
|
* Calculates which dates to display based on:
|
|
* - Current date
|
|
* - Current view (day/week/month)
|
|
* - Workweek settings
|
|
*/
|
|
export declare class DateColumnDataSource implements IColumnDataSource {
|
|
private dateService;
|
|
private config;
|
|
private currentDate;
|
|
private currentView;
|
|
constructor(dateService: DateService, config: Configuration, currentDate: Date, currentView: CalendarView);
|
|
/**
|
|
* Get columns (dates) to display
|
|
*/
|
|
getColumns(): Date[];
|
|
/**
|
|
* Get type of datasource
|
|
*/
|
|
getType(): 'date' | 'resource';
|
|
/**
|
|
* Update current date
|
|
*/
|
|
setCurrentDate(date: Date): void;
|
|
/**
|
|
* Update current view
|
|
*/
|
|
setCurrentView(view: CalendarView): void;
|
|
/**
|
|
* Get dates for week view based on workweek settings
|
|
*/
|
|
private getWeekDates;
|
|
/**
|
|
* Get all dates in current month
|
|
*/
|
|
private getMonthDates;
|
|
/**
|
|
* Get ISO week start (Monday)
|
|
*/
|
|
private getISOWeekStart;
|
|
/**
|
|
* Get month start
|
|
*/
|
|
private getMonthStart;
|
|
/**
|
|
* Get month end
|
|
*/
|
|
private getMonthEnd;
|
|
}
|