handler.js 1.86 KB
$(function() {
    if(fileloader !== undefined) {
        $.each(fileloader, function(index, value) {
            var id = value.id;
            var model = value.model;
            var formData = {};
            if(typeof model == 'string' && model !== '') {
                formData.model = model;
            }
            if(typeof id == 'string' && id !== '') {
                formData.id = id;
                $('#'+id).fileupload({
                    dataType: 'json',
                    url: '/fileloader/upload',
                    formData: formData,
                    done: function(e, data) {
                        if(!data.result.error) {
                            var id = data.result.result.id;
                            var input = $('#'+id);
                            var wrapper = $(input).parents('.fileloader-wrapper').first();
                            var html = '<div class="fileloader-item-wrapper" data-id="'+data.result.result.file_id+'">'+
                                       data.result.result.input + '<p class="fileloader-item-name">'+
                                       '<a href="'+data.result.result.file_href+'" target="_blank">'+data.result.result.file_name+'</a></p>'+'<span class="fileloader-item-remove glyphicon glyphicon-remove"></span>'+
                                       '</div>';
                            $(html).appendTo($(wrapper).find('.fileloader-list'));
                        }
                    }
                });
            }
        });
    }

    $(document).on('click', '.fileloader-item-remove', function(e) {
        var wrapper = $(this).parents('.fileloader-item-wrapper').first();
        var id = $(wrapper).data('id');
        $.post(
            '/fileloader/delete',
            {
                id: id
            },
            function(data) {}
        );
        $(wrapper).remove();
    });
});