Functions maked private: ajaxload, changeLinks, createFileTable, getJSONfromFileTable

This commit is contained in:
coderaiser 2013-05-31 10:10:54 -04:00
parent 9e4b2fbca9
commit 40f9768546
2 changed files with 33 additions and 25 deletions

View file

@ -39,6 +39,9 @@ dispatch
* Renamed: set -> setBinded, unSet -> unsetBinded, get -> isBinded.
* Functions maked private: ajaxload, changeLinks, createFileTable,
getJSONfromFileTable.
2012.04.22, v0.2.0

View file

@ -7,7 +7,9 @@ var Util, DOM, CloudFunc, CloudCmd;
(function(Util, DOM){
'use strict';
var Key, Config, Modules, FileTemplate, PathTemplate, Events = DOM.Events;
var Key, Config, Modules, FileTemplate, PathTemplate,
Events = DOM.Events,
Cache = DOM.Cache;
/* Клиентский обьект, содержащий функциональную часть*/
CloudCmd = {
@ -61,7 +63,7 @@ var Util, DOM, CloudFunc, CloudCmd;
DOM.Images.showLoad(pNeedRefresh ? {top:true} : null);
/* загружаем содержимое каталога */
CloudCmd._ajaxLoad(lLink, { refresh: pNeedRefresh });
ajaxLoad(lLink, { refresh: pNeedRefresh });
}
DOM.preventDefault(pEvent);
@ -69,12 +71,13 @@ var Util, DOM, CloudFunc, CloudCmd;
};
/** функция устанавливает курсор на каталог
/**
* @description функция устанавливает курсор на каталог
* с которого мы пришли, если мы поднялись
* в верх по файловой структуре
* @param pDirName - имя каталога с которого мы пришли
*/
CloudCmd._currentToParent = function(pDirName){
function currentToParent(pDirName){
/* убираем слэш с имени каталога */
pDirName = Util.removeStr(pDirName, '/');
@ -259,21 +262,20 @@ var Util, DOM, CloudFunc, CloudCmd;
var lPath = pEvent.state + '?json';
if(lPath)
CloudCmd._ajaxLoad(lPath, {nohistory: true});
ajaxLoad(lPath, {nohistory: true});
return true;
});
/* меняем ссылки на ajax'овые */
CloudCmd._changeLinks(CloudFunc.LEFTPANEL);
CloudCmd._changeLinks(CloudFunc.RIGHTPANEL);
changeLinks(CloudFunc.LEFTPANEL);
changeLinks(CloudFunc.RIGHTPANEL);
/* устанавливаем переменную доступности кэша */
DOM.Cache.setAllowed(true);
Cache.setAllowed(true);
/* Устанавливаем кэш корневого каталога */
var lDirPath = DOM.getCurrentDirPath();
if( !DOM.Cache.get(lDirPath) )
DOM.Cache.set(lDirPath, CloudCmd._getJSONfromFileTable());
if( !Cache.get(lDirPath) )
Cache.set(lDirPath, getJSONfromFileTable());
});
/* выделяем строку с первым файлом */
@ -354,11 +356,14 @@ var Util, DOM, CloudFunc, CloudCmd;
};
/* функция меняет ссыки на ajax-овые */
CloudCmd._changeLinks = function(pPanelID){
/**
* @description функция меняет ссыки на ajax-овые
* @param pPanelID
*/
function changeLinks(pPanelID){
/* назначаем кнопку очистить кэш и показываем её */
var lClearcache = DOM.getById('clear-cache');
Events.addClick(DOM.Cache.clear, lClearcache);
Events.addClick(Cache.clear, lClearcache);
/* меняем ссылки на ajax-запросы */
var lPanel = DOM.getById(pPanelID),
@ -484,7 +489,7 @@ var Util, DOM, CloudFunc, CloudCmd;
* @param pOptions
* { refresh, nohistory } - необходимость обновить данные о каталоге
*/
CloudCmd._ajaxLoad = function(pPath, pOptions){
function ajaxLoad(pPath, pOptions){
if(!pOptions)
pOptions = {};
@ -516,12 +521,12 @@ var Util, DOM, CloudFunc, CloudCmd;
*/
var lRet = pOptions.refresh;
if(!lRet){
var lJSON = DOM.Cache.get(lCleanPath);
var lJSON = Cache.get(lCleanPath);
if (lJSON){
/* переводим из текста в JSON */
lJSON = Util.parseJSON(lJSON);
CloudCmd._createFileTable(lPanel, lJSON);
createFileTable(lPanel, lJSON);
}
else
lRet = true;
@ -536,7 +541,7 @@ var Util, DOM, CloudFunc, CloudCmd;
},
success : function(pData){
CloudCmd._createFileTable(lPanel, pData);
createFileTable(lPanel, pData);
/* переводим таблицу файлов в строку, для *
* сохранения в localStorage */
@ -546,17 +551,17 @@ var Util, DOM, CloudFunc, CloudCmd;
/* если размер данных не очень бошьой *
* сохраняем их в кэше */
if(lJSON_s.length < 50000 )
DOM.Cache.set(lCleanPath, lJSON_s);
Cache.set(lCleanPath, lJSON_s);
}
});
};
}
/**
* Функция строит файловую таблицу
* @param pEleme - родительский элемент
* @param pJSON - данные о файлах
*/
CloudCmd._createFileTable = function(pElem, pJSON){
function createFileTable(pElem, pJSON){
var lElem = DOM.getById(pElem),
/* getting current element if was refresh */
lPath = DOM.getByClass('path', lElem),
@ -601,19 +606,19 @@ var Util, DOM, CloudFunc, CloudCmd;
DOM.setCurrentFile(lCurrent);
CloudCmd._changeLinks(pElem);
changeLinks(pElem);
if(lParent === '..' && lDir !== '/')
CloudCmd._currentToParent(lDir);
currentToParent(lDir);
});
});
};
}
/**
* Функция генерирует JSON из html-таблицы файлов и
* используеться при первом заходе в корень
*/
CloudCmd._getJSONfromFileTable = function(){
function getJSONfromFileTable(){
var lLeft = DOM.getById('left'),
lPath = DOM.getByClass('path')[0].textContent,