UNPKG

9.03 kBTypeScriptView Raw
1import { DatePointApi, ViewApi, EventApi, EventChangeArg, Duration, EventDropArg, PluginDef } from '@fullcalendar/core';
2import { Emitter, PointerDragEvent, Rect, ScrollController, ElementDragging, Identity, DragMetaInput } from '@fullcalendar/core/internal';
3
4declare class PointerDragging {
5 containerEl: EventTarget;
6 subjectEl: HTMLElement | null;
7 emitter: Emitter<any>;
8 selector: string;
9 handleSelector: string;
10 shouldIgnoreMove: boolean;
11 shouldWatchScroll: boolean;
12 isDragging: boolean;
13 isTouchDragging: boolean;
14 wasTouchScroll: boolean;
15 origPageX: number;
16 origPageY: number;
17 prevPageX: number;
18 prevPageY: number;
19 prevScrollX: number;
20 prevScrollY: number;
21 constructor(containerEl: EventTarget);
22 destroy(): void;
23 tryStart(ev: UIEvent): boolean;
24 cleanup(): void;
25 querySubjectEl(ev: UIEvent): HTMLElement;
26 handleMouseDown: (ev: MouseEvent) => void;
27 handleMouseMove: (ev: MouseEvent) => void;
28 handleMouseUp: (ev: MouseEvent) => void;
29 shouldIgnoreMouse(): number | boolean;
30 handleTouchStart: (ev: TouchEvent) => void;
31 handleTouchMove: (ev: TouchEvent) => void;
32 handleTouchEnd: (ev: TouchEvent) => void;
33 handleTouchScroll: () => void;
34 cancelTouchScroll(): void;
35 initScrollWatch(ev: PointerDragEvent): void;
36 recordCoords(ev: PointerDragEvent): void;
37 handleScroll: (ev: UIEvent) => void;
38 destroyScrollWatch(): void;
39 createEventFromMouse(ev: MouseEvent, isFirst?: boolean): PointerDragEvent;
40 createEventFromTouch(ev: TouchEvent, isFirst?: boolean): PointerDragEvent;
41}
42
43declare class ElementMirror {
44 isVisible: boolean;
45 origScreenX?: number;
46 origScreenY?: number;
47 deltaX?: number;
48 deltaY?: number;
49 sourceEl: HTMLElement | null;
50 mirrorEl: HTMLElement | null;
51 sourceElRect: Rect | null;
52 parentNode: HTMLElement;
53 zIndex: number;
54 revertDuration: number;
55 start(sourceEl: HTMLElement, pageX: number, pageY: number): void;
56 handleMove(pageX: number, pageY: number): void;
57 setIsVisible(bool: boolean): void;
58 stop(needsRevertAnimation: boolean, callback: () => void): void;
59 doRevertAnimation(callback: () => void, revertDuration: number): void;
60 cleanup(): void;
61 updateElPosition(): void;
62 getMirrorEl(): HTMLElement;
63}
64
65declare abstract class ScrollGeomCache extends ScrollController {
66 clientRect: Rect;
67 origScrollTop: number;
68 origScrollLeft: number;
69 protected scrollController: ScrollController;
70 protected doesListening: boolean;
71 protected scrollTop: number;
72 protected scrollLeft: number;
73 protected scrollWidth: number;
74 protected scrollHeight: number;
75 protected clientWidth: number;
76 protected clientHeight: number;
77 constructor(scrollController: ScrollController, doesListening: boolean);
78 abstract getEventTarget(): EventTarget;
79 abstract computeClientRect(): Rect;
80 destroy(): void;
81 handleScroll: () => void;
82 getScrollTop(): number;
83 getScrollLeft(): number;
84 setScrollTop(top: number): void;
85 setScrollLeft(top: number): void;
86 getClientWidth(): number;
87 getClientHeight(): number;
88 getScrollWidth(): number;
89 getScrollHeight(): number;
90 handleScrollChange(): void;
91}
92
93declare class AutoScroller {
94 isEnabled: boolean;
95 scrollQuery: (Window | string)[];
96 edgeThreshold: number;
97 maxVelocity: number;
98 pointerScreenX: number | null;
99 pointerScreenY: number | null;
100 isAnimating: boolean;
101 scrollCaches: ScrollGeomCache[] | null;
102 msSinceRequest?: number;
103 everMovedUp: boolean;
104 everMovedDown: boolean;
105 everMovedLeft: boolean;
106 everMovedRight: boolean;
107 start(pageX: number, pageY: number, scrollStartEl: HTMLElement): void;
108 handleMove(pageX: number, pageY: number): void;
109 stop(): void;
110 requestAnimation(now: number): void;
111 private animate;
112 private handleSide;
113 private computeBestEdge;
114 private buildCaches;
115 private queryScrollEls;
116}
117
118declare class FeaturefulElementDragging extends ElementDragging {
119 private containerEl;
120 pointer: PointerDragging;
121 mirror: ElementMirror;
122 autoScroller: AutoScroller;
123 delay: number | null;
124 minDistance: number;
125 touchScrollAllowed: boolean;
126 mirrorNeedsRevert: boolean;
127 isInteracting: boolean;
128 isDragging: boolean;
129 isDelayEnded: boolean;
130 isDistanceSurpassed: boolean;
131 delayTimeoutId: number | null;
132 constructor(containerEl: HTMLElement, selector?: string);
133 destroy(): void;
134 onPointerDown: (ev: PointerDragEvent) => void;
135 onPointerMove: (ev: PointerDragEvent) => void;
136 onPointerUp: (ev: PointerDragEvent) => void;
137 startDelay(ev: PointerDragEvent): void;
138 handleDelayEnd(ev: PointerDragEvent): void;
139 handleDistanceSurpassed(ev: PointerDragEvent): void;
140 tryStartDrag(ev: PointerDragEvent): void;
141 tryStopDrag(ev: PointerDragEvent): void;
142 stopDrag(ev: PointerDragEvent): void;
143 setIgnoreMove(bool: boolean): void;
144 setMirrorIsVisible(bool: boolean): void;
145 setMirrorNeedsRevert(bool: boolean): void;
146 setAutoScrollEnabled(bool: boolean): void;
147}
148
149interface DateClickArg extends DatePointApi {
150 dayEl: HTMLElement;
151 jsEvent: MouseEvent;
152 view: ViewApi;
153}
154
155type EventDragStopArg = EventDragArg;
156type EventDragStartArg = EventDragArg;
157interface EventDragArg {
158 el: HTMLElement;
159 event: EventApi;
160 jsEvent: MouseEvent;
161 view: ViewApi;
162}
163
164type EventResizeStartArg = EventResizeStartStopArg;
165type EventResizeStopArg = EventResizeStartStopArg;
166interface EventResizeStartStopArg {
167 el: HTMLElement;
168 event: EventApi;
169 jsEvent: MouseEvent;
170 view: ViewApi;
171}
172interface EventResizeDoneArg extends EventChangeArg {
173 el: HTMLElement;
174 startDelta: Duration;
175 endDelta: Duration;
176 jsEvent: MouseEvent;
177 view: ViewApi;
178}
179
180interface DropArg extends DatePointApi {
181 draggedEl: HTMLElement;
182 jsEvent: MouseEvent;
183 view: ViewApi;
184}
185type EventReceiveArg = EventReceiveLeaveArg;
186type EventLeaveArg = EventReceiveLeaveArg;
187interface EventReceiveLeaveArg {
188 draggedEl: HTMLElement;
189 event: EventApi;
190 relatedEvents: EventApi[];
191 revert: () => void;
192 view: ViewApi;
193}
194
195declare const OPTION_REFINERS: {
196 fixedMirrorParent: Identity<HTMLElement>;
197};
198declare const LISTENER_REFINERS: {
199 dateClick: Identity<(arg: DateClickArg) => void>;
200 eventDragStart: Identity<(arg: EventDragStartArg) => void>;
201 eventDragStop: Identity<(arg: EventDragStopArg) => void>;
202 eventDrop: Identity<(arg: EventDropArg) => void>;
203 eventResizeStart: Identity<(arg: EventResizeStartArg) => void>;
204 eventResizeStop: Identity<(arg: EventResizeStopArg) => void>;
205 eventResize: Identity<(arg: EventResizeDoneArg) => void>;
206 drop: Identity<(arg: DropArg) => void>;
207 eventReceive: Identity<(arg: EventReceiveArg) => void>;
208 eventLeave: Identity<(arg: EventLeaveArg) => void>;
209};
210
211type ExtraOptionRefiners = typeof OPTION_REFINERS;
212type ExtraListenerRefiners = typeof LISTENER_REFINERS;
213declare module '@fullcalendar/core/internal' {
214 interface BaseOptionRefiners extends ExtraOptionRefiners {
215 }
216 interface CalendarListenerRefiners extends ExtraListenerRefiners {
217 }
218}
219//# sourceMappingURL=ambient.d.ts.map
220
221type DragMetaGenerator = DragMetaInput | ((el: HTMLElement) => DragMetaInput);
222
223interface ExternalDraggableSettings {
224 eventData?: DragMetaGenerator;
225 itemSelector?: string;
226 minDistance?: number;
227 longPressDelay?: number;
228 appendTo?: HTMLElement;
229}
230declare class ExternalDraggable {
231 dragging: FeaturefulElementDragging;
232 settings: ExternalDraggableSettings;
233 constructor(el: HTMLElement, settings?: ExternalDraggableSettings);
234 handlePointerDown: (ev: PointerDragEvent) => void;
235 handleDragStart: (ev: PointerDragEvent) => void;
236 destroy(): void;
237}
238
239declare class InferredElementDragging extends ElementDragging {
240 pointer: PointerDragging;
241 shouldIgnoreMove: boolean;
242 mirrorSelector: string;
243 currentMirrorEl: HTMLElement | null;
244 constructor(containerEl: HTMLElement);
245 destroy(): void;
246 handlePointerDown: (ev: PointerDragEvent) => void;
247 handlePointerMove: (ev: PointerDragEvent) => void;
248 handlePointerUp: (ev: PointerDragEvent) => void;
249 setIgnoreMove(bool: boolean): void;
250 setMirrorIsVisible(bool: boolean): void;
251}
252
253interface ThirdPartyDraggableSettings {
254 eventData?: DragMetaGenerator;
255 itemSelector?: string;
256 mirrorSelector?: string;
257}
258declare class ThirdPartyDraggable {
259 dragging: InferredElementDragging;
260 constructor(containerOrSettings?: EventTarget | ThirdPartyDraggableSettings, settings?: ThirdPartyDraggableSettings);
261 destroy(): void;
262}
263
264declare const _default: PluginDef;
265//# sourceMappingURL=index.d.ts.map
266
267export { DateClickArg, ExternalDraggable as Draggable, DropArg, EventDragStartArg, EventDragStopArg, EventLeaveArg, EventReceiveArg, EventResizeDoneArg, EventResizeStartArg, EventResizeStopArg, ThirdPartyDraggable, _default as default };