/**
* @class elFinder toolbar's button tor upload file
*
* @author Dmitry (dio) Levashov
**/
$.fn.elfinderuploadbutton = function(cmd) {
"use strict";
return this.each(function() {
var fm = cmd.fm,
button = $(this).elfinderbutton(cmd)
.off('click'),
form = $('<form></form>').appendTo(button),
input = $('<input type="file" multiple="true" title="'+cmd.fm.i18n('selectForUpload')+'"/>')
.on('change', function() {
var _input = $(this);
if (_input.val()) {
fm.exec('upload', {input : _input.remove()[0]}, void(0), fm.cwd().hash);
input.clone(true).appendTo(form);
}
})
.on('dragover', function(e) {
e.originalEvent.dataTransfer.dropEffect = 'copy';
}),
tm;
form.append(input.clone(true));
cmd.change(function() {
tm && cancelAnimationFrame(tm);
tm = requestAnimationFrame(function() {
var toShow = cmd.disabled();
if (form.is('visible')) {
!toShow && form.hide();
} else {
toShow && form.show();
}
});
})
.change();
});
};