Parthipan-Natkunam / UndoBag

A JavaScript micro-library for easy implementation of undo and redo feature.
MIT License
0 stars 0 forks source link
javascript javascript-library

UndoBag Twitter

A JavaScript micro-library for easy implementation of undo and redo feature.

npm version

Steps to Include UndoBag:

For Browser-based Projects:

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.

For nodeJS Projects:

UndoBag Usage:

Undobag can be initialized as follows:

Browser-based:
new window.UndoBag(options);
NodeJS based:
var anyVariableName = new undoBag(options);

where the options is an optional configuration object.

Config Params:
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

UndoBag APIs:

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

Steps to Build from Source: