refactored

This commit is contained in:
coderaiser 2013-03-19 07:45:40 -04:00
parent df2fb884ec
commit 030a4d552c
4 changed files with 47 additions and 52 deletions

View file

@ -1,3 +1 @@
<li class=path>
<span class="path-icon clear-cache" id=clear-cache title="clear cache (Ctrl+D)"></span><span class="path-icon refresh-icon" title="refresh (Ctrl+R)"><a href="{link}"></a></span><span>{path}</span>
</li>
<li class=path><span class="path-icon clear-cache" id=clear-cache title="clear cache (Ctrl+D)"></span><span class="path-icon refresh-icon" title="refresh (Ctrl+R)"><a href="{link}"></a></span><span>{path}</span></li>

View file

@ -4,7 +4,7 @@
"minification" : {
"js" : false,
"css" : true,
"html" : true,
"html" : false,
"img" : true
},
"cache" : true,

View file

@ -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);
});
});
};
/**

View file

@ -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;