django-editorjs icon indicating copy to clipboard operation
django-editorjs copied to clipboard

Handled Custom Block Tools

Open Maxpnl opened this issue 5 years ago • 1 comments

Hello, I managed to handle custom block tools, I updated the readme with an explanation of how I did it, it's not a really clean code, you have to serve a file named "custom-editorjs-tools.js" containing the custom tools and to get the class from the classname I use an eval, but if the classname doesn't depend on user input (and that will probably be the case), it should be safe to use.

I hope you'll merge this, or at least take inspiration from this PR as I think it could be helpfull to most people that are using this.

Thanks.

Maxpnl avatar Sep 18 '20 15:09 Maxpnl

Here's an example of custom-editorjs-tools.js

class SimpleImage {
  static get toolbox() {
    return {
      title: 'Customimage',
      icon: '<svg width="17" height="15" viewBox="0 0 336 276" xmlns="http://www.w3.org/2000/svg"><path d="M291 150V79c0-19-15-34-34-34H79c-19 0-34 15-34 34v42l67-44 81 72 56-29 42 30zm0 52l-43-30-56 30-81-67-66 39v23c0 19 15 34 34 34h178c17 0 31-13 34-29zM79 0h178c44 0 79 35 79 79v118c0 44-35 79-79 79H79c-44 0-79-35-79-79V79C0 35 35 0 79 0z"/></svg>'
    };
  }

  render() {
    return document.createElement('input');
  }

  save(blockContent) {
    return {
      url: blockContent.value
    }
  }
}

Maxpnl avatar Sep 18 '20 15:09 Maxpnl