Support of help and clear commands. Add view models

This commit is contained in:
Borys_Levytskyi
2016-11-20 23:01:20 +02:00
parent 3144cf2418
commit e35b87f668
14 changed files with 570 additions and 80 deletions

View File

@@ -6,12 +6,13 @@ app.set('cmd', function() {
var cmdController = app.controller('cmdController');
return {
debugMode: true,
execute: function(rawInput) {
var input = rawInput.trim().toLowerCase();
var handler = findHandler(input);
if(handler != null) {
if(app.debugMode) {
if(this.debugMode) {
invokeHandler(input, handler);
} else {
try {
@@ -52,13 +53,12 @@ app.set('cmd', function() {
handlers.push(h);
},
clear: function() {
cmdController.clear();
console.error('[displayCommandError] not implemented');
}
};
function displayCommandError(input, message) {
var error = new app.models.ErrorResult(message);
cmdController.display(new app.models.DisplayResult(input, error));
console.error('[displayCommandError] not implemented');
}
function invokeHandler (input, handler) {

View File

@@ -6,42 +6,6 @@ app.run(function() {
var rootView = app.get('rootView');
var expression = app.get('expression');
cmd.commands({
'help': function() {
var helpResult = document.querySelector('.result .helpResultTpl');
if(helpResult != null) {
moveResultUp(helpResult);
return;
}
return new app.models.ViewResult('helpResultTpl');
},
'clear': function() {
cmd.clear();
},
'em': function() {
cmdConfig.emphasizeBytes = !cmdConfig.emphasizeBytes;
},
'dark': function() {
cmdConfig.theme = 'dark';
},
light: function () {
cmdConfig.theme = 'light';
},
about: function() {
var aboutResult = document.querySelector('.result .aboutTpl');
if(aboutResult != null) {
moveResultUp(aboutResult);
return;
}
return new app.models.ViewResult('aboutTpl');
},
'-debug': function() {
app.debugMode = true;
console.log('debug is on');
},
'-notrack': function () {}
});
// TODO: Make as function
cmd.command({
canHandle: function(input) { return app.get('expression').canParse(input); },