0.5.0 • Published 6 years ago

undoo v0.5.0

Weekly downloads
686
License
MIT
Repository
github
Last release
6 years ago

Undoo

Undo/redo manager

Installation

Node.js

npm install undoo --save

Browser

Local

<script src="node_modules/undoo/dist/undoo.min.js"></script>

CDN unpkg

<script src="https://unpkg.com/undoo/dist/undoo.min.js"></script>

Example

const Undoo = require('undoo');

const myHistory = new Undoo();

myHistory
    .save('one')
    .save('two')
    .save('three')
    .save('four');

myHistory.undo((item)=>{
    console.log(item); //=> three
});

myHistory.current(); //=> three

myHistory.redo((item)=>{
    console.log(item); //=> four
});

Use provider

const Undoo = require('undoo');

const myHistory = new Undoo({
    provider: () => document.getElementById('myTextArea').value
});

myHistory.save();

API

Undoo

Kind: global class

new Undoo(opts)

Create instance

undoo.canUndo() ⇒ boolean

Check if undo is available

Kind: instance method of Undoo

undoo.canRedo() ⇒ boolean

Kind: instance method of Undoo
Check: if redo is available

undoo.import(history) ⇒ Undoo

Import external history

Kind: instance method of Undoo

undoo.history() ⇒ Array

Get history

Kind: instance method of Undoo

undoo.save(item) ⇒ Undoo

Save history

Kind: instance method of Undoo

undoo.suspendSave(state) ⇒ Undoo

Suspend save method

Kind: instance method of Undoo

undoo.allowedSave() ⇒ boolean

Check if save is allowed

Kind: instance method of Undoo

undoo.clear() ⇒ Undoo

Clear history

Kind: instance method of Undoo

undoo.undo(callback) ⇒ Undoo

Undo

Kind: instance method of Undoo

undoo.redo(callback) ⇒ Undoo

Redo

Kind: instance method of Undoo

undoo.current() ⇒ *

Get current item in history

Kind: instance method of Undoo

undoo.count() ⇒ number

Count history items, the first element is not considered

Kind: instance method of Undoo

undoo.initialState() ⇒ *

Get initial state history

Kind: instance method of Undoo

undoo.onUpdate(callback) ⇒ Undoo

Triggered when history is updated

Kind: instance method of Undoo

undoo.onMaxLength(callback) ⇒ Undoo

Triggered when maxLength is exceeded

Kind: instance method of Undoo

undoo.onBeforeSave(callback) ⇒ Undoo

Triggered before save

Kind: instance method of Undoo

Example

// If callback returns `false` the save command will not be executed
myHistory.onBeforeSave(()=>false)

// You can overwrite item before save
myHistory.onBeforeSave((item)=>{
     return item.toUpperCase();
})

Undoo~undoCallback : function

undo callback

Kind: inner typedef of Undoo

Undoo~redoCallback : function

redo callback

Kind: inner typedef of Undoo

Undoo~updateCallback : function

onUpdate callback

Kind: inner typedef of Undoo

Undoo~maxLengthCallback : function

onMaxLength callback

Kind: inner typedef of Undoo

Undoo~beforeSaveCallback : function

onBeforeSave callback

Kind: inner typedef of Undoo

Changelog

You can view the changelog here

License

Undoo is open-sourced software licensed under the MIT license

Author

Fabio Ricali