Class

FakeSelectionObserver (engine/view/observer)

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

class

Fake selection observer class. If view selection is fake it is placed in dummy DOM container. This observer listens on keydown events and handles moving fake view selection to the correct place if arrow keys are pressed. Fires selectionChange event simulating natural behaviour of SelectionObserver.

Filtering

Properties

  • document : Document

    readonly inherited

    A reference to the Document object.

  • isEnabled : Boolean

    readonly inherited

    State of the observer. If it is disabled no events will be fired.

  • view : View

    readonly inherited

    An instance of the view controller.

Methods

  • constructor( view )

    Creates new FakeSelectionObserver instance.

    Parameters

    view : View
  • checkShouldIgnoreEventFromTarget( domTarget ) → Boolean

    inherited

    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 DowncastWriter#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.

  • destroy()

    inherited

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

  • disable()

    inherited

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

    Related:

  • 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.

    Related:

  • observe( domElement, name )

    inherited

    Starts observing the given root element.

    Parameters

    domElement : HTMLElement
    name : String

    The name of the root element.

  • _fireSelectionChangeDoneDebounced( data )

    private

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

    Parameters

    data : Object

    Selection change data.

  • _handleSelectionMove( keyCode )

    private

    Handles collapsing view selection according to given key code. If left or up key is provided - new selection will be collapsed to left. If right or down key is pressed - new selection will be collapsed to right.

    This method fires event-selectionChange and event-selectionChangeDone events imitating behaviour of SelectionObserver.

    Parameters

    keyCode : Number

    Fires