Class EditorLock

A locking helper to track the active edit controller and ensure that only a single controller can be active at a time. This prevents a whole class of state and validation synchronization issues. An edit controller (such as SlickGrid) can query if an active edit is in progress and attempt a commit or cancel before proceeding.

class

EditorLock

constructor

Index

Constructor methods

Methods

Constructor methods

constructor(): EditorLock

Returns

EditorLock

Methods

public activate(editController: Editor)

Sets the specified edit controller as the active edit controller (acquire edit lock). If another edit controller is already active, and exception will be thrown.

method

activate

Parameters

  • editController: Editor

    edit controller acquiring the lock

public cancelCurrentEdit(): boolean

Attempts to cancel the current edit by calling "cancelCurrentEdit" method on the active edit controller and returns whether the edit was successfully cancelled. If no edit controller is active, returns true.

method

cancelCurrentEdit

Returns

boolean

public commitCurrentEdit(): boolean

Attempts to commit the current edit by calling "commitCurrentEdit" method on the active edit controller and returns whether the commit attempt was successful (commit may fail due to validation errors, etc.). Edit controller's "commitCurrentEdit" must return true if the commit has succeeded and false otherwise. If no edit controller is active, returns true.

method

commitCurrentEdit

Returns

boolean

public deactivate(editController: Editor)

Unsets the specified edit controller as the active edit controller (release edit lock). If the specified edit controller is not the active one, an exception will be thrown.

method

deactivate

Parameters

  • editController: Editor

    edit controller releasing the lock

public isActive(editController: Editor): boolean

Returns true if a specified edit controller is active (has the edit lock). If the parameter is not specified, returns true if any edit controller is active.

method

isActive

Parameters

Returns

boolean