1 | import { DatePointApi, ViewApi, EventApi, EventChangeArg, Duration, EventDropArg, PluginDef } from '@fullcalendar/core';
|
2 | import { Emitter, PointerDragEvent, Rect, ScrollController, ElementDragging, Identity, DragMetaInput } from '@fullcalendar/core/internal';
|
3 |
|
4 | declare 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 |
|
43 | declare 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 |
|
65 | declare 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 |
|
93 | declare 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 |
|
118 | declare 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 |
|
149 | interface DateClickArg extends DatePointApi {
|
150 | dayEl: HTMLElement;
|
151 | jsEvent: MouseEvent;
|
152 | view: ViewApi;
|
153 | }
|
154 |
|
155 | type EventDragStopArg = EventDragArg;
|
156 | type EventDragStartArg = EventDragArg;
|
157 | interface EventDragArg {
|
158 | el: HTMLElement;
|
159 | event: EventApi;
|
160 | jsEvent: MouseEvent;
|
161 | view: ViewApi;
|
162 | }
|
163 |
|
164 | type EventResizeStartArg = EventResizeStartStopArg;
|
165 | type EventResizeStopArg = EventResizeStartStopArg;
|
166 | interface EventResizeStartStopArg {
|
167 | el: HTMLElement;
|
168 | event: EventApi;
|
169 | jsEvent: MouseEvent;
|
170 | view: ViewApi;
|
171 | }
|
172 | interface EventResizeDoneArg extends EventChangeArg {
|
173 | el: HTMLElement;
|
174 | startDelta: Duration;
|
175 | endDelta: Duration;
|
176 | jsEvent: MouseEvent;
|
177 | view: ViewApi;
|
178 | }
|
179 |
|
180 | interface DropArg extends DatePointApi {
|
181 | draggedEl: HTMLElement;
|
182 | jsEvent: MouseEvent;
|
183 | view: ViewApi;
|
184 | }
|
185 | type EventReceiveArg = EventReceiveLeaveArg;
|
186 | type EventLeaveArg = EventReceiveLeaveArg;
|
187 | interface EventReceiveLeaveArg {
|
188 | draggedEl: HTMLElement;
|
189 | event: EventApi;
|
190 | relatedEvents: EventApi[];
|
191 | revert: () => void;
|
192 | view: ViewApi;
|
193 | }
|
194 |
|
195 | declare const OPTION_REFINERS: {
|
196 | fixedMirrorParent: Identity<HTMLElement>;
|
197 | };
|
198 | declare 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 |
|
211 | type ExtraOptionRefiners = typeof OPTION_REFINERS;
|
212 | type ExtraListenerRefiners = typeof LISTENER_REFINERS;
|
213 | declare module '@fullcalendar/core/internal' {
|
214 | interface BaseOptionRefiners extends ExtraOptionRefiners {
|
215 | }
|
216 | interface CalendarListenerRefiners extends ExtraListenerRefiners {
|
217 | }
|
218 | }
|
219 |
|
220 |
|
221 | type DragMetaGenerator = DragMetaInput | ((el: HTMLElement) => DragMetaInput);
|
222 |
|
223 | interface ExternalDraggableSettings {
|
224 | eventData?: DragMetaGenerator;
|
225 | itemSelector?: string;
|
226 | minDistance?: number;
|
227 | longPressDelay?: number;
|
228 | appendTo?: HTMLElement;
|
229 | }
|
230 | declare 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 |
|
239 | declare 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 |
|
253 | interface ThirdPartyDraggableSettings {
|
254 | eventData?: DragMetaGenerator;
|
255 | itemSelector?: string;
|
256 | mirrorSelector?: string;
|
257 | }
|
258 | declare class ThirdPartyDraggable {
|
259 | dragging: InferredElementDragging;
|
260 | constructor(containerOrSettings?: EventTarget | ThirdPartyDraggableSettings, settings?: ThirdPartyDraggableSettings);
|
261 | destroy(): void;
|
262 | }
|
263 |
|
264 | declare const _default: PluginDef;
|
265 | //# sourceMappingURL=index.d.ts.map
|
266 |
|
267 | export { DateClickArg, ExternalDraggable as Draggable, DropArg, EventDragStartArg, EventDragStopArg, EventLeaveArg, EventReceiveArg, EventResizeDoneArg, EventResizeStartArg, EventResizeStopArg, ThirdPartyDraggable, _default as default };
|