added ability to delete files

This commit is contained in:
coderaiser 2013-02-25 08:30:43 -05:00
parent 6539731a8f
commit 85217165b4
3 changed files with 45 additions and 28 deletions

View file

@ -178,6 +178,8 @@ generation of json of directory listing.
* Added ability save files on Ctrl+S in CodeMirror.
* Added ability to delete files.
2012.12.12, Version 0.1.8

View file

@ -1273,31 +1273,29 @@ var CloudCommander, Util,
DOM.deleteCurrent = function(pCurrent){
var lCurrent = pCurrent || DOM.getCurrentFile(),
lParent = lCurrent.parentElement,
lName = DOM.getCurrentName(lCurrent);
lName = DOM.getCurrentName(lCurrent),
lUrl = DOM.getCurrentPath(lCurrent);
if(lCurrent && lParent){
if(lName !== '..'){
var lNext = lCurrent.nextSibling;
var lPrevious = lCurrent.previousSibling;
if(lNext)
DOM.setCurrentFile(lNext);
else if(lPrevious)
DOM.setCurrentFile(lPrevious);
lParent.removeChild(lCurrent);
}
else
DOM.addCloudStatus({
code : -1,
msg : 'Could not remove parrent dir'
});
}
else
DOM.addCloudStatus({
code : -1,
msg : 'Current file (or parent of current) could not be empty'
if(lCurrent && lParent && lName !== '..'){
DOM.ajax({
method : 'DELETE',
url : lUrl,
error : DOM.Images.showError,
success : function(pData){
var lNext = lCurrent.nextSibling,
lPrevious = lCurrent.previousSibling;
if(lNext)
DOM.setCurrentFile(lNext);
else if(lPrevious)
DOM.setCurrentFile(lPrevious);
lParent.removeChild(lCurrent);
Util.log(pData);
}
});
}
return lCurrent;
};

View file

@ -105,9 +105,10 @@
function onFS(pParams){
var lRet = main.checkParams(pParams, ['method']);
if(lRet){
var p = pParams;
var p = pParams,
lQuery = main.getQuery(p.request);
p.name = Util.removeStr(pParams.name, CloudFunc.FS) || '/';
console.log(p.name);
switch(p.method){
case 'GET':
fs.stat(p.name, function(pError, pStat){
@ -132,8 +133,7 @@
break;
case 'PUT':
var lQuery = main.getQuery(p.request);
p.name = Util.removeStr(p.name, '?dir');
p.name = Util.removeStr(p.name, '?dir');
if(lQuery === 'dir')
fs.mkdir(p.name, function(pError){
@ -153,11 +153,28 @@
p.request.on('end', function(){
main.sendResponse(pParams, 'writed: ' + p.name);
});
//p.request.pipe(process.stdout);
p.request.pipe(lWriteStream);
}
break;
case 'DELETE':
if(lQuery === 'dir')
fs.rmdir(p.name, function(pError){
if(!pError)
main.sendResponse(pParams, 'Folder ' + p.name + ' removed.');
else
main.sendError(pParams, pError);
});
else
fs.unlink(p.name, function(pError){
if(!pError)
main.sendResponse(pParams, 'File ' + p.name + ' removed.');
else
main.sendError(pParams, pError);
});
break;
}
}
return lRet;