Trilium Frontend API
    Preparing search index...

    Class SelectionObserver

    Selection observer class observes selection changes in the document. If a selection changes on the document this observer checks if the DOM selection is different from the module:engine/view/document~ViewDocument#selection view selection. The selection observer fires module:engine/view/document~ViewDocument#event:selectionChange event only if a selection change was the only change in the document and the DOM selection is different from the view selection.

    This observer also manages the module:engine/view/document~ViewDocument#isSelecting property of the view document.

    Note that this observer is attached by the module:engine/view/view~EditingView and is available by default.

    Hierarchy (View Summary)

    Index
    document: ViewDocument

    A reference to the module:engine/view/document~ViewDocument object.

    domConverter: ViewDomConverter

    Reference to the module:engine/view/view~EditingView#domConverter.

    focusObserver: FocusObserver

    Instance of the focus observer. Focus observer calls module:engine/view/observer/focusobserver~FocusObserver#flush to mark the latest focus change as complete.

    mutationObserver: MutationObserver

    Instance of the mutation observer. Selection observer calls module:engine/view/observer/mutationobserver~MutationObserver#flush to ensure that the mutations will be handled before the module:engine/view/document~ViewDocument#event:selectionChange event is fired.

    Reference to the view module:engine/view/documentselection~ViewDocumentSelection object used to compare new selection with it.

    An instance of the view controller.

    • get isEnabled(): boolean

      The state of the observer. If it is disabled, no events will be fired.

      Returns boolean

    • Checks whether a given DOM event should be ignored (should not be turned into a synthetic view document event).

      Currently, an event will be ignored only if its target or any of its ancestors has the data-cke-ignore-events attribute. This attribute can be used inside the structures generated by module:engine/view/downcastwriter~ViewDowncastWriter#createUIElement ViewDowncastWriter#createUIElement() to ignore events fired within a UI that should be excluded from CKEditor 5's realms.

      Parameters

      • domTarget: Node

        The DOM event target to check (usually an element, sometimes a text node and potentially sometimes a document, too).

      Returns boolean

      Whether this event should be ignored by the observer.

    • Disables and destroys the observer, among others removes event listeners created by the observer.

      Returns void

    • Disables the observer. This method is called before module:engine/view/view~EditingView#forceRender rendering to prevent firing events during rendering.

      Returns void

      module:engine/view/observer/observer~Observer#enable

    • Enables the observer. This method is called when the observer is registered to the module:engine/view/view~EditingView and after module:engine/view/view~EditingView#forceRender rendering (all observers are #disable disabled before rendering).

      A typical use case for disabling observers is that mutation observers need to be disabled for the rendering. However, a child class may not need to be disabled, so it can implement an empty method.

      Returns void

      module:engine/view/observer/observer~Observer#disable

    • Starts observing given DOM element.

      Parameters

      Returns void

    • Stops observing given DOM element.

      Parameters

      Returns void