From fae913b2c2d3127c8b9052c1076d1bc79ad070ec Mon Sep 17 00:00:00 2001 From: Ian Storm Taylor Date: Tue, 12 Jul 2016 12:26:32 -0700 Subject: [PATCH] add moveToOffsets transform, fixes #70 --- lib/models/selection.js | 16 ++++++++++++++++ lib/models/transform.js | 1 + 2 files changed, 17 insertions(+) diff --git a/lib/models/selection.js b/lib/models/selection.js index 1ab844ec0..66a3f03d5 100644 --- a/lib/models/selection.js +++ b/lib/models/selection.js @@ -456,6 +456,22 @@ class Selection extends new Record(DEFAULTS) { }) } + /** + * Move the selection to `anchor` and `focus` offsets. + * + * @param {Number} anchor + * @param {Number} focus (optional) + * @return {Selection} selection + */ + + moveToOffsets(anchor, focus = anchor) { + return this.merge({ + anchorOffset: anchor, + focusOffset: focus, + isBackward: null + }) + } + /** * Extend the focus point forward `n` characters. * diff --git a/lib/models/transform.js b/lib/models/transform.js index f185da26b..754769106 100644 --- a/lib/models/transform.js +++ b/lib/models/transform.js @@ -61,6 +61,7 @@ const SELECTION_TRANSFORMS = [ 'moveToEnd', 'moveToEndOf', 'moveToFocus', + 'moveToOffsets', 'moveToRangeOf', 'moveToStart', 'moveToStartOf'