codex-team/editor.js

How to catch Block's onFocus event simply

Open

#1,004 opened on Jan 8, 2020

View on GitHub
 (4 comments) (2 reactions) (0 assignees)TypeScript (1,985 forks)batch import
good first issue

Repository metrics

Stars
 (26,602 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

I think it is more useful to implement focus event in Editor.js ! To catch Block's onFocus event, it needs to use MutationObserver currently.

  render() {
    const container = document.createElement('div');

    setTimeout(() => {
      const block = container.parentElement && container.parentElement.parentElement;

      if (block) {
        // TODO: disconnect
        const observer = new MutationObserver(() => {
          console.log(block.classList);
        });

        observer.observe(block, {
          attributeFilter: ['class'],
          attributes: true,
        });
      }  
    }, 100);

    return container;
  }

console output

DOMTokenList ["ce-block", value: "ce-block"]
DOMTokenList(2) ["ce-block", "ce-block--focused", value: "ce-block ce-block--focused"]

Contributor guide