Как удалить файл из очереди, чтобы остановить загрузку перед началом загрузки в blueimp Basic?

Вот вещь,

Я хочу отменить кнопку, аналогичную Basic плюс UI или jQuery UI восновной, Этот вопрос может показаться вам глупым. Но на самом деле я запутался из шаблона, который blueimp использует в Basic plus UI или jQuery UI для отображения списка загруженных и загруженных файлов с помощью кнопок запуска, удаления и отмены.

РЕДАКТИРОВАТЬ 1 здесь: Даже я не могу использовать этот шаблон, потому что я работаю в шаблоне ветки, который имеет похожий синтаксис, который выдает ошибку, если я использую.

Мне нужен код, чтобы удалить файл из очереди и предотвратить загрузку перед началом загрузки.

Я искал, что _cancelHandler находится в jquery.fileupload-ui.js, но есть много функций, которые меня смущают.

Пожалуйста, помогите кому-нибудь.

Даже я прочитал базовое использование плагина в документации (минимальное руководство по установке), но нет данных, чтобы иметь кнопку отмены.

РЕДАКТИРОВАТЬ 2 здесь: Я думаю, что пропустил, чтобы сказать, что мне нужна только одна кнопка загрузки, которая будет загружать все файлы, которые находятся в очереди. если какой-либо файл в списке отменен, то он не должен загружаться.

вот мой код

$(function () {

    var cancel_btn = $('<button/>')
    .addClass('btn btn-warning cancel pull-right')
    .html('<i class="icon-ban-circle icon-white"></i><span> Cancel')
    .on('click', function () {
    var $this = $(this),
        data = $this.data();
        $(this).parents('tr').remove();

        alert("code to remove from the queue and to prevent upload before upload start");
    });

    var delete_btn = $('<button/>')
    .addClass('btn btn-danger cancel pull-right')
    .html('<i class="icon-ban-circle icon-white"></i><span> Delete')
    .on('click', function () {
        alert('code needed to delete file');
    });    

    $('#fileupload').fileupload({
        dataType: 'json',
        autoUpload: false,
        add: function (e, data) {

            console.log(data);
           // data.context = $('<div/>').appendTo('#files');
            $.each(data.files, function (index, file) {

                var tr = document.createElement('tr');
                var td1 = document.createElement('td');
                var td2 = document.createElement('td');
                var td3 = document.createElement('td');
                $(td1).append(file.name);
                $(td2).append(file.size);
                $(td3).append(cancel_btn.clone(true).data(data));
                $(tr).append(td1,td2,td3);
                $('#files_list tbody').append(tr);

                var size = $('#files_list tbody tr').size();
                if(size < 1 )
                    $('#files_list').addClass('hide');
                else
                    $('#files_list').removeClass('hide');
            });

            $('#submit').click(function (){
                //data.context = $('<p/>').text('Uploading...').replaceAll($(this));
                data.submit();
                $('#files_list tbody').html('');
            });
        },
        done: function (e, data) {

            $.each(data.result.files, function (index, file) {
                var tr = document.createElement('tr');
                var td1 = document.createElement('td');
                var td2 = document.createElement('td');
                var td3 = document.createElement('td');
                $(td1).append(file.name);
                $(td2).append(file.size);
                $(td3).append(delete_btn.clone(true).data(data));
                $(tr).append(td1,td2,td3);
                $('#files_list tbody').append(tr);
            });
        },
        fail: function (e, data) {
            //console.log(data.result);
            $.each(data.result.files, function (index, file) {
                var error = $('<span/>').text(file.error);
                $(data.context.children()[index])
                    .append('<br>')
                    .append(error);
            });
        },
        progressall: function (e, data) {
            var progress = parseInt(data.loaded / data.total * 100, 10);
            $('#progress .bar').css(
                'width',
                progress + '%'
            );
        }        
    });
});

Ответы на вопрос(1)

Ваш ответ на вопрос