Files
BitwiseCmd/index.html
Borys Levytskyi cadafab3ec huge regactoring
2015-04-02 22:53:06 +03:00

97 lines
2.9 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="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/inputCtrl.js"></script>
<script type="text/javascript" src="app/bootstrap.js"></script>
<link rel="stylesheet" type="text/css" href="css/styles.css" />
</head>
<body id="view">
<input id="in" type="text" data-bindr="expression"/>
<div id="out" type="text" data-bindr="expression"></div>
<div id="output">
</div>
<script type="text/javascript">
(function(){
var app = window.app;
var expression = app.service('expression');
var expressionInputCtrl = app.controller('expressionInputCtrl');
var outputDiv = document.getElementById('output');
var html = app.service('html');
app.controller('expressionInputCtrl').bind(document.getElementById('in'));
app.command('dispatchInput', function(cmdArgs) {
var expr = expression.parse(cmdArgs.input);
if(expr == null) {
return;
}
var view = new window.app.views.ExpressionView(expr);
var hb = app.service('html').builder();
hb.element('div', { class: 'result'}, view.getHtml());
outputDiv.appendChild(hb.toHtmlElement());
cmdArgs.commandHandled = true;
});
// Help
app.command('dispatchInput', function(cmdArgs){
if(cmdArgs.input.toLowerCase() !== 'help') {
return;
}
var commands = [{ name: 'help', description: 'Displays help'}];
var hb = html.builder();
hb.element('ul', { class: 'result', html: function() {
commands.forEach(function(c) {
hb.element('li', c.name + " — " + c.description);
});
}});
outputDiv.appendChild(hb.toHtmlElement());
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 });
outputDiv.appendChild(hb.toHtmlElement());
cmdArgs.commandHandled = true;
});
})();
</script>
</body>
</html>