fixed the href generation of renamed file

This commit is contained in:
coderaiser 2013-04-08 06:15:12 -04:00
parent c918e0fbce
commit 711066001e
5 changed files with 60 additions and 32 deletions

View file

@ -59,6 +59,10 @@ from storage folder.
* Added ability to get directory size, when space button
is pressed and current file is directory.
* Added ability to select all files on Ctrl + A
* Fixed the href generation of renamed file.
2012.03.01, Version 0.1.9

View file

@ -47,6 +47,7 @@ There is a short list:
- **Ctrl + d** - clear local cache (wich contains dir contents)
- **Alt + q** - disable key bindings
- **Alt + s** - get all key bindings back
- **Ctrl + A** - select all files in a panel
- **up, down, enter** - filesystem navigation
- **Tab** - move thru panels
- **Page Up** - up on one page

View file

@ -406,16 +406,27 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
* @pCurrentFile
*/
DOM.promptNewFolder = function(){
DOM.promptNewFile('directory', '?dir');
};
/**
* create new file
*
* @pCurrentFile
*/
DOM.promptNewFile = function(pTypeName, pType){
var lName = DOM.getCurrentName(),
lDir = DOM.getCurrentDirPath();
lDir = DOM.getCurrentDirPath(),
lMsg = 'New ' + pTypeName || 'File',
lType = Util.isString(pType) ? pType : '';
if(lName === '..')
lName = '';
lName = prompt("New directory", lName);
lName = prompt(lMsg, lName);
if(lName)
DOM.RESTfull.save(lDir + lName + '?dir', null, CloudCommander.refresh);
DOM.RESTfull.save(lDir + lName + lType, null, CloudCommander.refresh);
};
/**
@ -1007,7 +1018,7 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
/* если это папка - возвращаем слово dir вместо размера*/
DOM.RESTfull.read(lLink, function(pSize){
DOM.setCurrentSize(pSize);
DOM.setCurrentSize(pSize, pCurrentFile);
Util.exec(pCallBack);
}, '?size');
@ -1156,12 +1167,12 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
* select current file
* @param pCurrent
*/
DOM.selectFile = function(pCurrent){
DOM.setSelectedFile = function(pCurrent){
var lCurrent = pCurrent || DOM.getCurrentFile(),
lRet = DOM.addClass(pCurrent, SELECTED_FILE);
if(!lRet)
DOM.unSelectFile(lCurrent);
DOM.unsetSelectedFile(lCurrent);
return lRet;
};
@ -1170,7 +1181,7 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
* unselect current file
* @param pCurrent
*/
DOM.unSelectFile = function(pCurrent){
DOM.unsetSelectedFile = function(pCurrent){
var lCurrent = pCurrent || DOM.getCurrentFile(),
lRet = DOM.removeClass(lCurrent, SELECTED_FILE);
@ -1310,13 +1321,11 @@ var CloudCommander, Util, DOM = {}, CloudFunc;
* @param pCurrentFile
*/
DOM.setCurrentName = function(pName, pCurrentFile){
var lCurrent = pCurrentFile || DOM.getCurrentFile(),
lLink = DOM.getCurrentLink( lCurrent );
var lLink = DOM.getCurrentLink( pCurrentFile ),
lDir = DOM.getCurrentDirName() + '/';
if(lLink)
lLink.href = lLink.title = lLink.textContent = pName;
lLink.href = CloudFunc.FS + DOM.getCurrentDirPath() + lLink.href;
lLink.title = lLink.textContent = pName;
lLink.href = lDir + pName;
return lLink;
};

View file

@ -22,6 +22,8 @@ var CloudCommander, Util, DOM;
INSERT : 45,
DELETE : 46,
A : 65,
D : 68,
G : 71,
@ -66,7 +68,7 @@ var CloudCommander, Util, DOM;
var key_event = function(pEvent){
/* получаем выдленный файл*/
var lCurrentFile = DOM.getCurrentFile(), i;
var i, n, lCurrentFile = DOM.getCurrentFile();
/* если клавиши можно обрабатывать*/
if(keyBinded && pEvent){
var lKeyCode = pEvent.keyCode,
@ -90,7 +92,7 @@ var CloudCommander, Util, DOM;
}
else if(lKeyCode >= KEY.F1 && lKeyCode <= KEY.TRA ||
lKeyCode >= KEY.TAB && lKeyCode <= KEY.DELETE)
lKeyCode >= KEY.TAB && lKeyCode <= KEY.A)
switch(lKeyCode){
case KEY.TAB:
@ -115,7 +117,7 @@ var CloudCommander, Util, DOM;
break;
case KEY.INSERT:
DOM.selectFile(lCurrentFile);
DOM.setSelectedFile(lCurrentFile);
DOM.setCurrentFile( lCurrentFile.nextSibling );
break;
@ -189,15 +191,15 @@ var CloudCommander, Util, DOM;
var lSelected = DOM.isSelected(lCurrentFile),
lDir = DOM.isCurrentIsDir(lCurrentFile);
if(lDir)
Util.ifExec(lSelected, function(){
DOM.selectFile(lCurrentFile);
}, function(pCallBack){
DOM.loadCurrentSize(pCallBack, lCurrentFile);
});
else
DOM.selectFile(lCurrentFile);
if(!lDir)
lSelected = true;
Util.ifExec(lSelected, function(){
DOM.setSelectedFile(lCurrentFile);
}, function(pCallBack){
DOM.loadCurrentSize(pCallBack, lCurrentFile);
});
DOM.preventDefault(pEvent);
break;
@ -207,7 +209,7 @@ var CloudCommander, Util, DOM;
* выделяем предыдущую строку */
case KEY.UP:
if(lShift)
DOM.selectFile(lCurrentFile);
DOM.setSelectedFile(lCurrentFile);
DOM.setCurrentFile( lCurrentFile.previousSibling );
DOM.preventDefault( pEvent );
@ -217,7 +219,7 @@ var CloudCommander, Util, DOM;
* выделяем следующую строку */
case KEY.DOWN:
if(lShift)
DOM.selectFile(lCurrentFile);
DOM.setSelectedFile(lCurrentFile);
DOM.setCurrentFile( lCurrentFile.nextSibling );
DOM.preventDefault( pEvent );
@ -279,6 +281,21 @@ var CloudCommander, Util, DOM;
case KEY.ENTER:
if( DOM.isCurrentIsDir() )
Util.exec( CloudCmd.loadDir() );
break;
case KEY.A:
if(pEvent.ctrlKey){
var lParent = lCurrentFile.parentElement,
lNodes = lParent.childNodes;
/* not path and fm_header */
for(i = 2, n = lNodes.length; i < n; i++)
DOM.setSelectedFile( lNodes[i] );
DOM.preventDefault(pEvent);
}
break;
}
/* если нажали <ctr>+r

View file

@ -167,11 +167,8 @@ var CloudCommander, Util, DOM, CloudFunc, $;
lMenuItems.Download = Util.retExec(downloadFromMenu);
lMenuItems.New = {
'File' : function(){
Util.log('New->File');
},
'Dir' : DOM.promptNewFolder,
'File' : DOM.promptNewFile,
'Dir' : DOM.promptNewFolder,
'From cloud...' : function(){
CloudCmd.execFromModule('FilePicker', 'saveFile', function(pName, pData){