set-input-files
Version:
set HTMLInputElement files
36 lines (27 loc) • 774 B
JavaScript
var getDataTransfer = function getDataTransfer() {
return new DataTransfer();
};
var concat = Array.prototype.concat;
try {
getDataTransfer();
} catch (_unused) {
getDataTransfer = function getDataTransfer() {
return new ClipboardEvent('').clipboardData;
};
}
function createFileList() {
// eslint-disable-next-line prefer-rest-params
var files = concat.apply([], arguments);
var i = 0;
var length = files.length;
var dataTransfer = getDataTransfer();
for (; i < length; i++) {
dataTransfer.items.add(files[i]);
}
return dataTransfer.files;
}
// eslint-disable-next-line import/no-extraneous-dependencies, import/extensions
function setInputFiles(input, files) {
input.files = createFileList(files);
}
export default setInputFiles;