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
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