UNPKG

6.12 kBTypeScriptView Raw
1import { EventEmitter, TemplateRef } from '@angular/core';
2import { CalendarEvent } from 'calendar-utils';
3import { Subject } from 'rxjs';
4import { CalendarEventTimesChangedEvent } from '../../common/calendar-event-times-changed-event/calendar-event-times-changed-event.interface';
5import { PlacementArray } from 'positioning';
6import { CalendarWeekViewBeforeRenderEvent } from '../../week/calendar-week.module';
7import { ResizeCursors } from 'angular-resizable-element';
8import * as i0 from "@angular/core";
9export declare type CalendarDayViewBeforeRenderEvent = CalendarWeekViewBeforeRenderEvent;
10/**
11 * Shows all events on a given day. Example usage:
12 *
13 * ```typescript
14 * <mwl-calendar-day-view
15 * [viewDate]="viewDate"
16 * [events]="events">
17 * </mwl-calendar-day-view>
18 * ```
19 */
20export declare class CalendarDayViewComponent {
21 /**
22 * The current view date
23 */
24 viewDate: Date;
25 /**
26 * An array of events to display on view
27 * The schema is available here: https://github.com/mattlewis92/calendar-utils/blob/c51689985f59a271940e30bc4e2c4e1fee3fcb5c/src/calendarUtils.ts#L49-L63
28 */
29 events: CalendarEvent[];
30 /**
31 * The number of segments in an hour. Must divide equally into 60.
32 */
33 hourSegments: number;
34 /**
35 * The height in pixels of each hour segment
36 */
37 hourSegmentHeight: number;
38 /**
39 * The duration of each segment group in minutes
40 */
41 hourDuration: number;
42 /**
43 * The minimum height in pixels of each event
44 */
45 minimumEventHeight: number;
46 /**
47 * The day start hours in 24 hour time. Must be 0-23
48 */
49 dayStartHour: number;
50 /**
51 * The day start minutes. Must be 0-59
52 */
53 dayStartMinute: number;
54 /**
55 * The day end hours in 24 hour time. Must be 0-23
56 */
57 dayEndHour: number;
58 /**
59 * The day end minutes. Must be 0-59
60 */
61 dayEndMinute: number;
62 /**
63 * An observable that when emitted on will re-render the current view
64 */
65 refresh: Subject<any>;
66 /**
67 * The locale used to format dates
68 */
69 locale: string;
70 /**
71 * The grid size to snap resizing and dragging of events to
72 */
73 eventSnapSize: number;
74 /**
75 * The placement of the event tooltip
76 */
77 tooltipPlacement: PlacementArray;
78 /**
79 * A custom template to use for the event tooltips
80 */
81 tooltipTemplate: TemplateRef<any>;
82 /**
83 * Whether to append tooltips to the body or next to the trigger element
84 */
85 tooltipAppendToBody: boolean;
86 /**
87 * The delay in milliseconds before the tooltip should be displayed. If not provided the tooltip
88 * will be displayed immediately.
89 */
90 tooltipDelay: number | null;
91 /**
92 * A custom template to use to replace the hour segment
93 */
94 hourSegmentTemplate: TemplateRef<any>;
95 /**
96 * A custom template to use for day view events
97 */
98 eventTemplate: TemplateRef<any>;
99 /**
100 * A custom template to use for event titles
101 */
102 eventTitleTemplate: TemplateRef<any>;
103 /**
104 * A custom template to use for event actions
105 */
106 eventActionsTemplate: TemplateRef<any>;
107 /**
108 * Whether to snap events to a grid when dragging
109 */
110 snapDraggedEvents: boolean;
111 /**
112 * A custom template to use for the all day events label text
113 */
114 allDayEventsLabelTemplate: TemplateRef<any>;
115 /**
116 * A custom template to use for the current time marker
117 */
118 currentTimeMarkerTemplate: TemplateRef<any>;
119 /**
120 * Allow you to customise where events can be dragged and resized to.
121 * Return true to allow dragging and resizing to the new location, or false to prevent it
122 */
123 validateEventTimesChanged: (event: CalendarEventTimesChangedEvent) => boolean;
124 /**
125 * Customise the document cursor when dragging to resize an event
126 */
127 resizeCursors: Partial<Pick<ResizeCursors, 'leftOrRight' | 'topOrBottom'>>;
128 /**
129 * Called when an event title is clicked
130 */
131 eventClicked: EventEmitter<{
132 event: CalendarEvent;
133 sourceEvent: MouseEvent | KeyboardEvent;
134 }>;
135 /**
136 * Called when an hour segment is clicked
137 */
138 hourSegmentClicked: EventEmitter<{
139 date: Date;
140 sourceEvent: MouseEvent;
141 }>;
142 /**
143 * Called when an event is resized or dragged and dropped
144 */
145 eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent<any>>;
146 /**
147 * An output that will be called before the view is rendered for the current day.
148 * If you add the `cssClass` property to an hour grid segment it will add that class to the hour segment in the template
149 */
150 beforeViewRender: EventEmitter<CalendarWeekViewBeforeRenderEvent>;
151 static ɵfac: i0.ɵɵFactoryDeclaration<CalendarDayViewComponent, never>;
152 static ɵcmp: i0.ɵɵComponentDeclaration<CalendarDayViewComponent, "mwl-calendar-day-view", never, { "viewDate": "viewDate"; "events": "events"; "hourSegments": "hourSegments"; "hourSegmentHeight": "hourSegmentHeight"; "hourDuration": "hourDuration"; "minimumEventHeight": "minimumEventHeight"; "dayStartHour": "dayStartHour"; "dayStartMinute": "dayStartMinute"; "dayEndHour": "dayEndHour"; "dayEndMinute": "dayEndMinute"; "refresh": "refresh"; "locale": "locale"; "eventSnapSize": "eventSnapSize"; "tooltipPlacement": "tooltipPlacement"; "tooltipTemplate": "tooltipTemplate"; "tooltipAppendToBody": "tooltipAppendToBody"; "tooltipDelay": "tooltipDelay"; "hourSegmentTemplate": "hourSegmentTemplate"; "eventTemplate": "eventTemplate"; "eventTitleTemplate": "eventTitleTemplate"; "eventActionsTemplate": "eventActionsTemplate"; "snapDraggedEvents": "snapDraggedEvents"; "allDayEventsLabelTemplate": "allDayEventsLabelTemplate"; "currentTimeMarkerTemplate": "currentTimeMarkerTemplate"; "validateEventTimesChanged": "validateEventTimesChanged"; "resizeCursors": "resizeCursors"; }, { "eventClicked": "eventClicked"; "hourSegmentClicked": "hourSegmentClicked"; "eventTimesChanged": "eventTimesChanged"; "beforeViewRender": "beforeViewRender"; }, never, never, false, never>;
153}