From 7ffb00a984b48d1d997317531b66ec41d175e9cf Mon Sep 17 00:00:00 2001 From: coderaiser Date: Thu, 4 Apr 2013 06:06:02 -0400 Subject: [PATCH] refactored --- json/config.json | 2 +- lib/client/editor/_codemirror.js | 4 +- lib/client/keyBinding.js | 232 +++++++++++++++---------------- lib/client/socket.js | 12 +- lib/client/terminal.js | 6 +- lib/client/viewer.js | 22 +-- 6 files changed, 141 insertions(+), 137 deletions(-) diff --git a/json/config.json b/json/config.json index 3a8b6f66..5f9fc6cf 100644 --- a/json/config.json +++ b/json/config.json @@ -2,7 +2,7 @@ "api_url" : "/api/v1", "appcache" : false, "minification" : { - "js" : false, + "js" : true, "css" : true, "html" : true, "img" : true diff --git a/lib/client/editor/_codemirror.js b/lib/client/editor/_codemirror.js index 7a58cd42..cd721292 100644 --- a/lib/client/editor/_codemirror.js +++ b/lib/client/editor/_codemirror.js @@ -209,8 +209,8 @@ var CloudCommander, Util, DOM, CodeMirror; }; /* добавляем обработчик клавишь */ - DOM.addKeyListener( lKeyListener ); - DOM.setButtonKey('f4', CodeMirrorEditor.show); + DOM .addKeyListener( lKeyListener ) + .setButtonKey('f4', CodeMirrorEditor.show); }; CloudCmd.Editor.CodeMirror = CodeMirrorEditor; diff --git a/lib/client/keyBinding.js b/lib/client/keyBinding.js index 22dc14b8..fc530c15 100644 --- a/lib/client/keyBinding.js +++ b/lib/client/keyBinding.js @@ -86,48 +86,46 @@ var CloudCommander, Util, DOM; DOM.preventDefault(pEvent); } - /* если нажали таб: - * переносим курсор на - * правую панель, если - * мы были на левой и - * наоборот - */ - else if(lKeyCode === KEY.TAB){ - /* changing parent panel of curent-file */ - var lPanel = DOM.getPanel(), - lId = lPanel.id; + else if(lKeyCode >= KEY.F1 && lKeyCode <= KEY.TRA || + lKeyCode >= KEY.TAB && lKeyCode <= KEY.Delete) - lTabPanel[lId] = lCurrentFile; - - lPanel = DOM.getPanel({active:false}); - lId = lPanel.id; - - if(lTabPanel[lId]) - DOM.setCurrentFile(lTabPanel[lId]); - else{ - var lFirstFileOnList = DOM.getByTag('li', lPanel)[2]; - - DOM.setCurrentFile(lFirstFileOnList); - } - - DOM.preventDefault(pEvent);//запрет на дальнейшее действие - } - else if(lKeyCode === KEY.Delete){ - if(pEvent.shiftKey){ - var lUrl = DOM.getCurrentPath(lCurrentFile); - - if( DOM.isCurrentIsDir(lCurrentFile) ) - lUrl += '?dir'; - - DOM.RESTfull.delete(lUrl, function(){ - DOM.deleteCurrent(lCurrentFile); - }); - } - else - DOM.promptDeleteCurrent(lCurrentFile); - } - else if(lKeyCode >= KEY.F1 && lKeyCode <= KEY.F10) switch(lKeyCode){ + case KEY.TAB: + /* changing parent panel of curent-file */ + var lPanel = DOM.getPanel(), + lId = lPanel.id; + + lTabPanel[lId] = lCurrentFile; + + lPanel = DOM.getPanel({active:false}); + lId = lPanel.id; + + if(lTabPanel[lId]) + DOM.setCurrentFile(lTabPanel[lId]); + else{ + var lFirstFileOnList = DOM.getByTag('li', lPanel)[2]; + + DOM.setCurrentFile(lFirstFileOnList); + } + + DOM.preventDefault(pEvent);//запрет на дальнейшее действие + break; + + case KEY.Delete: + if(pEvent.shiftKey){ + var lUrl = DOM.getCurrentPath(lCurrentFile); + + if( DOM.isCurrentIsDir(lCurrentFile) ) + lUrl += '?dir'; + + DOM.RESTfull.delete(lUrl, function(){ + DOM.deleteCurrent(lCurrentFile); + }); + } + else + DOM.promptDeleteCurrent(lCurrentFile); + break; + case KEY.F1: DOM.preventDefault(pEvent); break; @@ -172,87 +170,85 @@ var CloudCommander, Util, DOM; Util.exec(CloudCmd.Menu); DOM.preventDefault(pEvent); } - } - - else if (lKeyCode === KEY.TRA){ - DOM.Images.showLoad({top: true}); - Util.exec(CloudCmd.Terminal); - } - /* навигация по таблице файлов * - * если нажали клавишу вверх * - * выделяем предыдущую строку */ - else if(lKeyCode === KEY.UP){ - DOM.setCurrentFile( lCurrentFile.previousSibling ); - DOM.preventDefault( pEvent ); - } - - /* если нажали клавишу в низ * - * выделяем следующую строку */ - else if(lKeyCode === KEY.DOWN){ - DOM.setCurrentFile( lCurrentFile.nextSibling ); - DOM.preventDefault( pEvent ); - } - - /* если нажали клавишу Home * - * переходим к самому верхнему * - * элементу */ - else if(lKeyCode === KEY.HOME){ - DOM.setCurrentFile( lCurrentFile.parentElement.firstChild ); - DOM.preventDefault(pEvent); - } - - /* если нажали клавишу End - * выделяем последний элемент - */ - else if(lKeyCode === KEY.END){ - DOM.setCurrentFile( lCurrentFile.parentElement.lastElementChild ); - DOM.preventDefault( pEvent ); - } - - /* если нажали клавишу page down - * проматываем экран - */ - else if(lKeyCode === KEY.PAGE_DOWN){ - DOM.scrollByPages( DOM.getPanel(), 1 ); - - for(i=0; i<30; i++){ - if(!lCurrentFile.nextSibling) break; + break; - lCurrentFile = lCurrentFile.nextSibling; - } - DOM.setCurrentFile(lCurrentFile); - DOM.preventDefault(pEvent); - } - - /* если нажали клавишу page up - * проматываем экран - */ - else if(lKeyCode === KEY.PAGE_UP){ - DOM.scrollByPages( DOM.getPanel(), -1 ); - - var lC = lCurrentFile, - tryCatch = function(pCurrentFile){ - Util.tryCatch(function(){ - return pCurrentFile - .previousSibling - .previousSibling + case KEY.TRA: + DOM.Images.showLoad({top: true}); + Util.exec(CloudCmd.Terminal); + break; + + /* навигация по таблице файлов * + * если нажали клавишу вверх * + * выделяем предыдущую строку */ + case KEY.UP: + DOM.setCurrentFile( lCurrentFile.previousSibling ); + DOM.preventDefault( pEvent ); + break; + + /* если нажали клавишу в низ * + * выделяем следующую строку */ + case KEY.DOWN: + DOM.setCurrentFile( lCurrentFile.nextSibling ); + DOM.preventDefault( pEvent ); + break; + + /* если нажали клавишу Home * + * переходим к самому верхнему * + * элементу */ + case KEY.HOME: + DOM.setCurrentFile( lCurrentFile.parentElement.firstChild ); + DOM.preventDefault(pEvent); + break; + + /* если нажали клавишу End + * выделяем последний элемент */ + case KEY.END: + DOM.setCurrentFile( lCurrentFile.parentElement.lastElementChild ); + DOM.preventDefault( pEvent ); + break; + + /* если нажали клавишу page down + * проматываем экран */ + case KEY.PAGE_DOWN: + DOM.scrollByPages( DOM.getPanel(), 1 ); + + for(i=0; i<30; i++){ + if(!lCurrentFile.nextSibling) break; + + lCurrentFile = lCurrentFile.nextSibling; + } + DOM.setCurrentFile(lCurrentFile); + DOM.preventDefault(pEvent); + break; + + /* если нажали клавишу page up проматываем экран */ + case KEY.PAGE_UP: + DOM.scrollByPages( DOM.getPanel(), -1 ); + + var lC = lCurrentFile, + tryCatch = function(pCurrentFile){ + Util.tryCatch(function(){ + return pCurrentFile .previousSibling - .previousSibling; - }); - }; - - for(i = 0; i < 30; i++){ - if(!lC.previousSibling || tryCatch(lC) ) break; - - lC = lC.previousSibling; + .previousSibling + .previousSibling + .previousSibling; + }); + }; + + for(i = 0; i < 30; i++){ + if(!lC.previousSibling || tryCatch(lC) ) break; + + lC = lC.previousSibling; + } + DOM.setCurrentFile(lC); + DOM.preventDefault(pEvent); + break; + /* если нажали Enter - открываем папку*/ + case KEY.ENTER: + if( DOM.isCurrentIsDir() ) + Util.exec( CloudCmd.loadDir() ); } - DOM.setCurrentFile(lC); - DOM.preventDefault(pEvent); - } - - /* если нажали Enter - открываем папку*/ - else if(lKeyCode === KEY.ENTER && DOM.isCurrentIsDir()) - Util.exec( CloudCmd.loadDir() ); /* если нажали +r * обновляем страницу, diff --git a/lib/client/socket.js b/lib/client/socket.js index a6760017..d9544929 100644 --- a/lib/client/socket.js +++ b/lib/client/socket.js @@ -1,6 +1,6 @@ /* module make possible connectoin thrue socket.io on a client */ -var CloudCommander, DOM, Util, io; -(function(CloudCmd, DOM, Util){ +var CloudCommander, Util, DOM, io; +(function(CloudCmd, Util, DOM, io){ 'use strict'; var Messages = [], @@ -46,7 +46,7 @@ var CloudCommander, DOM, Util, io; }, onerror : function(){ - console.log('could not connect to socket.io\n'+ + Util.log('could not connect to socket.io\n'+ 'npm i socket.io'); } }); @@ -62,6 +62,7 @@ var CloudCommander, DOM, Util, io; if(lTerm){ var lStdout, lStderr; + if(Messages.length){ /* show oll msg from buffer */ for(var i = 0, n = Messages.length; i < n; i++){ @@ -98,9 +99,10 @@ var CloudCommander, DOM, Util, io; Messages.push(pMsg); lResult = false; } - console.log(pMsg); + + Util.log(pMsg); return lResult; } -})(CloudCommander, DOM, Util); \ No newline at end of file +})(CloudCommander, Util, DOM, io); \ No newline at end of file diff --git a/lib/client/terminal.js b/lib/client/terminal.js index 4033e510..341a6448 100644 --- a/lib/client/terminal.js +++ b/lib/client/terminal.js @@ -18,7 +18,7 @@ var CloudCommander, Util, DOM, $; * function loads jquery-terminal */ function load(pCallBack){ - console.time('terminal load'); + Util.time('terminal load'); var lDir = '/lib/client/terminal/jquery-terminal/jquery.', lFiles = [ @@ -30,8 +30,8 @@ var CloudCommander, Util, DOM, $; /* //github.com/jquery/jquery-migrate/ */ DOM.anyLoadOnLoad([lFiles, lJqueryMigrate], function(){ - console.timeEnd('terminal load'); - init(); + Util.timeEnd('terminal load'); + init(); $(function($, undefined) { Term = JqueryTerminal.Term = $('#terminal').terminal(function(command, term){ term.echo(''); diff --git a/lib/client/viewer.js b/lib/client/viewer.js index eed5cc73..26c6c6d2 100644 --- a/lib/client/viewer.js +++ b/lib/client/viewer.js @@ -48,13 +48,13 @@ var CloudCommander, Util, DOM, CloudFunc, $; * @pCallBack - executes, when everything loaded */ FancyBox.load = function(pCallBack){ - console.time('fancybox load'); + Util.time('fancybox load'); var lDir = CloudCmd.LIBDIRCLIENT + 'viewer/fancyBox/source/', lFiles = [ lDir + 'jquery.fancybox.css', lDir + 'jquery.fancybox.js' ]; DOM.anyLoadOnLoad([lFiles], function(){ - console.timeEnd('fancybox load'); + Util.timeEnd('fancybox load'); Util.exec( pCallBack ); }) .cssSet({id:'viewer', @@ -137,17 +137,23 @@ var CloudCommander, Util, DOM, CloudFunc, $; /* если клавиши можно обрабатывать */ if( lKeyBinded){ - if(lKeyCode === lF3 && lShift){ - lView(); - pEvent.preventDefault(); + switch(lKeyCode){ + case lF3: + if(lShift){ + lView(); + DOM.preventDefault(pEvent); + } + break; + + case lKEY.F1: + FancyBox.showHelp(); + break; } - else if(lKeyCode === lKEY.F1) - FancyBox.showHelp(); } }; /* добавляем обработчик клавишь */ - DOM.addKeyListener(lKeyListener) + DOM .addKeyListener(lKeyListener) .setButtonKey('f3', lView); };