Files
BitwiseCmd/index.html
2015-04-03 12:05:04 +03:00

104 lines
3.1 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/html.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="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/views.js"></script>
<script type="text/javascript" src="app/dispatcher.js"></script>
<script type="text/javascript" src="app/controllers.js"></script>
<script type="text/javascript" src="app/services.js"></script>
<link rel="stylesheet" type="text/css" href="css/styles.css" />
</head>
<body id="rootView">
<input id="in" type="text" data-controller="expressionInputCtrl"/>
<div id="out" type="text" data-controller="resultViewCtrl"></div>
<div id="output">
</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;
}
var expressionView = new window.app.views.ExpressionView(expr);
this.$resultView.insert(expressionView.render());
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 helpView = new app.views.HelpView(commands);
resultView.insert(helpView.render());
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){
var hb = html.builder();
hb.element('div', { class: "result error", html: "Unknown expression: " + cmdArgs.input });
resultView.insert(hb.toHtmlElement());
cmdArgs.commandHandled = true;
});
app.bootstrap(document.getElementById('rootView'));
})();
</script>
</body>
</html>