44 */
55
66/**
7- * @module module:engine/view/writer
7+ * @module module:engine/view/downcastwriter
88 */
99
1010import Position from './position' ;
@@ -21,11 +21,13 @@ import EditableElement from './editableelement';
2121import { isPlainObject } from 'lodash-es' ;
2222
2323/**
24- * View writer class. Provides set of methods used to properly manipulate nodes attached to
24+ * View downcast writer class. Provides set of methods used to properly manipulate nodes attached to
2525 * {@link module:engine/view/document~Document view document}. It is not recommended to use it directly. To get an instance
2626 * of view writer associated with the document use {@link module:engine/view/view~View#change view.change()) method.
27+ * The `DowncastWriter` is designed to work with semantic view which is the view downcasted from model. For working with
28+ * ordinary view (e.g. parsed from string) {@link module:engine/view/upcastwriter~UpcastWriter upcast writer} should be used.
2729 */
28- export default class Writer {
30+ export default class DowncastWriter {
2931 constructor ( document ) {
3032 /**
3133 * @readonly
@@ -88,7 +90,7 @@ export default class Writer {
8890 * // Removes all ranges.
8991 * writer.setSelection( null );
9092 *
91- * `Writer #setSelection()` allow passing additional options (`backward`, `fake` and `label`) as the last argument.
93+ * `DowncastWriter #setSelection()` allow passing additional options (`backward`, `fake` and `label`) as the last argument.
9294 *
9395 * // Sets selection as backward.
9496 * writer.setSelection( range, { backward: true } );
@@ -369,8 +371,8 @@ export default class Writer {
369371 *
370372 * **Note:** {@link module:engine/view/documentfragment~DocumentFragment DocumentFragment} is treated like a container.
371373 *
372- * **Note:** Difference between {@link module:engine/view/writer~Writer #breakAttributes breakAttributes} and
373- * {@link module:engine/view/writer~Writer #breakContainer breakContainer} is that `breakAttributes` breaks all
374+ * **Note:** Difference between {@link module:engine/view/downcastwriter~DowncastWriter #breakAttributes breakAttributes} and
375+ * {@link module:engine/view/downcastwriter~DowncastWriter #breakContainer breakContainer} is that `breakAttributes` breaks all
374376 * {@link module:engine/view/attributeelement~AttributeElement attribute elements} that are ancestors of given `position`,
375377 * up to the first encountered {@link module:engine/view/containerelement~ContainerElement container element}.
376378 * `breakContainer` assumes that given `position` is directly in container element and breaks that container element.
@@ -389,7 +391,7 @@ export default class Writer {
389391 *
390392 * @see module:engine/view/attributeelement~AttributeElement
391393 * @see module:engine/view/containerelement~ContainerElement
392- * @see module:engine/view/writer~Writer #breakContainer
394+ * @see module:engine/view/downcastwriter~DowncastWriter #breakContainer
393395 * @param {module:engine/view/position~Position|module:engine/view/range~Range } positionOrRange Position where
394396 * to break attribute elements.
395397 * @returns {module:engine/view/position~Position|module:engine/view/range~Range } New position or range, after breaking the attribute
@@ -413,15 +415,15 @@ export default class Writer {
413415 * <p>^foobar</p> -> ^<p>foobar</p>
414416 * <p>foobar^</p> -> <p>foobar</p>^
415417 *
416- * **Note:** Difference between {@link module:engine/view/writer~Writer #breakAttributes breakAttributes} and
417- * {@link module:engine/view/writer~Writer #breakContainer breakContainer} is that `breakAttributes` breaks all
418+ * **Note:** Difference between {@link module:engine/view/downcastwriter~DowncastWriter #breakAttributes breakAttributes} and
419+ * {@link module:engine/view/downcastwriter~DowncastWriter #breakContainer breakContainer} is that `breakAttributes` breaks all
418420 * {@link module:engine/view/attributeelement~AttributeElement attribute elements} that are ancestors of given `position`,
419421 * up to the first encountered {@link module:engine/view/containerelement~ContainerElement container element}.
420422 * `breakContainer` assumes that given `position` is directly in container element and breaks that container element.
421423 *
422424 * @see module:engine/view/attributeelement~AttributeElement
423425 * @see module:engine/view/containerelement~ContainerElement
424- * @see module:engine/view/writer~Writer #breakAttributes
426+ * @see module:engine/view/downcastwriter~DowncastWriter #breakAttributes
425427 * @param {module:engine/view/position~Position } position Position where to break element.
426428 * @returns {module:engine/view/position~Position } Position between broken elements. If element has not been broken,
427429 * the returned position is placed either before it or after it.
@@ -480,14 +482,14 @@ export default class Writer {
480482 * <p><b>[]</b></p> -> <p>[]</p>
481483 * <p><b>foo</b><i>[]</i><b>bar</b></p> -> <p><b>foo{}bar</b></p>
482484 *
483- * **Note:** Difference between {@link module:engine/view/writer~Writer #mergeAttributes mergeAttributes} and
484- * {@link module:engine/view/writer~Writer #mergeContainers mergeContainers} is that `mergeAttributes` merges two
485+ * **Note:** Difference between {@link module:engine/view/downcastwriter~DowncastWriter #mergeAttributes mergeAttributes} and
486+ * {@link module:engine/view/downcastwriter~DowncastWriter #mergeContainers mergeContainers} is that `mergeAttributes` merges two
485487 * {@link module:engine/view/attributeelement~AttributeElement attribute elements} or {@link module:engine/view/text~Text text nodes}
486488 * while `mergeContainer` merges two {@link module:engine/view/containerelement~ContainerElement container elements}.
487489 *
488490 * @see module:engine/view/attributeelement~AttributeElement
489491 * @see module:engine/view/containerelement~ContainerElement
490- * @see module:engine/view/writer~Writer #mergeContainers
492+ * @see module:engine/view/downcastwriter~DowncastWriter #mergeContainers
491493 * @param {module:engine/view/position~Position } position Merge position.
492494 * @returns {module:engine/view/position~Position } Position after merge.
493495 */
@@ -547,14 +549,14 @@ export default class Writer {
547549 * <p>foo</p>^<p>bar</p> -> <p>foo^bar</p>
548550 * <div>foo</div>^<p>bar</p> -> <div>foo^bar</div>
549551 *
550- * **Note:** Difference between {@link module:engine/view/writer~Writer #mergeAttributes mergeAttributes} and
551- * {@link module:engine/view/writer~Writer #mergeContainers mergeContainers} is that `mergeAttributes` merges two
552+ * **Note:** Difference between {@link module:engine/view/downcastwriter~DowncastWriter #mergeAttributes mergeAttributes} and
553+ * {@link module:engine/view/downcastwriter~DowncastWriter #mergeContainers mergeContainers} is that `mergeAttributes` merges two
552554 * {@link module:engine/view/attributeelement~AttributeElement attribute elements} or {@link module:engine/view/text~Text text nodes}
553555 * while `mergeContainer` merges two {@link module:engine/view/containerelement~ContainerElement container elements}.
554556 *
555557 * @see module:engine/view/attributeelement~AttributeElement
556558 * @see module:engine/view/containerelement~ContainerElement
557- * @see module:engine/view/writer~Writer #mergeAttributes
559+ * @see module:engine/view/downcastwriter~DowncastWriter #mergeAttributes
558560 * @param {module:engine/view/position~Position } position Merge position.
559561 * @returns {module:engine/view/position~Position } Position after merge.
560562 */
@@ -1304,7 +1306,7 @@ export default class Writer {
13041306 }
13051307
13061308 /**
1307- * Helper function used by other `Writer ` methods. Breaks attribute elements at the boundaries of given range.
1309+ * Helper function used by other `DowncastWriter ` methods. Breaks attribute elements at the boundaries of given range.
13081310 *
13091311 * @private
13101312 * @param {module:engine/view/range~Range } range Range which `start` and `end` positions will be used to break attributes.
@@ -1336,7 +1338,7 @@ export default class Writer {
13361338 }
13371339
13381340 /**
1339- * Helper function used by other `Writer ` methods. Breaks attribute elements at given position.
1341+ * Helper function used by other `DowncastWriter ` methods. Breaks attribute elements at given position.
13401342 *
13411343 * Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-cannot-break-empty-element` when break position
13421344 * is placed inside {@link module:engine/view/emptyelement~EmptyElement EmptyElement}.
0 commit comments