Files
BitwiseCmd/index.html
2015-04-03 18:04:49 +03:00

102 lines
3.3 KiB
HTML

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="components/bindr.js"></script>
<script type="text/javascript" src="components/commandr.js"></script>
<script type="text/javascript" src="components/should.js"></script>
<script type="text/javascript" src="components/htmlBuilder.js"></script>
<script type="text/javascript" src="components/container.js"></script>
<script type="text/javascript" src="app/app.js"></script>
<script type="text/javascript" src="components/controllersFeature.js"></script>
<script type="text/javascript" src="components/modelViewsFeature.js"></script>
<script type="text/javascript" src="app/bitwise/calc.js"></script>
<script type="text/javascript" src="app/bitwise/expression.js"></script>
<script type="text/javascript" src="app/bitwise/formatter.js"></script>
<script type="text/javascript" src="app/models.js"></script>
<script type="text/javascript" src="app/views.js"></script>
<script type="text/javascript" src="app/dispatcher.js"></script>
<script type="text/javascript" src="app/services.js"></script>
<script type="text/javascript" src="app/controllers.js"></script>
<link rel="stylesheet" type="text/css" href="css/styles.css" />
</head>
<body id="rootView">
<h2>Bitwise Operations Visualised</h2>
<input id="in" type="text" class="expressionInput" data-controller="expressionInputCtrl" placeholder="type expression like '1>>2' or 'help' for the "/>
<div id="output" data-controller="resultView">
</div>
<script type="text/javascript">
(function(){
var app = window.app;
var html = app.service('html');
var resultView = app.service('resultView');
// Expression
app.command('dispatchInput', {
$expression: null,
$resultView: null,
execute:function(cmdArgs) {
var expr = this.$expression.parse(cmdArgs.input);
if(expr == null) {
return;
}
this.$resultView.display(cmdArgs.input, expr);
cmdArgs.commandHandled = true;
}
});
// Help
app.command('dispatchInput', function(cmdArgs){
if(cmdArgs.input.toLowerCase() !== 'help') {
return;
}
var commands = [
{ name: 'help', description: 'Displays help'},
{ name: 'clear', description: 'Clears console'}
];
var model = new app.models.HelpResult(commands);
resultView.display(cmdArgs.input, model);
cmdArgs.commandHandled = true;
});
// Clear
app.command('dispatchInput', function(cmdArgs){
if(cmdArgs.input.toLowerCase() !== 'clear') {
return;
}
resultView.clear();
cmdArgs.commandHandled = true;
});
// Unknown Expression
app.command('dispatchInput', function(cmdArgs){
cmdArgs.commandHandled = true;
resultView.display(cmdArgs.input, new app.models.ErrorResult("Unknown expression: " + cmdArgs.input))
});
app.bootstrap(document.getElementById('rootView'));
})();
</script>
</body>
</html>