Events

Native DOM event wiring for the editable surface.

Access:

app.events
app.getModule('events')
app.invoke('events.method', …)

isBound#

Returns whether editor event listeners are currently bound.

Returns: boolean

app.events.isBound();

isPaused#

Returns whether event binding is paused.

Returns: boolean

app.events.isPaused();

pause#

Pauses events by stopping listeners.

app.events.pause();

resume#

Resumes events by rebinding editor listeners.

app.events.resume();

bindEditor#

Binds all editor, host, clipboard, DnD, and visual-caret listeners.

app.events.bindEditor();

addBlurSafeElement#

Registers element or selector as blur-safe UI.

Parameters:

  • elOrSelector (HTMLElement | string) — element or selector
app.events.addBlurSafeElement('.my-panel');

addVisualCaretExclude#

Excludes selector from visual caret display.

Parameters:

  • selector (string) — CSS selector
app.events.addVisualCaretExclude('.rx-ai-prompt');

removeVisualCaretExclude#

Removes a visual caret exclude selector.

Parameters:

  • selector (string) — CSS selector
app.events.removeVisualCaretExclude('.rx-ai-prompt');

isVisualCaretSuppressed#

Returns whether visual caret should stay hidden (AI layers, isolated regions).

Returns: boolean

app.events.isVisualCaretSuppressed();

markBlurSafeKeyboard#

Marks recent pointer interaction as blur-safe for keyboard blur suppression.

app.events.markBlurSafeKeyboard();

isTargetOutsideEditableLayer#

Returns whether target matches blur-safe UI selectors.

Parameters:

  • target (string) — scroll target selector or element

Returns: boolean

app.events.isTargetOutsideEditableLayer(el);

bindTextareaTabIndent#

Binds Tab-to-spaces indent handler on a textarea; returns unbind fn.

Parameters:

  • el (HTMLElement | string) — DOM element
  • options (object) — object with the keys below
    • spaces (number) — number of spaces (or literal string) inserted per Tab press (default 4)

Returns: function (unbind)

app.events.bindTextareaTabIndent(textarea, { spaces: 4 });

handleTextareaTabIndent#

Inserts spaces at caret on Tab key in textarea.

Parameters:

  • e (Event) — native DOM event
  • el (HTMLElement | string) — DOM element
  • options (object) — object with the keys below
    • spaces (number) — number of spaces (or literal string) inserted per Tab press (default 4)

Returns: boolean

app.events.handleTextareaTabIndent(e, textarea);