From cf571d36bd4c7afdbe7563f55a7fc3418e64756e Mon Sep 17 00:00:00 2001 From: Ian Storm Taylor Date: Thu, 12 Dec 2019 17:11:26 -0500 Subject: [PATCH] fix inserting nodes in empty documents --- packages/slate/src/interfaces/editor/transforms/node.ts | 9 ++++++++- .../test/transforms/insertNodes/selection/none-empty.js | 2 -- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/slate/src/interfaces/editor/transforms/node.ts b/packages/slate/src/interfaces/editor/transforms/node.ts index 20f9a0251..c322e6957 100644 --- a/packages/slate/src/interfaces/editor/transforms/node.ts +++ b/packages/slate/src/interfaces/editor/transforms/node.ts @@ -46,7 +46,14 @@ export const NodeTransforms = { // no selection, insert at the end of the document since that is such a // common use case when inserting from a non-selected state. if (!at) { - at = selection || Editor.end(editor, []) || [editor.children.length] + if (editor.selection) { + at = editor.selection + } else if (editor.children.length > 0) { + at = Editor.end(editor, []) + } else { + at = [0] + } + select = true } diff --git a/packages/slate/test/transforms/insertNodes/selection/none-empty.js b/packages/slate/test/transforms/insertNodes/selection/none-empty.js index 1c2ac6212..66ef8a677 100644 --- a/packages/slate/test/transforms/insertNodes/selection/none-empty.js +++ b/packages/slate/test/transforms/insertNodes/selection/none-empty.js @@ -17,5 +17,3 @@ export const output = ( ) - -export const skip = true