A JavaScript micro-library for easy implementation of undo and redo feature.
For browser based projects, include the minified js file in the dist folder of the repo into your markup.
<script type="text/javascript" src="https://github.com/Parthipan-Natkunam/UndoBag/raw/master/dist/undoBag.min.js"></script>
The full non-minified js source is available in the src folder.
npm install undobag
var undoBag = require('undobag');
Undobag can be initialized as follows:
new window.UndoBag(options);
var anyVariableName = new undoBag(options);
where the options is an optional configuration object.
Key | Value Data Type | Description | Default Value |
---|---|---|---|
length | Number | configures stack length (can be any positive number) | 10 |
isDev | Boolean | Indicates whether the ENV is development (enables console logging of stack related data) | false |
API | Parameters | Description | Return Type |
---|---|---|---|
recordChange | item | Pushes the passed data/object to the stack | void |
canUndo | - | Returns whether undo is possible at that particular point | Boolean |
canRedo | - | Returns whether redo is possible at that particular point | Boolean |
undo | - | Returns the next data/obj DOWN the line in the stack | Depens on stack content |
redo | - | Returns the next data/obj UP the line in the stack | Depens on stack content |
seek | position | Returns the data/obj at supplied position in the stack (1 based positioning, i.e, position 1 returns obj at index 0) | Depens on stack content |
flushStack | - | Clears all the contents of the stack | void |
log | - | logs an object in the console that contains stack related data | void |
git clone https://github.com/Parthipan-Natkunam/UndoBag.git
npm install
grunt