Issue #1831Opened February 25, 2019by SeongwoonHong0 reactions

[Question] How to run command for a block component?

Question

editor.BlockManager.add('test', {
      label: 'test',
      category: 'Basic',
      command: () => {
        editor.runCommand('open-assets')
       }
    });

I'd like to do something like this. so once a user drops the test component into the canvas, I'd like to open up asset manager modal where you can upload an image by running 'open-assets' command.

Thank you very much Artur

Answers (3)

NicoEnglerFebruary 27, 20190 reactions

To achieve this, you can listen to the drag event of the editor:

editor.on('block:drag:stop', component => {
    // identify your component and do something cool :)
});
SeongwoonHongFebruary 27, 20190 reactions

@NicoEngler Thank you for reply! although, I'm not sure how to insert an image from image modal into the link-block component

editor.on('block:drag:stop', model => {
      if (model.getName() === 'Link') {
        editor.runCommand('open-assets', {
          target: this.editor.getSelected()
        });
      }
    });

if i do this, nothing happens even after i select an image from the modal @artf Is there any way to do that?

Plus, the modal is empty initially before I open up asset manager by using Image component. I don't know why..

NicoEnglerFebruary 27, 20190 reactions

I´m afraid I can't assist further without playing around with the code myself. Though I can help debugging if you shoot up an example on codepen or similar.

Related Questions and Answers

Continue research with similar issue discussions.

Paid Plugins That Match This Issue

Curated by issue keywords and label relevance to help you ship faster.

View all plugins

Loading paid plugin recommendations...

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.