diff --git a/lib/client.js b/lib/client.js index db176008..c9d24fe7 100644 --- a/lib/client.js +++ b/lib/client.js @@ -91,14 +91,16 @@ CloudCmd._loadDir = function(pLink, pNeedRefresh){ lLink = pLink || Util.removeStr(lHref, CloudCmd.HOST), lDir = DOM.getCurrentDir(); - /* загружаем содержимое каталога */ - CloudCmd._ajaxLoad(lLink, { refresh: pNeedRefresh }); + if(pLink || lCurrentLink.target !== '_blank'){ + /* загружаем содержимое каталога */ + CloudCmd._ajaxLoad(lLink, { refresh: pNeedRefresh }); + + /* если нажали на ссылку на верхний каталог*/ + if(lParent === '..' && lDir !== '/') + CloudCmd._currentToParent(lDir); + } - /* если нажали на ссылку на верхний каталог*/ - if(lParent === '..' && lDir !== '/') - CloudCmd._currentToParent(lDir); - - DOM.preventDefault(); + DOM.preventDefault(pEvent); }; }; diff --git a/lib/client/keyBinding.js b/lib/client/keyBinding.js index 9bf1daff..ae8b4d60 100644 --- a/lib/client/keyBinding.js +++ b/lib/client/keyBinding.js @@ -60,16 +60,15 @@ var CloudCommander, Util, DOM; }; - var key_event = function(event){ + var key_event = function(pEvent){ /* получаем выдленный файл*/ - var lCurrentFile = DOM.getCurrentFile(), - lName, i; + var lCurrentFile = DOM.getCurrentFile(), i; /* если клавиши можно обрабатывать*/ - if(keyBinded && event){ - var lKeyCode = event.keyCode; + if(keyBinded && pEvent){ + var lKeyCode = pEvent.keyCode; /* open configuration window */ - if(lKeyCode === KEY.O && event.altKey){ + if(lKeyCode === KEY.O && pEvent.altKey){ console.log('openning config window...'); DOM.Images.showLoad({top: true}); @@ -77,12 +76,12 @@ var CloudCommander, Util, DOM; Util.exec(CloudCmd.Config); } - else if(lKeyCode === KEY.G && event.altKey) + else if(lKeyCode === KEY.G && pEvent.altKey) Util.exec(CloudCmd.GitHub); - else if(lKeyCode === KEY.D && event.altKey){ + else if(lKeyCode === KEY.D && pEvent.altKey){ Util.exec(CloudCmd.DropBox); - event.preventDefault(); + DOM.preventDefault(pEvent); } /* если нажали таб: @@ -113,20 +112,20 @@ var CloudCommander, Util, DOM; } }); - event.preventDefault();//запрет на дальнейшее действие + DOM.preventDefault(pEvent);//запрет на дальнейшее действие } else if(lKeyCode === KEY.Delete) DOM.promptRemoveCurrent(lCurrentFile); /* if f3 or shift+f3 or alt+f3 pressed */ else if(lKeyCode === KEY.F3){ - var lEditor = CloudCmd[event.shiftKey ? + var lEditor = CloudCmd[pEvent.shiftKey ? 'Viewer' : 'Editor']; Util.exec(lEditor, true); - event.preventDefault();//запрет на дальнейшее действие - } + DOM.preventDefault(pEvent); + } /* if f4 pressed */ else if(lKeyCode === KEY.F4) { @@ -134,12 +133,12 @@ var CloudCommander, Util, DOM; Util.exec(CloudCmd.Editor); - event.preventDefault();//запрет на дальнейшее действие + DOM.preventDefault(pEvent); } - else if(lKeyCode === KEY.F10 && event.shiftKey){ + else if(lKeyCode === KEY.F10 && pEvent.shiftKey){ Util.exec(CloudCmd.Menu); - - event.preventDefault();//запрет на дальнейшее действие + + DOM.preventDefault(pEvent); } else if (lKeyCode === KEY.TRA){ @@ -159,24 +158,23 @@ var CloudCommander, Util, DOM; lCurrentFile = lCurrentFile.previousSibling; if(lCurrentFile){ /* выделяем предыдущую строку*/ - DOM.setCurrentFile(lCurrentFile); + DOM.setCurrentFile(lCurrentFile); } - event.preventDefault();//запрет на дальнейшее действие + DOM.preventDefault(pEvent); } /* если нажали клавишу в низ*/ - else if(lKeyCode === KEY.DOWN){ + else if(lKeyCode === KEY.DOWN){ /* если ненайдены выделенные файлы - выходим*/ - if(!lCurrentFile)return; - - lCurrentFile = lCurrentFile.nextSibling; - /* если это не последняя строка */ if(lCurrentFile){ - /* выделяем следующую строку*/ - DOM.setCurrentFile(lCurrentFile); - - event.preventDefault();//запрет на дальнейшее действие + lCurrentFile = lCurrentFile.nextSibling; + /* если это не последняя строка */ + if(lCurrentFile){ + /* выделяем следующую строку*/ + DOM.setCurrentFile(lCurrentFile); + DOM.preventDefault(pEvent); + } } } @@ -185,19 +183,18 @@ var CloudCommander, Util, DOM; * элементу */ else if(lKeyCode === KEY.HOME){ - /* получаем первый элемент - * пропускаем путь и заголовки столбиков - * выделяем верхий файл - */ - lCurrentFile = lCurrentFile. - parentElement.firstChild; - - /* set current file and - * move scrollbar to top - */ - DOM.setCurrentFile(lCurrentFile); - - event.preventDefault();//запрет на дальнейшее действие + /* получаем первый элемент + * пропускаем путь и заголовки столбиков + * выделяем верхий файл + */ + lCurrentFile = lCurrentFile.parentElement.firstChild; + + /* set current file and + * move scrollbar to top + */ + DOM.setCurrentFile(lCurrentFile); + + DOM.preventDefault(pEvent); } /* если нажали клавишу End @@ -211,8 +208,8 @@ var CloudCommander, Util, DOM; /* set current file and * move scrollbar to bottom */ - DOM.setCurrentFile(lCurrentFile); - event.preventDefault();//запрет на дальнейшее действие + DOM.setCurrentFile(lCurrentFile); + DOM.preventDefault(pEvent); } /* если нажали клавишу page down @@ -227,8 +224,7 @@ var CloudCommander, Util, DOM; lCurrentFile = lCurrentFile.nextSibling; } DOM.setCurrentFile(lCurrentFile); - - event.preventDefault();//запрет на дальнейшее действие + DOM.preventDefault(pEvent); } /* если нажали клавишу page up @@ -254,14 +250,12 @@ var CloudCommander, Util, DOM; lC = lC.previousSibling; } DOM.setCurrentFile(lC); - - event.preventDefault();//запрет на дальнейшее действие + DOM.preventDefault(pEvent); } /* если нажали Enter - открываем папку*/ else if(lKeyCode === KEY.ENTER) Util.exec(CloudCmd._loadDir()); - /* если нажали +r * обновляем страницу, * загружаем содержимое каталога @@ -270,7 +264,7 @@ var CloudCommander, Util, DOM; * (обновляем кэш) */ else if(lKeyCode === KEY.R && - event.ctrlKey){ + pEvent.ctrlKey){ console.log('+r pressed\n' + 'reloading page...\n' + 'press +q to remove all key-handlers'); @@ -298,7 +292,7 @@ var CloudCommander, Util, DOM; /* если нажали +d чистим кэш */ else if(lKeyCode === KEY.D && - event.ctrlKey){ + pEvent.ctrlKey){ console.log('+d pressed\n' + 'clearing cache...\n' + 'press +q to remove all key-handlers'); @@ -313,7 +307,7 @@ var CloudCommander, Util, DOM; * убираем все обработчики * нажатий клавиш */ - else if(lKeyCode === KEY.Q && event.altKey){ + else if(lKeyCode === KEY.Q && pEvent.altKey){ console.log('+q pressed\n' + '+r reload key-handerl - removed' + '+s clear cache key-handler - removed'+ @@ -322,7 +316,7 @@ var CloudCommander, Util, DOM; /* обработчик нажатий клавиш снят*/ keyBinded = false; - event.preventDefault();//запрет на дальнейшее действие + pEvent.preventDefault();//запрет на дальнейшее действие } } @@ -330,7 +324,7 @@ var CloudCommander, Util, DOM; * устанавливаем все обработчики * нажатий клавиш */ - else if(event.keyCode === KEY.S && event.altKey){ + else if(pEvent.keyCode === KEY.S && pEvent.altKey){ /* обрабатываем нажатия на клавиши*/ keyBinded = true; @@ -339,7 +333,7 @@ var CloudCommander, Util, DOM; '+s clear cache key-handler - set\n' + 'press +q to remove them'); - event.preventDefault();//запрет на дальнейшее действие + pEvent.preventDefault();//запрет на дальнейшее действие } };