feature(dom) add getActiveFiles

This commit is contained in:
coderaiser 2014-09-10 09:24:25 -04:00
parent 4f4d64a817
commit 1517aa3389
3 changed files with 31 additions and 22 deletions

View file

@ -32,11 +32,7 @@ var Util, DOM;
}
function addCutClass() {
var files = DOM.getSelectedFiles(),
n = files.length;
if (!n)
files = [Info.element];
var files = DOM.getActiveFiles();
files.forEach(function(element) {
DOM.addClass(element, CLASS);
@ -44,11 +40,7 @@ var Util, DOM;
}
function rmCutClass() {
var files = DOM.getSelectedFiles(),
n = files.length;
if (!n)
files = [Info.element];
var files = DOM.getActiveFiles();
files.forEach(function(element) {
DOM.removeClass(element, CLASS);

View file

@ -452,9 +452,9 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
* zip file
*
*/
this.pack = function() {
this.pack = function(current) {
var RESTful = DOM.RESTful,
name = Cmd.getCurrentName(),
name = Cmd.getCurrentName(current),
dir = Cmd.getCurrentDirPath(),
path = dir + name,
fileFrom = {
@ -469,9 +469,9 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
* unzip file
*
*/
this.unpack = function() {
this.unpack = function(current) {
var RESTful = DOM.RESTful,
name = Cmd.getCurrentName(),
name = Cmd.getCurrentName(current),
dir = Cmd.getCurrentDirPath(),
path = dir + name,
fileFrom = {
@ -662,6 +662,22 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog;
return ret;
};
/**
* get all selected files with current included
*
* @currentFile
*/
this.getActiveFiles = function() {
var current = DOM.getCurrentFile(),
files = DOM.getSelectedFiles(),
selected = ~files.indexOf(current);
if (!selected)
files.push(current);
return files;
}
/**
* get size
* @currentFile

View file

@ -142,8 +142,8 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO;
setTimeout(DOM.renameCurrent, 100);
},
'Delete' : DOM.promptDelete,
'Pack' : DOM.pack,
'Unpack' : DOM.unpack,
'Pack' : getActiveFunc(DOM.pack),
'Unpack' : getActiveFunc(DOM.unpack),
'Upload To' : {},
'Download' : download,
'Cut' : Buffer.cut,
@ -230,12 +230,7 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO;
apiURL = CloudFunc.apiURL,
FS = CloudFunc.FS,
date = Date.now(),
current = Info.element,
files = DOM.getSelectedFiles(),
selected = ~files.indexOf(current);
if (!selected)
files.push(current);
files = DOM.getActiveFiles();
files.forEach(function(file) {
var element,
@ -266,6 +261,12 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO;
});
}
function getActiveFunc(callback) {
return function() {
DOM.getActiveFiles().forEach(callback);
};
}
function listener(event) {
var current, x, y, position,
F9 = Key.F9,