@kvaser/canking-api
Version:
CanKing API to communicate with the CanKing service using Node.js.
156 lines (78 loc) • 1.83 kB
Markdown
[**Kvaser CanKing GUI Extensions SDK v7.5.1**](../../README.md)
***
[Kvaser CanKing GUI Extensions SDK](../../modules.md) / [hooks](../README.md) / IUndoObject
# Interface: IUndoObject\<T\>
The undo/redo object. Includes the current state and methods to manipulate it.
## Type Parameters
### T
`T`
The type of the undo/redo data.
## Properties
### canRedo()
> **canRedo**: () => `boolean`
Check if redo is possible
#### Returns
`boolean`
true if there are states to redo to
***
### canUndo()
> **canUndo**: () => `boolean`
Check if undo is possible
#### Returns
`boolean`
true if there are states to undo to
***
### redo()
> **redo**: () => `void`
Redo to the next state
#### Returns
`void`
***
### reset()
> **reset**: (`current?`, `previous?`, `next?`) => `void`
Reset the undo/redo history with a new initial value
#### Parameters
##### current?
`T`
The new initial value. If undefined, current will be unset.
##### previous?
`T`[]
The previous values (optional)
##### next?
`T`[]
The next values (optional)
#### Returns
`void`
***
### set()
> **set**: (`updater`) => `void`
Set a new current state
#### Parameters
##### updater
The new value or a function that receives the current value and returns the new value
`T` | (`curr?`) => `T`
#### Returns
`void`
***
### state
> **state**: [`IUndoState`](IUndoState.md)\<`T`\>
The current undo/redo state
***
### subscribe()?
> `optional` **subscribe**: (`listener`) => () => `void`
Subscribe to state changes (optional, for triggering re-renders)
#### Parameters
##### listener
() => `void`
Callback function that will be called whenever state changes
#### Returns
Unsubscribe function
> (): `void`
##### Returns
`void`
***
### undo()
> **undo**: () => `void`
Undo to the previous state
#### Returns
`void`