Untitled

From Rude Madrill, 8 Months ago, written in JavaScript, viewed 18 times.
URL https://paste.lug.ro/view/794794b2 Embed
Download Paste or View Raw
  1.         var gdefViews=new CDefViews();
  2.         var gHist=new Array();
  3.         var histnum=-1;
  4.         var ok=-1;
  5.         InitgdefViews();
  6.         var gNotifier=new ENotify(null);
  7.         gNotifier.onCreate(1);
  8.         function saveHist(idx){
  9.                 if  (parent.FC.pg && (typeof(parent.FC.pg)!="undefined")) {
  10.                         var h=addtohistory(null, parent.FC.pg, 1);
  11.                         EHistory().setData(h,idx);
  12.                 }
  13.         }
  14.        
  15.         function handleUnload(){
  16.                 if(!EHistory().getData())
  17.                         saveHist();
  18.                 if (parent.FC && parent.FC.dispecher && (parent.FC.dispecher.m_soapbrowser == 'mz')) {
  19.                         //alert("zaiavka"+parent.FC.dispecher.GetFileContent("/documents/materiali/unlock.php?materialid=49090"));
  20.                         if (parent.FC.pg && parent.FC.pg.unloadEvents && parent.FC.pg.unloadEvents.length) {
  21.                                 var i, uarr=parent.FC.pg.unloadEvents;
  22.                                 for(var i=0;i<uarr.length; i++) {
  23.                                         if (uarr[i]) {
  24.                                                 if (uarr[i].instance && uarr[i].method) {
  25.                                                         if (parent.FC.pg.m_hashObjects[uarr[i].instance] && parent.FC.pg.m_hashObjects[uarr[i].instance][uarr[i].method]) parent.FC.pg.m_hashObjects[uarr[i].instance][uarr[i].method]();
  26.                                                 } else if (uarr[i].GetFileContent) {
  27.                                                         parent.FC.dispecher.GetFileContent(uarr[i].GetFileContent);
  28.                                                 } else if (uarr[i].request && uarr[i].server && uarr[i].submission) {
  29.                                                         var res=parent.FC.dispecher.Call( "DoAction", -2, uarr[i].request, uarr[i].submission,1, parent.FC.pg.m_strGSoapServer + uarr[i].server);
  30.                                                 }
  31.                                         }
  32.                                 }
  33.                         }
  34.                         parent.FC.dispecher.unloading=1;
  35.                 } //else alert("nema dispecher");
  36.         }
  37.        
  38.         function onHistory(idx, oldidx){
  39.                 if((oldidx > idx) && !EHistory().getData(oldidx)) saveHist(oldidx); // ne bi triabvalo da e problem pri razlichni stranici shtot unload-a triabva da go e popylnil
  40.                
  41.                 var h=parent.FS.window.EHistory().getData(idx);
  42.                
  43.                 var s;
  44.                 var sdir=0;
  45.                 if(idx==oldidx-1) {
  46.                         s=parent.FS.window.EHistory().getSpecial(idx);
  47.                         sdir=-1;
  48.                 }
  49.                
  50.                 if(idx==oldidx+1) {
  51.                         s=parent.FS.window.EHistory().getSpecial(oldidx);
  52.                         sdir=1;
  53.                 }
  54.                 if (!s &&  (oldidx>idx) && (parent.FS.window.EHistory().fromFormClose)) {
  55.                         s=parent.FS.window.EHistory().getSpecial(idx);
  56.                         if (s && (s.targetInstance==parent.FS.window.EHistory().fromFormClose))
  57.                                 sdir=-1;
  58.                         else s=null;
  59.                 }
  60.                 if(s){
  61.                         if(s.callbackInstance) {
  62.                                 var o=parent.FC.pg.m_hashObjects[s.callbackInstance];
  63.                                 if(!o) {
  64.                                         console.log("Object not found!");
  65.                                 }
  66.                                 o[s.method].apply(o, s.args);
  67.                         } else if(s.loadInstance) {
  68.                                 var o=parent.FC.pg.m_hashObjects[s.loadInstance];
  69.                                 if(!o) {
  70.                                         console.log("Object not found!");
  71.                                 }
  72.                                
  73.                                 var histdoc=new top.FC.Sarissa.getDomDocument();
  74.                                 histdoc.loadXML(h.m_strHistory);
  75.                                
  76.                                 var node=histdoc.selectSingleNode("/instances/"+s.loadInstance+"/root");
  77.                                 if (o.Reset ) o.Reset(2);
  78.                                 o.loadFromHistory(node);
  79.                         } else if(s.tabInstance) {
  80.                                 var o=parent.FC.pg.m_hashObjects[s.tabInstance];
  81.                                 if(!o) {
  82.                                         console.log("Object not found!");
  83.                                 }
  84.                                
  85.                                 o.ActivateTab((sdir==1?s.activateTab:s.oldTab), null, null, 1);
  86.                                 var newinstance=parent.FC.pg.m_xmlPageDescr.selectSingleNode("/root/instances/"+parent.FC.pg.m_hashObjects[s.tabInstance].m_Tabs[s.oldTab][0]);
  87.                                 var oldinstance=parent.FC.pg.m_xmlPageDescr.selectSingleNode("/root/instances/"+parent.FC.pg.m_hashObjects[s.tabInstance].m_Tabs[s.activateTab][0]);
  88.                                 newinstance.setAttribute("defaulttab","true");
  89.                                 oldinstance.removeAttribute("defaulttab")
  90.                         } else if(s.callerInstance && s.targetInstance) {
  91.                                 if(sdir<0)
  92.                                         top.FC.pg.Back(s.targetInstance, "close","","","","","0", 0, true);
  93.                                 else
  94.                                         top.FC.pg.CallObject(s.callerInstance, s.strName, "thispage", s.targetInstance, s.strMode, s.strSubmission, s.rowid, s.visId, true); //bug ako si se vyrnal ot mnogo nazad
  95.                         } else {
  96.                                 console.log('Unknown special optimization case, fallback to full page rebuild');
  97.                                 s=null;
  98.                         }
  99.                 }
  100.                
  101.                 if (!s){
  102.                         parent.FC.pg.m_strXmlHistory=h.m_strHistory;
  103.                         parent.FC.pg.m_strHistoryCaller=h.m_strCaller;
  104.                        
  105.                         for(var inst in parent.FC.pg.m_hashObjects){
  106.                                 parent.FC.pg.m_hashObjects[inst].m_div.innerHTML="";
  107.                                 parent.FC.pg.m_hashObjects[inst].m_div.style.display="none";
  108.                                 //parent.FC.pg.m_hashObjects[inst].m_div.style.minHeight="";
  109.                         }
  110.                        
  111.                        
  112.                         parent.FC.loadinit=-1;
  113.                         parent.FC.Screen().centerdiv.innerHTML='';
  114.                         parent.FC.Init(h);
  115.                         return true;
  116.                 }
  117.                 return false;
  118.         }
  119.        
  120.         function recHist(strCaller, strHistory, url,title,framehist){
  121.                 this.m_strCaller=strCaller;
  122.                 this.m_strHistory=strHistory;
  123.                 this.m_url=url;
  124.                 this.m_title=title;
  125.                 this.framehist=(framehist==1 ? 1 :0);
  126.         }
  127.         function addtohistory(strCaller, pg, framehist){               
  128. //              pggarbidgecollector();
  129.                 var h=new recHist(strCaller, pg.getStrInstancesForHistory(), parent.FC.window.location.href, strCaller?pg.getStrTitleForHistory(strCaller):"hist",framehist);
  130.                 if(!framehist) gHist.push(h);
  131.                 /*
  132.                 strP=parent.FC.window.location.pathname;
  133.                 if(gHist[strP]) {
  134.                         delete gHist[strP].m_strCaller;
  135.                         delete gHist[strP].m_strHistory;
  136.                         delete gHist[strP];                                            
  137.                 }
  138.                 gHist[strP]=new recHist(strCaller, pg.getStrInstancesForHistory());
  139.                 */
  140.                 if(!framehist) ClearForwardHistory(0);
  141.                 return h;
  142.         }
  143.         function ClearForwardHistory(ret) {
  144.                 if (histnum > -1) {
  145.                         for (i=gHist.length-1; i>=histnum ; i--) {
  146.                         /*
  147.                                 delete gHist[i].m_strCaller;
  148.                                 delete gHist[i].m_strHistory;
  149.                                 delete gHist[i];
  150.                                 */ gHist.pop();
  151.                         }
  152.                         var res;
  153.                         var dshg=parent.FC.window.document.getElementById('divShowPath');
  154.                         if (ret) res=gHist.pop();
  155.                         if (dshg) dshg.innerHTML=getHistContent();
  156.                         histnum = -1;
  157.                         return res;
  158.                 }
  159.                 if (ret) return gHist.pop();
  160.         }
  161.        
  162.         function addtohistoryfrommenu(href, title){            
  163.                 gHist.push(new recHist(null, null, href,title));
  164.                 histnum = -1;
  165.         }
  166.         function getBack(){            
  167.                 if (histnum>-1) {
  168.                         return gHist[histnum-1].m_url;
  169.                 } else {
  170.                         return gHist[gHist.length-1].m_url;
  171.                 }
  172.         }
  173.         function getHistory(hi){               
  174.                 //var ret=gHist[parent.FC.window.location.pathname];
  175.                 //delete gHist[parent.FC.window.location.pathname];            
  176.                 if (hi) {
  177.                         histnum=hi-1;
  178.                         return gHist[histnum];
  179.                 } else {
  180.                         return ClearForwardHistory(1);
  181.                 }
  182.         }
  183.         function pggarbidgecollector(){        
  184.                 var l=0, z=0;
  185.                 for (var i in gHist) l++;//da stane gHist.items.length;
  186.                 for (var i in gHist) {
  187.                         z++;  
  188.                         if( (l-z)>=3 ){                        
  189.                                 delete gHist[i].m_strCaller;
  190.                                 delete gHist[i].m_strHistory;
  191.                                 delete gHist[i];
  192.                         }
  193.                 }
  194.         }
  195.         function iterate(){
  196.                 str="len: "+gHist.length+"\nhistnum:"+histnum+"\n";
  197.                 for (var i in gHist) str=str+i+" : "+gHist[i].m_title+"\nurl: "+gHist[i].m_url+"\nCaller: "+gHist[i].m_strCaller+"\nHistory: "+gHist[i].m_strHistory+"\n";
  198.                 alert(str);
  199.         }
  200.         function getHistContent(){
  201.                 //if (gHist.length==1) histnum=0;
  202.                 var str='<div style="width: 100%;"><table class="frmcontainer" width="100%"><tbody><tr><td><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td>';
  203.                 str=str+'<table class="toolbarcontent" id="g_showpath" width="100%"><tbody><tr><td id="lastview_1">'
  204.                 for (i=0;i<gHist.length;i++)
  205.                         if (gHist[i] && gHist[i].m_title) str=str+'<a href="javascript:void();" onclick="parent.FS.window.GoToHist('+i+');return false;" '+(i==((histnum == -1 && gHist.length==1)? 0 : histnum) ? 'style="color: Gray;"':'')+'>'+gHist[i].m_title+'</a>&nbsp/&nbsp';  
  206.                 str=str+'&nbsp</td></tr></tbody></table></td></tr></tbody></table></td></tr></tbody></table></div>';
  207.                 return str;
  208.         }
  209.         function GoToHist(i) {
  210.                 if (histnum<0) addtohistory(parent.FC.dispecher.GetLastInstance(), parent.FC.pg );
  211.                 parent.FC.window.location=AddParamtoURL(gHist[i].m_url,"hist",i+1);
  212.         }
  213.        
  214.         function ClearHistory(){
  215.                 gHist= new Array();
  216.         /*
  217.                 for (var i in gHist) {
  218.                         delete gHist[i].m_strCaller;
  219.                         delete gHist[i].m_strHistory;
  220.                         delete gHist[i];
  221.                 }
  222.                 */
  223.         }
  224.  

Reply to "Untitled"

Here you can reply to the paste above

captcha