blob: f3f558d4784d37663b70aecfbcefd817c8c213c2 [file] [log] [blame]
/**
* Stateful mixin for graphic object
*/
import States from '../States';
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);
}
};
export default Stateful;