1 | /**
|
2 | * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
3 | * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
4 | */
|
5 | /**
|
6 | * @module table/tablemouse/mouseeventsobserver
|
7 | */
|
8 | import { DomEventObserver, type DomEventData } from 'ckeditor5/src/engine';
|
9 | /**
|
10 | * The mouse selection event observer.
|
11 | *
|
12 | * It registers listeners for the following DOM events:
|
13 | *
|
14 | * - `'mousemove'`
|
15 | * - `'mouseleave'`
|
16 | *
|
17 | * Note that this observer is disabled by default. To enable this observer, it needs to be added to
|
18 | * {@link module:engine/view/view~View} using the {@link module:engine/view/view~View#addObserver} method.
|
19 | *
|
20 | * The observer is registered by the {@link module:table/tableselection~TableSelection} plugin.
|
21 | */
|
22 | export default class MouseEventsObserver extends DomEventObserver<'mousemove' | 'mouseleave'> {
|
23 | readonly domEventType: readonly ["mousemove", "mouseleave"];
|
24 | /**
|
25 | * @inheritDoc
|
26 | */
|
27 | onDomEvent(domEvent: MouseEvent): void;
|
28 | }
|
29 | /**
|
30 | * Fired when the mouse is moved over one of the editables.
|
31 | *
|
32 | * Introduced by {@link module:table/tablemouse/mouseeventsobserver~MouseEventsObserver}.
|
33 | *
|
34 | * Note that this event is not available by default. To make it available,
|
35 | * {@link module:table/tablemouse/mouseeventsobserver~MouseEventsObserver} needs to be added
|
36 | * to {@link module:engine/view/view~View} using the {@link module:engine/view/view~View#addObserver} method.
|
37 | *
|
38 | * @see module:table/tablemouse/mouseeventsobserver~MouseEventsObserver
|
39 | * @eventName module:engine/view/document~Document#mousemove
|
40 | * @param data Event data.
|
41 | */
|
42 | export type ViewDocumentMouseMoveEvent = {
|
43 | name: 'mousemove';
|
44 | args: [data: DomEventData<MouseEvent>];
|
45 | };
|
46 | /**
|
47 | * Fired when the mouse is moved out of one of the editables.
|
48 | *
|
49 | * Introduced by {@link module:table/tablemouse/mouseeventsobserver~MouseEventsObserver}.
|
50 | *
|
51 | * Note that this event is not available by default. To make it available,
|
52 | * {@link module:table/tablemouse/mouseeventsobserver~MouseEventsObserver} needs to be added
|
53 | * to {@link module:engine/view/view~View} using the {@link module:engine/view/view~View#addObserver} method.
|
54 | *
|
55 | * @see module:table/tablemouse/mouseeventsobserver~MouseEventsObserver
|
56 | * @eventName module:engine/view/document~Document#mouseleave
|
57 | * @param data Event data.
|
58 | */
|
59 | export type ViewDocumentMouseLeaveEvent = {
|
60 | name: 'mouseleave';
|
61 | args: [data: DomEventData<MouseEvent>];
|
62 | };
|