Advertisement
Guest User

myAjax.js

a guest
Feb 25th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //DOCUMENTS POPUP
  2. var initShowingDocumentsPopup = function()
  3. {
  4.     var lock = false;
  5.  
  6.     $(".documentsButton").off("click");
  7.     $(".documentsButton").on("click", function(){ $("#documentsButton").attr({
  8.         "data-id-store" : $(this).attr("data-id-store"),
  9.         "data-id-order" : $(this).attr("data-id-order"),
  10.         "data-group" : $(this).attr("data-group")
  11.     }).click(); });
  12.  
  13.     $("#documentsButton").off("click");
  14.     $("#documentsButton").on("click", function(e)
  15.     {
  16.         e.stopPropagation();
  17.         e.preventDefault();
  18.  
  19.         if(lock) return;
  20.  
  21.         lock = true;
  22.  
  23.         var _this = $(this);
  24.  
  25.         history.pushState(null, null, getBaseRoute(true) + "purchases/" + _this.attr("data-id-store") + "/" + _this.attr("data-id-order") + "/" + _this.attr("data-group") + "/" + "documents");
  26.  
  27.         showPopup("loadingPopup");
  28.         startLoadingAnimation($("#loadingPopup .wrap"), true);
  29.  
  30.         $.nette.ajax({
  31.             url: _this.attr("data-url"),
  32.             data: {
  33.                 "idStore" : _this.attr("data-id-store"),
  34.                 "idOrder" : _this.attr("data-id-order"),
  35.                 "group" : _this.attr("data-group")
  36.             },
  37.             complete: function()
  38.             {
  39.                 lock = false;
  40.                 stopLoadingAnimation();
  41.                 initDocumentsUploadForm();
  42.                 initDeletingDocument();
  43.                 initAddingDocument();
  44.                 initDragAndDropDocuments();
  45.                 initSendingDocumentsPopupForm();
  46.                 initShowingSubmitButtonInPopup($("#documentsPopup"));
  47.                 showPopup("documentsPopup");
  48.                 eval(history.state);
  49.                 initOutline();
  50.             }
  51.         });
  52.     });
  53. };
  54.  
  55. var initDeletingDocument = function()
  56. {
  57.     $(".deleteDocument").off("click");
  58.     $(".deleteDocument").on("click", function(e)
  59.     {
  60.         var _this = $(this);
  61.  
  62.         showDialog($(this).attr("data-sentence"), "confirmDialog", function()
  63.         {
  64.             $("#confirmDialog .confirm").focus();
  65.  
  66.             $("#confirmDialog .confirm").off("click");
  67.             $("#confirmDialog .confirm").on("click", function()
  68.             {
  69.                 hideDialog();
  70.  
  71.                 $.nette.ajax({
  72.                     url: _this.attr("data-url"),
  73.                     data: {
  74.                         id: _this.find("input").val(),
  75.                         values: $("#frm-documentsPopupControl-form").serialize(),
  76.                         key: _this.attr("data-key")
  77.                     },
  78.                     complete: function()
  79.                     {
  80.                         initOutline();
  81.                         initDocumentsUploadForm();
  82.                         initDeletingDocument();
  83.                         initAddingDocument();
  84.                         initDragAndDropDocuments();
  85.                         initSendingDocumentsPopupForm();
  86.                         initShowingChatPopup();
  87.                         setHeightOfFooterSection();
  88.                         initOpeningHoursInFooter();
  89.                     }
  90.                 });
  91.             });
  92.         });
  93.  
  94.         return false;
  95.     });
  96. };
  97.  
  98. var initAddingDocument = function()
  99. {
  100.     $("#addDocument").off("click");
  101.     $("#addDocument").on("click", function(e)
  102.     {
  103.         e.stopPropagation();
  104.         e.preventDefault();
  105.  
  106.         $("#addDocument").addClass("displayNone");
  107.         startLoadingAnimation($("#addDocument").parent());
  108.  
  109.         $.nette.ajax({
  110.             url: $(this).attr("data-url"),
  111.             data: {
  112.                 values: $("#frm-documentsPopupControl-form").serialize()
  113.             },
  114.             complete: function()
  115.             {
  116.                 stopLoadingAnimation();
  117.                 $("#addDocument").removeClass("displayNone");
  118.                 initOutline();
  119.                 initDocumentsUploadForm();
  120.                 initDeletingDocument();
  121.                 initAddingDocument();
  122.                 initDragAndDropDocuments();
  123.                 initSendingDocumentsPopupForm();
  124.             }
  125.         });
  126.  
  127.         return false;
  128.     });
  129. };
  130.  
  131. var initSendingDocumentsPopupForm = function()
  132. {
  133.     $("#frm-documentsPopupControl-form").off("submit");
  134.     $("#frm-documentsPopupControl-form").on("submit", function(e)
  135.     {
  136.         e.stopPropagation();
  137.         e.preventDefault();
  138.  
  139.         if(!Nette.validateForm($(this)[0])) return false;
  140.  
  141.         $("#documentValues").val($("#frm-documentsPopupControl-form").serialize());
  142.  
  143.         $("#saveDocuments").addClass("displayNone");
  144.         startLoadingAnimation($("#saveDocuments").parent());
  145.  
  146.         $(this).netteAjax(e, {
  147.             complete: function(response)
  148.             {
  149.                 stopLoadingAnimation();
  150.                 $("#saveDocuments").removeClass("displayNone");
  151.                 $("#documentsPopup .topWrap .buttonGeneral").removeClass("displayNone");
  152.  
  153.                 if(!response.responseJSON.snippets["snippet-documentsPopupControl-errors"])
  154.                 {
  155.                     loadFlashPopup([$("#documentsPopup").attr("data-sentence-flash-success")], "success");
  156.                     showPopup("flashPopup");
  157.                     initShowingChatPopup();
  158.                     setHeightOfFooterSection();
  159.                     initOpeningHoursInFooter();
  160.                     initOutline();
  161.                 }
  162.                 else
  163.                 {
  164.                     initClosingErrorMessagesInPopup();
  165.                 }
  166.  
  167.                 initOutline();
  168.             }
  169.         });
  170.  
  171.         return false;
  172.     });
  173. };
  174.  
  175. var sendDocumentUploadForm = function(e)
  176. {
  177.     $form = $("#frm-documentsPopupControl-uploadForm");
  178.  
  179.     $("#chooseDocumentFile-icon-" + $form.attr("data-iterator")).addClass("displayNone");
  180.     startLoadingAnimation($("#chooseDocumentFile-icon-" + $form.attr("data-iterator")).parent());
  181.  
  182.     $("#documentValues").val($("#frm-documentsPopupControl-form").serialize());
  183.     $("#documentKey").val($form.attr("data-key"));
  184.  
  185.     $form.netteAjax(e, {
  186.         complete: function(response)
  187.         {
  188.             if(response.responseJSON.snippets['snippet-documentsPopupControl-uploadFormErrors'])
  189.             {
  190.                 $("#frm-documentsPopupControl-form .errorMessages").addClass("displayNone").empty();
  191.                 $("#errorMessagesUploadForm-" + $form.attr("data-key")).removeClass("displayNone");
  192.                 $form.find("ul").children().clone().appendTo("#errorMessagesUploadForm-" + $form.attr("data-key"));
  193.             }
  194.             else
  195.             {
  196.                 $(".errorMessages").addClass("displayNone").empty();
  197.             }
  198.  
  199.             stopLoadingAnimation();
  200.             $("#chooseDocumentFile-icon-" + $form.attr("data-iterator")).removeClass("displayNone");
  201.             $form[0].reset();
  202.             initOutline();
  203.             initDocumentsUploadForm();
  204.             initDeletingDocument();
  205.             initAddingDocument();
  206.             initDragAndDropDocuments();
  207.             initSendingDocumentsPopupForm();
  208.         }
  209.     });
  210. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement