30 lines
894 B
TypeScript
30 lines
894 B
TypeScript
|
|
import { CalendarConfig } from '../core/CalendarConfig';
|
||
|
|
import { ResourceCalendarData } from '../types/CalendarTypes';
|
||
|
|
/**
|
||
|
|
* Interface for header rendering strategies
|
||
|
|
*/
|
||
|
|
export interface HeaderRenderer {
|
||
|
|
render(calendarHeader: HTMLElement, context: HeaderRenderContext): void;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Context for header rendering
|
||
|
|
*/
|
||
|
|
export interface HeaderRenderContext {
|
||
|
|
currentWeek: Date;
|
||
|
|
config: CalendarConfig;
|
||
|
|
resourceData?: ResourceCalendarData | null;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Date-based header renderer (original functionality)
|
||
|
|
*/
|
||
|
|
export declare class DateHeaderRenderer implements HeaderRenderer {
|
||
|
|
private dateService;
|
||
|
|
render(calendarHeader: HTMLElement, context: HeaderRenderContext): void;
|
||
|
|
}
|
||
|
|
/**
|
||
|
|
* Resource-based header renderer
|
||
|
|
*/
|
||
|
|
export declare class ResourceHeaderRenderer implements HeaderRenderer {
|
||
|
|
render(calendarHeader: HTMLElement, context: HeaderRenderContext): void;
|
||
|
|
}
|