import { EventEmitter, TemplateRef } from '@angular/core'; import { CalendarEvent } from 'calendar-utils'; import { Subject } from 'rxjs'; import { CalendarEventTimesChangedEvent } from '../common/calendar-event-times-changed-event.interface'; import { PlacementArray } from 'positioning'; import { CalendarWeekViewBeforeRenderEvent } from '../week/calendar-week.module'; export declare type CalendarDayViewBeforeRenderEvent = CalendarWeekViewBeforeRenderEvent; /** * Shows all events on a given day. Example usage: * * ```typescript * * * ``` */ export declare class CalendarDayViewComponent { /** * The current view date */ viewDate: Date; /** * An array of events to display on view * The schema is available here: https://github.com/mattlewis92/calendar-utils/blob/c51689985f59a271940e30bc4e2c4e1fee3fcb5c/src/calendarUtils.ts#L49-L63 */ events: CalendarEvent[]; /** * The number of segments in an hour. Must divide equally into 60. */ hourSegments: number; /** * The height in pixels of each hour segment */ hourSegmentHeight: number; /** * The day start hours in 24 hour time. Must be 0-23 */ dayStartHour: number; /** * The day start minutes. Must be 0-59 */ dayStartMinute: number; /** * The day end hours in 24 hour time. Must be 0-23 */ dayEndHour: number; /** * The day end minutes. Must be 0-59 */ dayEndMinute: number; /** * An observable that when emitted on will re-render the current view */ refresh: Subject; /** * The locale used to format dates */ locale: string; /** * The grid size to snap resizing and dragging of events to */ eventSnapSize: number; /** * The placement of the event tooltip */ tooltipPlacement: PlacementArray; /** * A custom template to use for the event tooltips */ tooltipTemplate: TemplateRef; /** * Whether to append tooltips to the body or next to the trigger element */ tooltipAppendToBody: boolean; /** * The delay in milliseconds before the tooltip should be displayed. If not provided the tooltip * will be displayed immediately. */ tooltipDelay: number | null; /** * A custom template to use to replace the hour segment */ hourSegmentTemplate: TemplateRef; /** * A custom template to use for day view events */ eventTemplate: TemplateRef; /** * A custom template to use for event titles */ eventTitleTemplate: TemplateRef; /** * A custom template to use for event actions */ eventActionsTemplate: TemplateRef; /** * Whether to snap events to a grid when dragging */ snapDraggedEvents: boolean; /** * A custom template to use for the all day events label text */ allDayEventsLabelTemplate: TemplateRef; /** * A custom template to use for the current time marker */ currentTimeMarkerTemplate: TemplateRef; /** * Called when an event title is clicked */ eventClicked: EventEmitter<{ event: CalendarEvent; sourceEvent: any; }>; /** * Called when an hour segment is clicked */ hourSegmentClicked: EventEmitter<{ date: Date; sourceEvent: MouseEvent; }>; /** * Called when an event is resized or dragged and dropped */ eventTimesChanged: EventEmitter>; /** * An output that will be called before the view is rendered for the current day. * If you add the `cssClass` property to an hour grid segment it will add that class to the hour segment in the template */ beforeViewRender: EventEmitter; }