Skip to content

Instantly share code, notes, and snippets.

@timothyclemans
Created April 4, 2014 17:25
Show Gist options
  • Save timothyclemans/9979126 to your computer and use it in GitHub Desktop.
Save timothyclemans/9979126 to your computer and use it in GitHub Desktop.
[wearscript]
<!-- Complex checklists -->
<html style="width:100%; height:100%; overflow:hidden">
<head>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="https://raw.github.com/Glench/fuzzyset.js/master/lib/fuzzyset.js"></script>
<link href='https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700' rel='stylesheet' type='text/css'>
<!-- You can include external scripts here like so... -->
<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/zepto/1.0/zepto.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>-->
</head>
<body style="width:100%; height:100%; overflow:hidden; margin:0; background:#000;color:#FFF;">
<p id="text" style="padding:40px; font-size:40px; font-family:roboto; font-weight:100;"></p>
<script>
var current = [];
var i = 0;
var checklist = [{'type': 'voice_prompt', 'prompt': 'Is the patient breathing normally?', 'answers': {'yes': [{'type': 'static', 'text': 'Introduce yourself'}], 'no': [{'type': 'countdown', 'text': 'Check pulse for no more than ten seconds', 'start': 10}, {'type': 'voice_prompt', 'prompt': 'Does the patient have a pulse', 'answers': {'yes': [{'type': 'static', 'text': 'do nothing'}], 'no': [{'type': 'static', 'text': 'open the airway'}]}}]}}];
current = checklist;
function processItem(item) {
if (item['type'] == 'voice_prompt') {
WS.speechRecognize(item['prompt'], function (data) {current = item['answers'][data.toLowerCase()]; i = 0; processItem(current[0]);});
} else if (item['type'] == 'countdown') {
$('body').append('<p style="position:absolute; bottom:40px; right:40px;">'+item['start']+'</p>');
$('#text').text(current[i]['text']);
WS.say(current[i]['text']);
i += 1;
} else if (item['type'] == 'static') {
$('#text').text(current[i]['text']);
WS.say(current[i]['text']);
i += 1;
}
}
function onGesture(name) {
processItem(current[i]);
}
function server() {
processItem(checklist[0]);
WS.gestureCallback('onGesture', 'onGesture');
WS.gestureCallback('onEyeGesture', 'onGesture');
}
function main() {
if (WS.scriptVersion(1)) return;
WS.serverConnect('{{WSUrl}}', server);
}
window.onload = main;
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment