Continued writing
Began to give an overview about Backbone.Undo methods
This commit is contained in:
parent
e574e51313
commit
638e8f1d61
41
README.md
41
README.md
@ -25,8 +25,9 @@ An extremely simple Undo-Manager for Backbone.js
|
|||||||
|
|
||||||
In a sophisticated webapp one click of the user might trigger several Backbone-Events which are stored as
|
In a sophisticated webapp one click of the user might trigger several Backbone-Events which are stored as
|
||||||
several Undo-Actions within the Undo-Stack. If the user then calls `undo()` it shouldn't just undo the latest
|
several Undo-Actions within the Undo-Stack. If the user then calls `undo()` it shouldn't just undo the latest
|
||||||
action, it should undo all the actions which were triggered by the user's click. Backbone.Undo.js has a way to
|
action, it should undo all the actions which were triggered by the user's click. Backbone.Undo.js does just that
|
||||||
figure out which actions belong together and then undoes/redoes all of them.
|
because it has a built-in mechanism that figures out which actions belong together and then undoes/redoes all
|
||||||
|
of them.
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
|
|
||||||
@ -50,16 +51,12 @@ Backbone.Undo.js was developed for Backbone 1.0.0 or higher.
|
|||||||
|
|
||||||
Backbone.Undo.js was developed for Underscore 1.4.4 or higher.
|
Backbone.Undo.js was developed for Underscore 1.4.4 or higher.
|
||||||
|
|
||||||
# Setting up your UndoManager
|
## Setting up your UndoManager
|
||||||
|
|
||||||
In order to set up you UndoManager you have to do the following steps:
|
In order to set up you UndoManager you have to do the following steps:
|
||||||
|
|
||||||
// 1. Instantiate your UndoManager
|
// 1. Instantiate your UndoManager
|
||||||
var myUndoManager = new Backbone.UndoManager({
|
var myUndoManager = new Backbone.UndoManager();
|
||||||
maximumStackLength: 100 // maximumStackLength determines how many actions
|
|
||||||
// are stored to be undone. Default is Infinity aka no limit at all. This
|
|
||||||
// attribute is optional. You don't need to pass anything to the constructor.
|
|
||||||
});
|
|
||||||
|
|
||||||
// 2. Register the models and collections you want to observe
|
// 2. Register the models and collections you want to observe
|
||||||
var model = new Backbone.Model,
|
var model = new Backbone.Model,
|
||||||
@ -74,7 +71,7 @@ In order to set up you UndoManager you have to do the following steps:
|
|||||||
// 3. Start tracking the changes
|
// 3. Start tracking the changes
|
||||||
myUndoManager.startTracking(); // Everything that happens from now on, can be undone
|
myUndoManager.startTracking(); // Everything that happens from now on, can be undone
|
||||||
|
|
||||||
# Undo or Redo Actions
|
## Undo or Redo Actions
|
||||||
|
|
||||||
To undo the last set of actions, just call `undo()`
|
To undo the last set of actions, just call `undo()`
|
||||||
|
|
||||||
@ -140,4 +137,28 @@ changes to the model asynchronously.
|
|||||||
})
|
})
|
||||||
|
|
||||||
Obviously noone would ever do that. In fact you also shouldn't do that: Your webapp shouldn't have any reference to the
|
Obviously noone would ever do that. In fact you also shouldn't do that: Your webapp shouldn't have any reference to the
|
||||||
undo-manager within your code. Try to develop it independently from the undo-manager.
|
undo-manager within your code. Try to develop it independently from the undo-manager and then add an
|
||||||
|
undo-manager-controller which for example binds the undo/redo-calls to Shortcuts like ctrl+Z.
|
||||||
|
|
||||||
|
## Backbone.Undo.js methods
|
||||||
|
|
||||||
|
Methods you can call on an instance of Backbone.Undo:
|
||||||
|
|
||||||
|
### Constructor
|
||||||
|
|
||||||
|
The constructor can be called with an optional argument. The argument is an object of attributes. So far only the
|
||||||
|
attribute `maximumStackLength` is supported.
|
||||||
|
|
||||||
|
var undoManager = new Backbone.Undo; // possible, because arguments are optional
|
||||||
|
undoManager = new Backbone.Undo({
|
||||||
|
maximumStackLength: 30
|
||||||
|
});
|
||||||
|
|
||||||
|
The attribute `maximumStackLength` defines how many undo-actions should be in the undo-stack at the utmost, which means
|
||||||
|
how many actions are undoable. The default value is `Infinity` so there's no limit at all.
|
||||||
|
|
||||||
|
### startTracking
|
||||||
|
|
||||||
|
Your undo-manager won't store any changes that happen to registered objects until you called startTracking:
|
||||||
|
|
||||||
|
undoManager.startTracking()
|
||||||
|
Loading…
Reference in New Issue
Block a user