ContextWatchdog (watchdog)
@ckeditor/ckeditor5-watchdog/src/contextwatchdog
A watchdog for the Context
class.
See the Watchdog feature guide to learn the rationale behind it and how to use it.
Filtering
Properties
-
The context instance. Keep in mind that this property might be changed when the context watchdog restarts, so do not keep this instance internally. Always operate on the
ContextWatchdog#context
property. -
crashes : Array.<Object>
readonly inherited
An array of crashes saved as an object with the following properties:
message
:String
,stack
:String
,date
:Number
,filename
:String | undefined
,lineno
:Number | undefined
,colno
:Number | undefined
,
-
state : 'initializing' | 'ready' | 'crashed' | 'crashedPermanently' | 'destroyed'
inherited
Specifies the state of the item watched by the watchdog. The state can be one of the following values:
initializing
– Before the first initialization, and after crashes, before the item is ready.ready
– A state when the user can interact with the item.crashed
– A state when an error occurs. It quickly changes toinitializing
orcrashedPermanently
depending on how many and how frequent errors have been caught recently.crashedPermanently
– A state when the watchdog stops reacting to errors and keeps the item it is watching crashed,destroyed
– A state when the item is manually destroyed by the user after callingwatchdog.destroy()
.
-
Related:
-
_creator : function
protected inherited
The creation method.
Related:
-
_destructor : function
protected inherited
The destruction method.
Related:
-
_item : Object | undefined
protected inherited
The watched item.
-
Related:
-
_now
protected inherited
Returns the result of the
Date.now()
call. It can be overridden in tests to mock time as some popular approaches likesinon.useFakeTimers()
do not work well with error handling. -
_watchdogs : Map.<string, EditorWatchdog>
protected
A map of internal watchdogs for added items.
-
_actionQueues : ActionQueues
private
An action queue, which is used to handle async functions queuing.
-
_config : Object | undefined
private
The context configuration.
-
The current context instance.
-
_contextConfig : Object
private
The configuration for the
Context
. -
_contextProps : Set.<*>
private
Context properties (nodes/references) that are gathered during the initial context creation and are used to distinguish the origin of an error.
-
_listeners : Object.<String, Function>>
private inherited
A dictionary of event emitter listeners.
-
_watchdogConfig : WatchdogConfig
private
The watchdog configuration.
Methods
-
constructor( Context, [ watchdogConfig ] )
The context watchdog class constructor.
See the Watchdog feature guide to learn more how to use this feature.
Parameters
Context : function
The
Context
class.[ watchdogConfig ] : WatchdogConfig
The watchdog configuration.
-
add( itemConfigurationOrItemConfigurations ) → Promise
Adds items to the watchdog. Once created, instances of these items will be available using the
getItem
method.Items can be passed together as an array of objects:
Or one by one as objects:
Then an instance can be retrieved using the
getItem
method:Note that this method can be called multiple times, but for performance reasons it is better to pass all items together.
Parameters
itemConfigurationOrItemConfigurations : WatchdogItemConfiguration | Array.<WatchdogItemConfiguration>
An item configuration object or an array of item configurations.
Returns
Promise
-
create( [ contextConfig ] ) → Promise
Initializes the context watchdog. Once it is created, the watchdog takes care about recreating the context and the provided items, and starts the error handling mechanism.
-
destroy()
inherited
Destroys the watchdog and releases the resources.
-
getItem( itemId ) → *
Returns an item instance with the given
itemId
.Parameters
itemId : String
The item ID.
Returns
*
The item instance or
undefined
if an item with a given ID has not been found.
-
getItemState( itemId ) → 'initializing' | 'ready' | 'crashed' | 'crashedPermanently' | 'destroyed'
Gets the state of the given item. See
state
for a list of available states.Parameters
itemId : String
Item ID.
Returns
'initializing' | 'ready' | 'crashed' | 'crashedPermanently' | 'destroyed'
The state of the item.
-
off( eventName, callback )
inherited
Stops listening to the specified event name by removing the callback from event listeners.
Note that this method differs from the CKEditor 5's default
EventEmitterMixin
implementation.Parameters
eventName : String
The event name.
callback : function
A callback which will be removed from event listeners.
-
on( eventName, callback )
inherited
Starts listening to a specific event name by registering a callback that will be executed whenever an event with a given name fires.
Note that this method differs from the CKEditor 5's default
EventEmitterMixin
implementation.Parameters
eventName : String
The event name.
callback : function
A callback which will be added to event listeners.
-
remove( itemIdOrItemIds ) → Promise
Removes and destroys item(s) with given ID(s).
Or
Parameters
itemIdOrItemIds : Array.<String> | String
Item ID or an array of item IDs.
Returns
Promise
-
setCreator( creator )
inherited
Sets the function that is responsible for the context creation. It expects a function that should return a promise (or
undefined
).Parameters
creator : function
-
setDestructor( destructor )
inherited
Sets the function that is responsible for the context destruction. Overrides the default destruction function, which destroys only the context instance. It expects a function that should return a promise (or
undefined
).Parameters
destructor : function
-
_fire( eventName, args )
protected inherited
Fires an event with a given event name and arguments.
Note that this method differs from the CKEditor 5's default
EventEmitterMixin
implementation.Parameters
eventName : String
The event name.
args : *
Event arguments.
-
_getWatchdog( itemId ) → Watchdog
protected
Returns the watchdog for a given item ID.
-
_isErrorComingFromThisItem( error ) → Boolean
protected
Checks whether an error comes from the context instance and not from the item instances.
Parameters
error : Error
Returns
Boolean
-
_restart() → Promise
protected
Restarts the context watchdog.
Returns
Promise
-
_startErrorHandling()
protected inherited
Starts error handling by attaching global error handlers.
-
_stopErrorHandling()
protected inherited
Stops error handling by detaching global error handlers.
-
_boundErrorHandler()
private inherited
Checks if the event error comes from the underlying item and restarts the item.
-
_create() → Promise
private
Returns
Promise
-
_destroy() → Promise
private
Destroys the context instance and all added items.
Returns
Promise
-
_handleError( error, evt )
private inherited
Checks if an error comes from the watched item and restarts it. It reacts to
CKEditorError
errors only.Parameters
error : Error
Error.
evt : ErrorEvent | PromiseRejectionEvent
An error event.
Fires
-
_shouldReactToError( error )
private inherited
Checks whether an error should be handled by the watchdog.
Parameters
error : Error
An error that was caught by the error handling process.
-
_shouldRestart()
private inherited
Checks if the watchdog should restart the underlying item.
Events
-
error( eventInfo )
inherited
Fired when a new
CKEditorError
error connected to the watchdog instance occurs and the watchdog will react to it.Parameters
eventInfo : EventInfo
An object containing information about the fired event.
-
itemError( eventInfo )
Fired when a new error occurred in one of the added items.
Parameters
eventInfo : EventInfo
An object containing information about the fired event.
-
itemRestart( eventInfo )
Fired after an item has been restarted.
Parameters
eventInfo : EventInfo
An object containing information about the fired event.
-
restart( eventInfo )
Fired after the watchdog restarts the context and the added items because of a crash.
Parameters
eventInfo : EventInfo
An object containing information about the fired event.
Every day, we work hard to keep our documentation complete. Have you spotted an outdated information? Is something missing? Please report it via our issue tracker.