diff --git a/assets/packages/questions/upload/build/uploadquestion.js b/assets/packages/questions/upload/build/uploadquestion.js index 7e3574295a5..c2d4464b08b 100644 --- a/assets/packages/questions/upload/build/uploadquestion.js +++ b/assets/packages/questions/upload/build/uploadquestion.js @@ -703,6 +703,7 @@ toDeleteFlag = true; // Fix IE mixed content issue iframe.src = "javascript:'';"; + removeNode(iframe); }); }, @@ -726,7 +727,10 @@ } // sending request - var iframe = this._createIframe(); + var iframe = this._createIframe(); // Get response from iframe and fire onComplete event when ready + + + this._getResponse(iframe, file); var form = this._createForm(iframe); // assuming following structure // div -> input type='file' @@ -741,10 +745,7 @@ removeNode(form); form = null; removeNode(this._input); - this._input = null; // Get response from iframe and fire onComplete event when ready - - this._getResponse(iframe, file); // get ready for next request - + this._input = null; // get ready for next request this._createInput(); } diff --git a/assets/packages/questions/upload/build/uploadquestion.min.js b/assets/packages/questions/upload/build/uploadquestion.min.js index 9da102044ef..032c11a810b 100644 --- a/assets/packages/questions/upload/build/uploadquestion.min.js +++ b/assets/packages/questions/upload/build/uploadquestion.min.js @@ -1,2 +1,2 @@ -!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var a=0;ae.length)&&(t=e.length);for(var a=0,n=new Array(t);a=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,o=!0,s=!1;return{s:function(){a=e[Symbol.iterator]()},n:function(){var e=a.next();return o=e.done,e},e:function(e){s=!0,l=e},f:function(){try{o||null==a.return||a.return()}finally{if(s)throw l}}}}!function(){function addEvent(e,t,a){if(e.addEventListener)e.addEventListener(t,a,!1);else{if(!e.attachEvent)throw new Error("not supported or DOM not loaded");e.attachEvent("on"+t,(function(){a.call(e)}))}}if(document.documentElement.getBoundingClientRect)var getOffset=function(e){var t=e.getBoundingClientRect(),a=e.ownerDocument,n=a.body,i=a.documentElement,l=i.clientTop||n.clientTop||0,o=i.clientLeft||n.clientLeft||0,s=1;if(n.getBoundingClientRect){var r=n.getBoundingClientRect();s=(r.right-r.left)/n.clientWidth}return s>1&&(l=0,o=0),{top:t.top/s+(window.pageYOffset||i&&i.scrollTop/s||n.scrollTop/s)-l,left:t.left/s+(window.pageXOffset||i&&i.scrollLeft/s||n.scrollLeft/s)-o}};else var getOffset=function(e){var t=0,a=0;do{t+=e.offsetTop||0,a+=e.offsetLeft||0,e=e.offsetParent}while(e);return{left:a,top:t}};function getBox(e){var t,a,n=getOffset(e);return t=n.left,a=n.top,{left:t,right:t+e.offsetWidth,top:a,bottom:a+e.offsetHeight}}function addStyles(e,t){for(var a in t)t.hasOwnProperty(a)&&(e.style[a]=t[a])}function copyLayout(e,t){var a=getBox(e);addStyles(t,{position:"absolute",left:a.left+"px",top:a.top+"px",width:e.offsetWidth+"px",height:e.offsetHeight+"px"})}var toElement=(div=document.createElement("div"),function(e){div.innerHTML=e;var t=div.firstChild;return div.removeChild(t)}),div,getUID=(id=0,function(){return"ValumsAjaxUpload"+id++}),id;function fileFromPath(e){return e.replace(/.*(\/|\\)/,"")}function getExt(e){return-1!==(e=e.toLowerCase()).indexOf(".")?e.replace(/.*[.]/,""):""}function hasClass(e,t){return new RegExp("\\b"+t+"\\b").test(e.className)}function addClass(e,t){hasClass(e,t)||(e.className+=" "+t)}function removeClass(e,t){var a=new RegExp("\\b"+t+"\\b");e.className=e.className.replace(a,"")}function removeNode(e){e.parentNode.removeChild(e)}window.AjaxUpload=function(e,t){for(var a in this._settings={action:"upload.php",name:"userfile",multiple:!1,data:{},autoSubmit:!0,responseType:!1,hoverClass:"hover",focusClass:"focus",disabledClass:"disabled",onChange:function(e,t){},onSubmit:function(e,t){},onComplete:function(e,t){}},t)t.hasOwnProperty(a)&&(this._settings[a]=t[a]);if(e.jquery?e=e[0]:"string"==typeof e&&(/^#.*/.test(e)&&(e=e.slice(1)),e=document.getElementById(e)),!e||1!==e.nodeType)throw new Error("Please make sure that you're passing a valid element");"A"==e.nodeName.toUpperCase()&&addEvent(e,"click",(function(e){e&&e.preventDefault?e.preventDefault():window.event&&(window.event.returnValue=!1)})),this._button=e,this._input=null,this._disabled=!1,this.enable(),this._rerouteClicks()},AjaxUpload.prototype={setData:function(e){this._settings.data=e},disable:function(){addClass(this._button,this._settings.disabledClass),this._disabled=!0;var e=this._button.nodeName.toUpperCase();"INPUT"!=e&&"BUTTON"!=e||this._button.setAttribute("disabled","disabled"),this._input&&this._input.parentNode&&(this._input.parentNode.style.visibility="hidden")},enable:function(){removeClass(this._button,this._settings.disabledClass),this._button.removeAttribute("disabled"),this._disabled=!1},_createInput:function(){var e=this,t=document.createElement("input");t.setAttribute("type","file"),t.setAttribute("name",this._settings.name),this._settings.multiple&&t.setAttribute("multiple","multiple"),addStyles(t,{position:"absolute",right:0,margin:0,padding:0,fontSize:"480px",fontFamily:"sans-serif",cursor:"pointer"});var a=document.createElement("div");if(addStyles(a,{display:"block",position:"absolute",overflow:"hidden",margin:0,padding:0,opacity:0,direction:"ltr",zIndex:2147483583}),"0"!==a.style.opacity){if(void 0===a.filters)throw new Error("Opacity not supported by the browser");a.style.filter="alpha(opacity=0)"}addEvent(t,"change",(function(){if(t&&""!==t.value){var a=fileFromPath(t.value);!1!==e._settings.onChange.call(e,a,getExt(a))?e._settings.autoSubmit&&e.submit():e._clearInput()}})),addEvent(t,"mouseover",(function(){addClass(e._button,e._settings.hoverClass)})),addEvent(t,"mouseout",(function(){removeClass(e._button,e._settings.hoverClass),removeClass(e._button,e._settings.focusClass),t.parentNode&&(t.parentNode.style.visibility="hidden")})),addEvent(t,"focus",(function(){addClass(e._button,e._settings.focusClass)})),addEvent(t,"blur",(function(){removeClass(e._button,e._settings.focusClass)})),a.appendChild(t),document.body.appendChild(a),this._input=t},_clearInput:function(){this._input&&(removeNode(this._input.parentNode),this._input=null,this._createInput(),removeClass(this._button,this._settings.hoverClass),removeClass(this._button,this._settings.focusClass))},_rerouteClicks:function(){var e=this;addEvent(e._button,"mouseover",(function(){if(!e._disabled){e._input||e._createInput();var t=e._input.parentNode;copyLayout(e._button,t),t.style.visibility="visible"}}))},_createIframe:function(){var e=getUID(),t=toElement('