initial
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
/**
|
||||
* @class elFinder command "copy".
|
||||
* Put files in filemanager clipboard.
|
||||
*
|
||||
* @type elFinder.command
|
||||
* @author Dmitry (dio) Levashov
|
||||
*/
|
||||
elFinder.prototype.commands.copy = function() {
|
||||
"use strict";
|
||||
this.shortcuts = [{
|
||||
pattern : 'ctrl+c ctrl+insert'
|
||||
}];
|
||||
|
||||
this.getstate = function(select) {
|
||||
var sel = this.files(select),
|
||||
cnt = sel.length,
|
||||
filter = function(files) {
|
||||
var fres = true;
|
||||
return $.grep(files, function(f) {
|
||||
fres = fres && f.read ? true : false;
|
||||
return fres;
|
||||
});
|
||||
};
|
||||
|
||||
return cnt && filter(sel).length == cnt ? 0 : -1;
|
||||
};
|
||||
|
||||
this.exec = function(hashes) {
|
||||
var fm = this.fm,
|
||||
dfrd = $.Deferred()
|
||||
.fail(function(error) {
|
||||
fm.error(error);
|
||||
});
|
||||
|
||||
$.each(this.files(hashes), function(i, file) {
|
||||
if (! file.read) {
|
||||
return !dfrd.reject(['errCopy', file.name, 'errPerm']);
|
||||
}
|
||||
});
|
||||
|
||||
return dfrd.state() == 'rejected' ? dfrd : dfrd.resolve(fm.clipboard(this.hashes(hashes)));
|
||||
};
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user