0.0.1 • Published 12 years ago
backbone-fsm v0.0.1
Backbone-FSM 
Finite-State Machine for Backbone views and models. Browser and Node.js compatible.
Installation
Bower
bower install backbone-fsmOld school
Include lib/backbone-fsm.js into your page.
Node.js
npm install backbone-fsmUsage
Initialization
FSM comes with mixin method. You have to extend this during initialization.
var Foo = Backbone.View.extend({
initialize: function () {
FSM.mixin(this);
}
});Transitions
You can define transitions and defaultState:
var Foo = Backbone.View.extend({
initialize: function () {
FSM.mixin(this);
},
defaultState: 'firstState',
transitions: {
'transitionName': {
from: 'firstState',
to: 'secondState'
}
},
onTransitionName: function (callback) {
callback();
}
});To make a transition run transitionTo("secondState").
During transition:
transition:startevent is emitedonTransitionNamecallback is called (if defined).transition:stopevent is emited
Example
Backbone-FSM live example: http://jsfiddle.net/fragphace/Zc6Gx/
Tests
For server-side tests:
npm testBrowser tests can be found in test/browser.html.
Tested under:
- IE 7+
- FF 15+
- Chrome 22+
Development
- Generate JS files -
make coffee - Watch mode -
make watch
0.0.1
12 years ago