Skip to content
/ ctrlz Public

JSON edit history manager for undo / redo functionality, powered by operational transform.

License

Notifications You must be signed in to change notification settings

plotdb/ctrlz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ctrlz

JSON Edit History Manager for Undo / Redo Functionality, powered by operational transform. Keep state and support undo for anything that can be expressed / stored by JSON!

Install

include required js file:

<script src="path-to-your-ctrlz-bundle.js"></script>

ctrlz uses @plotdb/json0 as a dependency. ctrlz.bundle.min.js already includes it but for a separate file, use ctrlz.mins.js instead, and include @plotdb/json0 separately downloaded from its repo.

Usage

/* init directly in constructor */
mananger = new ctrlz({obj: obj});

/* or alternatively, reset anytime after initialized */
manager.reset({obj: obj});

/* when obj is updated */
manager.update(obj);

/* if you have ot to apply: */ 
manager.apply({op: op});

/* undo, return a undo-ed object */
ret = manager.undo();

/* redo, return a redo-ed object */
ret = manager.redo();

/* clean history */
mananger.clear();

License

MIT.

About

JSON edit history manager for undo / redo functionality, powered by operational transform.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages