minor chnages

This commit is contained in:
coderaiser 2013-03-06 07:23:22 -05:00
parent 9e6182c475
commit ccb8cdc237

View file

@ -24,9 +24,8 @@ var CloudCmd = {
Menu : null, /* function loads and shows menu */
GoogleAnalytics : null,
_loadDir : null, /* Функция привязываеться ко всем
* ссылкам и
* загружает содержимое каталогов */
loadDir : null, /* Функция привязываеться ко всем ссылкам и
* загружает содержимое каталогов */
/* ОБЬЕКТЫ */
@ -75,7 +74,7 @@ CloudCmd.GoogleAnalytics = function(){
* @param pNeedRefresh - необходимость обязательной загрузки данных с сервера
*/
CloudCmd.loadDir = function(pLink, pNeedRefresh){
return function(){
return function(pEvent){
/* показываем гиф загрузки возле пути папки сверху
* ctrl+r нажата? */
@ -97,6 +96,8 @@ CloudCmd.loadDir = function(pLink, pNeedRefresh){
if(lParent === '..' && lDir !== '/')
CloudCmd._currentToParent(lDir);
}
DOM.preventDefault(pEvent);
};
};
@ -507,7 +508,7 @@ CloudCmd._changeLinks = function(pPanelID){
lLi = ai.parentElement.parentElement;
/* if we in path - set click event */
if (lLi.className === 'path')
if (lLi.className === 'path')
DOM.addClickListener( lLoadDir, ai );
else {
DOM.addClickListener( DOM.preventDefault, lLi);
@ -538,70 +539,70 @@ CloudCmd._changeLinks = function(pPanelID){
* { refresh, nohistory } - необходимость обновить данные о каталоге
*/
CloudCmd._ajaxLoad = function(pPath, pOptions){
if(!pOptions)
pOptions = {};
if(!pOptions)
pOptions = {};
/* Отображаем красивые пути */
var lFSPath = decodeURI(pPath),
lNOJSPath = Util.removeStr( lFSPath, '?json' ),
lCleanPath = Util.removeStr( lNOJSPath, CloudFunc.FS ) || '/',
/* Отображаем красивые пути */
var lFSPath = decodeURI(pPath),
lNOJSPath = Util.removeStr( lFSPath, '?json' ),
lCleanPath = Util.removeStr( lNOJSPath, CloudFunc.FS ) || '/',
lOldURL = window.location.pathname;
lOldURL = window.location.pathname;
Util.log ('reading dir: "' + lCleanPath + '";');
if(!pOptions.nohistory){
lNOJSPath = lCleanPath === '/' ? '/' : lNOJSPath;
DOM.setHistory(lNOJSPath, null, lNOJSPath);
}
DOM.setTitle( CloudFunc.getTitle(lCleanPath) );
var lPanel = DOM.getPanel().id;
/* если доступен localStorage и
* в нём есть нужная нам директория -
* читаем данные с него и
* выходим
* если стоит поле обязательной перезагрузки -
* перезагружаемся
*/
var lRet = pOptions.refresh;
if(!lRet){
var lJSON = DOM.Cache.get(lCleanPath);
Util.log ('reading dir: "' + lCleanPath + '";');
if(!pOptions.nohistory){
lNOJSPath = lCleanPath === '/' ? '/' : lNOJSPath;
DOM.setHistory(lNOJSPath, null, lNOJSPath);
if (lJSON){
/* переводим из текста в JSON */
lJSON = Util.parseJSON(lJSON);
CloudCmd._createFileTable(lPanel, lJSON, true);
CloudCmd._changeLinks(lPanel);
}
DOM.setTitle( CloudFunc.getTitle(lCleanPath) );
var lPanel = DOM.getPanel().id;
/* если доступен localStorage и
* в нём есть нужная нам директория -
* читаем данные с него и
* выходим
* если стоит поле обязательной перезагрузки -
* перезагружаемся
*/
var lRet = pOptions.refresh;
if(!lRet){
var lJSON = DOM.Cache.get(lCleanPath);
else
lRet = true;
}
if(lRet)
DOM.getCurrentFileContent({
url : lFSPath,
if (lJSON){
/* переводим из текста в JSON */
lJSON = Util.parseJSON(lJSON);
CloudCmd._createFileTable(lPanel, lJSON, true);
error : function(){
DOM.setHistory(lOldURL, null, lOldURL);
},
success : function(pData){
CloudCmd._createFileTable(lPanel, pData, true);
CloudCmd._changeLinks(lPanel);
/* переводим таблицу файлов в строку, для *
* сохранения в localStorage */
var lJSON_s = Util.stringifyJSON(pData);
Util.log(lJSON_s.length);
/* если размер данных не очень бошьой *
* сохраняем их в кэше */
if(lJSON_s.length < 50000 )
DOM.Cache.set(lCleanPath, lJSON_s);
}
else
lRet = true;
}
if(lRet)
DOM.getCurrentFileContent({
url : lFSPath,
error : function(){
DOM.setHistory(lOldURL, null, lOldURL);
},
success : function(pData){
CloudCmd._createFileTable(lPanel, pData, true);
CloudCmd._changeLinks(lPanel);
/* переводим таблицу файлов в строку, для *
* сохранения в localStorage */
var lJSON_s = Util.stringifyJSON(pData);
Util.log(lJSON_s.length);
/* если размер данных не очень бошьой *
* сохраняем их в кэше */
if(lJSON_s.length < 50000 )
DOM.Cache.set(lCleanPath, lJSON_s);
}
});
});
};
/**
@ -627,7 +628,7 @@ CloudCmd._createFileTable = function(pElem, pJSON, pSetCurrent){
while(i--)
lElem.removeChild(lElem.lastChild);
/* заполняем панель новыми элементами */
/* заполняем панель новыми элементами */
lElem.innerHTML = CloudFunc.buildFromJSON(pJSON, pSetCurrent);
/* searching current file */
@ -661,15 +662,15 @@ CloudCmd._getJSONfromFileTable = function(){
lPath = DOM.getByClass('path')[0].textContent,
lFileTable = [{
path:lPath,
size:'dir'
path : lPath,
size : 'dir'
}],
lLI = lLeft.getElementsByTagName('li'),
i, n, j = 1; /* счётчик реальных файлов */
/* счётчик элементов файлов в DOM */
/* Если путь отличный от корневного
/* счётчик элементов файлов в DOM
* Если путь отличный от корневного
* второй элемент li - это ссылка на верхний
* каталог '..'
*/