SHARE
TWEET

Untitled

a guest Jul 17th, 2017 48 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let jQueryPlugins = (()=>{
  2.  
  3.     let rtn = {};
  4.     if(!$){
  5.         throw new Error("jQuery not loaded");
  6.     }
  7.    
  8.     let OriginalMethods = {};
  9.     OriginalMethods.ajax = $.ajax;
  10.    
  11.     function getXhrWithProgressEvent(){
  12.         let xhr = new window.XMLHttpRequest();
  13.         //Upload progress
  14.         xhr.upload.addEventListener("progress", function(evt){
  15.           if (evt.lengthComputable) {
  16.             let percentComplete = evt.loaded / evt.total;
  17.             if(data.onProgress){
  18.                 data.onProgress(xhr,data,evt);
  19.             }
  20.           }
  21.         }, false);
  22.         //Download progress
  23.         xhr.addEventListener("progress", function(evt){
  24.           if (evt.lengthComputable) {
  25.             let percentComplete = evt.loaded / evt.total;
  26.             if(data.onProgress){
  27.                 data.onProgress(xhr,data,evt);
  28.             }
  29.           }
  30.         }, false);
  31.         return xhr;
  32.     }  
  33.  
  34.     $.ajax = (dataOrUrl,dataOnly)=>{
  35.         if(dataOrUrl instanceof String){
  36.             if(dataOnly){
  37.                 dataOnly.xhr = getXhrWithProgressEvent;
  38.             }
  39.         } else {
  40.             dataOrUrl.xhr = getXhrWithProgressEvent;
  41.         }
  42.         OriginalMethods.ajax.call($,[dataOrUrl,dataOnly]);
  43.     };
  44.    
  45.     rtn.Loaded = true;
  46.    
  47.     return rtn;
  48.    
  49. })($);
RAW Paste Data
Top