12345678910111213141516171819202122232425 |
- /* 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' });
- return; // return here since only one file is allowed to be uploaded at a time
- }
- });
- }
|