added keys constants

This commit is contained in:
coderaiser 2012-08-09 11:53:00 -04:00
parent 766de1bbce
commit 6f401769ea

View file

@ -1,6 +1,6 @@
var CloudCommander;
var CloudFunc;
CloudCommander.keyBinding=(function(){
CloudCommander.keyBinding = (function(){
"use strict";
var Util = new CloudCommander.Util();
@ -10,9 +10,31 @@ CloudCommander.keyBinding=(function(){
right : 0
};
var key_event=function(event){
var lKEY = {
TAB : 9,
ENTER : 13,
PAGE_DOWN : 34,
END : 35,
HOME : 36,
UP : 38,
DOWN : 40,
D : 68,
Q : 81,
R : 82,
S : 83,
F2 : 113,
F3 : 114,
F4 : 115
};
var key_event = function(event){
var lCurrentFile,
lName, lTop, i;
lName, i;
/* если клавиши можно обрабатывать*/
if(CloudCommander.keyBinded){
/* если нажали таб:
@ -21,10 +43,9 @@ CloudCommander.keyBinding=(function(){
* мы были на левой и
* наоборот
*/
if(event.keyCode===9){
if(event.keyCode === lKEY.TAB){
console.log('Tab pressed');
var lCURRENT_FILE = CloudCommander.CURRENT_FILE;
try{
lCurrentFile = Util.getCurrentFile();
@ -34,44 +55,51 @@ CloudCommander.keyBinding=(function(){
lTabPanel[lId] = lCurrentFile;
var lPanel = Util.getPanel({active:false});
var lId = lPanel.id;
if(lTabPanel[lId])
lTabPanel[lId].className = lCURRENT_FILE;
else
lPanel.getElementsByTagName('li')[2]
.className = lCURRENT_FILE;
lPanel = Util.getPanel({active:false});
lId = lPanel.id;
lCurrentFile.className = '';
if(lTabPanel[lId])
Util.setCurrentFile(lTabPanel[lId].className);
else{
var lFirstFileOnList =
lPanel.getElementsByTagName('li')[2];
Util.setCurrentFile(lFirstFileOnList);
}
Util.unSetCurrentFile(lCurrentFile);
}catch(error){console.log(error);}
}
/* if f2 pressed */
else if(event.keyCode===113){
else if(event.keyCode === lKEY.F2){
}
/* if f3 pressed */
else if(event.keyCode===114){
else if(event.keyCode === lKEY.F3){
if (typeof CloudCommander.Viewer === 'function')
CloudCommander.Viewer();
}
/* if alt+f3 pressed */
else if(event.keyCode===114 &&
else if(event.keyCode === lKEY.F3 &&
event.altKey){
if (typeof CloudCommander.Terminal === 'function')
CloudCommander.Terminal();
}
/* if f4 pressed */
else if(event.keyCode === 115) {
else if(event.keyCode === lKEY.F4) {
Util.Images.showLoad();
if (typeof CloudCommander.Editor === 'function')
CloudCommander.Editor();
}
/* навигация по таблице файлов*/
/* если нажали клавишу вверх*/
else if(event.keyCode===38){
else if(event.keyCode === lKEY.UP){
/* получаем выдленный файл*/
lCurrentFile = Util.getCurrentFile();
@ -97,7 +125,7 @@ CloudCommander.keyBinding=(function(){
}
}
/* если нажали клавишу в низ*/
else if(event.keyCode===40){
else if(event.keyCode === lKEY.DOWN){
/* получаем выдленный файл*/
lCurrentFile = Util.getCurrentFile();
@ -122,7 +150,7 @@ CloudCommander.keyBinding=(function(){
* переходим к самому верхнему
* элементу
*/
else if(event.keyCode === 36){
else if(event.keyCode === lKEY.HOME){
lCurrentFile = Util.getCurrentFile();
/* убираем выделение с текущего файла*/
lCurrentFile.className='';
@ -139,7 +167,7 @@ CloudCommander.keyBinding=(function(){
/* если нажали клавишу End
* выделяем последний элемент
*/
else if( event.keyCode === 35){
else if( event.keyCode === lKEY.END){
lCurrentFile = Util.getCurrentFile();
/* снимаем выделение с текущего файла*/
lCurrentFile.className='';
@ -153,7 +181,7 @@ CloudCommander.keyBinding=(function(){
/* если нажали клавишу page down
* проматываем экран
*/
else if(event.keyCode === 34){
else if(event.keyCode === lKEY.PAGE_DOWN){
Util.getPanel().scrollByPages(1);
lCurrentFile = Util.getCurrentFile();
@ -180,7 +208,10 @@ CloudCommander.keyBinding=(function(){
.previousSibling
.previousSibling
.previousSibling;
} catch(pError){break};
}
catch(pError){
break;
}
lCurrentFile = lCurrentFile.previousSibling;
}
Util.getCurrentFile().className = '';
@ -222,7 +253,7 @@ CloudCommander.keyBinding=(function(){
* сервера, а не из кэша
* (обновляем кэш)
*/
else if(event.keyCode===82 &&
else if(event.keyCode === lKEY.R &&
event.ctrlKey){
console.log('<ctrl>+r pressed');
console.log('reloading page...');
@ -236,11 +267,8 @@ CloudCommander.keyBinding=(function(){
if(lRefreshIcon)lRefreshIcon = lRefreshIcon[0];
if(lRefreshIcon){
/* находим файл который сейчас выделен */
lCurrentFile = Util
.getByClass(CloudCommander.CURRENT_FILE);
if(lCurrentFile.length > 0)
lCurrentFile=lCurrentFile[0];
lCurrentFile = Util.getCurrentFile();
/* получаем название файла*/
var lSelectedName = lCurrentFile
.getElementsByTagName('a')[0].textContent;
@ -249,19 +277,16 @@ CloudCommander.keyBinding=(function(){
* ссылку, на которую повешен eventHandler
* onclick
*/
if(lRefreshIcon.click)lRefreshIcon.parentElement.click();
else lRefreshIcon.parentElement.onclick();
if(lRefreshIcon.click)
lRefreshIcon.parentElement.click();
else
lRefreshIcon.parentElement.onclick();
/* перебираем файлы левой панели
* в поисках подсвеченого файла
*/
var lLeft = Util.getById('left');
if(lLeft)
CloudCommander._currentToParent(lSelectedName);
CloudCommander._currentToParent(lSelectedName);
}
}
/* если нажали <ctrl>+d чистим кэш */
else if(event.keyCode===68 &&
else if(event.keyCode === lKEY.D &&
event.ctrlKey){
console.log('<ctrl>+d pressed');
console.log('clearing cache...');
@ -274,7 +299,7 @@ CloudCommander.keyBinding=(function(){
* убираем все обработчики
* нажатий клавиш
*/
else if(event.keyCode === 81 &&
else if(event.keyCode === lKEY.Q &&
event.altKey){
//document.removeEventListener('keydown', key_event,false);
console.log('<alt>+q pressed');
@ -292,7 +317,7 @@ CloudCommander.keyBinding=(function(){
* устанавливаем все обработчики
* нажатий клавиш
*/
else if(event.keyCode===83 &&
else if(event.keyCode === lKEY.S &&
event.altKey){
/*
document.addEventListener('keydown', key_event,false);
@ -308,6 +333,7 @@ CloudCommander.keyBinding=(function(){
return false;
};
/* добавляем обработчик клавишь */
if(document.addEventListener)
document.addEventListener('keydown', key_event,false);