File: //home/retile.ru/public_html/admin/view/javascript/d_elfinder/commands/copy.js
"use strict";
/**
* @class elFinder command "copy".
* Put files in filemanager clipboard.
*
* @type elFinder.command
* @author Dmitry (dio) Levashov
*/
elFinder.prototype.commands.copy = function() {
this.shortcuts = [{
pattern : 'ctrl+c ctrl+insert'
}];
this.getstate = function(sel) {
var sel = this.files(sel),
cnt = sel.length;
return cnt && $.map(sel, function(f) { return f.phash && f.read ? f : null }).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 && file.phash)) {
return !dfrd.reject(['errCopy', file.name, 'errPerm']);
}
});
return dfrd.isRejected() ? dfrd : dfrd.resolve(fm.clipboard(this.hashes(hashes)));
}
}