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 (default4)
- spaces (
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 (default4)
- spaces (
Returns: boolean
app.events.handleTextareaTabIndent(e, textarea);