Works with any backend npm install Zero dependencies

Event System (on/off/once)

Use the on(), off(), and once() methods for programmatic event binding.

(function() {
 var logEl = document.getElementById('log');
 function log(m) { var d = document.createElement('div'); d.className='pkg-log-entry'; d.textContent=m; logEl.appendChild(d); logEl.scrollTop=logEl.scrollHeight; }

 var uploader = new MultipleUpload('#demo', {
 uploadUrl: '/api/upload',
 multiple: true
 });

 function onComplete(task) { log('taskComplete: ' + task.fileName); }
 var listening = true;
 uploader.on('taskComplete', onComplete);
 uploader.once('init', function() { log('init (once)'); });

 document.getElementById('toggle-btn').addEventListener('click', function() {
 if (listening) {
 uploader.off('taskComplete', onComplete);
 log('Listener removed');
 } else {
 uploader.on('taskComplete', onComplete);
 log('Listener added');
 }
 listening = !listening;
 });
})();