diff --git a/lib/client/console.js b/lib/client/console.js index 01b30663..c0786fea 100644 --- a/lib/client/console.js +++ b/lib/client/console.js @@ -6,6 +6,7 @@ var CloudCmd, Util, DOM, $; function ConsoleProto(CloudCmd, Util, DOM){ var Name = 'Console', + jqconsole, Element, Key = CloudCmd.Key, Images = DOM.Images, @@ -27,9 +28,7 @@ var CloudCmd, Util, DOM, $; delete Console.init; }; - this.show = function(){ - var jqconsole; - + this.show = function(){ Images.showLoad({top:true}); if (!Element) { @@ -37,9 +36,8 @@ var CloudCmd, Util, DOM, $; name : 'div', className : 'console' }); - - Console.jqconsole = - jqconsole = $(Element).jqconsole('', '# '); + + jqconsole = $(Element).jqconsole('', '> '); // Abort prompt on Ctrl+Z. jqconsole.RegisterShortcut('Z', function() { jqconsole.AbortPrompt(); @@ -48,9 +46,12 @@ var CloudCmd, Util, DOM, $; // Handle a command. var handler = function(command) { + var lSocket = CloudCmd.Socket; if (command) { Images.showLoad({ top:true }); - CloudCmd.Socket.send(command); + + if(lSocket) + lSocket.send(command); } jqconsole.Prompt(true, handler); @@ -60,19 +61,25 @@ var CloudCmd, Util, DOM, $; handler(); } - CloudCmd.View.show(Element, function(){ - var lEvent = DOM.Events.create('mouseup'), - lElement = $('.jqconsole-prompt')[0]; - - DOM.Events.dispatch(lEvent, lElement); + CloudCmd.View.show(Element, function(){ + jqconsole.$input_source.focus(); }); }; - - + this.hide = function(){ CloudCmd.View.hide(); }; + this.log = function(pText){ + if (jqconsole) + jqconsole.Write(pText + '\n', 'log-msg'); + }; + + this.error = function(pText){ + if (jqconsole) + jqconsole.Write(pText + '\n', 'error-msg'); + }; + function load(pCallBack){ Util.time(Name + ' load'); diff --git a/lib/client/socket.js b/lib/client/socket.js index 83843e4c..cd9fa7bf 100644 --- a/lib/client/socket.js +++ b/lib/client/socket.js @@ -36,34 +36,26 @@ var CloudCmd, Util, DOM, jqconsole, io; }); function outToTerminal(pMsg){ - var lResult, lTerm, lStdout, lStderr; + var i, n, lResult, lStdout, lStderr, + lConsole = CloudCmd.Console; + DOM.Images.hideLoad(); - var lEcho = function(pResult){ - CloudCmd.Console.jqconsole.Write(pResult + '\n'); - DOM.Images.hideLoad(); - }; - - lTerm = { - echo : lEcho, - error : lEcho - }; - - if(CloudCmd.Console.jqconsole){ + if( Util.isObject(lConsole) ){ if(Messages.length){ /* show oll msg from buffer */ - for(var i = 0, n = Messages.length; i < n; i++){ + for(i = 0, n = Messages.length; i < n; i++){ lStdout = Messages[i].stdout; lStderr = Messages[i].stderr; if(lStdout) - lTerm.echo(lStdout); + lConsole.log(lStdout); if(lStderr){ /* if it's object - convert is to string' */ if( Util.isObject(lStderr) ) lStderr = Util.stringifyJSON(lStderr); - lTerm.error(lStderr); + lConsole.error(lStderr); } } Messages = []; @@ -73,10 +65,10 @@ var CloudCmd, Util, DOM, jqconsole, io; lStderr = pMsg.stderr; if(lStdout) - lResult = lTerm.echo(lStdout); + lResult = lConsole.log(lStdout); if(lStderr && lStderr.code !== 1) - lResult = lTerm.error(lStderr.toString()); + lResult = lConsole.error(lStderr.toString()); } else /* if term not accesable save msg to buffer */ diff --git a/lib/client/terminal/jq-console/jqconsole.css b/lib/client/terminal/jq-console/jqconsole.css index b5fb0696..32681805 100644 --- a/lib/client/terminal/jq-console/jqconsole.css +++ b/lib/client/terminal/jq-console/jqconsole.css @@ -7,7 +7,32 @@ margin: 0 auto; margin-top: 50px; } + +.error-msg{ + color: crimson; +} + +.log-msg{ + color: #444; +} + +.error-msg, .log-msg{ + background-color: #f5f5f5; + display: block; + font: monospace 16px "Droid Sans Mono"; + white-space: pre-wrap; + word-break: normal; + word-wrap: normal; + margin: 10px; + padding: 10px; + background: beige; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +} + .jqconsole { + background: #fffdf9; padding: 10px; padding-bottom: 10px; } @@ -18,19 +43,13 @@ background-color: #666; } .jqconsole-prompt { - color: #0d0; + color: #4a473a } .jqconsole-old-prompt { - color: #0b0; - font-weight: normal; -} -.jqconsole-input { - color: #dd0; -} -.jqconsole-old-input { - color: #bb0; + color: #b7b4a8; font-weight: normal; } + .brace { color: #00FFFF; }