|
@@ -122,13 +122,17 @@ export default class Selection {
|
|
|
* The flag is used to set {@link engine.view.Selection#anchor anchor} and
|
|
* The flag is used to set {@link engine.view.Selection#anchor anchor} and
|
|
|
* {@link engine.view.Selection#focus focus} properties.
|
|
* {@link engine.view.Selection#focus focus} properties.
|
|
|
*
|
|
*
|
|
|
- * Throws {@link utils.CKEditorError CKEditorError} `view-selection-range-intersects` if added range intersects
|
|
|
|
|
|
|
+ * Throws {@link utils.CKEditorError CKEditorError} `selection-range-intersects` if added range intersects
|
|
|
* with ranges already stored in Selection instance.
|
|
* with ranges already stored in Selection instance.
|
|
|
*
|
|
*
|
|
|
* @fires engine.view.Selection#change
|
|
* @fires engine.view.Selection#change
|
|
|
* @param {engine.view.Range} range
|
|
* @param {engine.view.Range} range
|
|
|
*/
|
|
*/
|
|
|
addRange( range, isBackward ) {
|
|
addRange( range, isBackward ) {
|
|
|
|
|
+ if ( !( range instanceof Range ) ) {
|
|
|
|
|
+ throw new CKEditorError( 'selection-invalid-range: Invalid Range.' );
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
this._pushRange( range );
|
|
this._pushRange( range );
|
|
|
this._lastRangeBackward = !!isBackward;
|
|
this._lastRangeBackward = !!isBackward;
|
|
|
this.fire( 'change' );
|
|
this.fire( 'change' );
|
|
@@ -259,6 +263,10 @@ export default class Selection {
|
|
|
this._ranges = [];
|
|
this._ranges = [];
|
|
|
|
|
|
|
|
for ( let range of newRanges ) {
|
|
for ( let range of newRanges ) {
|
|
|
|
|
+ if ( !( range instanceof Range ) ) {
|
|
|
|
|
+ throw new CKEditorError( 'selection-invalid-range: Invalid Range.' );
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
this._pushRange( range );
|
|
this._pushRange( range );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -330,7 +338,7 @@ export default class Selection {
|
|
|
/**
|
|
/**
|
|
|
* Adds range to selection - creates copy of given range so it can be safely used and modified.
|
|
* Adds range to selection - creates copy of given range so it can be safely used and modified.
|
|
|
*
|
|
*
|
|
|
- * Throws {@link utils.CKEditorError CKEditorError} `view-selection-range-intersects` if added range intersects
|
|
|
|
|
|
|
+ * Throws {@link utils.CKEditorError CKEditorError} `selection-range-intersects` if added range intersects
|
|
|
* with ranges already stored in selection instance.
|
|
* with ranges already stored in selection instance.
|
|
|
*
|
|
*
|
|
|
* @private
|
|
* @private
|
|
@@ -342,12 +350,12 @@ export default class Selection {
|
|
|
/**
|
|
/**
|
|
|
* Trying to add a range that intersects with another range from selection.
|
|
* Trying to add a range that intersects with another range from selection.
|
|
|
*
|
|
*
|
|
|
- * @error view-selection-range-intersects
|
|
|
|
|
|
|
+ * @error selection-range-intersects
|
|
|
* @param {engine.view.Range} addedRange Range that was added to the selection.
|
|
* @param {engine.view.Range} addedRange Range that was added to the selection.
|
|
|
* @param {engine.view.Range} intersectingRange Range from selection that intersects with `addedRange`.
|
|
* @param {engine.view.Range} intersectingRange Range from selection that intersects with `addedRange`.
|
|
|
*/
|
|
*/
|
|
|
throw new CKEditorError(
|
|
throw new CKEditorError(
|
|
|
- 'view-selection-range-intersects: Trying to add a range that intersects with another range from selection.',
|
|
|
|
|
|
|
+ 'selection-range-intersects: Trying to add a range that intersects with another range from selection.',
|
|
|
{ addedRange: range, intersectingRange: storedRange }
|
|
{ addedRange: range, intersectingRange: storedRange }
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|