⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pagingtreeloader-min.js

📁 分页树的实现分页树的实现分页树的实现分页树的实现分页树的实现分页树的实现分页树的实现分页树的实现分页树的实现分页树的实现分页树的实现
💻 JS
字号:
Ext.ns("Ext.ux.tree");Ext.ux.tree.PagingTreeLoader=function(A){this.pagingModel=A.pagingModel||"local";this.pageSize=A.pageSize||20;this.pagingTreeToolbar=new Ext.ux.tree.PagingTreeToolbar(A);this.pagingTreeToolbar.render(document.body);this.pagingTreeToolbar.hide();Ext.ux.tree.PagingTreeLoader.superclass.constructor.apply(this,arguments)};Ext.extend(Ext.ux.tree.PagingTreeLoader,Ext.tree.TreeLoader,{doPreload:function(E){var F=E.attributes.pagingInfo;if(F==undefined){E.attributes.pagingInfo=F={limit:this.pageSize,start:0}}if(this.pagingModel=="local"){var C=E.attributes.children;if(C){var B=F.limit;var H=F.start;var D=F.total=C.length;E.beginUpdate();for(var A=(H+B);H<A&&H<D;H++){var G=E.appendChild(this.createNode(C[H]));if(this.preloadChildren){this.doPreload(G)}}E.endUpdate();this.showToolbar(E,true);return true}}Ext.apply(this.baseParams,F);return false},processResponse:function(response,node,callback){var json=response.responseText;try{var o=eval("("+json+")");var total;var pi=node.attributes.pagingInfo;if(Ext.isArray(o)){pi.total=o.length}else{pi.total=o.total||o.nodes.length;o=o.nodes}if(this.pagingModel=="local"){node.attributes.children=o}node.beginUpdate();for(var i=0,len=o.length;i<len&&i<pi.limit;i++){var cn=this.createNode(o[i]);if(cn){cn=node.appendChild(cn)}}node.endUpdate();this.showToolbar(node,true);if(typeof callback=="function"){callback(this,node)}}catch(e){this.handleFailure(response)}},handleResponse:function(B){this.transId=false;var A=B.argument;this.processResponse(B,A.node,A.callback);this.fireEvent("load",this,A.node,B);this.addMouseOverEvent(A.node)},addMouseOverEvent:function(B){var A=B.ownerTree;if(!A.hasListener("mouseover")){A.on("mouseover",this.showToolbar,this)}},showToolbar:function(F,E){if((F.isLeaf()||!F.isLoaded())&&E!==true){this.pagingTreeToolbar.hide();return }var D=F.getUI().getEl();if(D==undefined){return }D=D.firstChild.lastChild;if(D.tagName!="SPAN"){D=Ext.DomHelper.insertAfter(D,{tag:"span"},true)}else{D=Ext.get(D)}var C=5;if(Ext.isIE){var B=F.text.replace(/[^\x00-\xff]/g,"**").length;C=(F.getDepth()+2)*16+B*7+10}var A=D.getX()+C;var G=D.getY()+(Ext.isSafari?-4:(Ext.isIE?0:-14));this.pagingTreeToolbar.setTreeNode(F);this.pagingTreeToolbar.getEl().moveTo(A,G)}});Ext.ux.tree.TreeNodeMouseoverPlugin=Ext.extend(Object,{init:function(A){if(!A.rendered){A.on("render",function(){this.init(A)},this);return }this.tree=A;A.body.on("mouseover",this.onTreeMouseover,this,{delegate:"div.x-tree-node-el"})},onTreeMouseover:function(C,B){var A=Ext.fly(B);if(A){var D=A.getAttributeNS("ext","tree-node-id");if(D){this.tree.fireEvent("mouseover",this.tree.getNodeById(D),C)}}}});Ext.ux.tree.PagingTreeToolbar=Ext.extend(Ext.Toolbar,{firstText:Ext.PagingToolbar.prototype.firstText,prevText:Ext.PagingToolbar.prototype.prevText,nextText:Ext.PagingToolbar.prototype.nextText,lastText:Ext.PagingToolbar.prototype.lastText,afterPageText:"<font size=2>/{0}</font>",autoCreate:{cls:"x-tree-paging-toolbar x-small-editor",html:'<table cellspacing="0"><tr></tr></table>'},onRender:function(B,A){this.height=18;this.width=65;Ext.PagingToolbar.superclass.onRender.call(this,B,A);this.first=this.addButton({tooltip:this.firstText,cls:"x-tree-paging-btn-icon",iconCls:"x-tbar-page-first",disabled:true,handler:this.onClick.createDelegate(this,["first"])});this.prev=this.addButton({tooltip:this.prevText,cls:"x-tree-paging-btn-icon",iconCls:"x-tbar-page-prev",disabled:true,handler:this.onClick.createDelegate(this,["prev"])});this.next=this.addButton({tooltip:this.nextText,cls:"x-tree-paging-btn-icon",iconCls:"x-tbar-page-next",disabled:true,handler:this.onClick.createDelegate(this,["next"])});this.last=this.addButton({tooltip:this.lastText,cls:"x-tree-paging-btn-icon",iconCls:"x-tbar-page-last",disabled:true,handler:this.onClick.createDelegate(this,["last"])});if(this.enableTextPaging==true){this.addText("&nbsp;");this.field=Ext.get(this.addDom({tag:"input",type:"text",value:"1",cls:"x-tbar-page-number"}).el);this.field.on("keydown",this.onPagingKeydown,this);this.field.on("focus",function(){this.dom.select()});this.afterTextEl=this.addText(String.format(this.afterPageText,1));this.field.setHeight(17)}},onClick:function(D){switch(D){case"first":this.pi.start=0;break;case"prev":this.pi.start=Math.max(0,this.pi.start-this.pi.limit);break;case"next":this.pi.start=this.pi.start+this.pi.limit;break;case"last":var C=this.pi.total;var A=C%this.pi.limit;var B=A?(C-A):(C-this.pi.limit);this.pi.start=B;break}this.reload()},reload:function(){this.updateField();this.treeNode.reload()},updateField:function(){if(this.enableTextPaging!==true){return }var C=this.getPageData(),A=C.activePage,B=C.pages;this.afterTextEl.el.innerHTML=String.format(this.afterPageText,C.pages);this.field.dom.value=A},onPagingKeydown:function(D){var B=D.getKey(),E=this.getPageData(),C;if(B==D.RETURN){D.stopEvent();C=this.readPage(E);if(C!==false){C=Math.min(Math.max(1,C),E.pages)-1;this.pi.start=C*this.pi.limit;this.treeNode.reload()}}else{if(B==D.HOME||B==D.END){D.stopEvent();C=B==D.HOME?1:E.pages;this.field.dom.value=C}else{if(B==D.UP||B==D.PAGEUP||B==D.DOWN||B==D.PAGEDOWN){D.stopEvent();if(C=this.readPage(E)){var A=D.shiftKey?10:1;if(B==D.DOWN||B==D.PAGEDOWN){A*=-1}C+=A;if(C>=1&C<=E.pages){this.field.dom.value=C}}}}}},readPage:function(C){var A=this.field.dom.value,B;if(!A||isNaN(B=parseInt(A,10))){this.field.dom.value=C.activePage;return false}return B},getPageData:function(){var B=this.pi;var A=B.total;return{total:A,activePage:Math.ceil((B.start+B.limit)/B.limit),pages:A<B.limit?1:Math.ceil(A/B.limit)}},resetToolBar:function(){if(!this.rendered){return }if(this.pi==undefined||this.pi.total<=this.pi.limit){this.hide();return }var A=(this.pi.start+this.pi.limit)>=this.pi.total;this.first.setDisabled(this.pi.start==0);this.prev.setDisabled(this.pi.start==0);this.next.setDisabled(A);this.last.setDisabled(A);this.updateField();this.show()},setTreeNode:function(A){this.treeNode=A;this.pi=this.treeNode.attributes.pagingInfo;this.resetToolBar()}});

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -