30 lines
646 B
JavaScript
30 lines
646 B
JavaScript
var States = require("../States");
|
|
|
|
/**
|
|
* Stateful mixin for graphic object
|
|
*/
|
|
var Stateful = function (opts) {
|
|
if (opts.states) {
|
|
this.initStates(opts.states);
|
|
}
|
|
};
|
|
|
|
Stateful.prototype = {
|
|
initStates: function (states) {
|
|
this._states = new States({
|
|
el: this,
|
|
states: states
|
|
});
|
|
},
|
|
setState: function (name) {
|
|
this._states && this._states.setState(name);
|
|
},
|
|
getState: function () {
|
|
return this._states && this._states.getState();
|
|
},
|
|
transitionState: function (name, done) {
|
|
this._states && this._states.transitionState(name, done);
|
|
}
|
|
};
|
|
var _default = Stateful;
|
|
module.exports = _default; |