diff --git a/lib/client/dom.js b/lib/client/dom.js index dc9c83f7..8b2fdfab 100644 --- a/lib/client/dom.js +++ b/lib/client/dom.js @@ -1439,26 +1439,13 @@ var CloudCmd, Util, DOM, CloudFunc; * select current file * @param pCurrent */ - this.setSelectedFile = function(pCurrent) { + this.toggleSelectedFile = function(pCurrent) { var lCurrent = pCurrent || this.getCurrentFile(), - lRet = this.addClass(pCurrent, SELECTED_FILE); + lRet = this.toggleClass(pCurrent, SELECTED_FILE); - if (!lRet) - this.unsetSelectedFile(lCurrent); - - return lRet; + return this; }; - /** - * unselect current file - * @param pCurrent - */ - this.unsetSelectedFile = function(pCurrent) { - var lCurrent = pCurrent || this.getCurrentFile(), - lRet = this.removeClass(lCurrent, SELECTED_FILE); - - return lRet; - }; /** * setting history wrapper @@ -1596,7 +1583,7 @@ var CloudCmd, Util, DOM, CloudFunc; lName = this.getCurrentName( lFirst ); if (lName === '..') - this.unsetSelectedFile( lFirst ); + this.toggleSelectedFile( lFirst ); for(var i = 0, n = lSelected.length; i < n;i++) lRet[i] = this.getCurrentName( lSelected[i] ); diff --git a/lib/client/key.js b/lib/client/key.js index 6b700ac1..85ac4ff7 100644 --- a/lib/client/key.js +++ b/lib/client/key.js @@ -100,8 +100,8 @@ var CloudCmd, Util, DOM; break; case Key.INSERT: - DOM.setSelectedFile( lCurrent ); - DOM.setCurrentFile( lCurrent.nextSibling ); + DOM .toggleSelectedFile(lCurrent) + .setCurrentFile(lCurrent.nextSibling); break; case Key.DELETE: @@ -177,7 +177,7 @@ var CloudCmd, Util, DOM; lSelected = true; Util.ifExec(lSelected, function() { - DOM.setSelectedFile(lCurrent); + DOM.toggleSelectedFile(lCurrent); }, function(pCallBack) { DOM.loadCurrentSize(pCallBack, lCurrent); }); @@ -191,7 +191,7 @@ var CloudCmd, Util, DOM; * выделяем предыдущую строку */ case Key.UP: if (lShift) - DOM.setSelectedFile(lCurrent); + DOM.toggleSelectedFile(lCurrent); DOM.setCurrentFile( lCurrent.previousSibling ); DOM.preventDefault( pEvent ); @@ -200,7 +200,7 @@ var CloudCmd, Util, DOM; /* если нажали клавишу в низ - выделяем следующую строку */ case Key.DOWN: if (lShift) - DOM.setSelectedFile(lCurrent); + DOM.toggleSelectedFile(lCurrent); DOM.setCurrentFile( lCurrent.nextSibling ); DOM.preventDefault( pEvent ); @@ -273,7 +273,7 @@ var CloudCmd, Util, DOM; /* not path and fm_header */ for (i = 2, n = lNodes.length; i < n; i++) - DOM.setSelectedFile( lNodes[i] ); + DOM.toggleSelectedFile( lNodes[i] ); DOM.preventDefault(pEvent); }