518001fee2332f41eafdb60c757669651ffce904.svn-base 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. /**
  2. * jQuery EasyUI 1.3.6
  3. *
  4. * Copyright (c) 2009-2014 www.jeasyui.com. All rights reserved.
  5. *
  6. * Licensed under the GPL license: http://www.gnu.org/licenses/gpl.txt
  7. * To use it on other terms please contact us at info@jeasyui.com
  8. *
  9. */
  10. (function($){
  11. function _1(_2){
  12. var _3=$.data(_2,"pagination");
  13. var _4=_3.options;
  14. var bb=_3.bb={};
  15. var _5=$(_2).addClass("pagination").html("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr></tr></table>");
  16. var tr=_5.find("tr");
  17. var aa=$.extend([],_4.layout);
  18. if(!_4.showPageList){
  19. _6(aa,"list");
  20. }
  21. if(!_4.showRefresh){
  22. _6(aa,"refresh");
  23. }
  24. if(aa[0]=="sep"){
  25. aa.shift();
  26. }
  27. if(aa[aa.length-1]=="sep"){
  28. aa.pop();
  29. }
  30. for(var _7=0;_7<aa.length;_7++){
  31. var _8=aa[_7];
  32. if(_8=="list"){
  33. var ps=$("<select class=\"pagination-page-list\"></select>");
  34. ps.bind("change",function(){
  35. _4.pageSize=parseInt($(this).val());
  36. _4.onChangePageSize.call(_2,_4.pageSize);
  37. _10(_2,_4.pageNumber);
  38. });
  39. for(var i=0;i<_4.pageList.length;i++){
  40. $("<option></option>").text(_4.pageList[i]).appendTo(ps);
  41. }
  42. $("<td></td>").append(ps).appendTo(tr);
  43. }else{
  44. if(_8=="sep"){
  45. $("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
  46. }else{
  47. if(_8=="first"){
  48. bb.first=_9("first");
  49. }else{
  50. if(_8=="prev"){
  51. bb.prev=_9("prev");
  52. }else{
  53. if(_8=="next"){
  54. bb.next=_9("next");
  55. }else{
  56. if(_8=="last"){
  57. bb.last=_9("last");
  58. }else{
  59. if(_8=="manual"){
  60. $("<span style=\"padding-left:6px;\"></span>").html(_4.beforePageText).appendTo(tr).wrap("<td></td>");
  61. bb.num=$("<input class=\"pagination-num\" type=\"text\" value=\"1\" size=\"2\">").appendTo(tr).wrap("<td></td>");
  62. bb.num.unbind(".pagination").bind("keydown.pagination",function(e){
  63. if(e.keyCode==13){
  64. var _a=parseInt($(this).val())||1;
  65. _10(_2,_a);
  66. return false;
  67. }
  68. });
  69. bb.after=$("<span style=\"padding-right:6px;\"></span>").appendTo(tr).wrap("<td></td>");
  70. }else{
  71. if(_8=="refresh"){
  72. bb.refresh=_9("refresh");
  73. }else{
  74. if(_8=="links"){
  75. $("<td class=\"pagination-links\"></td>").appendTo(tr);
  76. }
  77. }
  78. }
  79. }
  80. }
  81. }
  82. }
  83. }
  84. }
  85. }
  86. if(_4.buttons){
  87. $("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
  88. if($.isArray(_4.buttons)){
  89. for(var i=0;i<_4.buttons.length;i++){
  90. var _b=_4.buttons[i];
  91. if(_b=="-"){
  92. $("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
  93. }else{
  94. var td=$("<td></td>").appendTo(tr);
  95. var a=$("<a href=\"javascript:void(0)\"></a>").appendTo(td);
  96. a[0].onclick=eval(_b.handler||function(){
  97. });
  98. a.linkbutton($.extend({},_b,{plain:true}));
  99. }
  100. }
  101. }else{
  102. var td=$("<td></td>").appendTo(tr);
  103. $(_4.buttons).appendTo(td).show();
  104. }
  105. }
  106. $("<div class=\"pagination-info\"></div>").appendTo(_5);
  107. $("<div style=\"clear:both;\"></div>").appendTo(_5);
  108. function _9(_c){
  109. var _d=_4.nav[_c];
  110. var a=$("<a href=\"javascript:void(0)\"></a>").appendTo(tr);
  111. a.wrap("<td></td>");
  112. a.linkbutton({iconCls:_d.iconCls,plain:true}).unbind(".pagination").bind("click.pagination",function(){
  113. _d.handler.call(_2);
  114. });
  115. return a;
  116. };
  117. function _6(aa,_e){
  118. var _f=$.inArray(_e,aa);
  119. if(_f>=0){
  120. aa.splice(_f,1);
  121. }
  122. return aa;
  123. };
  124. };
  125. function _10(_11,_12){
  126. var _13=$.data(_11,"pagination").options;
  127. _14(_11,{pageNumber:_12});
  128. _13.onSelectPage.call(_11,_13.pageNumber,_13.pageSize);
  129. };
  130. function _14(_15,_16){
  131. var _17=$.data(_15,"pagination");
  132. var _18=_17.options;
  133. var bb=_17.bb;
  134. $.extend(_18,_16||{});
  135. var ps=$(_15).find("select.pagination-page-list");
  136. if(ps.length){
  137. ps.val(_18.pageSize+"");
  138. _18.pageSize=parseInt(ps.val());
  139. }
  140. var _19=Math.ceil(_18.total/_18.pageSize)||1;
  141. if(_18.pageNumber<1){
  142. _18.pageNumber=1;
  143. }
  144. if(_18.pageNumber>_19){
  145. _18.pageNumber=_19;
  146. }
  147. if(bb.num){
  148. bb.num.val(_18.pageNumber);
  149. }
  150. if(bb.after){
  151. bb.after.html(_18.afterPageText.replace(/{pages}/,_19));
  152. }
  153. var td=$(_15).find("td.pagination-links");
  154. if(td.length){
  155. td.empty();
  156. var _1a=_18.pageNumber-Math.floor(_18.links/2);
  157. if(_1a<1){
  158. _1a=1;
  159. }
  160. var _1b=_1a+_18.links-1;
  161. if(_1b>_19){
  162. _1b=_19;
  163. }
  164. _1a=_1b-_18.links+1;
  165. if(_1a<1){
  166. _1a=1;
  167. }
  168. for(var i=_1a;i<=_1b;i++){
  169. var a=$("<a class=\"pagination-link\" href=\"javascript:void(0)\"></a>").appendTo(td);
  170. a.linkbutton({plain:true,text:i});
  171. if(i==_18.pageNumber){
  172. a.linkbutton("select");
  173. }else{
  174. a.unbind(".pagination").bind("click.pagination",{pageNumber:i},function(e){
  175. _10(_15,e.data.pageNumber);
  176. });
  177. }
  178. }
  179. }
  180. var _1c=_18.displayMsg;
  181. _1c=_1c.replace(/{from}/,_18.total==0?0:_18.pageSize*(_18.pageNumber-1)+1);
  182. _1c=_1c.replace(/{to}/,Math.min(_18.pageSize*(_18.pageNumber),_18.total));
  183. _1c=_1c.replace(/{total}/,_18.total);
  184. $(_15).find("div.pagination-info").html(_1c);
  185. if(bb.first){
  186. bb.first.linkbutton({disabled:(_18.pageNumber==1)});
  187. }
  188. if(bb.prev){
  189. bb.prev.linkbutton({disabled:(_18.pageNumber==1)});
  190. }
  191. if(bb.next){
  192. bb.next.linkbutton({disabled:(_18.pageNumber==_19)});
  193. }
  194. if(bb.last){
  195. bb.last.linkbutton({disabled:(_18.pageNumber==_19)});
  196. }
  197. _1d(_15,_18.loading);
  198. };
  199. function _1d(_1e,_1f){
  200. var _20=$.data(_1e,"pagination");
  201. var _21=_20.options;
  202. _21.loading=_1f;
  203. if(_21.showRefresh&&_20.bb.refresh){
  204. _20.bb.refresh.linkbutton({iconCls:(_21.loading?"pagination-loading":"pagination-load")});
  205. }
  206. };
  207. $.fn.pagination=function(_22,_23){
  208. if(typeof _22=="string"){
  209. return $.fn.pagination.methods[_22](this,_23);
  210. }
  211. _22=_22||{};
  212. return this.each(function(){
  213. var _24;
  214. var _25=$.data(this,"pagination");
  215. if(_25){
  216. _24=$.extend(_25.options,_22);
  217. }else{
  218. _24=$.extend({},$.fn.pagination.defaults,$.fn.pagination.parseOptions(this),_22);
  219. $.data(this,"pagination",{options:_24});
  220. }
  221. _1(this);
  222. _14(this);
  223. });
  224. };
  225. $.fn.pagination.methods={options:function(jq){
  226. return $.data(jq[0],"pagination").options;
  227. },loading:function(jq){
  228. return jq.each(function(){
  229. _1d(this,true);
  230. });
  231. },loaded:function(jq){
  232. return jq.each(function(){
  233. _1d(this,false);
  234. });
  235. },refresh:function(jq,_26){
  236. return jq.each(function(){
  237. _14(this,_26);
  238. });
  239. },select:function(jq,_27){
  240. return jq.each(function(){
  241. _10(this,_27);
  242. });
  243. }};
  244. $.fn.pagination.parseOptions=function(_28){
  245. var t=$(_28);
  246. return $.extend({},$.parser.parseOptions(_28,[{total:"number",pageSize:"number",pageNumber:"number",links:"number"},{loading:"boolean",showPageList:"boolean",showRefresh:"boolean"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined)});
  247. };
  248. $.fn.pagination.defaults={total:1,pageSize:10,pageNumber:1,pageList:[10,20,30,50],loading:false,buttons:null,showPageList:true,showRefresh:true,links:10,layout:["list","sep","first","prev","sep","manual","sep","next","last","sep","refresh"],onSelectPage:function(_29,_2a){
  249. },onBeforeRefresh:function(_2b,_2c){
  250. },onRefresh:function(_2d,_2e){
  251. },onChangePageSize:function(_2f){
  252. },beforePageText:"Page",afterPageText:"of {pages}",displayMsg:"Displaying {from} to {to} of {total} items",nav:{first:{iconCls:"pagination-first",handler:function(){
  253. var _30=$(this).pagination("options");
  254. if(_30.pageNumber>1){
  255. $(this).pagination("select",1);
  256. }
  257. }},prev:{iconCls:"pagination-prev",handler:function(){
  258. var _31=$(this).pagination("options");
  259. if(_31.pageNumber>1){
  260. $(this).pagination("select",_31.pageNumber-1);
  261. }
  262. }},next:{iconCls:"pagination-next",handler:function(){
  263. var _32=$(this).pagination("options");
  264. var _33=Math.ceil(_32.total/_32.pageSize);
  265. if(_32.pageNumber<_33){
  266. $(this).pagination("select",_32.pageNumber+1);
  267. }
  268. }},last:{iconCls:"pagination-last",handler:function(){
  269. var _34=$(this).pagination("options");
  270. var _35=Math.ceil(_34.total/_34.pageSize);
  271. if(_34.pageNumber<_35){
  272. $(this).pagination("select",_35);
  273. }
  274. }},refresh:{iconCls:"pagination-refresh",handler:function(){
  275. var _36=$(this).pagination("options");
  276. if(_36.onBeforeRefresh.call(this,_36.pageNumber,_36.pageSize)!=false){
  277. $(this).pagination("select",_36.pageNumber);
  278. _36.onRefresh.call(this,_36.pageNumber,_36.pageSize);
  279. }
  280. }}}};
  281. })(jQuery);