examples/home.html
<!DOCTYPE html>
<html id='doc'>
<head>
<title>Ockham</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.9.3/lodash.js' type='text/javascript'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/bluebird/2.9.30/bluebird.js' type='text/javascript'></script>
<script src='../dist/ockham.max.js' type='text/javascript'></script>
<script type="text/javascript">
//<![CDATA[
var fsm = Ockham.create({
config: function(fsm) {
return {
states: {
none: {
init: 'off'
},
off: {
blink: this.blink,
round: this.round
},
blink: {
turn_on: 'on',
},
on: {
turn_off: 'off',
}
}
};
},
blink : function(fsm, options) {
return new Promise(function(resolve, reject) {
fsm.deferTransition("turn_on", options);
resolve('blink', options);
});
},
round: function(fsm, options) {
return new Promise(function(resolve, reject) {
fsm.deferTransition("turn_on", options);
fsm.deferTransition("turn_off", options);
resolve('blink', options);
});
}
});
fsm.doTransition('init').then(function(data) {
return fsm.doTransition('turn', {1: "Uno",2: "Dos"});
}).then(function(data) {
console.log(data);
});
//]]>
</script>
</head>
<body>
<div id="main_content">
</body>
</html>