mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-19 01:17:18 +00:00
Functions maked private: ajaxload, changeLinks, createFileTable, getJSONfromFileTable
This commit is contained in:
parent
9e4b2fbca9
commit
40f9768546
2 changed files with 33 additions and 25 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue