Works with any backend npm install Zero dependencies

Filter by Status

Show only tasks matching a specific status (pending, uploading, completed, failed).

(function() {
 var uploader = new MultipleUpload('#demo', {
 uploadUrl: '/api/upload',
 multiple: true
 });
 document.getElementById('filter-select').addEventListener('change', function() {
 if (this.value) uploader.filterByStatus(this.value);
 else uploader.clearFilter();
 });
})();

Showing part of the queue

filterStatus defaults to null, which shows everything. Set it and the queue renders only files in that state, which is what makes a long queue usable: “show me the failures” is the question people actually have when fifty files are uploading and three went wrong.

It filters the view, not the queue

Hidden files are still there and still uploading. This changes what is rendered, not what the component is doing — so a count taken from the DOM will not match the queue. Read the totals from the instance rather than from what is on screen.