const FileSender = require('./fileSender'); $(document).ready(function() { let copyBtn = $('#copy-btn'); copyBtn.attr('disabled', false); copyBtn.html('Copy'); $('#page-one').show(); $('#file-list').hide(); $('#upload-progress').hide(); $('#share-link').hide(); copyBtn.click(() => { console.log('copied'); var aux = document.createElement('input'); aux.setAttribute('value', $('#link').attr('value')); document.body.appendChild(aux); aux.select(); document.execCommand('copy'); document.body.removeChild(aux); copyBtn.attr('disabled', true); copyBtn.html('Copied!'); }); $('.send-new').click(() => { $('#page-one').show(); $('#file-list').show(); $('#upload-progress').hide(); $('#share-link').hide(); copyBtn.attr('disabled', false); copyBtn.html('Copy'); }); let onChange = event => { const file = event.target.files[0]; let fileList = $('#uploaded-files'); let row = document.createElement('tr'); let name = document.createElement('td'); let link = document.createElement('td'); let expiry = document.createElement('td'); let cellText = document.createTextNode(file.name); name.appendChild(cellText); let progress = document.createElement('p'); row.appendChild(name); row.appendChild(link); row.appendChild(expiry); fileList.append(row); const fileSender = new FileSender(file); fileSender.on('progress', percentComplete => { $('#page-one').hide(); $('#file-list').hide(); $('#upload-progress').show(); $('#upload-filename').innerHTML += file.name; progress.innerText = `Progress: ${percentComplete}%`; }); fileSender.upload().then(info => { const url = `${window.location .origin}/download/${info.fileId}/#${info.secretKey}`; $('#link').attr('value', url); link.innerHTML = url; localStorage.setItem(info.fileId, info.deleteToken); let del = document.createElement('td'); let btn = document.createElement('button'); btn.innerHTML = 'x'; btn.classList.add('delete-btn'); btn.addEventListener('click', e => { FileSender.delete( info.fileId, localStorage.getItem(info.fileId) ).then(() => { e.target.parentNode.parentNode.remove(); localStorage.removeItem(info.fileId); }); }); del.appendChild(btn); row.appendChild(del); $('#upload-progress').hide(); $('#share-link').show(); }); }; window.onChange = onChange; });