Report an issue
Class

SelectionObserver (engine/view/observer)

@ckeditor/ckeditor5-engine/src/view/observer/selectionobserver

class

Selection observer class observes selection changes in the document. If selection changes on the document this observer checks if there are any mutations and if DOM selection is different than the view selection. Selection observer fires event-selectionChange event only if selection change was the only change in the document and DOM selection is different then the view selection.

Note that this observer is attached by the View and is available by default.

Filtering

Properties

Methods

  • constructor( view )

    inherited

    Creates an instance of the observer.

    Parameters

    view : View
  • destroy()

    inherited

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

    Overrides: Observer#destroy
  • disable()

    inherited

    Disables the observer. This method is called before rendering to prevent firing events during rendering.

  • enable()

    inherited

    Enables the observer. This method is called when the observer is registered to the View and after rendering (all observers are 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.

  • observe( domElement, name )

    inherited

    Starts observing the given root element.

    Parameters

    domElement : HTMLElement
    name : String

    The name of the root element.

    Overrides: Observer#observe
  • _clearInfiniteLoop()

    protected

    Clears SelectionObserver internal properties connected with preventing infinite loop.

  • Fires debounced event selectionChangeDone. It uses lodash#debounce method to delay function call.

    Parameters

    data : Object

    Selection change data.

  • _handleSelectionChange( domDocument )

    private

    Selection change listener. Flush mutations, check if selection changes and fires event-selectionChange event on every change and event-selectionChangeDone when selection stop changing.

    Parameters

    domDocument : Document

    DOM document.