{% block javascripts %}
<script src="{{ app.request.getBaseURL() }}/web/file-upload/js/vendor/jquery.ui.widget.js"></script>
<script src="{{ app.request.getBaseURL() }}/web/file-upload/js/jquery.iframe-transport.js"></script>
<script src="{{ app.request.getBaseURL() }}/web/file-upload/js/jquery.fileupload.js"></script>
<script>
function ppremove(ob)
{
$('[data-toggle="tooltip"]').tooltip('hide');
ob.parent().parent().remove();
}
count = parseInt({{ count }});
function addDoc()
{
$('[id$="_fileupload"]').each(function () {
//$(this).attr('name', 'files[]').hide().parent().find('[id$="_doc_add"]').click(() => $(this).click());
$(this).attr('name', 'files[]').hide().parent().find('.doc_add').unbind("click").click(() => $(this).click());
$(this).fileupload({
dataType: "json",
url: "{{ app.request.getBaseURL() }}/save-file/attachment",
add: function (e, data) {
let obal = $('<div class="row align-items-center py-1 mb-2"></div>')
.append($('<button type="button" class="btn btn-outline-secondary btn-sm" onclick="ppremove($(this));"></button>')
.append('<i class="fa fa-times" aria-hidden="true"></i>')
.wrap('<div class="col-sm-2 col-lg-1 order-sm-12 text-right"></div></div>').parent()
)
.insertBefore($(this).parent().find('.doc_add'));
data.context = $('<div class="row align-items-center file"></div>')
.append($('<a target="_blank"></a>').text(data.files[0].name))
.wrap('<div class="col-sm-10 col-lg-11 order-2"></div>');
obal.append(data.context.parent());
let jqXHR = data.submit()
.done(function (result, textStatus, jqXHR) {
//console.log('uspech');
count++;
data.context
.addClass("done")
.find("a")
.attr("href", result.files[0].url)
.text(result.files[0].name)
.wrap('<div class="col-md-5 text-truncate"></div>').parent()
.after($('<div class="col-md-7 text-truncate"></div>')
// SPECIFY id doc_proto
//.append($('#doc_proto').attr('data-prototype').replace(/__name__/g, ''))
.append($(this).parents('.docs_box').find('.doc_proto').attr('data-prototype').replace(/__name__/g, count))
)
.parent().find('[id$="_fullName"]').val(result.files[0].fullName)
.parent().find('[id$="_name"]').val(result.files[0].name)
.parent().find('[id$="_type"]').val(result.files[0].type)
.parent().find('[id$="_size"]').val(result.files[0].size)
.parent().find('[id$="_url"]').val(result.files[0].url)
.parent().parent().find('label').remove()
;
})
.fail(function (jqXHR, textStatus, errorThrown) {
//console.log('error');
data.context.addClass("error")
.find('a').wrap('<del></del>');
})
.always(function (result, textStatus, jqXHR) {
//console.log('hotovo');
data.context.parent().parent().addClass("border-bottom border-primary");
});
data.submit();
},
progress: function (e, data) {
var progress = parseInt((data.loaded / data.total) * 100, 10);
data.context.css("background-position-x", 100 - progress + "%");
},
done: function (e, data) {
//console.log('tot-done!');
//$(this).parent().find('[id$="_doc_add"]').unbind("click").click(() => $(this).click());
$(this).parent().find('.doc_add').unbind("click").click(() => $(this).click());
},
fail: function () {
//console.log('tot-fail!');
$(this).parent().find('.doc_add').unbind("click").click(() => $(this).click());
}
});
});
}
function addDocsBox(fileupload, proto)
{
proto.addClass('doc_proto').unwrap();
fileupload.unwrap();
$(proto, fileupload).wrapAll('<div></div>').parent().addClass('col-12 docs_box')
.append('<button type="button" class="btn btn-outline-secondary btn-sm mb-2 doc_add"><i class="fa fa-plus"></i> Pridať prílohu</button>');
addDoc();
}
$(() => addDoc());
</script>
{% endblock %}