📄 ecside.js
字号:
(function(){ window.undefined = window.undefined; window.isIE=!!(window.attachEvent && !window.opera); if (window.isIE) { window.attachEvent('onunload', $_IEGC); /* window.attachEvent('onload', $_IEGC); */ } if ($_E){ $_E_original=$_E; } if (!window.isIE && window.Node){ Node.prototype.swapNode=function(node){ var nextSibling=this.nextSibling; var parentNode=this.parentNode; node.parentNode.replaceChild(this,node); parentNode.insertBefore(node,nextSibling); }; } if (!window.isIE && window.HTMLElement){ HTMLElement.prototype.__defineGetter__("innerText", function(){ return this.textContent;}); }})();function $_IEGC(){ CollectGarbage();}var ECSideConstants={ EMPTY_FUNCTION : function(){}, EC_ID : "ec", ETI_ID : "eti", ETI_PAGE_FLAG : "eti_p", SORT_PREFIX : "_s_", FILTER_PREFIX : "_f_", ACTION : "a", FILTER_ACTION : "fa", CLEAR_ACTION : "ca", PAGEFIELD_SUFFIX : "_p", EXPORT_IFRAME_SUFFIX : "_ecs_export_iframe", SHADOW_ROW : "_shadowRow", HIDE_HEADER_ROW : "_hideListRow", DEFALUT_ADD_TEMPLATE : "add_template", AJAX_ZONE_BEGIN : "_begin_ ", AJAX_ZONE_END : " _end_", AJAX_ZONE_PREFIX : "<!-- ECS_AJAX_ZONE_PREFIX_", AJAX_ZONE_SUFFIX : "_ECS_AJAX_ZONE_SUFFIX -->", MIN_COL_WIDTH : 10, SCROLLBAR_WIDTH :18, SCROLL_SPEED : 50, MIN_COLWIDTH : "30", AJAX_HEADER :['useAjaxPrep','true'], ROW_HIGHLIGHT_CLASS : "highlight", ROW_SELECTLIGHT_CLASS : "selectlight", DRAG_BUTTON_COLOR : "#3366ff", HEAD_ZONE_SUFFIX : "_headZone", BODY_ZONE_SUFFIX : "_bodyZone", FOOT_ZONE_SUFFIX : "_footZone", LIST_HEIGHT_FIXED : window.isIE?0:0 , LIST_WIDTH_FIXED : window.isIE?0:1 , IE_WIDTH_FIX_A : 1, IE_WIDTH_FIX_B : 2, FF_WIDTH_FIX_A : -3, FF_WIDTH_FIX_B : -6, OFFSET_A : 2};var $_E=function(){ var elements = []; for (var i = 0; i < arguments.length; i++) { var element = arguments[i]; if (typeof(element) == 'string') { var elemId=element; element = document.getElementById(elemId); if (element==null){ element = document.getElementsByName(elemId); if (element.length>0){ element=element[0]; }else{ element=null; } } } if (arguments.length == 1) {return element;} elements.push(element); } return elements;};var ECSideList={};var ECSide=function(formid){ var Me=this; Me.findAjaxZoneAtClient=false; Me.ETI_ID=ECSideConstants.ETI_ID; Me.ETI_PAGE_FLAG=ECSideConstants.ETI_PAGE_FLAG; Me.MIN_COL_WIDTH=80; Me.onLoad=null; if (!formid||formid==''){ formid=ECSideConstants.EC_ID; } Me.id=formid; Me.EXPORT_IFRAME_ID=formid+ ECSideConstants.EXPORT_IFRAME_SUFFIX; Me.SHADOWROW_ID=formid+ECSideConstants.SHADOW_ROW; Me.ECForm=null; Me.ECMainContent=null; Me.selectedRow=null; Me.sortedColumn=null; Me.sortType="default"; Me.sortedColumnHearderId=null; Me.afterFillForm=null; //Me.resizeWay="resizeSibling"; Me.resizeWay="resizeTable"; Me.listWidth=0; Me.isClassic=false; Me.canResizeColWidth=false; Me.useAjax=true; Me.doPreload=true; Me.doPreloadPrev=false; Me.doPrep="temp"; Me.doPrepPrev="temp"; Me.isDebug=false; Me.prepState={next : 0 ,prev : 0}; Me.prepPage={next : 0 ,prev : 0}; Me.prepareaName={}; Me.pageFieldName=Me.id + ECSideConstants.PAGEFIELD_SUFFIX; Me.totalPagesFieldName=Me.id+"_totalpages"; Me.prepareaName['next']=Me.id+"_ec_preparea_n"; Me.prepareaName['prev']=Me.id+"_ec_preparea_p"; Me.scrollList=false; Me.orgListHeight=0; Me.listHeight=0; Me.minHeight=0; Me.columnNum=0; ECSideList[formid]=Me; Me.buildPrepArea=function(){ if (!Me.doPreload){ return; } var hasPrepareaNext=document.getElementById(this.prepareaName['next']); if (!hasPrepareaNext){ var ta=document.createElement("textarea"); ta.id=this.prepareaName['next']; ta.disabled=true; ta.style.display="none"; document.body.appendChild(ta); } var hasPrepareaPrev=document.getElementById(this.prepareaName['prev']); if (!hasPrepareaPrev){ var tb=document.createElement("textarea"); tb.id=this.prepareaName['prev']; tb.disabled=true; tb.style.display="none"; document.body.appendChild(tb); } /* for Debug */ if(Me.isDebug){ ta=document.getElementById(this.prepareaName['next']); tb=document.getElementById(this.prepareaName['prev']); ta.disabled=false; ta.style.display="inline"; ta.rows=10; ta.cols=50; tb.disabled=false; tb.style.display="inline"; tb.rows=10; tb.cols=50; } }; Me.goPage=function(){ var newPageNO = $_E(Me.pageFieldName).value; var key=null; if(newPageNO==Me.prepPage['next'] && Me.prepState['next']==2){ key='next'; }else if(newPageNO== Me.prepPage['prev'] && Me.prepState['prev']==2 && Me.doPreloadPrev){ key='prev'; } if (key!==null){ try{ var newhtml=$_E(Me.prepareaName[key]).value; if (newhtml==''){ $_E(Me.id).submit(); return; } Me.ECMainContent.innerHTML=newhtml; Me.prepState[key]=0; Me.init(); var originalRequest={}; originalRequest.responseText=newhtml; if (Me.afterFillForm && typeof(Me.afterFillForm)=="function"){ Me.afterFillForm(originalRequest); } window.setTimeout(Me.ajaxPrepSubmit,10); if (typeof(Me.onLoad)=="function"){ Me.onLoad(); } Me.handleResize(); Me.hideWaitingBar(); }catch(ex){ $_E(Me.pageFieldName).value=newPageNO; Me.ajaxSubmit(); /* $_E(Me.id).submit(); */ } }else{ /* $_E(Me.id).submit(); */ Me.ajaxSubmit(); } }; Me.dealResponse={ 'next' : function(originalRequest){ $_E(Me.prepareaName['next']).value =ECSideUtil.cutText(originalRequest.responseText,Me.id); Me.prepState['next']=2; Me.doingAjaxSubmit=false; }, 'prev' : function(originalRequest){ $_E(Me.prepareaName['prev']).value =ECSideUtil.cutText(originalRequest.responseText,Me.id); Me.prepState['prev']=2; Me.doingAjaxSubmit=false; } }; Me.ajaxPrepSubmit=function(){ if (!Me.doPreload){ return; } Me.ajaxPrep(1); Me.ajaxPrep(-1); }; Me.ajaxPrep=function(which){ var key; if (which==1){ key='next'; }else if (which==-1 && Me.doPreloadPrev){ key='prev'; }else{ return; } Me.prepState[key]=1; Me.prepPage[key]=$_E(Me.pageFieldName).value/1+which; if (Me.prepPage[key]<1 || Me.prepPage[key]>($_E(Me.totalPagesFieldName).value/1)) { return; } $_E(Me.pageFieldName).value=Me.prepPage[key]; Me.ajaxSubmit(Me.dealResponse[key],true); $_E(Me.pageFieldName).value=Me.prepPage[key]-which; }; Me.doingAjaxSubmit=false; Me.ajaxSubmit=function(resfunc,asy,parameter){ if (!Me.useAjax){ Me.ECForm.submit(); return; } if (!asy){ asy=false; } if (!resfunc){ resfunc=Me.fillForm; } if(!asy && Me.doingAjaxSubmit){ /* alert("the last ajax request is not complete. try later."); return; */ } Me.doingAjaxSubmit=true; /* fix a prototype bug */ //pars=pars+'&'+appPara; //pars=pars.replace(/(^|&)_=(&|$)/g,'$1'+'$2'); //pars=pars.replace(/&+/g,'&'); /* end of fix a prototype bug */ //alert(url+" "+pars) //ECSideUtil.formSubmit(Me.ECForm,resfunc,"post",asy,parameter); if (Me.findAjaxZoneAtClient===false){ if (!parameter){ parameter={}; } if (typeof(parameter)=='string'){ parameter+="&findAjaxZoneAtClient=false&"; }else{ parameter.findAjaxZoneAtClient="false"; } } Form.request(Me.ECForm,{method:'post', requestHeaders:ECSideConstants.AJAX_HEADER, asynchronous: asy, parameters: parameter, onComplete :resfunc }); }; Me.fillForm=function(originalRequest){ var newhtml=ECSideUtil.cutText(originalRequest.responseText,Me.id); if (newhtml==''){ Me.hideWaitingBar(); return; } if (newhtml.indexOf("Exception:")==0){ Me.hideWaitingBar(); Me.ECMainContent.innerHTML=newhtml; return; } Me.ECMainContent.innerHTML=newhtml; Me.init(); if (Me.afterFillForm && typeof(Me.afterFillForm )=="function"){ Me.afterFillForm(originalRequest); } Me.doingAjaxSubmit=false; Me.handleResize(); Me.hideWaitingBar(); /* Me.initList(); if (typeof(Me.onLoad)=="function"){ Me.onLoad(); } */ }; Me.currentShadowRowParent=null; Me.currentShadowEventSrc=null; Me.autoCloseOtherShadowRow=true; Me.getTotalPage=function(){ return Me.ECForm[Me.totalPagesFieldName].value/1; }; Me.getPageNo=function(){ if (!Me.ECForm[Me.pageFieldName]){ return 1; } return Me.ECForm[Me.pageFieldName].value/1; }; Me.setPageNo=function(pageNo){ Me.ECForm[Me.pageFieldName]=pageNo; }; Me.showShadowRowCallBack=function(formid,crow,shadowRow,eventSrc){}; Me.hideShadowRowCallBack=function(formid,crow,shadowRow,eventSrc){}; Me.firstShowShadowRowCallBack=function(formid,crow,shadowRow,eventSrc){}; Me.beforeFilter=function(formid){}; Me.beforeSave=function(formid){}; Me.beforeSubmit=function(formid,crow,shadowRow,eventSrc){}; Me.init=function(){ Me.ECForm=document.getElementById(Me.id); if (!Me.ECForm) { /* alert("ERR: tableId=\""+Me.id+"\" not exist!"); */ return; } Me.doPreload=Me.doPrep=="temp"?Me.doPreload:Me.doPrep; Me.doPreloadPrev=Me.doPrepPrev=="temp"?Me.doPreloadPrev:Me.doPrepPrev; Me.DEFAULT_ACTION=Me.ECForm.getAttribute("action"); Me.ECMainContent=document.getElementById(Me.id+"_main_content"); if (window.isIE){ var hideHeader=document.getElementById(Me.id+ECSideConstants.HIDE_HEADER_ROW); if (hideHeader){ hideHeader.style.display="none"; } } if (window.frameElement && window.frameElement.name==Me.EXPORT_IFRAME_ID){ Me.ECForm.style.visibility ="visible"; ECSideUtil.printFrame(window.frameElement.contentWindow); return; } if (Me.sortedColumnHearderId){ var sortedHeader=document.getElementById(Me.sortedColumnHearderId); if (sortedHeader && Me.sortType && Me.sortType!='' && Me.sortType!='default' ){ var newHtml=ECSideUtil.trimString(sortedHeader.innerHTML,-1)+" <div class=\"sort"+Me.sortType.toUpperCase()+"\"></div>"; sortedHeader.innerHTML=newHtml; } } if (!Me.useAjax){ Me.doPreload=false; } if (typeof(Me.ajaxSubmit)!="function"){ Me.useAjax=false; Me.ajaxSubmit=function(){ Me.ECForm.submit(); }; } if (Me.useAjax){ Me.buildPrepArea(); Me.ajaxPrepSubmit(); } Me.ECListHeadZone=document.getElementById(Me.id+ ECSideConstants.HEAD_ZONE_SUFFIX); Me.ECListBodyZone=document.getElementById(Me.id+ ECSideConstants.BODY_ZONE_SUFFIX); Me.ECListHead=document.getElementById(Me.id+"_table_head"); Me.ECListBody=document.getElementById(Me.id+"_table_body"); Me.ECListFoot=document.getElementById(Me.id+"_table_foot"); Me.ECListToolbarTable=document.getElementById(Me.id+"_toolbarTable"); Me.ECListToolbarShadow=document.getElementById(Me.id+"_toolbarShadow"); if (Me.ECListToolbarTable){ Me.ECListToolbarShadow.style.height=Me.ECListToolbarTable.offsetHeight+ 2 +"px"; } Me.orgListHeight=Me.ECListBody.scrollHeight; Me.initWaitingBar(); Me.initList(); Me.columnHandler(); Me.listWidth=Me.ECListHead.parentNode.clientWidth; Me.listHeight=Me.orgListHeight; Me.ECForm.style.visibility ="visible"; };Me.waitingBar=null;Me.waitingBarCore=null;Me.waitingShowTimes=0;Me.initWaitingBar=function(){ Me.waitingShowTimes=0; Me.waitingBar=document.getElementById(Me.id+"_waitingBar"); Me.waitingBar.setAttribute("big","false"); Me.waitingBarCore=document.getElementById(Me.id+"_waitingBarCore"); Me.waitingBarCore.innerHTML=ECSideMessage.WAITTING_MSG; var wLeft=ECSideUtil.getPosLeft(Me.ECForm); var wTop=ECSideUtil.getPosTop(Me.ECForm); Me.waitingBar.style.left=wLeft+"px"; Me.waitingBar.style.top=wTop+"px";};Me.resizeWaitinBar=function(){ if (Me.waitingBar && Me.waitingBar.getAttribute("big")=="true"){ var w=Me.ECForm.offsetWidth; var h=Me.ECForm.offsetHeight; var cw=Me.waitingBarCore.offsetWidth; var ch=Me.waitingBarCore.offsetHeight; Me.waitingBar.style.width=w +"px"; Me.waitingBar.style.height=h-2 +"px"; Me.waitingBarCore.style.left= parseInt(Me.waitingBar.style.left)+(w-cw-50)/2 + "px"; Me.waitingBarCore.style.top=parseInt(Me.waitingBar.style.top)+ (h-ch-40)/2 + "px"; }};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -