diff --git a/lib/client/dom.js b/lib/client/dom.js index ce665c6a..c08515dd 100644 --- a/lib/client/dom.js +++ b/lib/client/dom.js @@ -631,7 +631,7 @@ var CloudCommander, Util, DOM, CloudFunc; * @param pCallBack */ DOM.socketLoad = function(pCallBack){ - DOM.jsload('/lib/client/socket.js', pCallBack); + DOM.jsload('/lib/client/socket.js', Util.retExec(pCallBack) ); }; /* DOM */ @@ -826,6 +826,42 @@ var CloudCommander, Util, DOM, CloudFunc; return lRet; }; + + /** + * unified way to get current file content + * + * @pCallBack - function({data, name}){} + * @pCurrentFile + */ + DOM.getCurrentData = function(pCallBack, pCurrentFile){ + var lParams, + lFunc = function(pData){ + var lName = DOM.getCurrentName(); + if( Util.isObject(pData) ){ + pData = JSON.stringify(pData, null, 4); + + var lExt = '.json'; + if( !Util.checkExtension(lName, lExt) ) + lName += lExt; + } + + Util.exec(pCallBack, { + data: pData, + name: lName + }); + }; + + if( !Util.isObject(pCallBack) ) + lParams = lFunc; + else + lParams = { + success : lFunc, + error : pCallBack.error + }; + + + return DOM.getCurrentFileContent(lParams, pCurrentFile); + }; /** * unified way to get RefreshButton diff --git a/lib/client/editor/_codemirror.js b/lib/client/editor/_codemirror.js index b8c82fad..6249c080 100644 --- a/lib/client/editor/_codemirror.js +++ b/lib/client/editor/_codemirror.js @@ -50,9 +50,9 @@ var CloudCommander, Util, DOM, CodeMirror; * function initialize CodeMirror * @param {value, callback} */ - function initCodeMirror(pData){ - if(!pData) - pData = {}; + function initCodeMirror(pParams){ + if(!pParams) + pParams = {}; if(!FM) FM = DOM.getFM(); @@ -68,7 +68,7 @@ var CloudCommander, Util, DOM, CodeMirror; CodeMirrorEditor.CodeMirror = new CodeMirror(CodeMirrorElement,{ mode : 'javascript', - value : pData.data, + value : pParams.data.data, theme : 'night', lineNumbers : true, //переносим длинные строки @@ -77,7 +77,7 @@ var CloudCommander, Util, DOM, CodeMirror; extraKeys: { //Сохранение 'Esc': function(){ - Util.exec(pData.callback); + Util.exec(pParams); DOM.remove(lCSS, document.head); } }, @@ -128,33 +128,22 @@ var CloudCommander, Util, DOM, CodeMirror; ReadOnly = true; Loading = true; - setTimeout(function(){ - Loading = false; - }, - 400); - + + var lFalseLoading = function(){ Loading = false; }; + + setTimeout(lFalseLoading, 400); /* reading data from current file */ - DOM.getCurrentFileContent({ - error : function(){ - Loading = false; - }, - + DOM.getCurrentData({ + error : lFalseLoading, success : function(data){ - /* if we got json - show it */ - if( Util.isObject(data) ) - data = JSON.stringify(data, null, 4); - - var lHided = DOM.hidePanel(); - if(lHided){ + if( DOM.hidePanel() ){ Util.exec(pCallBack, data); /* removing keyBinding if set */ KeyBinding.unSet(); - } - + } DOM.Images.hideLoad(); - - Loading = false; + lFalseLoading(); } }); } diff --git a/lib/client/menu.js b/lib/client/menu.js index 8b466bf6..2eb01458 100644 --- a/lib/client/menu.js +++ b/lib/client/menu.js @@ -34,24 +34,6 @@ var CloudCommander, Util, DOM, $; } } - function getCurrentData(pCallBack){ - return DOM.getCurrentFileContent(function(pData){ - var lName = DOM.getCurrentName(); - if( Util.isObject(pData) ){ - pData = JSON.stringify(pData, null, 4); - - var lExt = '.json'; - if( !Util.checkExtension(lName, lExt) ) - lName += lExt; - } - - Util.exec(pCallBack, { - data: pData, - name: lName - }); - }); - } - /** * function get menu item object for Upload To */ @@ -69,7 +51,7 @@ var CloudCommander, Util, DOM, $; lObj.name = pObjectName; lObj.callback = function(key, opt){ - getCurrentData(function(pParams){ + DOM.getCurrentData(function(pParams){ var lObject = cloudcmd[pObjectName]; if('init' in lObject) @@ -277,24 +259,27 @@ var CloudCommander, Util, DOM, $; Menu.init = function(pPosition){ Position = pPosition; - DOM.jqueryLoad( Util.retLoadOnLoad([ + Util.loadOnLoad([ Menu.show, - load - ])); + load, + DOM.jqueryLoad + ]); var key_event = function(pEvent){ + var lKEY = cloudcmd.KEY, + lKeyCode = pEvent.keyCode; /* если клавиши можно обрабатывать */ if( KeyBinding.get() ){ /* if shift + F10 pressed */ - if(pEvent.keyCode === cloudcmd.KEY.F10 && pEvent.shiftKey){ + if(lKeyCode === lKEY.F10 && pEvent.shiftKey){ var lCurrent = DOM.getCurrentFile(); if(lCurrent) - $(lCurrent).contextMenu(); + $(lCurrent).contextMenu(); pEvent.preventDefault(); } } - else if (pEvent.keyCode === cloudcmd.KEY.ESC) + else if (lKeyCode === lKEY.ESC) KeyBinding.set(); }; diff --git a/lib/client/terminal.js b/lib/client/terminal.js index c6fa27af..b8f4be71 100644 --- a/lib/client/terminal.js +++ b/lib/client/terminal.js @@ -29,7 +29,7 @@ var CloudCommander, Util, DOM, $; lDir + 'terminal.css' ]; - DOM.anyLoadInParallel(lFiles, function(){ + DOM.anyLoadOnLoad([lFiles], function(){ console.timeEnd('terminal load'); init(); @@ -48,7 +48,7 @@ var CloudCommander, Util, DOM, $; $(window).unbind('resize'); - Util.exec(pCallBack.callback || pCallBack); + Util.exec(pCallBack); }); } @@ -100,11 +100,12 @@ var CloudCommander, Util, DOM, $; */ cloudcmd.Terminal.init = function(){ /* loading js and css*/ - DOM.jqueryLoad( Util.retLoadOnLoad([ - JqueryTerminal.show, - load, - DOM.socketLoad - ]) ); + Util.loadOnLoad([ + JqueryTerminal.show, + load, + DOM.socketLoad, + DOM.jqueryLoad, + ]); /* добавляем обработчик клавишь */ DOM.addKeyListener(function(pEvent){ diff --git a/lib/client/viewer.js b/lib/client/viewer.js index 6a965a2a..a2db9670 100644 --- a/lib/client/viewer.js +++ b/lib/client/viewer.js @@ -63,7 +63,7 @@ var CloudCommander, Util, DOM, CloudFunc, $; lFiles = [ lDir + 'jquery.fancybox.css', lDir + 'jquery.fancybox.js' ]; - DOM.anyLoadOnLoad(lFiles, function(){ + DOM.anyLoadOnLoad([lFiles], function(){ console.timeEnd('fancybox load'); Util.exec( pCallBack ); }) @@ -94,25 +94,22 @@ var CloudCommander, Util, DOM, CloudFunc, $; if( Util.checkExtension(lPath, ['png','jpg', 'gif','ico']) ) $.fancybox.open({ href : lPath }, lConfig); - else{ - - DOM.getCurrentFileContent({ - success : function(pData){ - if( Util.isObject(pData) ) - pData = JSON.stringify(pData, null, 4); - $.fancybox('