send/app/pasteManager.js

26 lines
730 B
JavaScript
Raw Normal View History

2018-06-06 04:39:26 +00:00
/* global MAXFILESIZE */
import { bytes } from './utils';
export default function(state, emitter) {
window.addEventListener('paste', event => {
if (state.route !== '/' || state.uploading) return;
for (const item of event.clipboardData.items) {
if (!item.type.includes('image')) continue;
const file = item.getAsFile();
if (!file) continue; // Sometimes null
if (file.size > MAXFILESIZE) {
// eslint-disable-next-line no-alert
alert(state.translate('fileTooBig', { size: bytes(MAXFILESIZE) }));
continue;
}
emitter.emit('upload', { file, type: 'paste' });
2018-06-07 02:46:55 +00:00
return; // return here since only one file is allowed to be uploaded at a time
2018-06-06 04:39:26 +00:00
}
});
}