mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
added function getCurrentDir to DOM module
This commit is contained in:
parent
a2419276c0
commit
09ebf00dbc
4 changed files with 49 additions and 55 deletions
|
|
@ -10,6 +10,8 @@ and Util.setTimeout(pFunction [, pCallBack, pTime])
|
|||
|
||||
* Added functions in win.js for parsing diskpart output.
|
||||
|
||||
* Added function getCurrentDir to DOM module.
|
||||
|
||||
|
||||
2012.12.12, Version 0.1.8
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ var CloudClient = {
|
|||
Terminal : null, /* function loads and shows terminal*/
|
||||
Menu : null, /* function loads and shows menu */
|
||||
GoogleAnalytics : null,
|
||||
|
||||
|
||||
_loadDir : null, /* Функция привязываеться ко всем
|
||||
* ссылкам и
|
||||
* загружает содержимое каталогов */
|
||||
|
|
@ -126,63 +126,28 @@ CloudClient.GoogleAnalytics = function(){
|
|||
/**
|
||||
* Функция привязываеться ко всем ссылкам и
|
||||
* загружает содержимое каталогов
|
||||
*
|
||||
* @param pLink - ссылка
|
||||
* @param pNeedRefresh - необходимость обязательной загрузки данных с сервера
|
||||
*/
|
||||
CloudClient._loadDir = function(pLink,pNeedRefresh){
|
||||
/* @pElem - элемент,
|
||||
* для которого нужно
|
||||
* выполнить загрузку
|
||||
*/
|
||||
return function(pEvent){
|
||||
var lRet = true;
|
||||
/* показываем гиф загрузки возле пути папки сверху*/
|
||||
/* ctrl+r нажата? */
|
||||
|
||||
CloudClient._loadDir = function(pLink, pNeedRefresh){
|
||||
return function(){
|
||||
/*
|
||||
* показываем гиф загрузки возле пути папки сверху
|
||||
* ctrl+r нажата?
|
||||
*/
|
||||
|
||||
DOM.Images.showLoad(pNeedRefresh ? {top:true} : null);
|
||||
|
||||
var lPanel = DOM.getPanel(),
|
||||
lCurrent = DOM.getCurrentFile(),
|
||||
/* получаем имя каталога в котором находимся */
|
||||
lHref = DOM.getByClass('path', lPanel);
|
||||
var lParent = DOM.getCurrentLink().textContent,
|
||||
lDir = DOM.getCurrentDir();
|
||||
|
||||
lHref = lHref[0].textContent;
|
||||
|
||||
lHref = CloudFunc.removeLastSlash(lHref);
|
||||
var lSubstr = lHref.substr(lHref,lHref.lastIndexOf('/'));
|
||||
lHref = lHref.replace(lSubstr+'/','');
|
||||
|
||||
/* загружаем содержимое каталога */
|
||||
CloudClient._ajaxLoad(pLink, { refresh: pNeedRefresh });
|
||||
|
||||
/* получаем все элементы выделенной папки*/
|
||||
/* при этом, если мы нажали обновить
|
||||
* или <Ctrl>+R - ссылок мы ненайдём
|
||||
* и заходить не будем
|
||||
*/
|
||||
var lA = DOM.getCurrentLink(lCurrent);
|
||||
|
||||
/* если нажали на ссылку на верхний каталог*/
|
||||
if(lA && lA.textContent==='..' && lHref!=='/'){
|
||||
|
||||
/* функция устанавливает курсор на каталог
|
||||
* с которого мы пришли, если мы поднялись
|
||||
* в верх по файловой структуре
|
||||
*/
|
||||
CloudClient._currentToParent(lHref);
|
||||
}
|
||||
|
||||
/* что бы не переходить по ссылкам
|
||||
* а грузить всё ajax'ом,
|
||||
* возвращаем false на событие
|
||||
* onclick
|
||||
*/
|
||||
|
||||
Util.setValue({
|
||||
object : pEvent,
|
||||
property: 'returnValue',
|
||||
value : false
|
||||
});
|
||||
|
||||
return lRet;
|
||||
if(lParent === '..' && lDir !== '/')
|
||||
CloudClient._currentToParent(lDir);
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -211,7 +176,7 @@ CloudClient._editFileName = function(pParent){
|
|||
var lA = DOM.getCurrentLink(pParent);
|
||||
if (lA && lA.textContent !== '..')
|
||||
lA.contentEditable = false;
|
||||
|
||||
|
||||
KeyBinding.set();
|
||||
|
||||
/* backs old document.onclick
|
||||
|
|
@ -453,12 +418,11 @@ CloudClient.getConfig = function(pCallBack){
|
|||
CloudClient._changeLinks = function(pPanelID){
|
||||
/* назначаем кнопку очистить кэш и показываем её */
|
||||
var lClearcache = getById('clear-cache');
|
||||
if(lClearcache)
|
||||
lClearcache.onclick = DOM.Cache.clear;
|
||||
|
||||
/* меняем ссылки на ajax-запросы */
|
||||
var lPanel = getById(pPanelID),
|
||||
a = lPanel.getElementsByTagName('a'),
|
||||
var lPanel = getById(pPanelID),
|
||||
a = lPanel.getElementsByTagName('a'),
|
||||
|
||||
/* номер ссылки иконки обновления страницы */
|
||||
lREFRESHICON = 0,
|
||||
|
|
@ -529,7 +493,7 @@ CloudClient._changeLinks = function(pPanelID){
|
|||
|
||||
DOM.setCurrentFile(pElement);
|
||||
},
|
||||
|
||||
|
||||
lUrl = cloudcmd.HOST;
|
||||
|
||||
for(var i = 0, n = a.length; i < n ; i++)
|
||||
|
|
@ -554,6 +518,7 @@ CloudClient._changeLinks = function(pPanelID){
|
|||
a[i].onclick = CloudClient._loadDir(link);
|
||||
}
|
||||
else {
|
||||
lLi.onclick = Util.retFalse;
|
||||
lLi.onmousedown = lSetCurrentFile_f;
|
||||
a[i].ondragstart = lOnDragStart_f;
|
||||
|
||||
|
|
|
|||
|
|
@ -741,6 +741,25 @@ var CloudCommander, Util, DOM, CloudFunc;
|
|||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* get current direcotory path
|
||||
*/
|
||||
DOM.getCurrentDir = function(){
|
||||
var lRet,
|
||||
lSubstr,
|
||||
lPanel = DOM.getPanel(),
|
||||
/* получаем имя каталога в котором находимся */
|
||||
lHref = DOM.getByClass('path', lPanel);
|
||||
|
||||
lHref = lHref[0].textContent;
|
||||
|
||||
lHref = CloudFunc.removeLastSlash(lHref);
|
||||
lSubstr = lHref.substr(lHref , lHref.lastIndexOf('/'));
|
||||
lRet = Util.removeStr(lHref, lSubstr + '/');
|
||||
|
||||
return lRet;
|
||||
};
|
||||
|
||||
/**
|
||||
* unified way to get current file
|
||||
*
|
||||
|
|
|
|||
|
|
@ -257,6 +257,14 @@ var Util, exports;
|
|||
return Util.exec(pCallBack, pArg);
|
||||
};
|
||||
};
|
||||
/**
|
||||
* function return false
|
||||
*/
|
||||
Util.retFalse = function(){
|
||||
var lRet = false;
|
||||
|
||||
return lRet;
|
||||
};
|
||||
|
||||
/**
|
||||
* return load functions thrue callbacks one-by-one
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue