0.1.1 • Published 9 years ago

jquery-textbox-revision-tracker v0.1.1

Weekly downloads
5
License
-
Repository
github
Last release
9 years ago

Textbox Revision Tracker

A simple jQuery plugin to track text revisions to HTML inputs or text areas. Revisions can be saved, undone, redone, diffed and fetched. Revision data of text, time of revision and revision number are stored.

Demo

Getting Started

Download the production version or the development version.

In your web page:

<textarea id="ta"></textarea>

<script src="jquery.js"></script>
<script src="dist/textbox-revision-tracker.min.js"></script>
<!-- provide diff function if you want diff support, alternatively you supply your own diff function, which is passed as an option -->
<script src="libs/diff.js"></script>

<script>
//window.diffString provided by libs/diff.js
$('textarea#ta').revisionTracker({diffFunction: window.diffString});
</script>

Initialization Options

NameTypeDescription
diffFunctionFunctionTakes the text of two revisions and performs a diff. This only needs to be provided if calling the diff method in the API.
autoSaveNumberIf provided, will automatically create a revision after specified number seconds of paused typing

API

To call a method on an instantiated RevisionTracker, use the syntax $('textarea').('methodName', arguments...);.

Available Methods

MethodDescriptionArguments
revisionsList of all revisions. Revisions are objects with text, time and revisionNumber properties.None
saveSave the current text as a revsion.None
getRevisionGet a particular revision.RevisionNumber
undoUndo last revision.None
redoRedo last undone revision.None
goToRevisionGo to a particular revision.RevisionNumber
getDiffGet a diff of two revisions.RevisionNumber1, RevisionNumber2

Example Usage

//init
$('textarea').revisionTracker();
//type in some text
$('textarea').val('foo');
//save the text as a revision
$('textarea').revisionTracker('save');
$('textarea').revisionTracker('revisions');  //returns [{"text":"foo","time":1438307922004,"revisionNumber":1}]
$('textarea').revisionTracker('undo');
$('textarea').revisionTracker('revisions');  //returns []
$('textarea').val() //return ""
$('textarea').revisionTracker('redo');
$('textarea').val() //return "foo"

Release History

0.1 - Initial Release