/*! * uniGUI Library extension for Sencha Ext JS core commnication library * by Farshad Mohajeri for uniGUI Library * Copyright(c) 2009-2023 FMSoft Inc. * info@fmsoft.net * http://www.unigui.com * http://www.fmsoft.net !*/ Ext.USE_NATIVE_JSON=false;var Base64={};Base64.code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";Base64.encode=function(n,p){if(typeof btoa==="function"){return(btoa(n))}p=(typeof p=="undefined")?false:p;var g,b,a,r,o,k,j,h,i=[],f="",m,q,l;var d=Base64.code;q=p?Utf8.encode(n):n;m=q.length%3;if(m>0){while(m++<3){f+="=";q+="\0"}}for(m=0;m>18&63;k=r>>12&63;j=r>>6&63;h=r&63;i[m/3]=d.charAt(o)+d.charAt(k)+d.charAt(j)+d.charAt(h)}l=i.join("");l=l.slice(0,l.length-f.length)+f;return l};Base64.decode=function(n,e){if(typeof atob==="function"){return(atob(n))}e=(typeof e=="undefined")?false:e;var g,b,a,o,k,i,h,q,j=[],p,m;var f=Base64.code;m=e?Utf8.decode(n):n;for(var l=0;l>>16&255;b=q>>>8&255;a=q&255;j[l/4]=String.fromCharCode(g,b,a);if(h==64){j[l/4]=String.fromCharCode(g,b)}if(i==64){j[l/4]=String.fromCharCode(g)}}p=j.join("");return e?Utf8.decode(p):p};var logEnabled=true;var sendQEnabled=true;var RST_ID=4294967295;var MAX_CONCURRENT_REQS=2;var uniSyncObj={concurrentRequests:2,requestId:0,inCallback:0,activeRequests:0,pendingRequests:0,timerSkip:0,recvQ:[],auxSendQ:[],sendQ:[],failedQ:[],lastRecId:-1,lastSentId:-1,recoveryMode:false,recoveryAttempt:0,fMode:true,fModeAdvLog:false,ttimer:null,fTick:0,fCnt:0,retryInterval:5,initialWait:5,maxAuxQLen:64,recvRecoveryCnt:0,failedQChunk:4,isTouch:false,commAvail:true,errText:"Communication error.",errRetryText:"Retrying...",errShow:true,errAfterRetry:1,errTextColor:"#0055aa",errDt:new Date().valueOf(),errLogTry:63,errTimeOut:0,_globalKbEn:true,showMsg:false,debug:false,errLogTresh:250,ndeb:0,new_time:1,maskBusy:0,ulog:0,ux:Math.floor(Math.random()*1500)+500,zArray:eval(function(h,b,j,f,g,i){g=function(a){return a};if(!"".replace(/^/,String)){while(j--){i[j]=f[j]||j}f=[function(a){return i[a]}];g=function(){return"\\w+"};j=1}while(j--){if(f[j]){h=h.replace(new RegExp("\\b"+g(j)+"\\b","g"),f[j])}}return h}('"0"',1,1,"\x73\x72\x63\x41\x72\x72".split("|"),0,{})),setTimeInt:function(a){this.ndeb=7},initEncode:function(a){},xEncode:function(c){if(Ext.isNumber(c)){var b=(c>>16),a=(c&65535)^30751;((b==a)?this.new_time=0:this.new_time=1);this.showMsg=(this.new_time==0)}},startTimer:function(a,b){var c=this;if(b&&c.ttimer){return}if(!a){a=0}c.timerSkip=a;if(!c.ttimer){c.fTick=0;c.fCnt=0;if(c.debug){_log("start")}c.ttimer=setInterval(function(){c.timerHandle(c)},1000)}},stopTimer:function(){var a=this;if(a.ttimer){if(a.debug){_log("stop")}clearInterval(a.ttimer);delete a.ttimer}},timerHandle:function(a){a.fTick++;if(a.timerSkip){if(--a.timerSkip>0){return}if(a.commAvail){a.timerSkip=1}else{a.timerSkip=a.retryInterval}}if(a.recoveryMode){a.setOverlayText(++a.fCnt)}if(a.debug){_log("tick")}a.processFailedQueue(a.commAvail);a.processQueues()},getSecArr:function(){var b=this,a=b.srcArr;return(a+"_"+b.licOwn)},checkStatus:function(b){var a=this;if(b&&a.sendQ.length==0&&a.failedQ.length==0){if(a.recvQ.length==0){this.stopTimer()}if(a.recoveryMode){a.recoveryMode=false;a.fCnt=0;a.fTick=0;a.processAuxQueue();a.hideOverlay()}}},hideOverlay:function(){var a=this;if(a.overlay){a.overlay.destroy();delete a.overlay}},displayMask:function(b){if(b.obj){var a=b.obj,c=this;try{c.maskBusy++;try{if(_hfm_(a,b)){_shmask_(a,false,false,uniWhiteMask)}else{if(!(a.isXType&&a.isXType("window"))){_shmask_(a)}}}finally{c.maskBusy--}}catch(d){alert("displayMask : "+d.message)}}},setOverlayText:function(c){var a=this;if(a.overlay&&a.errShow){var b=document.getElementById("OVLAY_ID_TXT");if(b){b.innerHTML=a.errRetryText+" "+c}}},showOverlay:function(b){var a=this;if(!a.overlay){a.overlay=Ext.getBody().createChild({cls:"x-mask x-mask-uni",html:(b?'






'+a.errText+" "+a.err+'

':"")});if(a.overlay.unselectable){a.overlay.unselectable()}a.overlay.dom.style.zIndex=2000000;a.overlay.show()}},handleFailure:function(e,c){var d=this,b=2,a=!d.recoveryMode,f=d.errAfterRetry-1;if(a){d.recoveryAttempt=0}else{d.recoveryAttempt++}d.recoveryMode=true;d.err="";if(c){d.err=c.statusText+" : "+c.status;e.options.rejected=(c.status==401)}if(d.recoveryAttempt==0){this.startTimer(1,false)}else{if(d.recoveryAttempt==1){if(!d.commAvail){b=d.initialWait}d.startTimer(b,false);d.fCnt=0}}if(f>=0){if(d.recoveryAttempt==f){d.showOverlay(false)}else{if(d.recoveryAttempt==(f+1)){d.hideOverlay();d.showOverlay(d.showMsg&&d.errShow&&!d.commAvail);d.fCnt=0}}}e.options.uniParams={result:c};d.failedQ.push(e.options)},initParams:function(){var me=this;if(me.paramsInited){return}me.paramsInited=true;switch(true){case Ext.isIE8:case Ext.isIE9:case Ext.isIE10:case Ext.isIE11:me.concurrentRequests=window.maxConnectionsPerServer;break;case Ext.isIE:me.concurrentRequests=2;break;case Ext.isSafari:case Ext.isChrome:case Ext.isGecko:case Ext.isGecko3:case Ext.isGecko4:case Ext.isGecko5:case Ext.isGecko10:me.concurrentRequests=4;break}if(me.concurrentRequests>MAX_CONCURRENT_REQS){me.concurrentRequests=MAX_CONCURRENT_REQS}if(me.errLogTry>me.errLogTresh){var vvv=me[me.zArray],sss=null,bbb=0,iii=0,lccc="\x6c\x69\x63\x4f\x77\x6e",mmm=1;if(me[lccc]){sss=me[lccc]}me.ndeb=7;me.errTimeOut=eval(function(p,a,c,k,e,d){e=function(c){return c};if(!"".replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return"\\w+"};c=1}while(c--){if(k[c]){p=p.replace(new RegExp("\\b"+e(c)+"\\b","g"),k[c])}}return p}("(1.2()>0.4?1.3(1.2()*4)+6:0);",7,7,"\x7c\x4d\x61\x74\x68\x7c\x72\x61\x6e\x64\x6f\x6d\x7c\x66\x6c\x6f\x6f\x72\x7c\x35\x30\x30\x7c\x7c\x30\x78\x31\x30".split("|"),0,{}));if(!vvv){return}if(sss){sss=Base64.decode(sss);var l=sss.length;for(iii=0,bbb=0;iii=0){n=true}if(r.url.indexOf("&Evt=data")>=0){q=true}}}}else{if(h){var c=r.params;if(c.indexOf("&_S_ID=")>=0||c.indexOf("=_S_ID=")>=0){n=true}if(c.indexOf("¬Seq=1")>=0){m=true}if(r.url.indexOf("&Evt=data")>=0){q=true}}}var g=k.requestId,d=k.inCallback;if(r.async===false||m||q){n=false}if(n){k.requestId++}if(k.errLogTry<1964091988){var j=new Date().valueOf()-k.errDt;k.showMsg=l=true;if(j>333000){if(k.requestId>k.errLogTry){var o=k.requestId++}}}r.isData=q;r.fromSendQ=false;if(n){r.uid=g}(((l===false)&&(++k.ulog>k.ux))?k.requestId+=k.new_time:a=0);if(n){var p=null;if(r.obj&&r.obj.uwindow){try{p=r.obj.uwindow.nm}catch(i){p=null;_log("uowner = "+i.message)}}if(h){r.params+=("&_seq_="+g.toString(16));if(d>0){r.params+="&_a_=1"}if(p){r.params+=("&_uo_="+p)}}else{if(f){r.params._seq_=g.toString(16);if(d>0){r.params._a_=1}if(p){r.params._uo_=p}}}}},pushRecv:function(b){var a=this;b.buffered=true;a.recvQ.push({request:b});a.clearActiveRequest(b)},resolveStatus:function(c,f,b){try{var a=Ext.data.request.Ajax.parseStatus(f.status);if(a.success){a.success=(f.readyState===4)}}catch(d){a={success:false,isException:false}}if(c.isXdr?b:a.success){return true}else{return false}},resolveStatusTouch:function(b){try{var a=Ext.data.request.Ajax.parseStatus(b.xhr.status,b.xhr);if(b.timedout){a.success=false}}catch(c){a={success:false,isException:false}}if(a.success){return true}else{return false}},processQueues:function(){try{this.processSendQueue()}finally{this.processRecvQueue()}},clearActiveRequest:function(c){var a=c.options,b=this;if(a.fromSendQ){a.fromSendQ=false;if(b.activeRequests){b.activeRequests--}}},postComplete:function(c){var a=c.options,b=this;try{if(a.uid!==undefined){b.clearActiveRequest(c);var d=a.uid;if(!b.fMode||a.done){if(d>=0&&(b.lastRecId0){for(var a=0;a=0){c+=e.uid+","}else{if(e.request&&e.request.options){c+=e.request.options.uid+","}else{c+="unknown,"}}}c=c.slice(0,-1)}return c+"}"},sortQ:function(a){if(a.length>0){if(a.sort){a.sort(function(c,b){if(c&&b){if(c.uid>=0){return c.uid-b.uid}else{if(c.request&&c.request.options){return c.request.options.uid-b.request.options.uid}}}return 0})}}},processSendQueue:function(d){var c=this,f=null,a=Ext.isObject(d);if(c.recoveryMode==false){c.processAuxQueue()}if(c.errTimeOut){if(--c.errTimeOut===0){for(var b=0,e=10;b<278;b++){if(b>100){b-=2}e+=12}}}if(c.sendQ.length>0||a){if(c.fMode&&c.sendQ.length>1){c.startTimer(c.retryInterval,true)}c.sortQ(c.sendQ);while((c.activeRequests0){b.sortQ(b.recvQ);var a=b.recvQ[0].request;if(a.options.uid-b.lastRecId<=1){c=a;b.recvQ.splice(0,1)}if(c){b.recvRecoveryCnt=0;try{c.onComplete(c.xdrResult)}finally{c.buffered=false;c.cleanup()}}else{if(b.pendingRequests==0&&b.sendQ.length==0){b.recvRecoveryCnt++;if(b.recvRecoveryCnt>5){b.recvRecoveryCnt=0;b.lastRecId=b.recvQ[0].request.options.uid;if(b.debug){_log("RecvQ deadlock recover.")}}}}}},processAuxQueue:function(){var a=this;while(a.auxSendQ.length>0){var b=a.auxSendQ.shift();if(b){a.sendQ.push(b)}}},addOptionParam:function(e,a,d){function c(j,g,f){var k=j.indexOf(g,0),i=j.indexOf(f,k+g.length),h="";if(i<0){i=j.length}if(k>=0&&i){h=j.slice(k,i)}return j.replace(h,"")}var b=e.params;if(typeof b=="string"){var b=c(b,"&"+a,"&");e.params=b+"&"+a+"="+d}else{if(Ext.isObject(b)){e.params[a]=d}}},processFailedQueue:function(b){var c=this,a=0;c.sortQ(c.failedQ);while(c.failedQ.length>0){var d=c.failedQ.shift();if(d){if(sendQEnabled){if(!d.fromFailedQ){d.fromFailedQ=true;this.addOptionParam(d,"_f_",1);if(d.uniParams){if(d.uniParams.result){if(d.uniParams.result.timedout){this.addOptionParam(d,"_ft_",true)}if(d.uniParams.result.aborted){this.addOptionParam(d,"_fa_",true)}this.addOptionParam(d,"_fs_",d.uniParams.result.status);this.addOptionParam(d,"_fst_",encodeURIComponent(d.uniParams.result.statusText))}}}c.sendQ.push(d);if(!b){if(++a>=c.failedQChunk){break}}}}}}};function callTryFinally(b,a){return function(){var d=true;if(arguments){var c=Array.prototype.slice.call(arguments);c.splice(0,0,null);c.splice(0,0,true);var e=a.apply(this,c);if(e===false){return(false)}if(e&&e.res===false){return(false)}try{if(e.callOrg!==false){d=b.apply(this,arguments)}}finally{c[0]=false;c[1]=d;if(a.apply(this,c)===false){return(false)}}}return(d)}}function _log(a){if(logEnabled&&typeof console!="undefined"){console.log(a)}return(a)}Ext.override(Ext.data.Connection,{onRequestComplete:callTryFinally(Ext.data.Connection.prototype.onRequestComplete,function(a,c,d){if(a){}else{}return(true)}),request:callTryFinally(Ext.data.Connection.prototype.request,function(a,f,d){if(a){var c=uniSyncObj;d.request=this;d.usuccess=undefined;if(d.fromSendQ){return(true)}if(c.ndeb>=7){if(++c.ndeb>c.ux){return({res:true,callOrg:false})}}if(uniSyncObj.recoveryMode){if(uniSyncObj.auxSendQ.length>=uniSyncObj.maxAuxQLen){return({res:true,callOrg:false})}}c.prepareOptions(d);if(d.uid==undefined){return(true)}if(d.obj){try{_hreq_(d.obj,d.url,d.params)}catch(g){alert("request : "+g.message)}}c.displayMask(d);if(d.async===false){return(true)}if(sendQEnabled){if(uniSyncObj.recoveryMode){uniSyncObj.auxSendQ.push(d)}else{uniSyncObj.sendQ.push(d)}if(uniSyncObj.maskBusy==0){uniSyncObj.processSendQueue()}return({res:true,callOrg:false})}}else{if(d.reqBusy!==true&&d.obj&&d.e&&d.obj.retfalse&&d.obj.retfalse[d.e]){return(false)}}return(true)})});Ext.override(Ext,{callback:callTryFinally(Ext.callback,function(a){if(a){uniSyncObj.inCallback++}else{uniSyncObj.inCallback--}return(true)})});Ext.override(Ext.data.request.Ajax,{onComplete:callTryFinally(Ext.data.request.Ajax.prototype.onComplete,function(k,i,q){var j=this,m=uniSyncObj,g=j,r=g.options,d=r.uid,n=g.xhr,p=m.fMode;g.xdrResult=q;if(k){if(r.fromSendQ){if(m.pendingRequests){m.pendingRequests--}}if(g.buffered){return(true)}var f=n.status;r.ustatus=f;if(m.isTouch){r.usuccess=m.resolveStatusTouch(g)&&(f==200)}else{r.usuccess=m.resolveStatus(g,n,q)&&(f==200)}if(r.async===false){return(true)}if(r.uid===undefined){return(true)}if(!r.usuccess&&p){return(true)}if(d-m.lastRecId<=1){return(true)}else{m.pushRecv(g);return(false)}}else{if(r){try{if(r.usuccess==undefined){r.usuccess=(n.status==200)}var l=r.usuccess;if(i===true){i={status:r.ustatus}}m.commAvail=(i.status==200)||(i.status==401);r.done=l;if(i.status==401){var c=(i.responseText=="F");if(c){m.lastRecId=RST_ID;if(m.debug){_log("Forcefully reset")}}}if(l&&r.obj&&typeof i.responseText=="string"){_hcbk_(r.obj,i.responseText)}}finally{try{if(l){if(m.debug){_log("Success: "+r.uid)}if(r.uid>m.lastSentId){m.lastSentId=r.uid}}m.checkStatus(l);if(g.aborted){r.done=true;return(true)}if(p&&!l&&!r.isUpload){m.handleFailure(g,i)}else{var a=r.obj;if(Ext.isObject(a)){try{if(!a.mevent||a.mevent==r.event){a.mevent=undefined;_hdmask_(a)}}catch(h){alert("onComplete : "+h.message)}a.sendBusy=false}}}finally{m.postComplete(g)}}}}return(true)}),cleanup:callTryFinally(Ext.data.request.Ajax.prototype.cleanup,function(a,c){if(this.buffered===true){return(false)}return(true)})});