@ckeditor/ckeditor5-engine 45.2.1 → 46.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2563 -2257
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/controller/datacontroller.d.ts +33 -32
- package/src/controller/datacontroller.js +29 -28
- package/src/controller/editingcontroller.d.ts +8 -8
- package/src/controller/editingcontroller.js +10 -10
- package/src/conversion/conversion.d.ts +18 -19
- package/src/conversion/conversion.js +4 -4
- package/src/conversion/conversionhelpers.d.ts +1 -1
- package/src/conversion/conversionhelpers.js +1 -1
- package/src/conversion/downcastdispatcher.d.ts +63 -69
- package/src/conversion/downcastdispatcher.js +16 -16
- package/src/conversion/downcasthelpers.d.ts +94 -83
- package/src/conversion/downcasthelpers.js +63 -53
- package/src/conversion/mapper.d.ts +27 -27
- package/src/conversion/mapper.js +15 -15
- package/src/conversion/modelconsumable.d.ts +26 -26
- package/src/conversion/modelconsumable.js +23 -23
- package/src/conversion/upcastdispatcher.d.ts +33 -32
- package/src/conversion/upcastdispatcher.js +19 -19
- package/src/conversion/upcasthelpers.d.ts +46 -38
- package/src/conversion/upcasthelpers.js +33 -24
- package/src/conversion/viewconsumable.d.ts +50 -45
- package/src/conversion/viewconsumable.js +32 -27
- package/src/dataprocessor/basichtmlwriter.d.ts +4 -2
- package/src/dataprocessor/basichtmlwriter.js +3 -1
- package/src/dataprocessor/dataprocessor.d.ts +7 -6
- package/src/dataprocessor/htmldataprocessor.d.ts +10 -10
- package/src/dataprocessor/htmldataprocessor.js +6 -6
- package/src/dataprocessor/htmlwriter.d.ts +1 -1
- package/src/dataprocessor/xmldataprocessor.d.ts +10 -10
- package/src/dataprocessor/xmldataprocessor.js +6 -6
- package/src/dev-utils/model.d.ts +25 -26
- package/src/dev-utils/model.js +35 -36
- package/src/dev-utils/operationreplayer.d.ts +5 -3
- package/src/dev-utils/operationreplayer.js +4 -2
- package/src/dev-utils/utils.d.ts +8 -0
- package/src/dev-utils/utils.js +8 -0
- package/src/dev-utils/view.d.ts +66 -63
- package/src/dev-utils/view.js +144 -134
- package/src/index.d.ts +135 -106
- package/src/index.js +120 -71
- package/src/legacyerrors.d.ts +5 -0
- package/src/legacyerrors.js +17 -0
- package/src/model/batch.d.ts +2 -15
- package/src/model/batch.js +1 -23
- package/src/model/differ.d.ts +54 -31
- package/src/model/differ.js +15 -15
- package/src/model/document.d.ts +31 -31
- package/src/model/document.js +13 -13
- package/src/model/documentfragment.d.ts +45 -45
- package/src/model/documentfragment.js +40 -40
- package/src/model/documentselection.d.ts +92 -92
- package/src/model/documentselection.js +71 -70
- package/src/model/element.d.ts +31 -31
- package/src/model/element.js +29 -29
- package/src/model/history.d.ts +3 -3
- package/src/model/history.js +2 -2
- package/src/model/item.d.ts +4 -5
- package/src/model/liveposition.d.ts +31 -31
- package/src/model/liveposition.js +18 -18
- package/src/model/liverange.d.ts +42 -38
- package/src/model/liverange.js +17 -16
- package/src/model/markercollection.d.ts +41 -40
- package/src/model/markercollection.js +22 -20
- package/src/model/model.d.ts +82 -81
- package/src/model/model.js +54 -54
- package/src/model/node.d.ts +48 -48
- package/src/model/node.js +31 -31
- package/src/model/nodelist.d.ts +17 -17
- package/src/model/nodelist.js +11 -11
- package/src/model/operation/attributeoperation.d.ts +10 -10
- package/src/model/operation/attributeoperation.js +7 -7
- package/src/model/operation/detachoperation.d.ts +11 -9
- package/src/model/operation/detachoperation.js +8 -6
- package/src/model/operation/insertoperation.d.ts +13 -13
- package/src/model/operation/insertoperation.js +15 -15
- package/src/model/operation/markeroperation.d.ts +12 -12
- package/src/model/operation/markeroperation.js +5 -5
- package/src/model/operation/mergeoperation.d.ts +16 -16
- package/src/model/operation/mergeoperation.js +18 -18
- package/src/model/operation/moveoperation.d.ts +16 -16
- package/src/model/operation/moveoperation.js +18 -15
- package/src/model/operation/nooperation.d.ts +4 -4
- package/src/model/operation/nooperation.js +2 -2
- package/src/model/operation/operation.d.ts +10 -10
- package/src/model/operation/operation.js +5 -5
- package/src/model/operation/operationfactory.d.ts +4 -4
- package/src/model/operation/operationfactory.js +12 -12
- package/src/model/operation/renameoperation.d.ts +10 -10
- package/src/model/operation/renameoperation.js +7 -7
- package/src/model/operation/rootattributeoperation.d.ts +12 -12
- package/src/model/operation/rootattributeoperation.js +8 -8
- package/src/model/operation/rootoperation.d.ts +8 -8
- package/src/model/operation/rootoperation.js +3 -3
- package/src/model/operation/splitoperation.d.ts +17 -17
- package/src/model/operation/splitoperation.js +19 -19
- package/src/model/operation/transform.d.ts +11 -8
- package/src/model/operation/transform.js +66 -49
- package/src/model/operation/utils.d.ts +24 -23
- package/src/model/operation/utils.js +20 -20
- package/src/model/position.d.ts +101 -97
- package/src/model/position.js +69 -64
- package/src/model/range.d.ts +90 -90
- package/src/model/range.js +87 -87
- package/src/model/rootelement.d.ts +11 -11
- package/src/model/rootelement.js +9 -9
- package/src/model/schema.d.ts +158 -154
- package/src/model/schema.js +93 -90
- package/src/model/selection.d.ts +73 -73
- package/src/model/selection.js +62 -62
- package/src/model/text.d.ts +11 -10
- package/src/model/text.js +11 -10
- package/src/model/textproxy.d.ts +39 -38
- package/src/model/textproxy.js +31 -30
- package/src/model/treewalker.d.ts +37 -37
- package/src/model/treewalker.js +14 -14
- package/src/model/typecheckable.d.ts +45 -45
- package/src/model/typecheckable.js +1 -1
- package/src/model/utils/autoparagraphing.d.ts +7 -7
- package/src/model/utils/deletecontent.d.ts +7 -5
- package/src/model/utils/deletecontent.js +13 -11
- package/src/model/utils/getselectedcontent.d.ts +6 -5
- package/src/model/utils/getselectedcontent.js +2 -1
- package/src/model/utils/insertcontent.d.ts +9 -8
- package/src/model/utils/insertcontent.js +41 -40
- package/src/model/utils/insertobject.d.ts +9 -9
- package/src/model/utils/insertobject.js +4 -4
- package/src/model/utils/modifyselection.d.ts +5 -4
- package/src/model/utils/modifyselection.js +12 -11
- package/src/model/utils/selection-post-fixer.d.ts +12 -8
- package/src/model/utils/selection-post-fixer.js +15 -11
- package/src/model/writer.d.ts +102 -101
- package/src/model/writer.js +99 -98
- package/src/view/attributeelement.d.ts +29 -29
- package/src/view/attributeelement.js +25 -25
- package/src/view/containerelement.d.ts +16 -15
- package/src/view/containerelement.js +15 -14
- package/src/view/datatransfer.d.ts +7 -7
- package/src/view/datatransfer.js +1 -1
- package/src/view/document.d.ts +25 -25
- package/src/view/document.js +15 -15
- package/src/view/documentfragment.d.ts +21 -21
- package/src/view/documentfragment.js +14 -14
- package/src/view/documentselection.d.ts +65 -63
- package/src/view/documentselection.js +27 -25
- package/src/view/domconverter.d.ts +94 -89
- package/src/view/domconverter.js +78 -73
- package/src/view/downcastwriter.d.ts +185 -181
- package/src/view/downcastwriter.js +222 -210
- package/src/view/editableelement.d.ts +13 -13
- package/src/view/editableelement.js +8 -8
- package/src/view/element.d.ts +75 -74
- package/src/view/element.js +58 -58
- package/src/view/elementdefinition.d.ts +3 -4
- package/src/view/emptyelement.d.ts +13 -13
- package/src/view/emptyelement.js +13 -13
- package/src/view/filler.d.ts +14 -3
- package/src/view/filler.js +12 -1
- package/src/view/item.d.ts +4 -5
- package/src/view/matcher.d.ts +22 -19
- package/src/view/matcher.js +6 -6
- package/src/view/node.d.ts +33 -33
- package/src/view/node.js +9 -9
- package/src/view/observer/arrowkeysobserver.d.ts +10 -10
- package/src/view/observer/arrowkeysobserver.js +5 -5
- package/src/view/observer/bubblingemittermixin.d.ts +5 -5
- package/src/view/observer/bubblingemittermixin.js +2 -9
- package/src/view/observer/bubblingeventinfo.d.ts +9 -9
- package/src/view/observer/bubblingeventinfo.js +1 -1
- package/src/view/observer/clickobserver.d.ts +8 -8
- package/src/view/observer/clickobserver.js +4 -4
- package/src/view/observer/compositionobserver.d.ts +19 -19
- package/src/view/observer/compositionobserver.js +6 -6
- package/src/view/observer/domeventdata.d.ts +9 -9
- package/src/view/observer/domeventdata.js +2 -2
- package/src/view/observer/domeventobserver.d.ts +3 -3
- package/src/view/observer/domeventobserver.js +5 -5
- package/src/view/observer/fakeselectionobserver.d.ts +9 -9
- package/src/view/observer/fakeselectionobserver.js +8 -8
- package/src/view/observer/focusobserver.d.ts +16 -16
- package/src/view/observer/focusobserver.js +7 -7
- package/src/view/observer/inputobserver.d.ts +18 -18
- package/src/view/observer/inputobserver.js +5 -5
- package/src/view/observer/keyobserver.d.ts +11 -11
- package/src/view/observer/keyobserver.js +3 -3
- package/src/view/observer/mouseobserver.d.ts +16 -16
- package/src/view/observer/mouseobserver.js +3 -3
- package/src/view/observer/mutationobserver.d.ts +21 -21
- package/src/view/observer/mutationobserver.js +7 -7
- package/src/view/observer/observer.d.ts +12 -12
- package/src/view/observer/observer.js +6 -6
- package/src/view/observer/selectionobserver.d.ts +33 -33
- package/src/view/observer/selectionobserver.js +14 -14
- package/src/view/observer/tabobserver.d.ts +10 -10
- package/src/view/observer/tabobserver.js +5 -5
- package/src/view/observer/touchobserver.d.ts +13 -13
- package/src/view/observer/touchobserver.js +3 -3
- package/src/view/placeholder.d.ts +21 -21
- package/src/view/placeholder.js +23 -23
- package/src/view/position.d.ts +49 -49
- package/src/view/position.js +42 -42
- package/src/view/range.d.ts +76 -74
- package/src/view/range.js +67 -65
- package/src/view/rawelement.d.ts +19 -19
- package/src/view/rawelement.js +16 -16
- package/src/view/renderer.d.ts +14 -14
- package/src/view/renderer.js +7 -7
- package/src/view/rooteditableelement.d.ts +8 -7
- package/src/view/rooteditableelement.js +7 -6
- package/src/view/selection.d.ts +66 -64
- package/src/view/selection.js +50 -48
- package/src/view/styles/background.d.ts +2 -2
- package/src/view/styles/background.js +9 -9
- package/src/view/styles/border.d.ts +2 -2
- package/src/view/styles/border.js +13 -13
- package/src/view/styles/margin.d.ts +2 -2
- package/src/view/styles/margin.js +5 -5
- package/src/view/styles/padding.d.ts +2 -2
- package/src/view/styles/padding.js +5 -5
- package/src/view/styles/utils.d.ts +24 -24
- package/src/view/styles/utils.js +25 -25
- package/src/view/stylesmap.d.ts +28 -32
- package/src/view/stylesmap.js +52 -39
- package/src/view/text.d.ts +11 -11
- package/src/view/text.js +10 -10
- package/src/view/textproxy.d.ts +33 -32
- package/src/view/textproxy.js +23 -22
- package/src/view/tokenlist.d.ts +14 -14
- package/src/view/tokenlist.js +10 -10
- package/src/view/treewalker.d.ts +42 -40
- package/src/view/treewalker.js +36 -35
- package/src/view/typecheckable.d.ts +76 -75
- package/src/view/typecheckable.js +1 -1
- package/src/view/uielement.d.ts +22 -21
- package/src/view/uielement.js +17 -16
- package/src/view/upcastwriter.d.ts +70 -70
- package/src/view/upcastwriter.js +42 -42
- package/src/view/view.d.ts +70 -69
- package/src/view/view.js +56 -55
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/clickobserver
|
|
7
7
|
*/
|
|
8
|
-
import DomEventObserver from './domeventobserver.js';
|
|
8
|
+
import { DomEventObserver } from './domeventobserver.js';
|
|
9
9
|
/**
|
|
10
|
-
* {@link module:engine/view/document~
|
|
10
|
+
* {@link module:engine/view/document~ViewDocument#event:click Click} event observer.
|
|
11
11
|
*
|
|
12
12
|
* Note that this observer is not available by default. To make it available it needs to be added to
|
|
13
|
-
* {@link module:engine/view/view~
|
|
13
|
+
* {@link module:engine/view/view~EditingView view controller} by a {@link module:engine/view/view~EditingView#addObserver} method.
|
|
14
14
|
*/
|
|
15
|
-
export
|
|
15
|
+
export class ClickObserver extends DomEventObserver {
|
|
16
16
|
/**
|
|
17
17
|
* @inheritDoc
|
|
18
18
|
*/
|
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/compositionobserver
|
|
7
7
|
*/
|
|
8
|
-
import DomEventObserver from './domeventobserver.js';
|
|
9
|
-
import type
|
|
10
|
-
import type
|
|
8
|
+
import { DomEventObserver } from './domeventobserver.js';
|
|
9
|
+
import { type EditingView } from '../view.js';
|
|
10
|
+
import { type ViewDocumentDomEventData } from './domeventdata.js';
|
|
11
11
|
/**
|
|
12
|
-
* {@link module:engine/view/document~
|
|
13
|
-
* {@link module:engine/view/document~
|
|
14
|
-
* {@link module:engine/view/document~
|
|
12
|
+
* {@link module:engine/view/document~ViewDocument#event:compositionstart Compositionstart},
|
|
13
|
+
* {@link module:engine/view/document~ViewDocument#event:compositionupdate compositionupdate} and
|
|
14
|
+
* {@link module:engine/view/document~ViewDocument#event:compositionend compositionend} events observer.
|
|
15
15
|
*
|
|
16
|
-
* Note that this observer is attached by the {@link module:engine/view/view~
|
|
16
|
+
* Note that this observer is attached by the {@link module:engine/view/view~EditingView} and is available by default.
|
|
17
17
|
*/
|
|
18
|
-
export
|
|
18
|
+
export declare class CompositionObserver extends DomEventObserver<'compositionstart' | 'compositionupdate' | 'compositionend'> {
|
|
19
19
|
/**
|
|
20
20
|
* @inheritDoc
|
|
21
21
|
*/
|
|
@@ -23,13 +23,13 @@ export default class CompositionObserver extends DomEventObserver<'compositionst
|
|
|
23
23
|
/**
|
|
24
24
|
* @inheritDoc
|
|
25
25
|
*/
|
|
26
|
-
constructor(view:
|
|
26
|
+
constructor(view: EditingView);
|
|
27
27
|
/**
|
|
28
28
|
* @inheritDoc
|
|
29
29
|
*/
|
|
30
30
|
onDomEvent(domEvent: CompositionEvent): void;
|
|
31
31
|
}
|
|
32
|
-
export interface
|
|
32
|
+
export interface ViewDocumentCompositionEventData extends ViewDocumentDomEventData<CompositionEvent> {
|
|
33
33
|
data: string | null;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
@@ -38,15 +38,15 @@ export interface CompositionEventData extends DomEventData<CompositionEvent> {
|
|
|
38
38
|
* Introduced by {@link module:engine/view/observer/compositionobserver~CompositionObserver}.
|
|
39
39
|
*
|
|
40
40
|
* Note that because {@link module:engine/view/observer/compositionobserver~CompositionObserver} is attached by the
|
|
41
|
-
* {@link module:engine/view/view~
|
|
41
|
+
* {@link module:engine/view/view~EditingView} this event is available by default.
|
|
42
42
|
*
|
|
43
43
|
* @see module:engine/view/observer/compositionobserver~CompositionObserver
|
|
44
|
-
* @eventName module:engine/view/document~
|
|
44
|
+
* @eventName module:engine/view/document~ViewDocument#compositionstart
|
|
45
45
|
* @param data Event data.
|
|
46
46
|
*/
|
|
47
47
|
export type ViewDocumentCompositionStartEvent = {
|
|
48
48
|
name: 'compositionstart';
|
|
49
|
-
args: [data:
|
|
49
|
+
args: [data: ViewDocumentCompositionEventData];
|
|
50
50
|
};
|
|
51
51
|
/**
|
|
52
52
|
* Fired when composition is updated inside one of the editables.
|
|
@@ -54,15 +54,15 @@ export type ViewDocumentCompositionStartEvent = {
|
|
|
54
54
|
* Introduced by {@link module:engine/view/observer/compositionobserver~CompositionObserver}.
|
|
55
55
|
*
|
|
56
56
|
* Note that because {@link module:engine/view/observer/compositionobserver~CompositionObserver} is attached by the
|
|
57
|
-
* {@link module:engine/view/view~
|
|
57
|
+
* {@link module:engine/view/view~EditingView} this event is available by default.
|
|
58
58
|
*
|
|
59
59
|
* @see module:engine/view/observer/compositionobserver~CompositionObserver
|
|
60
|
-
* @eventName module:engine/view/document~
|
|
60
|
+
* @eventName module:engine/view/document~ViewDocument#compositionupdate
|
|
61
61
|
* @param data Event data.
|
|
62
62
|
*/
|
|
63
63
|
export type ViewDocumentCompositionUpdateEvent = {
|
|
64
64
|
name: 'compositionupdate';
|
|
65
|
-
args: [data:
|
|
65
|
+
args: [data: ViewDocumentCompositionEventData];
|
|
66
66
|
};
|
|
67
67
|
/**
|
|
68
68
|
* Fired when composition ends inside one of the editables.
|
|
@@ -70,13 +70,13 @@ export type ViewDocumentCompositionUpdateEvent = {
|
|
|
70
70
|
* Introduced by {@link module:engine/view/observer/compositionobserver~CompositionObserver}.
|
|
71
71
|
*
|
|
72
72
|
* Note that because {@link module:engine/view/observer/compositionobserver~CompositionObserver} is attached by the
|
|
73
|
-
* {@link module:engine/view/view~
|
|
73
|
+
* {@link module:engine/view/view~EditingView} this event is available by default.
|
|
74
74
|
*
|
|
75
75
|
* @see module:engine/view/observer/compositionobserver~CompositionObserver
|
|
76
|
-
* @eventName module:engine/view/document~
|
|
76
|
+
* @eventName module:engine/view/document~ViewDocument#compositionend
|
|
77
77
|
* @param data Event data.
|
|
78
78
|
*/
|
|
79
79
|
export type ViewDocumentCompositionEndEvent = {
|
|
80
80
|
name: 'compositionend';
|
|
81
|
-
args: [data:
|
|
81
|
+
args: [data: ViewDocumentCompositionEventData];
|
|
82
82
|
};
|
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/compositionobserver
|
|
7
7
|
*/
|
|
8
|
-
import DomEventObserver from './domeventobserver.js';
|
|
8
|
+
import { DomEventObserver } from './domeventobserver.js';
|
|
9
9
|
// @if CK_DEBUG_TYPING // const { _debouncedLine, _buildLogMessage } = require( '../../dev-utils/utils.js' );
|
|
10
10
|
/**
|
|
11
|
-
* {@link module:engine/view/document~
|
|
12
|
-
* {@link module:engine/view/document~
|
|
13
|
-
* {@link module:engine/view/document~
|
|
11
|
+
* {@link module:engine/view/document~ViewDocument#event:compositionstart Compositionstart},
|
|
12
|
+
* {@link module:engine/view/document~ViewDocument#event:compositionupdate compositionupdate} and
|
|
13
|
+
* {@link module:engine/view/document~ViewDocument#event:compositionend compositionend} events observer.
|
|
14
14
|
*
|
|
15
|
-
* Note that this observer is attached by the {@link module:engine/view/view~
|
|
15
|
+
* Note that this observer is attached by the {@link module:engine/view/view~EditingView} and is available by default.
|
|
16
16
|
*/
|
|
17
|
-
export
|
|
17
|
+
export class CompositionObserver extends DomEventObserver {
|
|
18
18
|
/**
|
|
19
19
|
* @inheritDoc
|
|
20
20
|
*/
|
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
3
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
4
4
|
*/
|
|
5
|
-
import type
|
|
6
|
-
import type
|
|
7
|
-
import type
|
|
5
|
+
import { type ViewDocument } from '../document.js';
|
|
6
|
+
import { type ViewElement } from '../element.js';
|
|
7
|
+
import { type EditingView } from '../view.js';
|
|
8
8
|
/**
|
|
9
|
-
* Information about a DOM event in context of the {@link module:engine/view/document~
|
|
9
|
+
* Information about a DOM event in context of the {@link module:engine/view/document~ViewDocument}.
|
|
10
10
|
* It wraps the native event, which usually should not be used as the wrapper contains
|
|
11
11
|
* additional data (like key code for keyboard events).
|
|
12
12
|
*
|
|
13
13
|
* @typeParam TEvent The type of DOM Event that this class represents.
|
|
14
14
|
*/
|
|
15
|
-
export
|
|
15
|
+
export declare class ViewDocumentDomEventData<TEvent extends Event = Event> {
|
|
16
16
|
/**
|
|
17
17
|
* Instance of the view controller.
|
|
18
18
|
*/
|
|
19
|
-
readonly view:
|
|
19
|
+
readonly view: EditingView;
|
|
20
20
|
/**
|
|
21
21
|
* The instance of the document.
|
|
22
22
|
*/
|
|
23
|
-
readonly document:
|
|
23
|
+
readonly document: ViewDocument;
|
|
24
24
|
/**
|
|
25
25
|
* The DOM event.
|
|
26
26
|
*/
|
|
@@ -34,11 +34,11 @@ export default class DomEventData<TEvent extends Event = Event> {
|
|
|
34
34
|
* @param domEvent The DOM event.
|
|
35
35
|
* @param additionalData Additional properties that the instance should contain.
|
|
36
36
|
*/
|
|
37
|
-
constructor(view:
|
|
37
|
+
constructor(view: EditingView, domEvent: TEvent, additionalData?: object);
|
|
38
38
|
/**
|
|
39
39
|
* The tree view element representing the target.
|
|
40
40
|
*/
|
|
41
|
-
get target():
|
|
41
|
+
get target(): ViewElement;
|
|
42
42
|
/**
|
|
43
43
|
* Prevents the native's event default action.
|
|
44
44
|
*/
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { extend } from 'es-toolkit/compat';
|
|
9
9
|
/**
|
|
10
|
-
* Information about a DOM event in context of the {@link module:engine/view/document~
|
|
10
|
+
* Information about a DOM event in context of the {@link module:engine/view/document~ViewDocument}.
|
|
11
11
|
* It wraps the native event, which usually should not be used as the wrapper contains
|
|
12
12
|
* additional data (like key code for keyboard events).
|
|
13
13
|
*
|
|
14
14
|
* @typeParam TEvent The type of DOM Event that this class represents.
|
|
15
15
|
*/
|
|
16
|
-
export
|
|
16
|
+
export class ViewDocumentDomEventData {
|
|
17
17
|
/**
|
|
18
18
|
* Instance of the view controller.
|
|
19
19
|
*/
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/domeventobserver
|
|
7
7
|
*/
|
|
8
|
-
import Observer from './observer.js';
|
|
8
|
+
import { Observer } from './observer.js';
|
|
9
9
|
import type { EventInfo } from '@ckeditor/ckeditor5-utils';
|
|
10
10
|
/**
|
|
11
11
|
* Base class for DOM event observers. This class handles
|
|
@@ -34,7 +34,7 @@ import type { EventInfo } from '@ckeditor/ckeditor5-utils';
|
|
|
34
34
|
* @typeParam EventType DOM Event type name or an union of those.
|
|
35
35
|
* @typeParam AdditionalData Additional data passed along with the event.
|
|
36
36
|
*/
|
|
37
|
-
export
|
|
37
|
+
export declare abstract class DomEventObserver<EventType extends keyof HTMLElementEventMap, AdditionalData extends object = object> extends Observer {
|
|
38
38
|
/**
|
|
39
39
|
* Type of the DOM event the observer should listen to. Array of types can be defined
|
|
40
40
|
* if the observer should listen to multiple DOM events.
|
|
@@ -72,7 +72,7 @@ export default abstract class DomEventObserver<EventType extends keyof HTMLEleme
|
|
|
72
72
|
* @param eventType The event type (name).
|
|
73
73
|
* @param domEvent The DOM event.
|
|
74
74
|
* @param additionalData The additional data which should extend the
|
|
75
|
-
* {@link module:engine/view/observer/domeventdata~
|
|
75
|
+
* {@link module:engine/view/observer/domeventdata~ViewDocumentDomEventData event data} object.
|
|
76
76
|
*/
|
|
77
77
|
fire(eventType: string | EventInfo, domEvent: Event, additionalData?: AdditionalData): void;
|
|
78
78
|
}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/domeventobserver
|
|
7
7
|
*/
|
|
8
|
-
import Observer from './observer.js';
|
|
9
|
-
import
|
|
8
|
+
import { Observer } from './observer.js';
|
|
9
|
+
import { ViewDocumentDomEventData } from './domeventdata.js';
|
|
10
10
|
/**
|
|
11
11
|
* Base class for DOM event observers. This class handles
|
|
12
12
|
* {@link module:engine/view/observer/observer~Observer#observe adding} listeners to DOM elements,
|
|
@@ -34,7 +34,7 @@ import DomEventData from './domeventdata.js';
|
|
|
34
34
|
* @typeParam EventType DOM Event type name or an union of those.
|
|
35
35
|
* @typeParam AdditionalData Additional data passed along with the event.
|
|
36
36
|
*/
|
|
37
|
-
export
|
|
37
|
+
export class DomEventObserver extends Observer {
|
|
38
38
|
/**
|
|
39
39
|
* If set to `true` DOM events will be listened on the capturing phase.
|
|
40
40
|
* Default value is `false`.
|
|
@@ -71,11 +71,11 @@ export default class DomEventObserver extends Observer {
|
|
|
71
71
|
* @param eventType The event type (name).
|
|
72
72
|
* @param domEvent The DOM event.
|
|
73
73
|
* @param additionalData The additional data which should extend the
|
|
74
|
-
* {@link module:engine/view/observer/domeventdata~
|
|
74
|
+
* {@link module:engine/view/observer/domeventdata~ViewDocumentDomEventData event data} object.
|
|
75
75
|
*/
|
|
76
76
|
fire(eventType, domEvent, additionalData) {
|
|
77
77
|
if (this.isEnabled) {
|
|
78
|
-
this.document.fire(eventType, new
|
|
78
|
+
this.document.fire(eventType, new ViewDocumentDomEventData(this.view, domEvent, additionalData));
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
}
|
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/fakeselectionobserver
|
|
7
7
|
*/
|
|
8
|
-
import Observer from './observer.js';
|
|
9
|
-
import type
|
|
8
|
+
import { Observer } from './observer.js';
|
|
9
|
+
import { type EditingView } from '../view.js';
|
|
10
10
|
/**
|
|
11
11
|
* Fake selection observer class. If view selection is fake it is placed in dummy DOM container. This observer listens
|
|
12
|
-
* on {@link module:engine/view/document~
|
|
13
|
-
* if arrow keys are pressed.
|
|
14
|
-
* Fires {@link module:engine/view/document~
|
|
12
|
+
* on {@link module:engine/view/document~ViewDocument#event:keydown keydown} events and handles moving
|
|
13
|
+
* fake view selection to the correct place if arrow keys are pressed.
|
|
14
|
+
* Fires {@link module:engine/view/document~ViewDocument#event:selectionChange selectionChange event} simulating natural behaviour of
|
|
15
15
|
* {@link module:engine/view/observer/selectionobserver~SelectionObserver SelectionObserver}.
|
|
16
16
|
*/
|
|
17
|
-
export
|
|
17
|
+
export declare class FakeSelectionObserver extends Observer {
|
|
18
18
|
/**
|
|
19
19
|
* Fires debounced event `selectionChangeDone`. It uses `es-toolkit#debounce` method to delay function call.
|
|
20
20
|
*/
|
|
@@ -22,7 +22,7 @@ export default class FakeSelectionObserver extends Observer {
|
|
|
22
22
|
/**
|
|
23
23
|
* Creates new FakeSelectionObserver instance.
|
|
24
24
|
*/
|
|
25
|
-
constructor(view:
|
|
25
|
+
constructor(view: EditingView);
|
|
26
26
|
/**
|
|
27
27
|
* @inheritDoc
|
|
28
28
|
*/
|
|
@@ -39,8 +39,8 @@ export default class FakeSelectionObserver extends Observer {
|
|
|
39
39
|
* Handles collapsing view selection according to given key code. If left or up key is provided - new selection will be
|
|
40
40
|
* collapsed to left. If right or down key is pressed - new selection will be collapsed to right.
|
|
41
41
|
*
|
|
42
|
-
* This method fires {@link module:engine/view/document~
|
|
43
|
-
* {@link module:engine/view/document~
|
|
42
|
+
* This method fires {@link module:engine/view/document~ViewDocument#event:selectionChange} and
|
|
43
|
+
* {@link module:engine/view/document~ViewDocument#event:selectionChangeDone} events imitating behaviour of
|
|
44
44
|
* {@link module:engine/view/observer/selectionobserver~SelectionObserver}.
|
|
45
45
|
*/
|
|
46
46
|
private _handleSelectionMove;
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/fakeselectionobserver
|
|
7
7
|
*/
|
|
8
|
-
import Observer from './observer.js';
|
|
9
|
-
import ViewSelection from '../selection.js';
|
|
8
|
+
import { Observer } from './observer.js';
|
|
9
|
+
import { ViewSelection } from '../selection.js';
|
|
10
10
|
import { keyCodes } from '@ckeditor/ckeditor5-utils';
|
|
11
11
|
import { debounce } from 'es-toolkit/compat';
|
|
12
12
|
/**
|
|
13
13
|
* Fake selection observer class. If view selection is fake it is placed in dummy DOM container. This observer listens
|
|
14
|
-
* on {@link module:engine/view/document~
|
|
15
|
-
* if arrow keys are pressed.
|
|
16
|
-
* Fires {@link module:engine/view/document~
|
|
14
|
+
* on {@link module:engine/view/document~ViewDocument#event:keydown keydown} events and handles moving
|
|
15
|
+
* fake view selection to the correct place if arrow keys are pressed.
|
|
16
|
+
* Fires {@link module:engine/view/document~ViewDocument#event:selectionChange selectionChange event} simulating natural behaviour of
|
|
17
17
|
* {@link module:engine/view/observer/selectionobserver~SelectionObserver SelectionObserver}.
|
|
18
18
|
*/
|
|
19
|
-
export
|
|
19
|
+
export class FakeSelectionObserver extends Observer {
|
|
20
20
|
/**
|
|
21
21
|
* Fires debounced event `selectionChangeDone`. It uses `es-toolkit#debounce` method to delay function call.
|
|
22
22
|
*/
|
|
@@ -64,8 +64,8 @@ export default class FakeSelectionObserver extends Observer {
|
|
|
64
64
|
* Handles collapsing view selection according to given key code. If left or up key is provided - new selection will be
|
|
65
65
|
* collapsed to left. If right or down key is pressed - new selection will be collapsed to right.
|
|
66
66
|
*
|
|
67
|
-
* This method fires {@link module:engine/view/document~
|
|
68
|
-
* {@link module:engine/view/document~
|
|
67
|
+
* This method fires {@link module:engine/view/document~ViewDocument#event:selectionChange} and
|
|
68
|
+
* {@link module:engine/view/document~ViewDocument#event:selectionChangeDone} events imitating behaviour of
|
|
69
69
|
* {@link module:engine/view/observer/selectionobserver~SelectionObserver}.
|
|
70
70
|
*/
|
|
71
71
|
_handleSelectionMove(keyCode) {
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/focusobserver
|
|
7
7
|
*/
|
|
8
|
-
import DomEventObserver from './domeventobserver.js';
|
|
9
|
-
import type
|
|
10
|
-
import type
|
|
8
|
+
import { DomEventObserver } from './domeventobserver.js';
|
|
9
|
+
import { type ViewDocumentDomEventData } from './domeventdata.js';
|
|
10
|
+
import { type EditingView } from '../view.js';
|
|
11
11
|
/**
|
|
12
|
-
* {@link module:engine/view/document~
|
|
13
|
-
* and {@link module:engine/view/document~
|
|
14
|
-
* Focus observer handle also {@link module:engine/view/rooteditableelement~
|
|
15
|
-
* {@link module:engine/view/rooteditableelement~
|
|
12
|
+
* {@link module:engine/view/document~ViewDocument#event:focus Focus}
|
|
13
|
+
* and {@link module:engine/view/document~ViewDocument#event:blur blur} events observer.
|
|
14
|
+
* Focus observer handle also {@link module:engine/view/rooteditableelement~ViewRootEditableElement#isFocused isFocused} property of the
|
|
15
|
+
* {@link module:engine/view/rooteditableelement~ViewRootEditableElement root elements}.
|
|
16
16
|
*
|
|
17
|
-
* Note that this observer is attached by the {@link module:engine/view/view~
|
|
17
|
+
* Note that this observer is attached by the {@link module:engine/view/view~EditingView} and is available by default.
|
|
18
18
|
*/
|
|
19
|
-
export
|
|
19
|
+
export declare class FocusObserver extends DomEventObserver<'focus' | 'blur'> {
|
|
20
20
|
/**
|
|
21
21
|
* Identifier of the timeout currently used by focus listener to delay rendering execution.
|
|
22
22
|
*/
|
|
@@ -34,7 +34,7 @@ export default class FocusObserver extends DomEventObserver<'focus' | 'blur'> {
|
|
|
34
34
|
/**
|
|
35
35
|
* @inheritDoc
|
|
36
36
|
*/
|
|
37
|
-
constructor(view:
|
|
37
|
+
constructor(view: EditingView);
|
|
38
38
|
/**
|
|
39
39
|
* Finishes setting the document focus state.
|
|
40
40
|
*/
|
|
@@ -66,15 +66,15 @@ export default class FocusObserver extends DomEventObserver<'focus' | 'blur'> {
|
|
|
66
66
|
* Introduced by {@link module:engine/view/observer/focusobserver~FocusObserver}.
|
|
67
67
|
*
|
|
68
68
|
* Note that because {@link module:engine/view/observer/focusobserver~FocusObserver} is attached by the
|
|
69
|
-
* {@link module:engine/view/view~
|
|
69
|
+
* {@link module:engine/view/view~EditingView} this event is available by default.
|
|
70
70
|
*
|
|
71
71
|
* @see module:engine/view/observer/focusobserver~FocusObserver
|
|
72
|
-
* @eventName module:engine/view/document~
|
|
72
|
+
* @eventName module:engine/view/document~ViewDocument#focus
|
|
73
73
|
* @param data Event data.
|
|
74
74
|
*/
|
|
75
75
|
export type ViewDocumentFocusEvent = {
|
|
76
76
|
name: 'focus';
|
|
77
|
-
args: [data:
|
|
77
|
+
args: [data: ViewDocumentDomEventData<FocusEvent>];
|
|
78
78
|
};
|
|
79
79
|
/**
|
|
80
80
|
* Fired when one of the editables loses focus.
|
|
@@ -82,13 +82,13 @@ export type ViewDocumentFocusEvent = {
|
|
|
82
82
|
* Introduced by {@link module:engine/view/observer/focusobserver~FocusObserver}.
|
|
83
83
|
*
|
|
84
84
|
* Note that because {@link module:engine/view/observer/focusobserver~FocusObserver} is attached by the
|
|
85
|
-
* {@link module:engine/view/view~
|
|
85
|
+
* {@link module:engine/view/view~EditingView} this event is available by default.
|
|
86
86
|
*
|
|
87
87
|
* @see module:engine/view/observer/focusobserver~FocusObserver
|
|
88
|
-
* @eventName module:engine/view/document~
|
|
88
|
+
* @eventName module:engine/view/document~ViewDocument#blur
|
|
89
89
|
* @param data Event data.
|
|
90
90
|
*/
|
|
91
91
|
export type ViewDocumentBlurEvent = {
|
|
92
92
|
name: 'blur';
|
|
93
|
-
args: [data:
|
|
93
|
+
args: [data: ViewDocumentDomEventData<FocusEvent>];
|
|
94
94
|
};
|
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/focusobserver
|
|
7
7
|
*/
|
|
8
|
-
import DomEventObserver from './domeventobserver.js';
|
|
8
|
+
import { DomEventObserver } from './domeventobserver.js';
|
|
9
9
|
// @if CK_DEBUG_TYPING // const { _debouncedLine, _buildLogMessage } = require( '../../dev-utils/utils.js' );
|
|
10
10
|
/**
|
|
11
|
-
* {@link module:engine/view/document~
|
|
12
|
-
* and {@link module:engine/view/document~
|
|
13
|
-
* Focus observer handle also {@link module:engine/view/rooteditableelement~
|
|
14
|
-
* {@link module:engine/view/rooteditableelement~
|
|
11
|
+
* {@link module:engine/view/document~ViewDocument#event:focus Focus}
|
|
12
|
+
* and {@link module:engine/view/document~ViewDocument#event:blur blur} events observer.
|
|
13
|
+
* Focus observer handle also {@link module:engine/view/rooteditableelement~ViewRootEditableElement#isFocused isFocused} property of the
|
|
14
|
+
* {@link module:engine/view/rooteditableelement~ViewRootEditableElement root elements}.
|
|
15
15
|
*
|
|
16
|
-
* Note that this observer is attached by the {@link module:engine/view/view~
|
|
16
|
+
* Note that this observer is attached by the {@link module:engine/view/view~EditingView} and is available by default.
|
|
17
17
|
*/
|
|
18
|
-
export
|
|
18
|
+
export class FocusObserver extends DomEventObserver {
|
|
19
19
|
/**
|
|
20
20
|
* Identifier of the timeout currently used by focus listener to delay rendering execution.
|
|
21
21
|
*/
|
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/inputobserver
|
|
7
7
|
*/
|
|
8
|
-
import DomEventObserver from './domeventobserver.js';
|
|
9
|
-
import type
|
|
10
|
-
import type ViewRange from '../range.js';
|
|
11
|
-
import
|
|
8
|
+
import { DomEventObserver } from './domeventobserver.js';
|
|
9
|
+
import { type ViewDocumentDomEventData } from './domeventdata.js';
|
|
10
|
+
import { type ViewRange } from '../range.js';
|
|
11
|
+
import { ViewDataTransfer } from '../datatransfer.js';
|
|
12
12
|
/**
|
|
13
13
|
* Observer for events connected with data input.
|
|
14
14
|
*
|
|
15
|
-
* **Note**: This observer is attached by {@link module:engine/view/view~
|
|
15
|
+
* **Note**: This observer is attached by {@link module:engine/view/view~EditingView} and available by default in all
|
|
16
16
|
* editor instances.
|
|
17
17
|
*/
|
|
18
|
-
export
|
|
18
|
+
export declare class InputObserver extends DomEventObserver<'beforeinput'> {
|
|
19
19
|
/**
|
|
20
20
|
* @inheritDoc
|
|
21
21
|
*/
|
|
@@ -29,20 +29,20 @@ export default class InputObserver extends DomEventObserver<'beforeinput'> {
|
|
|
29
29
|
* Fired before the web browser inputs, deletes, or formats some data.
|
|
30
30
|
*
|
|
31
31
|
* This event is introduced by {@link module:engine/view/observer/inputobserver~InputObserver} and available
|
|
32
|
-
* by default in all editor instances (attached by {@link module:engine/view/view~
|
|
32
|
+
* by default in all editor instances (attached by {@link module:engine/view/view~EditingView}).
|
|
33
33
|
*
|
|
34
34
|
* @see module:engine/view/observer/inputobserver~InputObserver
|
|
35
|
-
* @eventName module:engine/view/document~
|
|
35
|
+
* @eventName module:engine/view/document~ViewDocument#beforeinput
|
|
36
36
|
* @param data Event data containing detailed information about the event.
|
|
37
37
|
*/
|
|
38
38
|
export type ViewDocumentInputEvent = {
|
|
39
39
|
name: 'beforeinput';
|
|
40
|
-
args: [data:
|
|
40
|
+
args: [data: ViewDocumentInputEventData];
|
|
41
41
|
};
|
|
42
42
|
/**
|
|
43
43
|
* The value of the {@link ~ViewDocumentInputEvent} event.
|
|
44
44
|
*/
|
|
45
|
-
export interface
|
|
45
|
+
export interface ViewDocumentInputEventData extends ViewDocumentDomEventData<InputEvent> {
|
|
46
46
|
/**
|
|
47
47
|
* The type of the input event (e.g. "insertText" or "deleteWordBackward"). Corresponds to native `InputEvent#inputType`.
|
|
48
48
|
*/
|
|
@@ -52,14 +52,14 @@ export interface InputEventData extends DomEventData<InputEvent> {
|
|
|
52
52
|
*
|
|
53
53
|
* * the web browser and input events implementation (for instance [Level 1](https://www.w3.org/TR/input-events-1/) or
|
|
54
54
|
* [Level 2](https://www.w3.org/TR/input-events-2/)),
|
|
55
|
-
* * {@link module:engine/view/observer/inputobserver~
|
|
55
|
+
* * {@link module:engine/view/observer/inputobserver~ViewDocumentInputEventData#inputType input type}
|
|
56
56
|
*
|
|
57
57
|
* text data is sometimes passed in the `data` and sometimes in the `dataTransfer` property.
|
|
58
58
|
*
|
|
59
59
|
* * If `InputEvent#data` was set, this property reflects its value.
|
|
60
60
|
* * If `InputEvent#data` is unavailable, this property contains the `'text/plain'` data from
|
|
61
|
-
* {@link module:engine/view/observer/inputobserver~
|
|
62
|
-
* * If the event ({@link module:engine/view/observer/inputobserver~
|
|
61
|
+
* {@link module:engine/view/observer/inputobserver~ViewDocumentInputEventData#dataTransfer}.
|
|
62
|
+
* * If the event ({@link module:engine/view/observer/inputobserver~ViewDocumentInputEventData#inputType input type})
|
|
63
63
|
* provides no data whatsoever, this property is `null`.
|
|
64
64
|
*/
|
|
65
65
|
readonly data: string | null;
|
|
@@ -68,18 +68,18 @@ export interface InputEventData extends DomEventData<InputEvent> {
|
|
|
68
68
|
*
|
|
69
69
|
* The value is `null` when no `dataTransfer` was passed along with the input event.
|
|
70
70
|
*/
|
|
71
|
-
readonly dataTransfer:
|
|
71
|
+
readonly dataTransfer: ViewDataTransfer;
|
|
72
72
|
/**
|
|
73
73
|
* A flag indicating that the `beforeinput` event was fired during composition.
|
|
74
74
|
*
|
|
75
75
|
* Corresponds to the
|
|
76
|
-
* {@link module:engine/view/document~
|
|
77
|
-
* {@link module:engine/view/document~
|
|
78
|
-
* and {@link module:engine/view/document~
|
|
76
|
+
* {@link module:engine/view/document~ViewDocument#event:compositionstart},
|
|
77
|
+
* {@link module:engine/view/document~ViewDocument#event:compositionupdate},
|
|
78
|
+
* and {@link module:engine/view/document~ViewDocument#event:compositionend } trio.
|
|
79
79
|
*/
|
|
80
80
|
readonly isComposing: boolean;
|
|
81
81
|
/**
|
|
82
|
-
* Editing {@link module:engine/view/range~
|
|
82
|
+
* Editing {@link module:engine/view/range~ViewRange view ranges} corresponding to DOM ranges provided by the web browser
|
|
83
83
|
* (as returned by `InputEvent#getTargetRanges()`).
|
|
84
84
|
*/
|
|
85
85
|
readonly targetRanges: Array<ViewRange>;
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/inputobserver
|
|
7
7
|
*/
|
|
8
|
-
import DomEventObserver from './domeventobserver.js';
|
|
9
|
-
import
|
|
8
|
+
import { DomEventObserver } from './domeventobserver.js';
|
|
9
|
+
import { ViewDataTransfer } from '../datatransfer.js';
|
|
10
10
|
import { env, isText, indexOf } from '@ckeditor/ckeditor5-utils';
|
|
11
11
|
import { INLINE_FILLER_LENGTH, startsWithFiller } from '../filler.js';
|
|
12
12
|
// @if CK_DEBUG_TYPING // const { _debouncedLine, _buildLogMessage } = require( '../../dev-utils/utils.js' );
|
|
13
13
|
/**
|
|
14
14
|
* Observer for events connected with data input.
|
|
15
15
|
*
|
|
16
|
-
* **Note**: This observer is attached by {@link module:engine/view/view~
|
|
16
|
+
* **Note**: This observer is attached by {@link module:engine/view/view~EditingView} and available by default in all
|
|
17
17
|
* editor instances.
|
|
18
18
|
*/
|
|
19
|
-
export
|
|
19
|
+
export class InputObserver extends DomEventObserver {
|
|
20
20
|
/**
|
|
21
21
|
* @inheritDoc
|
|
22
22
|
*/
|
|
@@ -38,7 +38,7 @@ export default class InputObserver extends DomEventObserver {
|
|
|
38
38
|
let data = null;
|
|
39
39
|
let targetRanges = [];
|
|
40
40
|
if (domEvent.dataTransfer) {
|
|
41
|
-
dataTransfer = new
|
|
41
|
+
dataTransfer = new ViewDataTransfer(domEvent.dataTransfer);
|
|
42
42
|
}
|
|
43
43
|
if (domEvent.data !== null) {
|
|
44
44
|
data = domEvent.data;
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/observer/keyobserver
|
|
7
7
|
*/
|
|
8
|
-
import DomEventObserver from './domeventobserver.js';
|
|
9
|
-
import type
|
|
8
|
+
import { DomEventObserver } from './domeventobserver.js';
|
|
9
|
+
import { type ViewDocumentDomEventData } from './domeventdata.js';
|
|
10
10
|
import { type KeystrokeInfo } from '@ckeditor/ckeditor5-utils';
|
|
11
11
|
/**
|
|
12
12
|
* Observer for events connected with pressing keyboard keys.
|
|
13
13
|
*
|
|
14
|
-
* Note that this observer is attached by the {@link module:engine/view/view~
|
|
14
|
+
* Note that this observer is attached by the {@link module:engine/view/view~EditingView} and is available by default.
|
|
15
15
|
*/
|
|
16
|
-
export
|
|
16
|
+
export declare class KeyObserver extends DomEventObserver<'keydown' | 'keyup', KeystrokeInfo & {
|
|
17
17
|
keystroke: number;
|
|
18
18
|
}> {
|
|
19
19
|
/**
|
|
@@ -31,14 +31,14 @@ export default class KeyObserver extends DomEventObserver<'keydown' | 'keyup', K
|
|
|
31
31
|
* Introduced by {@link module:engine/view/observer/keyobserver~KeyObserver}.
|
|
32
32
|
*
|
|
33
33
|
* Note that because {@link module:engine/view/observer/keyobserver~KeyObserver} is attached by the
|
|
34
|
-
* {@link module:engine/view/view~
|
|
34
|
+
* {@link module:engine/view/view~EditingView} this event is available by default.
|
|
35
35
|
*
|
|
36
36
|
* @see module:engine/view/observer/keyobserver~KeyObserver
|
|
37
|
-
* @eventName module:engine/view/document~
|
|
37
|
+
* @eventName module:engine/view/document~ViewDocument#keydown
|
|
38
38
|
*/
|
|
39
39
|
export type ViewDocumentKeyDownEvent = {
|
|
40
40
|
name: 'keydown';
|
|
41
|
-
args: [data:
|
|
41
|
+
args: [data: ViewDocumentKeyEventData];
|
|
42
42
|
};
|
|
43
43
|
/**
|
|
44
44
|
* Fired when a key has been released.
|
|
@@ -46,19 +46,19 @@ export type ViewDocumentKeyDownEvent = {
|
|
|
46
46
|
* Introduced by {@link module:engine/view/observer/keyobserver~KeyObserver}.
|
|
47
47
|
*
|
|
48
48
|
* Note that because {@link module:engine/view/observer/keyobserver~KeyObserver} is attached by the
|
|
49
|
-
* {@link module:engine/view/view~
|
|
49
|
+
* {@link module:engine/view/view~EditingView} this event is available by default.
|
|
50
50
|
*
|
|
51
51
|
* @see module:engine/view/observer/keyobserver~KeyObserver
|
|
52
|
-
* @eventName module:engine/view/document~
|
|
52
|
+
* @eventName module:engine/view/document~ViewDocument#keyup
|
|
53
53
|
*/
|
|
54
54
|
export type ViewDocumentKeyUpEvent = {
|
|
55
55
|
name: 'keyup';
|
|
56
|
-
args: [data:
|
|
56
|
+
args: [data: ViewDocumentKeyEventData];
|
|
57
57
|
};
|
|
58
58
|
/**
|
|
59
59
|
* The value of both events - {@link ~ViewDocumentKeyDownEvent} and {@link ~ViewDocumentKeyUpEvent}.
|
|
60
60
|
*/
|
|
61
|
-
export interface
|
|
61
|
+
export interface ViewDocumentKeyEventData extends ViewDocumentDomEventData<KeyboardEvent>, KeystrokeInfo {
|
|
62
62
|
/**
|
|
63
63
|
* Code of the whole keystroke. See {@link module:utils/keyboard~getCode}.
|
|
64
64
|
*/
|