templates/notice/_part_doc_js.html.twig line 1

Open in your IDE?
  1. {% block javascripts %}
  2.     <script src="{{ app.request.getBaseURL() }}/web/file-upload/js/vendor/jquery.ui.widget.js"></script>
  3.     <script src="{{ app.request.getBaseURL() }}/web/file-upload/js/jquery.iframe-transport.js"></script>
  4.     <script src="{{ app.request.getBaseURL() }}/web/file-upload/js/jquery.fileupload.js"></script>
  5.     <script>
  6.         function ppremove(ob)
  7.         {
  8.             $('[data-toggle="tooltip"]').tooltip('hide');
  9.             ob.parent().parent().remove();
  10.         }
  11.         count = parseInt({{ count }});
  12.         function addDoc() 
  13.         {
  14.             $('[id$="_fileupload"]').each(function () {
  15.                 //$(this).attr('name', 'files[]').hide().parent().find('[id$="_doc_add"]').click(() => $(this).click());
  16.                 $(this).attr('name', 'files[]').hide().parent().find('.doc_add').unbind("click").click(() => $(this).click());
  17.                 $(this).fileupload({
  18.                     dataType: "json",
  19.                     url: "{{ app.request.getBaseURL() }}/save-file/attachment",
  20.                     add: function (e, data) {
  21.                         let obal = $('<div class="row align-items-center py-1 mb-2"></div>')
  22.                                 .append($('<button type="button" class="btn btn-outline-secondary btn-sm" onclick="ppremove($(this));"></button>')
  23.                                         .append('<i class="fa fa-times" aria-hidden="true"></i>')
  24.                                         .wrap('<div class="col-sm-2 col-lg-1 order-sm-12 text-right"></div></div>').parent()
  25.                                         )
  26.                                 .insertBefore($(this).parent().find('.doc_add'));
  27.                         data.context = $('<div class="row align-items-center file"></div>')
  28.                                 .append($('<a target="_blank"></a>').text(data.files[0].name))
  29.                                 .wrap('<div class="col-sm-10 col-lg-11 order-2"></div>');
  30.                         obal.append(data.context.parent());
  31.                         let jqXHR = data.submit()
  32.                                 .done(function (result, textStatus, jqXHR) {
  33.                                     //console.log('uspech');
  34.                                     count++;
  35.                                     data.context
  36.                                             .addClass("done")
  37.                                             .find("a")
  38.                                             .attr("href", result.files[0].url)
  39.                                             .text(result.files[0].name)
  40.                                             .wrap('<div class="col-md-5 text-truncate"></div>').parent()
  41.                                             .after($('<div class="col-md-7 text-truncate"></div>')
  42.                                                     // SPECIFY id doc_proto
  43.                                                     //.append($('#doc_proto').attr('data-prototype').replace(/__name__/g, ''))
  44.                                                     .append($(this).parents('.docs_box').find('.doc_proto').attr('data-prototype').replace(/__name__/g, count))
  45.                                                     )
  46.                                             .parent().find('[id$="_fullName"]').val(result.files[0].fullName)
  47.                                             .parent().find('[id$="_name"]').val(result.files[0].name)
  48.                                             .parent().find('[id$="_type"]').val(result.files[0].type)
  49.                                             .parent().find('[id$="_size"]').val(result.files[0].size)
  50.                                             .parent().find('[id$="_url"]').val(result.files[0].url)
  51.                                             .parent().parent().find('label').remove()
  52.                                             ;
  53.                                 })
  54.                                 .fail(function (jqXHR, textStatus, errorThrown) {
  55.                                     //console.log('error');
  56.                                     data.context.addClass("error")
  57.                                             .find('a').wrap('<del></del>');
  58.                                 })
  59.                                 .always(function (result, textStatus, jqXHR) {
  60.                                     //console.log('hotovo');
  61.                                     data.context.parent().parent().addClass("border-bottom border-primary");
  62.                                 });
  63.                         data.submit();
  64.                     },
  65.                     progress: function (e, data) {
  66.                         var progress = parseInt((data.loaded / data.total) * 100, 10);
  67.                         data.context.css("background-position-x", 100 - progress + "%");
  68.                     },
  69.                     done: function (e, data) {
  70.                         //console.log('tot-done!');
  71.                         //$(this).parent().find('[id$="_doc_add"]').unbind("click").click(() => $(this).click());
  72.                         $(this).parent().find('.doc_add').unbind("click").click(() => $(this).click());
  73.                     },
  74.                     fail: function () {
  75.                         //console.log('tot-fail!');
  76.                         $(this).parent().find('.doc_add').unbind("click").click(() => $(this).click());
  77.                     }
  78.                 });
  79.             });
  80.         }
  81.         function addDocsBox(fileupload, proto) 
  82.         {
  83.             proto.addClass('doc_proto').unwrap();
  84.             fileupload.unwrap();
  85.             $(proto, fileupload).wrapAll('<div></div>').parent().addClass('col-12 docs_box')
  86.                     .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>');
  87.             addDoc();
  88.         }
  89.         $(() => addDoc());
  90.         
  91.         
  92.     </script> 
  93. {% endblock %}