Problem to add a new block right after the current one

721 views Asked by At

I'm trying to add a new block right after the block where the cursor is located / where I click on a button.

My questions are:

  • How can I determine the path for the current block?
  • Which method can I use to add a block after? I use insertNode but you can't specify a path when calling it... So the block is added at the very end of the list of blocks.

I saw that there is an optional parameter to the insertNode method but it's not documented and doesn't seem to work:

const addedNode = editor.insertNode({
  type: 'p',
  children: [{ text: 'test' }]
}, {
  at: [ index + 1 ]
});

Thanks, Thierry

1

There are 1 answers

0
esp On

If I understood your question correctly, I believe SlateJS adds the new node after the current node by default. Current node = where your cursor is. If there is no selection (you havent placed your cursor anywhere) then it will place this block Node Transforms insertNodes