@ckeditor/ckeditor5-engine 36.0.1 → 37.0.0-alpha.1

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.
Files changed (203) hide show
  1. package/README.md +1 -1
  2. package/package.json +25 -24
  3. package/src/controller/datacontroller.d.ts +331 -0
  4. package/src/controller/datacontroller.js +72 -116
  5. package/src/controller/editingcontroller.d.ts +98 -0
  6. package/src/controller/editingcontroller.js +22 -46
  7. package/src/conversion/conversion.d.ts +476 -0
  8. package/src/conversion/conversion.js +328 -347
  9. package/src/conversion/conversionhelpers.d.ts +26 -0
  10. package/src/conversion/conversionhelpers.js +1 -5
  11. package/src/conversion/downcastdispatcher.d.ts +547 -0
  12. package/src/conversion/downcastdispatcher.js +74 -152
  13. package/src/conversion/downcasthelpers.d.ts +1226 -0
  14. package/src/conversion/downcasthelpers.js +843 -762
  15. package/src/conversion/mapper.d.ts +503 -0
  16. package/src/conversion/mapper.js +84 -99
  17. package/src/conversion/modelconsumable.d.ts +201 -0
  18. package/src/conversion/modelconsumable.js +96 -99
  19. package/src/conversion/upcastdispatcher.d.ts +492 -0
  20. package/src/conversion/upcastdispatcher.js +73 -100
  21. package/src/conversion/upcasthelpers.d.ts +499 -0
  22. package/src/conversion/upcasthelpers.js +406 -373
  23. package/src/conversion/viewconsumable.d.ts +369 -0
  24. package/src/conversion/viewconsumable.js +139 -173
  25. package/src/dataprocessor/basichtmlwriter.d.ts +18 -0
  26. package/src/dataprocessor/basichtmlwriter.js +0 -9
  27. package/src/dataprocessor/dataprocessor.d.ts +61 -0
  28. package/src/dataprocessor/htmldataprocessor.d.ts +76 -0
  29. package/src/dataprocessor/htmldataprocessor.js +6 -28
  30. package/src/dataprocessor/htmlwriter.d.ts +16 -0
  31. package/src/dataprocessor/xmldataprocessor.d.ts +90 -0
  32. package/src/dataprocessor/xmldataprocessor.js +8 -40
  33. package/src/dev-utils/model.d.ts +124 -0
  34. package/src/dev-utils/model.js +41 -38
  35. package/src/dev-utils/operationreplayer.d.ts +51 -0
  36. package/src/dev-utils/operationreplayer.js +6 -14
  37. package/src/dev-utils/utils.d.ts +37 -0
  38. package/src/dev-utils/utils.js +5 -18
  39. package/src/dev-utils/view.d.ts +319 -0
  40. package/src/dev-utils/view.js +205 -226
  41. package/src/index.d.ts +108 -0
  42. package/src/index.js +4 -0
  43. package/src/model/batch.d.ts +106 -0
  44. package/src/model/differ.d.ts +329 -0
  45. package/src/model/document.d.ts +246 -0
  46. package/src/model/document.js +1 -1
  47. package/src/model/documentfragment.d.ts +196 -0
  48. package/src/model/documentfragment.js +2 -2
  49. package/src/model/documentselection.d.ts +420 -0
  50. package/src/model/element.d.ts +165 -0
  51. package/src/model/history.d.ts +114 -0
  52. package/src/model/item.d.ts +14 -0
  53. package/src/model/liveposition.d.ts +77 -0
  54. package/src/model/liverange.d.ts +102 -0
  55. package/src/model/markercollection.d.ts +335 -0
  56. package/src/model/model.d.ts +885 -0
  57. package/src/model/model.js +59 -81
  58. package/src/model/node.d.ts +256 -0
  59. package/src/model/nodelist.d.ts +91 -0
  60. package/src/model/operation/attributeoperation.d.ts +98 -0
  61. package/src/model/operation/detachoperation.d.ts +55 -0
  62. package/src/model/operation/insertoperation.d.ts +85 -0
  63. package/src/model/operation/markeroperation.d.ts +86 -0
  64. package/src/model/operation/mergeoperation.d.ts +95 -0
  65. package/src/model/operation/mergeoperation.js +1 -1
  66. package/src/model/operation/moveoperation.d.ts +91 -0
  67. package/src/model/operation/nooperation.d.ts +33 -0
  68. package/src/model/operation/operation.d.ts +89 -0
  69. package/src/model/operation/operationfactory.d.ts +18 -0
  70. package/src/model/operation/renameoperation.d.ts +78 -0
  71. package/src/model/operation/rootattributeoperation.d.ts +97 -0
  72. package/src/model/operation/rootattributeoperation.js +1 -1
  73. package/src/model/operation/splitoperation.d.ts +104 -0
  74. package/src/model/operation/splitoperation.js +1 -1
  75. package/src/model/operation/transform.d.ts +100 -0
  76. package/src/model/operation/utils.d.ts +71 -0
  77. package/src/model/operation/utils.js +1 -1
  78. package/src/model/position.d.ts +539 -0
  79. package/src/model/position.js +1 -1
  80. package/src/model/range.d.ts +458 -0
  81. package/src/model/range.js +1 -1
  82. package/src/model/rootelement.d.ts +40 -0
  83. package/src/model/schema.d.ts +1176 -0
  84. package/src/model/schema.js +19 -19
  85. package/src/model/selection.d.ts +472 -0
  86. package/src/model/text.d.ts +66 -0
  87. package/src/model/text.js +0 -2
  88. package/src/model/textproxy.d.ts +144 -0
  89. package/src/model/treewalker.d.ts +186 -0
  90. package/src/model/treewalker.js +19 -10
  91. package/src/model/typecheckable.d.ts +285 -0
  92. package/src/model/utils/autoparagraphing.d.ts +37 -0
  93. package/src/model/utils/deletecontent.d.ts +58 -0
  94. package/src/model/utils/findoptimalinsertionrange.d.ts +32 -0
  95. package/src/model/utils/getselectedcontent.d.ts +30 -0
  96. package/src/model/utils/insertcontent.d.ts +46 -0
  97. package/src/model/utils/insertcontent.js +2 -12
  98. package/src/model/utils/insertobject.d.ts +44 -0
  99. package/src/model/utils/insertobject.js +3 -14
  100. package/src/model/utils/modifyselection.d.ts +48 -0
  101. package/src/model/utils/selection-post-fixer.d.ts +65 -0
  102. package/src/model/writer.d.ts +823 -0
  103. package/src/model/writer.js +6 -61
  104. package/src/view/attributeelement.d.ts +108 -0
  105. package/src/view/attributeelement.js +25 -69
  106. package/src/view/containerelement.d.ts +49 -0
  107. package/src/view/containerelement.js +10 -43
  108. package/src/view/datatransfer.d.ts +75 -0
  109. package/src/view/document.d.ts +184 -0
  110. package/src/view/document.js +15 -84
  111. package/src/view/documentfragment.d.ts +149 -0
  112. package/src/view/documentfragment.js +39 -81
  113. package/src/view/documentselection.d.ts +306 -0
  114. package/src/view/documentselection.js +42 -143
  115. package/src/view/domconverter.d.ts +650 -0
  116. package/src/view/domconverter.js +157 -283
  117. package/src/view/downcastwriter.d.ts +996 -0
  118. package/src/view/downcastwriter.js +259 -426
  119. package/src/view/editableelement.d.ts +52 -0
  120. package/src/view/editableelement.js +9 -49
  121. package/src/view/element.d.ts +468 -0
  122. package/src/view/element.js +150 -222
  123. package/src/view/elementdefinition.d.ts +87 -0
  124. package/src/view/emptyelement.d.ts +41 -0
  125. package/src/view/emptyelement.js +11 -44
  126. package/src/view/filler.d.ts +111 -0
  127. package/src/view/filler.js +24 -21
  128. package/src/view/item.d.ts +14 -0
  129. package/src/view/matcher.d.ts +486 -0
  130. package/src/view/matcher.js +247 -218
  131. package/src/view/node.d.ts +163 -0
  132. package/src/view/node.js +26 -100
  133. package/src/view/observer/arrowkeysobserver.d.ts +41 -0
  134. package/src/view/observer/arrowkeysobserver.js +0 -13
  135. package/src/view/observer/bubblingemittermixin.d.ts +166 -0
  136. package/src/view/observer/bubblingemittermixin.js +36 -25
  137. package/src/view/observer/bubblingeventinfo.d.ts +47 -0
  138. package/src/view/observer/bubblingeventinfo.js +3 -29
  139. package/src/view/observer/clickobserver.d.ts +43 -0
  140. package/src/view/observer/clickobserver.js +9 -19
  141. package/src/view/observer/compositionobserver.d.ts +82 -0
  142. package/src/view/observer/compositionobserver.js +13 -42
  143. package/src/view/observer/domeventdata.d.ts +50 -0
  144. package/src/view/observer/domeventdata.js +5 -30
  145. package/src/view/observer/domeventobserver.d.ts +69 -0
  146. package/src/view/observer/domeventobserver.js +19 -21
  147. package/src/view/observer/fakeselectionobserver.d.ts +43 -0
  148. package/src/view/observer/fakeselectionobserver.js +0 -16
  149. package/src/view/observer/focusobserver.d.ts +82 -0
  150. package/src/view/observer/focusobserver.js +14 -40
  151. package/src/view/observer/inputobserver.d.ts +86 -0
  152. package/src/view/observer/inputobserver.js +18 -64
  153. package/src/view/observer/keyobserver.d.ts +66 -0
  154. package/src/view/observer/keyobserver.js +8 -42
  155. package/src/view/observer/mouseobserver.d.ts +89 -0
  156. package/src/view/observer/mouseobserver.js +8 -28
  157. package/src/view/observer/mutationobserver.d.ts +82 -0
  158. package/src/view/observer/mutationobserver.js +7 -37
  159. package/src/view/observer/observer.d.ts +84 -0
  160. package/src/view/observer/observer.js +12 -25
  161. package/src/view/observer/selectionobserver.d.ts +144 -0
  162. package/src/view/observer/selectionobserver.js +17 -107
  163. package/src/view/observer/tabobserver.d.ts +42 -0
  164. package/src/view/observer/tabobserver.js +0 -14
  165. package/src/view/placeholder.d.ts +85 -0
  166. package/src/view/placeholder.js +26 -43
  167. package/src/view/position.d.ts +189 -0
  168. package/src/view/position.js +36 -83
  169. package/src/view/range.d.ts +279 -0
  170. package/src/view/range.js +79 -122
  171. package/src/view/rawelement.d.ts +73 -0
  172. package/src/view/rawelement.js +34 -48
  173. package/src/view/renderer.d.ts +265 -0
  174. package/src/view/renderer.js +105 -193
  175. package/src/view/rooteditableelement.d.ts +41 -0
  176. package/src/view/rooteditableelement.js +12 -40
  177. package/src/view/selection.d.ts +375 -0
  178. package/src/view/selection.js +79 -153
  179. package/src/view/styles/background.d.ts +33 -0
  180. package/src/view/styles/background.js +14 -12
  181. package/src/view/styles/border.d.ts +43 -0
  182. package/src/view/styles/border.js +58 -48
  183. package/src/view/styles/margin.d.ts +29 -0
  184. package/src/view/styles/margin.js +13 -11
  185. package/src/view/styles/padding.d.ts +29 -0
  186. package/src/view/styles/padding.js +13 -11
  187. package/src/view/styles/utils.d.ts +93 -0
  188. package/src/view/styles/utils.js +22 -48
  189. package/src/view/stylesmap.d.ts +675 -0
  190. package/src/view/stylesmap.js +249 -244
  191. package/src/view/text.d.ts +74 -0
  192. package/src/view/text.js +16 -46
  193. package/src/view/textproxy.d.ts +97 -0
  194. package/src/view/textproxy.js +10 -59
  195. package/src/view/treewalker.d.ts +195 -0
  196. package/src/view/treewalker.js +43 -106
  197. package/src/view/typecheckable.d.ts +448 -0
  198. package/src/view/uielement.d.ts +96 -0
  199. package/src/view/uielement.js +29 -63
  200. package/src/view/upcastwriter.d.ts +417 -0
  201. package/src/view/upcastwriter.js +86 -157
  202. package/src/view/view.d.ts +417 -0
  203. package/src/view/view.js +47 -175
package/src/view/view.js CHANGED
@@ -32,9 +32,11 @@ import { injectQuirksHandling } from './filler';
32
32
  * all changes need to be done using the {@link module:engine/view/view~View#change} method, using
33
33
  * {@link module:engine/view/downcastwriter~DowncastWriter}:
34
34
  *
35
- * view.change( writer => {
36
- * writer.insert( position, writer.createText( 'foo' ) );
37
- * } );
35
+ * ```ts
36
+ * view.change( writer => {
37
+ * writer.insert( position, writer.createText( 'foo' ) );
38
+ * } );
39
+ * ```
38
40
  *
39
41
  * View controller also register {@link module:engine/view/observer/observer~Observer observers} which observes changes
40
42
  * on DOM and fire events on the {@link module:engine/view/document~Document Document}.
@@ -53,113 +55,52 @@ import { injectQuirksHandling } from './filler';
53
55
  *
54
56
  * If you do not need full a DOM - view management, and only want to transform a tree of view elements to a tree of DOM
55
57
  * elements you do not need this controller. You can use the {@link module:engine/view/domconverter~DomConverter DomConverter} instead.
56
- *
57
- * @mixes module:utils/observablemixin~ObservableMixin
58
58
  */
59
59
  export default class View extends ObservableMixin() {
60
60
  /**
61
- * @param {module:engine/view/stylesmap~StylesProcessor} stylesProcessor The styles processor instance.
61
+ * @param stylesProcessor The styles processor instance.
62
62
  */
63
63
  constructor(stylesProcessor) {
64
64
  super();
65
- /**
66
- * Instance of the {@link module:engine/view/document~Document} associated with this view controller.
67
- *
68
- * @readonly
69
- * @type {module:engine/view/document~Document}
70
- */
71
- this.document = new Document(stylesProcessor);
72
- /**
73
- * Instance of the {@link module:engine/view/domconverter~DomConverter domConverter} used by
74
- * {@link module:engine/view/view~View#_renderer renderer}
75
- * and {@link module:engine/view/observer/observer~Observer observers}.
76
- *
77
- * @readonly
78
- * @type {module:engine/view/domconverter~DomConverter}
79
- */
80
- this.domConverter = new DomConverter(this.document);
81
65
  /**
82
66
  * Roots of the DOM tree. Map on the `HTMLElement`s with roots names as keys.
83
- *
84
- * @readonly
85
- * @type {Map.<String, HTMLElement>}
86
67
  */
87
68
  this.domRoots = new Map();
88
- /**
89
- * Used to prevent calling {@link #forceRender} and {@link #change} during rendering view to the DOM.
90
- *
91
- * @readonly
92
- * @member {Boolean} #isRenderingInProgress
93
- */
94
- this.set('isRenderingInProgress', false);
95
- /**
96
- * Informs whether the DOM selection is inside any of the DOM roots managed by the view.
97
- *
98
- * @readonly
99
- * @member {Boolean} #hasDomSelection
100
- */
101
- this.set('hasDomSelection', false);
102
- /**
103
- * Instance of the {@link module:engine/view/renderer~Renderer renderer}.
104
- *
105
- * @protected
106
- * @type {module:engine/view/renderer~Renderer}
107
- */
108
- this._renderer = new Renderer(this.domConverter, this.document.selection);
109
- this._renderer.bind('isFocused', 'isSelecting', 'isComposing')
110
- .to(this.document, 'isFocused', 'isSelecting', 'isComposing');
111
69
  /**
112
70
  * A DOM root attributes cache. It saves the initial values of DOM root attributes before the DOM element
113
71
  * is {@link module:engine/view/view~View#attachDomRoot attached} to the view so later on, when
114
72
  * the view is destroyed ({@link module:engine/view/view~View#detachDomRoot}), they can be easily restored.
115
73
  * This way, the DOM element can go back to the (clean) state as if the editing view never used it.
116
- *
117
- * @private
118
- * @member {WeakMap.<HTMLElement,Object>}
119
74
  */
120
75
  this._initialDomRootAttributes = new WeakMap();
121
76
  /**
122
77
  * Map of registered {@link module:engine/view/observer/observer~Observer observers}.
123
- *
124
- * @private
125
- * @type {Map.<Function, module:engine/view/observer/observer~Observer>}
126
78
  */
127
79
  this._observers = new Map();
128
80
  /**
129
81
  * Is set to `true` when {@link #change view changes} are currently in progress.
130
- *
131
- * @private
132
- * @type {Boolean}
133
82
  */
134
83
  this._ongoingChange = false;
135
84
  /**
136
85
  * Used to prevent calling {@link #forceRender} and {@link #change} during rendering view to the DOM.
137
- *
138
- * @private
139
- * @type {Boolean}
140
86
  */
141
87
  this._postFixersInProgress = false;
142
88
  /**
143
89
  * Internal flag to temporary disable rendering. See the usage in the {@link #_disableRendering}.
144
- *
145
- * @private
146
- * @type {Boolean}
147
90
  */
148
91
  this._renderingDisabled = false;
149
92
  /**
150
93
  * Internal flag that disables rendering when there are no changes since the last rendering.
151
94
  * It stores information about changed selection and changed elements from attached document roots.
152
- *
153
- * @private
154
- * @type {Boolean}
155
95
  */
156
96
  this._hasChangedSinceTheLastRendering = false;
157
- /**
158
- * DowncastWriter instance used in {@link #change change method} callbacks.
159
- *
160
- * @private
161
- * @type {module:engine/view/downcastwriter~DowncastWriter}
162
- */
97
+ this.document = new Document(stylesProcessor);
98
+ this.domConverter = new DomConverter(this.document);
99
+ this.set('isRenderingInProgress', false);
100
+ this.set('hasDomSelection', false);
101
+ this._renderer = new Renderer(this.domConverter, this.document.selection);
102
+ this._renderer.bind('isFocused', 'isSelecting', 'isComposing')
103
+ .to(this.document, 'isFocused', 'isSelecting', 'isComposing');
163
104
  this._writer = new DowncastWriter(this.document);
164
105
  // Add default observers.
165
106
  this.addObserver(MutationObserver);
@@ -201,8 +142,8 @@ export default class View extends ObservableMixin() {
201
142
  *
202
143
  * **Note:** Use {@link #detachDomRoot `detachDomRoot()`} to revert this action.
203
144
  *
204
- * @param {Element} domRoot DOM root element.
205
- * @param {String} [name='main'] Name of the root.
145
+ * @param domRoot DOM root element.
146
+ * @param name Name of the root.
206
147
  */
207
148
  attachDomRoot(domRoot, name = 'main') {
208
149
  const viewRoot = this.document.getRoot(name);
@@ -261,7 +202,7 @@ export default class View extends ObservableMixin() {
261
202
  * Detaches a DOM root element from the view element and restores its attributes to the state before
262
203
  * {@link #attachDomRoot `attachDomRoot()`}.
263
204
  *
264
- * @param {String} name Name of the root to detach.
205
+ * @param name Name of the root to detach.
265
206
  */
266
207
  detachDomRoot(name) {
267
208
  const domRoot = this.domRoots.get(name);
@@ -278,8 +219,8 @@ export default class View extends ObservableMixin() {
278
219
  /**
279
220
  * Gets DOM root element.
280
221
  *
281
- * @param {String} [name='main'] Name of the root.
282
- * @returns {Element} DOM root element instance.
222
+ * @param name Name of the root.
223
+ * @returns DOM root element instance.
283
224
  */
284
225
  getDomRoot(name = 'main') {
285
226
  return this.domRoots.get(name);
@@ -293,9 +234,9 @@ export default class View extends ObservableMixin() {
293
234
  * when registered for the first time. This means that features and other components can register a single observer
294
235
  * multiple times without caring whether it has been already added or not.
295
236
  *
296
- * @param {Function} Observer The constructor of an observer to add.
237
+ * @param ObserverConstructor The constructor of an observer to add.
297
238
  * Should create an instance inheriting from {@link module:engine/view/observer/observer~Observer}.
298
- * @returns {module:engine/view/observer/observer~Observer} Added observer instance.
239
+ * @returns Added observer instance.
299
240
  */
300
241
  addObserver(ObserverConstructor) {
301
242
  let observer = this._observers.get(ObserverConstructor);
@@ -313,8 +254,8 @@ export default class View extends ObservableMixin() {
313
254
  /**
314
255
  * Returns observer of the given type or `undefined` if such observer has not been added yet.
315
256
  *
316
- * @param {Function} Observer The constructor of an observer to get.
317
- * @returns {module:engine/view/observer/observer~Observer|undefined} Observer instance or undefined.
257
+ * @param ObserverConstructor The constructor of an observer to get.
258
+ * @returns Observer instance or undefined.
318
259
  */
319
260
  getObserver(ObserverConstructor) {
320
261
  return this._observers.get(ObserverConstructor);
@@ -375,18 +316,20 @@ export default class View extends ObservableMixin() {
375
316
  * to nest calls one inside another and still performs a single rendering after all those changes are made.
376
317
  * It also returns the return value of its callback.
377
318
  *
378
- * const text = view.change( writer => {
379
- * const newText = writer.createText( 'foo' );
380
- * writer.insert( position1, newText );
319
+ * ```ts
320
+ * const text = view.change( writer => {
321
+ * const newText = writer.createText( 'foo' );
322
+ * writer.insert( position1, newText );
381
323
  *
382
- * view.change( writer => {
383
- * writer.insert( position2, writer.createText( 'bar' ) );
384
- * } );
324
+ * view.change( writer => {
325
+ * writer.insert( position2, writer.createText( 'bar' ) );
326
+ * } );
385
327
  *
386
- * writer.remove( range );
328
+ * writer.remove( range );
387
329
  *
388
- * return newText;
389
- * } );
330
+ * return newText;
331
+ * } );
332
+ * ```
390
333
  *
391
334
  * When the outermost change block is done and rendering to the DOM is over the
392
335
  * {@link module:engine/view/view~View#event:render `View#render`} event is fired.
@@ -394,8 +337,8 @@ export default class View extends ObservableMixin() {
394
337
  * This method throws a `applying-view-changes-on-rendering` error when
395
338
  * the change block is used after rendering to the DOM has started.
396
339
  *
397
- * @param {Function} callback Callback function which may modify the view.
398
- * @returns {*} Value returned by the callback.
340
+ * @param callback Callback function which may modify the view.
341
+ * @returns Value returned by the callback.
399
342
  */
400
343
  change(callback) {
401
344
  if (this.isRenderingInProgress || this._postFixersInProgress) {
@@ -404,8 +347,9 @@ export default class View extends ObservableMixin() {
404
347
  * cause some unexpected behaviour and inconsistency between the DOM and the view.
405
348
  * This may be caused by:
406
349
  *
407
- * * calling {@link #change} or {@link #forceRender} during rendering process,
408
- * * calling {@link #change} or {@link #forceRender} inside of
350
+ * * calling {@link module:engine/view/view~View#change} or {@link module:engine/view/view~View#forceRender} during rendering
351
+ * process,
352
+ * * calling {@link module:engine/view/view~View#change} or {@link module:engine/view/view~View#forceRender} inside of
409
353
  * {@link module:engine/view/document~Document#registerPostFixer post-fixer function}.
410
354
  *
411
355
  * @error cannot-change-view-tree
@@ -477,9 +421,7 @@ export default class View extends ObservableMixin() {
477
421
  * * {@link #createPositionBefore},
478
422
  * * {@link #createPositionAfter},
479
423
  *
480
- * @param {module:engine/view/item~Item|module:engine/model/position~Position} itemOrPosition
481
- * @param {Number|'end'|'before'|'after'} [offset] Offset or one of the flags. Used only when
482
- * first parameter is a {@link module:engine/view/item~Item view item}.
424
+ * @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/view/item~Item view item}.
483
425
  */
484
426
  createPositionAt(itemOrPosition, offset) {
485
427
  return Position._createAt(itemOrPosition, offset);
@@ -487,8 +429,7 @@ export default class View extends ObservableMixin() {
487
429
  /**
488
430
  * Creates a new position after given view item.
489
431
  *
490
- * @param {module:engine/view/item~Item} item View item after which the position should be located.
491
- * @returns {module:engine/view/position~Position}
432
+ * @param item View item after which the position should be located.
492
433
  */
493
434
  createPositionAfter(item) {
494
435
  return Position._createAfter(item);
@@ -496,8 +437,7 @@ export default class View extends ObservableMixin() {
496
437
  /**
497
438
  * Creates a new position before given view item.
498
439
  *
499
- * @param {module:engine/view/item~Item} item View item before which the position should be located.
500
- * @returns {module:engine/view/position~Position}
440
+ * @param item View item before which the position should be located.
501
441
  */
502
442
  createPositionBefore(item) {
503
443
  return Position._createBefore(item);
@@ -507,18 +447,14 @@ export default class View extends ObservableMixin() {
507
447
  *
508
448
  * **Note:** This factory method creates it's own {@link module:engine/view/position~Position} instances basing on passed values.
509
449
  *
510
- * @param {module:engine/view/position~Position} start Start position.
511
- * @param {module:engine/view/position~Position} [end] End position. If not set, range will be collapsed at `start` position.
512
- * @returns {module:engine/view/range~Range}
450
+ * @param start Start position.
451
+ * @param end End position. If not set, range will be collapsed at `start` position.
513
452
  */
514
- createRange(...args) {
515
- return new Range(...args);
453
+ createRange(start, end) {
454
+ return new Range(start, end);
516
455
  }
517
456
  /**
518
457
  * Creates a range that starts before given {@link module:engine/view/item~Item view item} and ends after it.
519
- *
520
- * @param {module:engine/view/item~Item} item
521
- * @returns {module:engine/view/range~Range}
522
458
  */
523
459
  createRangeOn(item) {
524
460
  return Range._createOn(item);
@@ -527,72 +463,11 @@ export default class View extends ObservableMixin() {
527
463
  * Creates a range inside an {@link module:engine/view/element~Element element} which starts before the first child of
528
464
  * that element and ends after the last child of that element.
529
465
  *
530
- * @param {module:engine/view/element~Element} element Element which is a parent for the range.
531
- * @returns {module:engine/view/range~Range}
466
+ * @param element Element which is a parent for the range.
532
467
  */
533
468
  createRangeIn(element) {
534
469
  return Range._createIn(element);
535
470
  }
536
- /**
537
- Creates new {@link module:engine/view/selection~Selection} instance.
538
- *
539
- * // Creates empty selection without ranges.
540
- * const selection = view.createSelection();
541
- *
542
- * // Creates selection at the given range.
543
- * const range = view.createRange( start, end );
544
- * const selection = view.createSelection( range );
545
- *
546
- * // Creates selection at the given ranges
547
- * const ranges = [ view.createRange( start1, end2 ), view.createRange( star2, end2 ) ];
548
- * const selection = view.createSelection( ranges );
549
- *
550
- * // Creates selection from the other selection.
551
- * const otherSelection = view.createSelection();
552
- * const selection = view.createSelection( otherSelection );
553
- *
554
- * // Creates selection from the document selection.
555
- * const selection = view.createSelection( editor.editing.view.document.selection );
556
- *
557
- * // Creates selection at the given position.
558
- * const position = view.createPositionFromPath( root, path );
559
- * const selection = view.createSelection( position );
560
- *
561
- * // Creates collapsed selection at the position of given item and offset.
562
- * const paragraph = view.createContainerElement( 'paragraph' );
563
- * const selection = view.createSelection( paragraph, offset );
564
- *
565
- * // Creates a range inside an {@link module:engine/view/element~Element element} which starts before the
566
- * // first child of that element and ends after the last child of that element.
567
- * const selection = view.createSelection( paragraph, 'in' );
568
- *
569
- * // Creates a range on an {@link module:engine/view/item~Item item} which starts before the item and ends
570
- * // just after the item.
571
- * const selection = view.createSelection( paragraph, 'on' );
572
- *
573
- * `Selection`'s factory method allow passing additional options (`backward`, `fake` and `label`) as the last argument.
574
- *
575
- * // Creates backward selection.
576
- * const selection = view.createSelection( range, { backward: true } );
577
- *
578
- * Fake selection does not render as browser native selection over selected elements and is hidden to the user.
579
- * This way, no native selection UI artifacts are displayed to the user and selection over elements can be
580
- * represented in other way, for example by applying proper CSS class.
581
- *
582
- * Additionally fake's selection label can be provided. It will be used to describe fake selection in DOM
583
- * (and be properly handled by screen readers).
584
- *
585
- * // Creates fake selection with label.
586
- * const selection = view.createSelection( range, { fake: true, label: 'foo' } );
587
- *
588
- * @param {module:engine/view/selection~Selectable} [selectable=null]
589
- * @param {Number|'before'|'end'|'after'|'on'|'in'} [placeOrOffset] Offset or place when selectable is an `Item`.
590
- * @param {Object} [options]
591
- * @param {Boolean} [options.backward] Sets this selection instance to be backward.
592
- * @param {Boolean} [options.fake] Sets this selection instance to be marked as `fake`.
593
- * @param {String} [options.label] Label for the fake selection.
594
- * @returns {module:engine/view/selection~Selection}
595
- */
596
471
  createSelection(...args) {
597
472
  return new Selection(...args);
598
473
  }
@@ -600,9 +475,8 @@ export default class View extends ObservableMixin() {
600
475
  * Disables or enables rendering. If the flag is set to `true` then the rendering will be disabled.
601
476
  * If the flag is set to `false` and if there was some change in the meantime, then the rendering action will be performed.
602
477
  *
603
- * @protected
604
478
  * @internal
605
- * @param {Boolean} flag A flag indicates whether the rendering should be disabled.
479
+ * @param flag A flag indicates whether the rendering should be disabled.
606
480
  */
607
481
  _disableRendering(flag) {
608
482
  this._renderingDisabled = flag;
@@ -614,8 +488,6 @@ export default class View extends ObservableMixin() {
614
488
  /**
615
489
  * Renders all changes. In order to avoid triggering the observers (e.g. selection) all observers are disabled
616
490
  * before rendering and re-enabled after that.
617
- *
618
- * @private
619
491
  */
620
492
  _render() {
621
493
  this.isRenderingInProgress = true;