ReadonlydocumentA reference to the module:engine/view/document~ViewDocument object.
ReadonlydomReference to the module:engine/view/view~EditingView#domConverter.
ReadonlyviewAn instance of the view controller.
The state of the observer. If it is disabled, no events will be fired.
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.
The DOM event target to check (usually an element, sometimes a text node and potentially sometimes a document, too).
Whether this event should be ignored by the observer.
Disables and destroys the observer, among others removes event listeners created by the observer.
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.
Synchronously handles mutations and empties the queue.
Starts observing given DOM element.
DOM element to observe.
Mutation observer's role is to watch for any DOM changes inside the editor that weren't done by the editor's module:engine/view/renderer~ViewRenderer itself and reverting these changes.
It does this by observing all mutations in the DOM, marking related view elements as changed and calling module:engine/view/renderer~ViewRenderer#render. Because all mutated nodes are marked as "to be rendered" and the module:engine/view/renderer~ViewRenderer#render
render()method is called, all changes are reverted in the DOM (the DOM is synced with the editor's view structure).Note that this observer is attached by the module:engine/view/view~EditingView and is available by default.