| /** |
| * 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; |