mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
fixed bug with selectecting root directory with space
This commit is contained in:
parent
3021d646a4
commit
f0b07ae13f
3 changed files with 54 additions and 31 deletions
|
|
@ -69,6 +69,8 @@ is pressed and current file is directory.
|
|||
|
||||
* Added ability to delete file when f8 key pressed.
|
||||
|
||||
* Fixed bug with selectecting root directory with space
|
||||
|
||||
|
||||
2012.03.01, Version 0.1.9
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,7 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
|
|||
|
||||
var CURRENT_FILE = 'current-file',
|
||||
SELECTED_FILE = 'selected-file',
|
||||
XMLHTTP,
|
||||
Title,
|
||||
XMLHTTP, Title,
|
||||
|
||||
/* Обьект содержит функции для отображения картинок */
|
||||
Images = function (){
|
||||
|
|
@ -38,10 +37,10 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
|
|||
|
||||
/* Обьект содержит функции для работы с CloudCmd API */
|
||||
RESTfull = function(){
|
||||
this.delete = function(pUrl, pData, pCallBack){
|
||||
this.delete = function(pUrl, pData, pCallBack, pQuery){
|
||||
sendRequest({
|
||||
method : 'DELETE',
|
||||
url : CloudFunc.FS + pUrl,
|
||||
url : CloudFunc.FS + pUrl + (pQuery || ''),
|
||||
data : pData,
|
||||
callback : pCallBack
|
||||
});
|
||||
|
|
@ -441,35 +440,57 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
|
|||
DOM.promptDeleteCurrent = function(pCurrentFile){
|
||||
var lRet,
|
||||
lCurrent,
|
||||
lQuery,
|
||||
lName,
|
||||
lMsg = 'Are you sure thet you want delete ',
|
||||
lSelected = DOM.getSelectedFiles();
|
||||
|
||||
if(lSelected){
|
||||
lMsg,
|
||||
lMsgAsk = 'Do you really want to delete the ',
|
||||
lMsgSel = 'selected ',
|
||||
lSelected = DOM.getSelectedFiles(),
|
||||
i, n = lSelected && lSelected.length;
|
||||
|
||||
if(n > 1){
|
||||
lQuery = '?files';
|
||||
lName = n > 1 ? 'files:\n' : '';
|
||||
|
||||
for(i = 0; i < 4 && i < n; i++)
|
||||
lName += DOM.getCurrentName( lSelected[i] ) + '\n';
|
||||
|
||||
lName += '...';
|
||||
lMsg = lMsgAsk + lMsgSel + n + ' files/directoris?\n\n';
|
||||
}else{
|
||||
var lType, lIsDir;
|
||||
|
||||
/* one file selected */
|
||||
if( n === 1 )
|
||||
lCurrent = lSelected[0];
|
||||
|
||||
/* dom element passed and it is not event */
|
||||
if( pCurrentFile && !pCurrentFile.pType)
|
||||
lCurrent = pCurrentFile;
|
||||
else if( pCurrentFile && !pCurrentFile.pType)
|
||||
lCurrent = pCurrentFile;
|
||||
else
|
||||
lCurrent = DOM.getCurrentFile();
|
||||
|
||||
lName = DOM.getCurrentName(lCurrent);
|
||||
lType = DOM.isCurrentIsDir(lCurrent);
|
||||
|
||||
if(lIsDir){
|
||||
lQuery = '?dir';
|
||||
lType = lIsDir ? 'directory' : 'file' + ' ';
|
||||
}
|
||||
|
||||
lName = DOM.getCurrentName(lCurrent);
|
||||
lMsg = lMsgAsk + lMsgSel + lType + '?';
|
||||
}
|
||||
|
||||
lRet = confirm(lMsg + lName + '?');
|
||||
lRet = confirm(lMsg + lName);
|
||||
|
||||
if(lRet){
|
||||
var lParent = lCurrent.parentElement,
|
||||
lUrl = DOM.getCurrentPath(lCurrent);
|
||||
|
||||
if( DOM.isCurrentIsDir(lCurrent) )
|
||||
lUrl += '?dir';
|
||||
|
||||
if(lCurrent && lParent && lName !== '..')
|
||||
DOM.RESTfull.delete(lUrl, function(){
|
||||
DOM.RESTfull.delete(lUrl, lSelected, function(){
|
||||
DOM.deleteCurrent(lCurrent);
|
||||
});
|
||||
}, lQuery);
|
||||
|
||||
return lCurrent;
|
||||
}
|
||||
|
|
@ -804,11 +825,9 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
|
|||
onerror: function(){
|
||||
DOM.jsload('/lib/client/jquery.js');
|
||||
|
||||
/*
|
||||
* if could not load jquery from google server
|
||||
/* if could not load jquery from google server
|
||||
* maybe we offline, load font from local
|
||||
* directory
|
||||
*/
|
||||
* directory */
|
||||
DOM.cssSet({
|
||||
id :'local-droids-font',
|
||||
element : document.head,
|
||||
|
|
@ -1023,13 +1042,16 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
|
|||
*/
|
||||
DOM.loadCurrentSize = function(pCallBack, pCurrent){
|
||||
var lRet,
|
||||
lLink = DOM.getCurrentPath(pCurrent);
|
||||
lCurrent = pCurrent || DOM.getCurrentFile(),
|
||||
lLink = DOM.getCurrentPath(lCurrent),
|
||||
lName = DOM.getCurrentName(lCurrent);
|
||||
/* если это папка - возвращаем слово dir вместо размера*/
|
||||
|
||||
DOM.RESTfull.read(lLink, function(pSize){
|
||||
DOM.setCurrentSize(pSize, pCurrent);
|
||||
Util.exec(pCallBack, pCurrent);
|
||||
}, '?size');
|
||||
if(lName !== '..')
|
||||
DOM.RESTfull.read(lLink, function(pSize){
|
||||
DOM.setCurrentSize(pSize, lCurrent);
|
||||
Util.exec(pCallBack, lCurrent);
|
||||
}, '?size');
|
||||
|
||||
return lRet;
|
||||
};
|
||||
|
|
@ -1044,11 +1066,10 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
|
|||
lSize = CloudFunc.getShortSize(pSize);
|
||||
|
||||
lSizeElement[0].textContent = lSize;
|
||||
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
*
|
||||
* @pCurrentFile
|
||||
*/
|
||||
DOM.getCurrentMode = function(pCurrentFile){
|
||||
|
|
@ -1197,7 +1218,6 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
|
|||
return lRet;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* setting history wrapper
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -175,9 +175,10 @@ var CloudCommander, Util, DOM;
|
|||
|
||||
case KEY.SPACE:
|
||||
var lSelected = DOM.isSelected(lCurrent),
|
||||
lDir = DOM.isCurrentIsDir(lCurrent);
|
||||
lDir = DOM.isCurrentIsDir(lCurrent),
|
||||
lName = DOM.getCurrentName(lCurrent);
|
||||
|
||||
if(!lDir)
|
||||
if(!lDir || lName === '..')
|
||||
lSelected = true;
|
||||
|
||||
Util.ifExec(lSelected, function(){
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue