Pawan Valluri
Pawan Valluri

Reputation: 3

can't insert block in editorjs

I am using Editor.js. I've tried adding a new block to the editor but it doesn't work

<html>
    <script src="https://cdn.jsdelivr.net/npm/@editorjs/[email protected]/dist/editorjs.umd.js" type="text/javascript"></script>
</head>
<body>
    <div id="editorjs" class="editor-holder"></div>

    <script>
        var editor = new EditorJS({
      holder: 'editorjs',
      autofocus: true,
      data: {
        "time": 1550476186479,
        "blocks": [{
            type: 'paragraph',
            data: {
             text: 'Hello world'
            }}
        ]}
    })

    const newBlock = {
      type: 'paragraph',
      data: {
          text: 'Hello world'
      }
    };

    editor.blocks.insert(newBlock.type, newBlock.data);

    </script>

</body>

I'm facing the following error:

Uncaught TypeError: Cannot read properties of undefined (reading 'insert')

I've also tried following:

editor.blocks.insert(newBlock);
editor.configuration.data.blocks.push(newBlock); 
editor.api.blocks.insert(newBlock);

but I get errors

Upvotes: 0

Views: 117

Answers (1)

Shrey
Shrey

Reputation: 22

That because your Editor is not ready at that time when you updating the editor and the error you are showing is of blocks doesnt exist in editor varaible so try this:

editor.isReady
  .then(() => {
    editor.blocks.insert('paragraph', {
      text: 'Hello world',
    });
  })
  .catch((error) => {
    console.error('Editor.js initialization error', error);
  });

Upvotes: 0

Related Questions