diff --git a/lib/client/terminal.js b/lib/client/terminal.js index cd6d5610..7367727a 100644 --- a/lib/client/terminal.js +++ b/lib/client/terminal.js @@ -9,6 +9,7 @@ var CloudCommander, $; Util = cloudcmd.Util, KeyBinding = cloudcmd.KeyBinding, TerminalId, + Term, Hidden = false; cloudcmd.Terminal = {}; @@ -27,6 +28,18 @@ var CloudCommander, $; Util.jsload('lib/client/terminal/jquery-terminal/jquery.terminal.js', function(){ JqueryTerminal.init(); + + $(function($, undefined) { + Term = JqueryTerminal.Term = $('#terminal').terminal(function(command, term){ + term.echo(''); + cloudcmd.Socket.send(command); + }, { + greetings : 'Javascript Interpreter', + prompt : 'cloudcmd> ' + }); + }); + + Util.Images.hideLoad(); JqueryTerminal.show(); }); }; @@ -50,22 +63,29 @@ var CloudCommander, $; else console.log('Error. Something went wrong FM not found'); }); - - JqueryTerminal.show = function(){ - Util.Images.hideLoad(); + + JqueryTerminal.show = (function(){ + Hidden = false; + Util.hidePanel(); + Util.show(TerminalId); + KeyBinding.unSet(); - $(function($, undefined) { - JqueryTerminal.Term = $('#terminal').terminal(function(command, term){ - term.echo(''); - cloudcmd.Socket.send(command); - }, { - greetings : 'Javascript Interpreter', - prompt : 'cloudcmd> ' - }); - }); - }; + Term.resume(); + }); + + JqueryTerminal.hide = (function(){ + Hidden = true; + + Util.hide(TerminalId); + Util.showPanel(); + + KeyBinding.set(); + + Term.pause(); + }); + cloudcmd.Terminal.Keys = (function(){ /* loading js and css*/ @@ -73,23 +93,17 @@ var CloudCommander, $; var key_event = function(event){ /* если клавиши можно обрабатывать */ - if(Hidden && KeyBinding.get() && event.keyCode === cloudcmd.KEY.TRA){ - Hidden = false; - - Util.show(TerminalId); - TerminalId.focus(); - - JqueryTerminal.show(); - } + if(Hidden && + KeyBinding.get() && + event.keyCode === cloudcmd.KEY.TRA){ + JqueryTerminal.show(); + event.preventDefault(); + } + + else if(!Hidden && event.keyCode === cloudcmd.KEY.ESC) + JqueryTerminal.hide(); + - if(!Hidden && event.keyCode === cloudcmd.KEY.ESC){ - Hidden = true; - Util.hide(TerminalId); - - Util.showPanel(); - Util.getPanel().focus(); - KeyBinding.set(); - } }; /* добавляем обработчик клавишь */ diff --git a/lib/client/viewer.js b/lib/client/viewer.js index 1666d56e..06765be0 100644 --- a/lib/client/viewer.js +++ b/lib/client/viewer.js @@ -50,7 +50,7 @@ var CloudCommander, CloudFunc, $; overlay : { opacity: 0.1, css : { - 'background-color' : '#fff' + 'background-color' : '#fff' } } }, diff --git a/server.js b/server.js index 4b29ba8c..a8aed114 100644 --- a/server.js +++ b/server.js @@ -60,7 +60,7 @@ var CloudServer = { * хранащий информацию в виде * Statuses[name] = 404; */ - Statuses : {}, + Statuses : {}, /* * queries of file params @@ -253,8 +253,7 @@ CloudServer.generateHeaders = function(pName, pGzip){ */ CloudServer._controller = function(pReq, pRes) { - /* Читаем содержимое папки, переданное в url - */ + /* Читаем содержимое папки, переданное в url */ var url = require("url"); var lParsedUrl = url.parse(pReq.url); var pathname = lParsedUrl.pathname;