From 447e9e5e662a3d89445f6489f2338f7a74fcdf79 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 19 Mar 2013 07:45:40 -0400 Subject: [PATCH] refactored --- html/path.html | 4 +-- json/config.json | 2 +- lib/client.js | 91 +++++++++++++++++++++++------------------------- lib/cloudfunc.js | 2 +- 4 files changed, 47 insertions(+), 52 deletions(-) diff --git a/html/path.html b/html/path.html index edca4c8e..a262144f 100644 --- a/html/path.html +++ b/html/path.html @@ -1,3 +1 @@ -
  • -{path} -
  • \ No newline at end of file +
  • {path}
  • \ No newline at end of file diff --git a/json/config.json b/json/config.json index ca8c936c..945ff4e2 100644 --- a/json/config.json +++ b/json/config.json @@ -4,7 +4,7 @@ "minification" : { "js" : false, "css" : true, - "html" : true, + "html" : false, "img" : true }, "cache" : true, diff --git a/lib/client.js b/lib/client.js index 805b7b25..89bdc10a 100644 --- a/lib/client.js +++ b/lib/client.js @@ -82,9 +82,7 @@ var Util, DOM, CloudFunc, $, KeyBinding, CloudCommander; var lCurrentLink = DOM.getCurrentLink(), lHref = lCurrentLink.href, - lParent = lCurrentLink.textContent, - lLink = pLink || Util.removeStr(lHref, CloudCmd.HOST), - lDir = DOM.getCurrentDirName(); + lLink = pLink || Util.removeStr(lHref, CloudCmd.HOST); lLink += '?json'; @@ -93,10 +91,6 @@ var Util, DOM, CloudFunc, $, KeyBinding, CloudCommander; /* загружаем содержимое каталога */ CloudCmd._ajaxLoad(lLink, { refresh: pNeedRefresh }); - - /* если нажали на ссылку на верхний каталог*/ - if(lParent === '..' && lDir !== '/') - CloudCmd._currentToParent(lDir); } DOM.preventDefault(pEvent); @@ -585,13 +579,7 @@ var Util, DOM, CloudFunc, $, KeyBinding, CloudCommander; if (lJSON){ /* переводим из текста в JSON */ lJSON = Util.parseJSON(lJSON); - - CloudCmd.getFileTemplate(function(pTemplate){ - CloudCmd.getpPathTemplate(function(pPathTemplate){ - CloudCmd._createFileTable(lPanel, lJSON, pTemplate, pPathTemplate); - CloudCmd._changeLinks(lPanel); - }); - }); + CloudCmd._createFileTable(lPanel, lJSON); } else lRet = true; @@ -606,12 +594,7 @@ var Util, DOM, CloudFunc, $, KeyBinding, CloudCommander; }, success : function(pData){ - CloudCmd.getFileTemplate(function(pTemplate){ - CloudCmd.getpPathTemplate(function(pPathTemplate){ - CloudCmd._createFileTable(lPanel, pData, pTemplate, pPathTemplate); - CloudCmd._changeLinks(lPanel); - }); - }); + CloudCmd._createFileTable(lPanel, pData); /* переводим таблицу файлов в строку, для * * сохранения в localStorage */ @@ -631,43 +614,57 @@ var Util, DOM, CloudFunc, $, KeyBinding, CloudCommander; * @param pEleme - родительский элемент * @param pJSON - данные о файлах */ - CloudCmd._createFileTable = function(pElem, pJSON, pTemplate, pPathTemplate){ + CloudCmd._createFileTable = function(pElem, pJSON){ var lElem = DOM.getById(pElem), /* getting current element if was refresh */ lPath = DOM.getByClass('path', lElem), + lCurrent = DOM.getCurrentFile(), + lCurrentLink = DOM.getCurrentLink(lCurrent), + lParent = lCurrentLink.textContent, + lDir = DOM.getCurrentDirName(), + lName = DOM.getCurrentName(lName), lWasRefresh_b = lPath[0].textContent === pJSON[0].path; - - - /* очищаем панель */ - var i = lElem.childNodes.length; - while(i--) - lElem.removeChild(lElem.lastChild); - /* заполняем панель новыми элементами */ - lElem.innerHTML = CloudFunc.buildFromJSON(pJSON, pTemplate, pPathTemplate); - - var lFound; - /* searching current file */ - if(lWasRefresh_b){ - var n = lElem.childNodes.length; - for(i = 2; i < n ; i++){ - var lVarCurrent = lElem.childNodes[i], - lVarName = DOM.getCurrentName(lVarCurrent); + CloudCmd.getFileTemplate(function(pTemplate){ + CloudCmd.getpPathTemplate(function(pPathTemplate){ + /* очищаем панель */ + var i = lElem.childNodes.length; - lFound = lVarName === lName; + while(i--) + lElem.removeChild(lElem.lastChild); - if(lFound){ - lCurrent = lElem.childNodes[i]; - break; + lElem.innerHTML = CloudFunc.buildFromJSON(pJSON, pTemplate, pPathTemplate); + + /* если нажали на ссылку на верхний каталог*/ + var lFound; + /* searching current file */ + if(lWasRefresh_b){ + var n = lElem.childNodes.length; + for(i = 2; i < n ; i++){ + var lVarCurrent = lElem.childNodes[i], + lVarName = DOM.getCurrentName(lVarCurrent); + + lFound = lVarName === lName; + + if(lFound){ + lCurrent = lElem.childNodes[i]; + break; + } + } } - } - } - if(!lFound) /* .. */ - lCurrent = lElem.childNodes[2]; - - DOM.setCurrentFile(lCurrent); + if(!lFound) /* .. */ + lCurrent = lElem.childNodes[2]; + + DOM.setCurrentFile(lCurrent); + + CloudCmd._changeLinks(pElem); + + if(lParent === '..' && lDir !== '/') + CloudCmd._currentToParent(lDir); + }); + }); }; /** diff --git a/lib/cloudfunc.js b/lib/cloudfunc.js index 724c136f..c28903a6 100644 --- a/lib/cloudfunc.js +++ b/lib/cloudfunc.js @@ -249,7 +249,7 @@ var CloudFunc, exports, Util; lHtmlPath = lHref + FS + lTitle + '/' + _l + '/' + lHrefEnd; - + for(i = folders.length - 1; i > 0; i--){ var lUrl = folders[i], lSlashIndex = lUrl.lastIndexOf('/') + 1;