From 74695d80f08029f2801af4b9b3ccfedc16cc4c53 Mon Sep 17 00:00:00 2001 From: Soreine Date: Fri, 28 Oct 2016 14:58:51 +0200 Subject: [PATCH] Small optimization for deleteBackward/deleteForward --- src/transforms/at-range.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/transforms/at-range.js b/src/transforms/at-range.js index 8da14dad5..c0992a1ae 100644 --- a/src/transforms/at-range.js +++ b/src/transforms/at-range.js @@ -132,18 +132,17 @@ export function deleteBackwardAtRange(transform, range, n = 1, options = {}) { const { state } = transform const { document } = state const { startKey, focusOffset } = range - const text = document.getDescendant(startKey) - const block = document.getClosestBlock(startKey) - const inline = document.getClosestInline(startKey) if (range.isExpanded) { return transform.deleteAtRange(range, { normalize }) } + const block = document.getClosestBlock(startKey) if (block && block.isVoid) { return transform.removeNodeByKey(block.key, { normalize }) } + const inline = document.getClosestInline(startKey) if (inline && inline.isVoid) { return transform.removeNodeByKey(inline.key, { normalize }) } @@ -152,6 +151,7 @@ export function deleteBackwardAtRange(transform, range, n = 1, options = {}) { return transform } + const text = document.getDescendant(startKey) if (range.isAtStartOf(text)) { const prev = document.getPreviousText(text) const prevBlock = document.getClosestBlock(prev) @@ -197,18 +197,17 @@ export function deleteForwardAtRange(transform, range, n = 1, options = {}) { const { state } = transform const { document } = state const { startKey, focusOffset } = range - const text = document.getDescendant(startKey) - const inline = document.getClosestInline(startKey) - const block = document.getClosestBlock(startKey) if (range.isExpanded) { return transform.deleteAtRange(range, { normalize }) } + const block = document.getClosestBlock(startKey) if (block && block.isVoid) { return transform.removeNodeByKey(block.key, { normalize }) } + const inline = document.getClosestInline(startKey) if (inline && inline.isVoid) { return transform.removeNodeByKey(inline.key, { normalize }) } @@ -217,6 +216,7 @@ export function deleteForwardAtRange(transform, range, n = 1, options = {}) { return transform } + const text = document.getDescendant(startKey) if (range.isAtEndOf(text)) { const next = document.getNextText(text) const nextBlock = document.getClosestBlock(next)