jquery.datagrid.js 63 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480
  1. /**
  2. * jQuery EasyUI 1.4.4
  3. *
  4. * Copyright (c) 2009-2015 www.jeasyui.com. All rights reserved.
  5. *
  6. * Licensed under the freeware license: http://www.jeasyui.com/license_freeware.php
  7. * To use it on other terms please contact us: info@jeasyui.com
  8. *
  9. */
  10. (function($){
  11. var _1=0;
  12. function _2(a,o){
  13. for(var i=0,_3=a.length;i<_3;i++){
  14. if(a[i]==o){
  15. return i;
  16. }
  17. }
  18. return -1;
  19. };
  20. function _4(a,o,id){
  21. if(typeof o=="string"){
  22. for(var i=0,_5=a.length;i<_5;i++){
  23. if(a[i][o]==id){
  24. a.splice(i,1);
  25. return;
  26. }
  27. }
  28. }else{
  29. var _6=_2(a,o);
  30. if(_6!=-1){
  31. a.splice(_6,1);
  32. }
  33. }
  34. };
  35. function _7(a,o,r){
  36. for(var i=0,_8=a.length;i<_8;i++){
  37. if(a[i][o]==r[o]){
  38. return;
  39. }
  40. }
  41. a.push(r);
  42. };
  43. function _9(_a,aa){
  44. return $.data(_a,"treegrid")?aa.slice(1):aa;
  45. };
  46. function _b(_c){
  47. var _d=$.data(_c,"datagrid");
  48. var _e=_d.options;
  49. var _f=_d.panel;
  50. var dc=_d.dc;
  51. var ss=null;
  52. if(_e.sharedStyleSheet){
  53. ss=typeof _e.sharedStyleSheet=="boolean"?"head":_e.sharedStyleSheet;
  54. }else{
  55. ss=_f.closest("div.datagrid-view");
  56. if(!ss.length){
  57. ss=dc.view;
  58. }
  59. }
  60. var cc=$(ss);
  61. var _10=$.data(cc[0],"ss");
  62. if(!_10){
  63. _10=$.data(cc[0],"ss",{cache:{},dirty:[]});
  64. }
  65. return {add:function(_11){
  66. var ss=["<style type=\"text/css\" easyui=\"true\">"];
  67. for(var i=0;i<_11.length;i++){
  68. _10.cache[_11[i][0]]={width:_11[i][1]};
  69. }
  70. var _12=0;
  71. for(var s in _10.cache){
  72. var _13=_10.cache[s];
  73. _13.index=_12++;
  74. ss.push(s+"{width:"+_13.width+"}");
  75. }
  76. ss.push("</style>");
  77. $(ss.join("\n")).appendTo(cc);
  78. cc.children("style[easyui]:not(:last)").remove();
  79. },getRule:function(_14){
  80. var _15=cc.children("style[easyui]:last")[0];
  81. var _16=_15.styleSheet?_15.styleSheet:(_15.sheet||document.styleSheets[document.styleSheets.length-1]);
  82. var _17=_16.cssRules||_16.rules;
  83. return _17[_14];
  84. },set:function(_18,_19){
  85. var _1a=_10.cache[_18];
  86. if(_1a){
  87. _1a.width=_19;
  88. var _1b=this.getRule(_1a.index);
  89. if(_1b){
  90. _1b.style["width"]=_19;
  91. }
  92. }
  93. },remove:function(_1c){
  94. var tmp=[];
  95. for(var s in _10.cache){
  96. if(s.indexOf(_1c)==-1){
  97. tmp.push([s,_10.cache[s].width]);
  98. }
  99. }
  100. _10.cache={};
  101. this.add(tmp);
  102. },dirty:function(_1d){
  103. if(_1d){
  104. _10.dirty.push(_1d);
  105. }
  106. },clean:function(){
  107. for(var i=0;i<_10.dirty.length;i++){
  108. this.remove(_10.dirty[i]);
  109. }
  110. _10.dirty=[];
  111. }};
  112. };
  113. function _1e(_1f,_20){
  114. var _21=$.data(_1f,"datagrid");
  115. var _22=_21.options;
  116. var _23=_21.panel;
  117. if(_20){
  118. $.extend(_22,_20);
  119. }
  120. if(_22.fit==true){
  121. var p=_23.panel("panel").parent();
  122. _22.width=p.width();
  123. _22.height=p.height();
  124. }
  125. _23.panel("resize",_22);
  126. };
  127. function _24(_25){
  128. var _26=$.data(_25,"datagrid");
  129. var _27=_26.options;
  130. var dc=_26.dc;
  131. var _28=_26.panel;
  132. var _29=_28.width();
  133. var _2a=_28.height();
  134. var _2b=dc.view;
  135. var _2c=dc.view1;
  136. var _2d=dc.view2;
  137. var _2e=_2c.children("div.datagrid-header");
  138. var _2f=_2d.children("div.datagrid-header");
  139. var _30=_2e.find("table");
  140. var _31=_2f.find("table");
  141. _2b.width(_29);
  142. var _32=_2e.children("div.datagrid-header-inner").show();
  143. _2c.width(_32.find("table").width());
  144. if(!_27.showHeader){
  145. _32.hide();
  146. }
  147. _2d.width(_29-_2c._outerWidth());
  148. _2c.children()._outerWidth(_2c.width());
  149. _2d.children()._outerWidth(_2d.width());
  150. var all=_2e.add(_2f).add(_30).add(_31);
  151. all.css("height","");
  152. var hh=Math.max(_30.height(),_31.height());
  153. all._outerHeight(hh);
  154. dc.body1.add(dc.body2).children("table.datagrid-btable-frozen").css({position:"absolute",top:dc.header2._outerHeight()});
  155. var _33=dc.body2.children("table.datagrid-btable-frozen")._outerHeight();
  156. var _34=_33+_2f._outerHeight()+_2d.children(".datagrid-footer")._outerHeight();
  157. _28.children(":not(.datagrid-view,.datagrid-mask,.datagrid-mask-msg)").each(function(){
  158. _34+=$(this)._outerHeight();
  159. });
  160. var _35=_28.outerHeight()-_28.height();
  161. var _36=_28._size("minHeight")||"";
  162. var _37=_28._size("maxHeight")||"";
  163. _2c.add(_2d).children("div.datagrid-body").css({marginTop:_33,height:(isNaN(parseInt(_27.height))?"":(_2a-_34)),minHeight:(_36?_36-_35-_34:""),maxHeight:(_37?_37-_35-_34:"")});
  164. _2b.height(_2d.height());
  165. };
  166. function _38(_39,_3a,_3b){
  167. var _3c=$.data(_39,"datagrid").data.rows;
  168. var _3d=$.data(_39,"datagrid").options;
  169. var dc=$.data(_39,"datagrid").dc;
  170. if(!dc.body1.is(":empty")&&(!_3d.nowrap||_3d.autoRowHeight||_3b)){
  171. if(_3a!=undefined){
  172. var tr1=_3d.finder.getTr(_39,_3a,"body",1);
  173. var tr2=_3d.finder.getTr(_39,_3a,"body",2);
  174. _3e(tr1,tr2);
  175. }else{
  176. var tr1=_3d.finder.getTr(_39,0,"allbody",1);
  177. var tr2=_3d.finder.getTr(_39,0,"allbody",2);
  178. _3e(tr1,tr2);
  179. if(_3d.showFooter){
  180. var tr1=_3d.finder.getTr(_39,0,"allfooter",1);
  181. var tr2=_3d.finder.getTr(_39,0,"allfooter",2);
  182. _3e(tr1,tr2);
  183. }
  184. }
  185. }
  186. _24(_39);
  187. if(_3d.height=="auto"){
  188. var _3f=dc.body1.parent();
  189. var _40=dc.body2;
  190. var _41=_42(_40);
  191. var _43=_41.height;
  192. if(_41.width>_40.width()){
  193. _43+=18;
  194. }
  195. _43-=parseInt(_40.css("marginTop"))||0;
  196. _3f.height(_43);
  197. _40.height(_43);
  198. dc.view.height(dc.view2.height());
  199. }
  200. dc.body2.triggerHandler("scroll");
  201. function _3e(_44,_45){
  202. for(var i=0;i<_45.length;i++){
  203. var tr1=$(_44[i]);
  204. var tr2=$(_45[i]);
  205. tr1.css("height","");
  206. tr2.css("height","");
  207. var _46=Math.max(tr1.height(),tr2.height());
  208. tr1.css("height",_46);
  209. tr2.css("height",_46);
  210. }
  211. };
  212. function _42(cc){
  213. var _47=0;
  214. var _48=0;
  215. $(cc).children().each(function(){
  216. var c=$(this);
  217. if(c.is(":visible")){
  218. _48+=c._outerHeight();
  219. if(_47<c._outerWidth()){
  220. _47=c._outerWidth();
  221. }
  222. }
  223. });
  224. return {width:_47,height:_48};
  225. };
  226. };
  227. function _49(_4a,_4b){
  228. var _4c=$.data(_4a,"datagrid");
  229. var _4d=_4c.options;
  230. var dc=_4c.dc;
  231. if(!dc.body2.children("table.datagrid-btable-frozen").length){
  232. dc.body1.add(dc.body2).prepend("<table class=\"datagrid-btable datagrid-btable-frozen\" cellspacing=\"0\" cellpadding=\"0\"></table>");
  233. }
  234. _4e(true);
  235. _4e(false);
  236. _24(_4a);
  237. function _4e(_4f){
  238. var _50=_4f?1:2;
  239. var tr=_4d.finder.getTr(_4a,_4b,"body",_50);
  240. (_4f?dc.body1:dc.body2).children("table.datagrid-btable-frozen").append(tr);
  241. };
  242. };
  243. function _51(_52,_53){
  244. function _54(){
  245. var _55=[];
  246. var _56=[];
  247. $(_52).children("thead").each(function(){
  248. var opt=$.parser.parseOptions(this,[{frozen:"boolean"}]);
  249. $(this).find("tr").each(function(){
  250. var _57=[];
  251. $(this).find("th").each(function(){
  252. var th=$(this);
  253. var col=$.extend({},$.parser.parseOptions(this,["field","align","halign","order","width",{sortable:"boolean",checkbox:"boolean",resizable:"boolean",fixed:"boolean"},{rowspan:"number",colspan:"number"}]),{title:(th.html()||undefined),hidden:(th.attr("hidden")?true:undefined),formatter:(th.attr("formatter")?eval(th.attr("formatter")):undefined),styler:(th.attr("styler")?eval(th.attr("styler")):undefined),sorter:(th.attr("sorter")?eval(th.attr("sorter")):undefined)});
  254. if(col.width&&String(col.width).indexOf("%")==-1){
  255. col.width=parseInt(col.width);
  256. }
  257. if(th.attr("editor")){
  258. var s=$.trim(th.attr("editor"));
  259. if(s.substr(0,1)=="{"){
  260. col.editor=eval("("+s+")");
  261. }else{
  262. col.editor=s;
  263. }
  264. }
  265. _57.push(col);
  266. });
  267. opt.frozen?_55.push(_57):_56.push(_57);
  268. });
  269. });
  270. return [_55,_56];
  271. };
  272. var _58=$("<div class=\"datagrid-wrap\">"+"<div class=\"datagrid-view\">"+"<div class=\"datagrid-view1\">"+"<div class=\"datagrid-header\">"+"<div class=\"datagrid-header-inner\"></div>"+"</div>"+"<div class=\"datagrid-body\">"+"<div class=\"datagrid-body-inner\"></div>"+"</div>"+"<div class=\"datagrid-footer\">"+"<div class=\"datagrid-footer-inner\"></div>"+"</div>"+"</div>"+"<div class=\"datagrid-view2\">"+"<div class=\"datagrid-header\">"+"<div class=\"datagrid-header-inner\"></div>"+"</div>"+"<div class=\"datagrid-body\"></div>"+"<div class=\"datagrid-footer\">"+"<div class=\"datagrid-footer-inner\"></div>"+"</div>"+"</div>"+"</div>"+"</div>").insertAfter(_52);
  273. _58.panel({doSize:false,cls:"datagrid"});
  274. $(_52).addClass("datagrid-f").hide().appendTo(_58.children("div.datagrid-view"));
  275. var cc=_54();
  276. var _59=_58.children("div.datagrid-view");
  277. var _5a=_59.children("div.datagrid-view1");
  278. var _5b=_59.children("div.datagrid-view2");
  279. return {panel:_58,frozenColumns:cc[0],columns:cc[1],dc:{view:_59,view1:_5a,view2:_5b,header1:_5a.children("div.datagrid-header").children("div.datagrid-header-inner"),header2:_5b.children("div.datagrid-header").children("div.datagrid-header-inner"),body1:_5a.children("div.datagrid-body").children("div.datagrid-body-inner"),body2:_5b.children("div.datagrid-body"),footer1:_5a.children("div.datagrid-footer").children("div.datagrid-footer-inner"),footer2:_5b.children("div.datagrid-footer").children("div.datagrid-footer-inner")}};
  280. };
  281. function _5c(_5d){
  282. var _5e=$.data(_5d,"datagrid");
  283. var _5f=_5e.options;
  284. var dc=_5e.dc;
  285. var _60=_5e.panel;
  286. _5e.ss=$(_5d).datagrid("createStyleSheet");
  287. _60.panel($.extend({},_5f,{id:null,doSize:false,onResize:function(_61,_62){
  288. if($.data(_5d,"datagrid")){
  289. _24(_5d);
  290. $(_5d).datagrid("fitColumns");
  291. _5f.onResize.call(_60,_61,_62);
  292. }
  293. },onExpand:function(){
  294. if($.data(_5d,"datagrid")){
  295. $(_5d).datagrid("fixRowHeight").datagrid("fitColumns");
  296. _5f.onExpand.call(_60);
  297. }
  298. }}));
  299. _5e.rowIdPrefix="datagrid-row-r"+(++_1);
  300. _5e.cellClassPrefix="datagrid-cell-c"+_1;
  301. _63(dc.header1,_5f.frozenColumns,true);
  302. _63(dc.header2,_5f.columns,false);
  303. _64();
  304. dc.header1.add(dc.header2).css("display",_5f.showHeader?"block":"none");
  305. dc.footer1.add(dc.footer2).css("display",_5f.showFooter?"block":"none");
  306. if(_5f.toolbar){
  307. if($.isArray(_5f.toolbar)){
  308. $("div.datagrid-toolbar",_60).remove();
  309. var tb=$("<div class=\"datagrid-toolbar\"><table cellspacing=\"0\" cellpadding=\"0\"><tr></tr></table></div>").prependTo(_60);
  310. var tr=tb.find("tr");
  311. for(var i=0;i<_5f.toolbar.length;i++){
  312. var btn=_5f.toolbar[i];
  313. if(btn=="-"){
  314. $("<td><div class=\"datagrid-btn-separator\"></div></td>").appendTo(tr);
  315. }else{
  316. var td=$("<td></td>").appendTo(tr);
  317. var _65=$("<a href=\"javascript:void(0)\"></a>").appendTo(td);
  318. _65[0].onclick=eval(btn.handler||function(){
  319. });
  320. _65.linkbutton($.extend({},btn,{plain:true}));
  321. }
  322. }
  323. }else{
  324. $(_5f.toolbar).addClass("datagrid-toolbar").prependTo(_60);
  325. $(_5f.toolbar).show();
  326. }
  327. }else{
  328. $("div.datagrid-toolbar",_60).remove();
  329. }
  330. $("div.datagrid-pager",_60).remove();
  331. if(_5f.pagination){
  332. var _66=$("<div class=\"datagrid-pager\"></div>");
  333. if(_5f.pagePosition=="bottom"){
  334. _66.appendTo(_60);
  335. }else{
  336. if(_5f.pagePosition=="top"){
  337. _66.addClass("datagrid-pager-top").prependTo(_60);
  338. }else{
  339. var _67=$("<div class=\"datagrid-pager datagrid-pager-top\"></div>").prependTo(_60);
  340. _66.appendTo(_60);
  341. _66=_66.add(_67);
  342. }
  343. }
  344. _66.pagination({total:(_5f.pageNumber*_5f.pageSize),pageNumber:_5f.pageNumber,pageSize:_5f.pageSize,pageList:_5f.pageList,onSelectPage:function(_68,_69){
  345. _5f.pageNumber=_68||1;
  346. _5f.pageSize=_69;
  347. _66.pagination("refresh",{pageNumber:_68,pageSize:_69});
  348. _b2(_5d);
  349. }});
  350. _5f.pageSize=_66.pagination("options").pageSize;
  351. }
  352. function _63(_6a,_6b,_6c){
  353. if(!_6b){
  354. return;
  355. }
  356. $(_6a).show();
  357. $(_6a).empty();
  358. var _6d=[];
  359. var _6e=[];
  360. if(_5f.sortName){
  361. _6d=_5f.sortName.split(",");
  362. _6e=_5f.sortOrder.split(",");
  363. }
  364. var t=$("<table class=\"datagrid-htable\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody></tbody></table>").appendTo(_6a);
  365. for(var i=0;i<_6b.length;i++){
  366. var tr=$("<tr class=\"datagrid-header-row\"></tr>").appendTo($("tbody",t));
  367. var _6f=_6b[i];
  368. for(var j=0;j<_6f.length;j++){
  369. var col=_6f[j];
  370. var _70="";
  371. if(col.rowspan){
  372. _70+="rowspan=\""+col.rowspan+"\" ";
  373. }
  374. if(col.colspan){
  375. _70+="colspan=\""+col.colspan+"\" ";
  376. }
  377. var td=$("<td "+_70+"></td>").appendTo(tr);
  378. if(col.checkbox){
  379. td.attr("field",col.field);
  380. $("<div class=\"datagrid-header-check\"></div>").html("<input type=\"checkbox\"/>").appendTo(td);
  381. }else{
  382. if(col.field){
  383. td.attr("field",col.field);
  384. td.append("<div class=\"datagrid-cell\"><span></span><span class=\"datagrid-sort-icon\">&nbsp;</span></div>");
  385. td.find("span:first").html(col.title);
  386. var _71=td.find("div.datagrid-cell");
  387. var pos=_2(_6d,col.field);
  388. if(pos>=0){
  389. _71.addClass("datagrid-sort-"+_6e[pos]);
  390. }
  391. if(col.sortable){
  392. _71.addClass("datagrid-sort");
  393. }
  394. if(col.resizable==false){
  395. _71.attr("resizable","false");
  396. }
  397. if(col.width){
  398. var _72=$.parser.parseValue("width",col.width,dc.view,_5f.scrollbarSize);
  399. _71._outerWidth(_72-1);
  400. col.boxWidth=parseInt(_71[0].style.width);
  401. col.deltaWidth=_72-col.boxWidth;
  402. }else{
  403. col.auto=true;
  404. }
  405. _71.css("text-align",(col.halign||col.align||""));
  406. col.cellClass=_5e.cellClassPrefix+"-"+col.field.replace(/[\.|\s]/g,"-");
  407. _71.addClass(col.cellClass).css("width","");
  408. }else{
  409. $("<div class=\"datagrid-cell-group\"></div>").html(col.title).appendTo(td);
  410. }
  411. }
  412. if(col.hidden){
  413. td.hide();
  414. }
  415. }
  416. }
  417. if(_6c&&_5f.rownumbers){
  418. var td=$("<td rowspan=\""+_5f.frozenColumns.length+"\"><div class=\"datagrid-header-rownumber\"></div></td>");
  419. if($("tr",t).length==0){
  420. td.wrap("<tr class=\"datagrid-header-row\"></tr>").parent().appendTo($("tbody",t));
  421. }else{
  422. td.prependTo($("tr:first",t));
  423. }
  424. }
  425. };
  426. function _64(){
  427. var _73=[];
  428. var _74=_75(_5d,true).concat(_75(_5d));
  429. for(var i=0;i<_74.length;i++){
  430. var col=_76(_5d,_74[i]);
  431. if(col&&!col.checkbox){
  432. _73.push(["."+col.cellClass,col.boxWidth?col.boxWidth+"px":"auto"]);
  433. }
  434. }
  435. _5e.ss.add(_73);
  436. _5e.ss.dirty(_5e.cellSelectorPrefix);
  437. _5e.cellSelectorPrefix="."+_5e.cellClassPrefix;
  438. };
  439. };
  440. function _77(_78){
  441. var _79=$.data(_78,"datagrid");
  442. var _7a=_79.panel;
  443. var _7b=_79.options;
  444. var dc=_79.dc;
  445. var _7c=dc.header1.add(dc.header2);
  446. _7c.find("input[type=checkbox]").unbind(".datagrid").bind("click.datagrid",function(e){
  447. if(_7b.singleSelect&&_7b.selectOnCheck){
  448. return false;
  449. }
  450. if($(this).is(":checked")){
  451. _128(_78);
  452. }else{
  453. _12e(_78);
  454. }
  455. e.stopPropagation();
  456. });
  457. var _7d=_7c.find("div.datagrid-cell");
  458. _7d.closest("td").unbind(".datagrid").bind("mouseenter.datagrid",function(){
  459. if(_79.resizing){
  460. return;
  461. }
  462. $(this).addClass("datagrid-header-over");
  463. }).bind("mouseleave.datagrid",function(){
  464. $(this).removeClass("datagrid-header-over");
  465. }).bind("contextmenu.datagrid",function(e){
  466. var _7e=$(this).attr("field");
  467. _7b.onHeaderContextMenu.call(_78,e,_7e);
  468. });
  469. _7d.unbind(".datagrid").bind("click.datagrid",function(e){
  470. var p1=$(this).offset().left+5;
  471. var p2=$(this).offset().left+$(this)._outerWidth()-5;
  472. if(e.pageX<p2&&e.pageX>p1){
  473. _a6(_78,$(this).parent().attr("field"));
  474. }
  475. }).bind("dblclick.datagrid",function(e){
  476. var p1=$(this).offset().left+5;
  477. var p2=$(this).offset().left+$(this)._outerWidth()-5;
  478. var _7f=_7b.resizeHandle=="right"?(e.pageX>p2):(_7b.resizeHandle=="left"?(e.pageX<p1):(e.pageX<p1||e.pageX>p2));
  479. if(_7f){
  480. var _80=$(this).parent().attr("field");
  481. var col=_76(_78,_80);
  482. if(col.resizable==false){
  483. return;
  484. }
  485. $(_78).datagrid("autoSizeColumn",_80);
  486. col.auto=false;
  487. }
  488. });
  489. var _81=_7b.resizeHandle=="right"?"e":(_7b.resizeHandle=="left"?"w":"e,w");
  490. _7d.each(function(){
  491. $(this).resizable({handles:_81,disabled:($(this).attr("resizable")?$(this).attr("resizable")=="false":false),minWidth:25,onStartResize:function(e){
  492. _79.resizing=true;
  493. _7c.css("cursor",$("body").css("cursor"));
  494. if(!_79.proxy){
  495. _79.proxy=$("<div class=\"datagrid-resize-proxy\"></div>").appendTo(dc.view);
  496. }
  497. _79.proxy.css({left:e.pageX-$(_7a).offset().left-1,display:"none"});
  498. setTimeout(function(){
  499. if(_79.proxy){
  500. _79.proxy.show();
  501. }
  502. },500);
  503. },onResize:function(e){
  504. _79.proxy.css({left:e.pageX-$(_7a).offset().left-1,display:"block"});
  505. return false;
  506. },onStopResize:function(e){
  507. _7c.css("cursor","");
  508. $(this).css("height","");
  509. var _82=$(this).parent().attr("field");
  510. var col=_76(_78,_82);
  511. col.width=$(this)._outerWidth();
  512. col.boxWidth=col.width-col.deltaWidth;
  513. col.auto=undefined;
  514. $(this).css("width","");
  515. $(_78).datagrid("fixColumnSize",_82);
  516. _79.proxy.remove();
  517. _79.proxy=null;
  518. if($(this).parents("div:first.datagrid-header").parent().hasClass("datagrid-view1")){
  519. _24(_78);
  520. }
  521. $(_78).datagrid("fitColumns");
  522. _7b.onResizeColumn.call(_78,_82,col.width);
  523. setTimeout(function(){
  524. _79.resizing=false;
  525. },0);
  526. }});
  527. });
  528. var bb=dc.body1.add(dc.body2);
  529. bb.unbind();
  530. for(var _83 in _7b.rowEvents){
  531. bb.bind(_83,_7b.rowEvents[_83]);
  532. }
  533. dc.body1.bind("mousewheel DOMMouseScroll",function(e){
  534. var e1=e.originalEvent||window.event;
  535. var _84=e1.wheelDelta||e1.detail*(-1);
  536. var dg=$(e.target).closest("div.datagrid-view").children(".datagrid-f");
  537. var dc=dg.data("datagrid").dc;
  538. dc.body2.scrollTop(dc.body2.scrollTop()-_84);
  539. });
  540. dc.body2.bind("scroll",function(){
  541. var b1=dc.view1.children("div.datagrid-body");
  542. b1.scrollTop($(this).scrollTop());
  543. var c1=dc.body1.children(":first");
  544. var c2=dc.body2.children(":first");
  545. if(c1.length&&c2.length){
  546. var _85=c1.offset().top;
  547. var _86=c2.offset().top;
  548. if(_85!=_86){
  549. b1.scrollTop(b1.scrollTop()+_85-_86);
  550. }
  551. }
  552. dc.view2.children("div.datagrid-header,div.datagrid-footer")._scrollLeft($(this)._scrollLeft());
  553. dc.body2.children("table.datagrid-btable-frozen").css("left",-$(this)._scrollLeft());
  554. });
  555. };
  556. function _87(_88){
  557. return function(e){
  558. var tr=_89(e.target);
  559. if(!tr){
  560. return;
  561. }
  562. var _8a=_8b(tr);
  563. if($.data(_8a,"datagrid").resizing){
  564. return;
  565. }
  566. var _8c=_8d(tr);
  567. if(_88){
  568. _8e(_8a,_8c);
  569. }else{
  570. var _8f=$.data(_8a,"datagrid").options;
  571. _8f.finder.getTr(_8a,_8c).removeClass("datagrid-row-over");
  572. }
  573. };
  574. };
  575. function _90(e){
  576. var tr=_89(e.target);
  577. if(!tr){
  578. return;
  579. }
  580. var _91=_8b(tr);
  581. var _92=$.data(_91,"datagrid").options;
  582. var _93=_8d(tr);
  583. var tt=$(e.target);
  584. if(tt.parent().hasClass("datagrid-cell-check")){
  585. if(_92.singleSelect&&_92.selectOnCheck){
  586. tt._propAttr("checked",!tt.is(":checked"));
  587. _94(_91,_93);
  588. }else{
  589. if(tt.is(":checked")){
  590. tt._propAttr("checked",false);
  591. _94(_91,_93);
  592. }else{
  593. tt._propAttr("checked",true);
  594. _95(_91,_93);
  595. }
  596. }
  597. }else{
  598. var row=_92.finder.getRow(_91,_93);
  599. var td=tt.closest("td[field]",tr);
  600. if(td.length){
  601. var _96=td.attr("field");
  602. _92.onClickCell.call(_91,_93,_96,row[_96]);
  603. }
  604. if(_92.singleSelect==true){
  605. _97(_91,_93);
  606. }else{
  607. if(_92.ctrlSelect){
  608. if(e.ctrlKey){
  609. if(tr.hasClass("datagrid-row-selected")){
  610. _98(_91,_93);
  611. }else{
  612. _97(_91,_93);
  613. }
  614. }else{
  615. if(e.shiftKey){
  616. $(_91).datagrid("clearSelections");
  617. var _99=Math.min(_92.lastSelectedIndex||0,_93);
  618. var _9a=Math.max(_92.lastSelectedIndex||0,_93);
  619. for(var i=_99;i<=_9a;i++){
  620. _97(_91,i);
  621. }
  622. }else{
  623. $(_91).datagrid("clearSelections");
  624. _97(_91,_93);
  625. _92.lastSelectedIndex=_93;
  626. }
  627. }
  628. }else{
  629. if(tr.hasClass("datagrid-row-selected")){
  630. _98(_91,_93);
  631. }else{
  632. _97(_91,_93);
  633. }
  634. }
  635. }
  636. _92.onClickRow.apply(_91,_9(_91,[_93,row]));
  637. }
  638. };
  639. function _9b(e){
  640. var tr=_89(e.target);
  641. if(!tr){
  642. return;
  643. }
  644. var _9c=_8b(tr);
  645. var _9d=$.data(_9c,"datagrid").options;
  646. var _9e=_8d(tr);
  647. var row=_9d.finder.getRow(_9c,_9e);
  648. var td=$(e.target).closest("td[field]",tr);
  649. if(td.length){
  650. var _9f=td.attr("field");
  651. _9d.onDblClickCell.call(_9c,_9e,_9f,row[_9f]);
  652. }
  653. _9d.onDblClickRow.apply(_9c,_9(_9c,[_9e,row]));
  654. };
  655. function _a0(e){
  656. var tr=_89(e.target);
  657. if(tr){
  658. var _a1=_8b(tr);
  659. var _a2=$.data(_a1,"datagrid").options;
  660. var _a3=_8d(tr);
  661. var row=_a2.finder.getRow(_a1,_a3);
  662. _a2.onRowContextMenu.call(_a1,e,_a3,row);
  663. }else{
  664. var _a4=_89(e.target,".datagrid-body");
  665. if(_a4){
  666. var _a1=_8b(_a4);
  667. var _a2=$.data(_a1,"datagrid").options;
  668. _a2.onRowContextMenu.call(_a1,e,-1,null);
  669. }
  670. }
  671. };
  672. function _8b(t){
  673. return $(t).closest("div.datagrid-view").children(".datagrid-f")[0];
  674. };
  675. function _89(t,_a5){
  676. var tr=$(t).closest(_a5||"tr.datagrid-row");
  677. if(tr.length&&tr.parent().length){
  678. return tr;
  679. }else{
  680. return undefined;
  681. }
  682. };
  683. function _8d(tr){
  684. if(tr.attr("datagrid-row-index")){
  685. return parseInt(tr.attr("datagrid-row-index"));
  686. }else{
  687. return tr.attr("node-id");
  688. }
  689. };
  690. function _a6(_a7,_a8){
  691. var _a9=$.data(_a7,"datagrid");
  692. var _aa=_a9.options;
  693. _a8=_a8||{};
  694. var _ab={sortName:_aa.sortName,sortOrder:_aa.sortOrder};
  695. if(typeof _a8=="object"){
  696. $.extend(_ab,_a8);
  697. }
  698. var _ac=[];
  699. var _ad=[];
  700. if(_ab.sortName){
  701. _ac=_ab.sortName.split(",");
  702. _ad=_ab.sortOrder.split(",");
  703. }
  704. if(typeof _a8=="string"){
  705. var _ae=_a8;
  706. var col=_76(_a7,_ae);
  707. if(!col.sortable||_a9.resizing){
  708. return;
  709. }
  710. var _af=col.order||"asc";
  711. var pos=_2(_ac,_ae);
  712. if(pos>=0){
  713. var _b0=_ad[pos]=="asc"?"desc":"asc";
  714. if(_aa.multiSort&&_b0==_af){
  715. _ac.splice(pos,1);
  716. _ad.splice(pos,1);
  717. }else{
  718. _ad[pos]=_b0;
  719. }
  720. }else{
  721. if(_aa.multiSort){
  722. _ac.push(_ae);
  723. _ad.push(_af);
  724. }else{
  725. _ac=[_ae];
  726. _ad=[_af];
  727. }
  728. }
  729. _ab.sortName=_ac.join(",");
  730. _ab.sortOrder=_ad.join(",");
  731. }
  732. if(_aa.onBeforeSortColumn.call(_a7,_ab.sortName,_ab.sortOrder)==false){
  733. return;
  734. }
  735. $.extend(_aa,_ab);
  736. var dc=_a9.dc;
  737. var _b1=dc.header1.add(dc.header2);
  738. _b1.find("div.datagrid-cell").removeClass("datagrid-sort-asc datagrid-sort-desc");
  739. for(var i=0;i<_ac.length;i++){
  740. var col=_76(_a7,_ac[i]);
  741. _b1.find("div."+col.cellClass).addClass("datagrid-sort-"+_ad[i]);
  742. }
  743. if(_aa.remoteSort){
  744. _b2(_a7);
  745. }else{
  746. _b3(_a7,$(_a7).datagrid("getData"));
  747. }
  748. _aa.onSortColumn.call(_a7,_aa.sortName,_aa.sortOrder);
  749. };
  750. function _b4(_b5){
  751. var _b6=$.data(_b5,"datagrid");
  752. var _b7=_b6.options;
  753. var dc=_b6.dc;
  754. var _b8=dc.view2.children("div.datagrid-header");
  755. dc.body2.css("overflow-x","");
  756. _b9();
  757. _ba();
  758. _bb();
  759. _b9(true);
  760. if(_b8.width()>=_b8.find("table").width()){
  761. dc.body2.css("overflow-x","hidden");
  762. }
  763. function _bb(){
  764. if(!_b7.fitColumns){
  765. return;
  766. }
  767. if(!_b6.leftWidth){
  768. _b6.leftWidth=0;
  769. }
  770. var _bc=0;
  771. var cc=[];
  772. var _bd=_75(_b5,false);
  773. for(var i=0;i<_bd.length;i++){
  774. var col=_76(_b5,_bd[i]);
  775. if(_be(col)){
  776. _bc+=col.width;
  777. cc.push({field:col.field,col:col,addingWidth:0});
  778. }
  779. }
  780. if(!_bc){
  781. return;
  782. }
  783. cc[cc.length-1].addingWidth-=_b6.leftWidth;
  784. var _bf=_b8.children("div.datagrid-header-inner").show();
  785. var _c0=_b8.width()-_b8.find("table").width()-_b7.scrollbarSize+_b6.leftWidth;
  786. var _c1=_c0/_bc;
  787. if(!_b7.showHeader){
  788. _bf.hide();
  789. }
  790. for(var i=0;i<cc.length;i++){
  791. var c=cc[i];
  792. var _c2=parseInt(c.col.width*_c1);
  793. c.addingWidth+=_c2;
  794. _c0-=_c2;
  795. }
  796. cc[cc.length-1].addingWidth+=_c0;
  797. for(var i=0;i<cc.length;i++){
  798. var c=cc[i];
  799. if(c.col.boxWidth+c.addingWidth>0){
  800. c.col.boxWidth+=c.addingWidth;
  801. c.col.width+=c.addingWidth;
  802. }
  803. }
  804. _b6.leftWidth=_c0;
  805. $(_b5).datagrid("fixColumnSize");
  806. };
  807. function _ba(){
  808. var _c3=false;
  809. var _c4=_75(_b5,true).concat(_75(_b5,false));
  810. $.map(_c4,function(_c5){
  811. var col=_76(_b5,_c5);
  812. if(String(col.width||"").indexOf("%")>=0){
  813. var _c6=$.parser.parseValue("width",col.width,dc.view,_b7.scrollbarSize)-col.deltaWidth;
  814. if(_c6>0){
  815. col.boxWidth=_c6;
  816. _c3=true;
  817. }
  818. }
  819. });
  820. if(_c3){
  821. $(_b5).datagrid("fixColumnSize");
  822. }
  823. };
  824. function _b9(fit){
  825. var _c7=dc.header1.add(dc.header2).find(".datagrid-cell-group");
  826. if(_c7.length){
  827. _c7.each(function(){
  828. $(this)._outerWidth(fit?$(this).parent().width():10);
  829. });
  830. if(fit){
  831. _24(_b5);
  832. }
  833. }
  834. };
  835. function _be(col){
  836. if(String(col.width||"").indexOf("%")>=0){
  837. return false;
  838. }
  839. if(!col.hidden&&!col.checkbox&&!col.auto&&!col.fixed){
  840. return true;
  841. }
  842. };
  843. };
  844. function _c8(_c9,_ca){
  845. var _cb=$.data(_c9,"datagrid");
  846. var _cc=_cb.options;
  847. var dc=_cb.dc;
  848. var tmp=$("<div class=\"datagrid-cell\" style=\"position:absolute;left:-9999px\"></div>").appendTo("body");
  849. if(_ca){
  850. _1e(_ca);
  851. $(_c9).datagrid("fitColumns");
  852. }else{
  853. var _cd=false;
  854. var _ce=_75(_c9,true).concat(_75(_c9,false));
  855. for(var i=0;i<_ce.length;i++){
  856. var _ca=_ce[i];
  857. var col=_76(_c9,_ca);
  858. if(col.auto){
  859. _1e(_ca);
  860. _cd=true;
  861. }
  862. }
  863. if(_cd){
  864. $(_c9).datagrid("fitColumns");
  865. }
  866. }
  867. tmp.remove();
  868. function _1e(_cf){
  869. var _d0=dc.view.find("div.datagrid-header td[field=\""+_cf+"\"] div.datagrid-cell");
  870. _d0.css("width","");
  871. var col=$(_c9).datagrid("getColumnOption",_cf);
  872. col.width=undefined;
  873. col.boxWidth=undefined;
  874. col.auto=true;
  875. $(_c9).datagrid("fixColumnSize",_cf);
  876. var _d1=Math.max(_d2("header"),_d2("allbody"),_d2("allfooter"))+1;
  877. _d0._outerWidth(_d1-1);
  878. col.width=_d1;
  879. col.boxWidth=parseInt(_d0[0].style.width);
  880. col.deltaWidth=_d1-col.boxWidth;
  881. _d0.css("width","");
  882. $(_c9).datagrid("fixColumnSize",_cf);
  883. _cc.onResizeColumn.call(_c9,_cf,col.width);
  884. function _d2(_d3){
  885. var _d4=0;
  886. if(_d3=="header"){
  887. _d4=_d5(_d0);
  888. }else{
  889. _cc.finder.getTr(_c9,0,_d3).find("td[field=\""+_cf+"\"] div.datagrid-cell").each(function(){
  890. var w=_d5($(this));
  891. if(_d4<w){
  892. _d4=w;
  893. }
  894. });
  895. }
  896. return _d4;
  897. function _d5(_d6){
  898. return _d6.is(":visible")?_d6._outerWidth():tmp.html(_d6.html())._outerWidth();
  899. };
  900. };
  901. };
  902. };
  903. function _d7(_d8,_d9){
  904. var _da=$.data(_d8,"datagrid");
  905. var _db=_da.options;
  906. var dc=_da.dc;
  907. var _dc=dc.view.find("table.datagrid-btable,table.datagrid-ftable");
  908. _dc.css("table-layout","fixed");
  909. if(_d9){
  910. fix(_d9);
  911. }else{
  912. var ff=_75(_d8,true).concat(_75(_d8,false));
  913. for(var i=0;i<ff.length;i++){
  914. fix(ff[i]);
  915. }
  916. }
  917. _dc.css("table-layout","");
  918. _dd(_d8);
  919. _38(_d8);
  920. _de(_d8);
  921. function fix(_df){
  922. var col=_76(_d8,_df);
  923. if(col.cellClass){
  924. _da.ss.set("."+col.cellClass,col.boxWidth?col.boxWidth+"px":"auto");
  925. }
  926. };
  927. };
  928. function _dd(_e0){
  929. var dc=$.data(_e0,"datagrid").dc;
  930. dc.view.find("td.datagrid-td-merged").each(function(){
  931. var td=$(this);
  932. var _e1=td.attr("colspan")||1;
  933. var col=_76(_e0,td.attr("field"));
  934. var _e2=col.boxWidth+col.deltaWidth-1;
  935. for(var i=1;i<_e1;i++){
  936. td=td.next();
  937. col=_76(_e0,td.attr("field"));
  938. _e2+=col.boxWidth+col.deltaWidth;
  939. }
  940. $(this).children("div.datagrid-cell")._outerWidth(_e2);
  941. });
  942. };
  943. function _de(_e3){
  944. var dc=$.data(_e3,"datagrid").dc;
  945. dc.view.find("div.datagrid-editable").each(function(){
  946. var _e4=$(this);
  947. var _e5=_e4.parent().attr("field");
  948. var col=$(_e3).datagrid("getColumnOption",_e5);
  949. _e4._outerWidth(col.boxWidth+col.deltaWidth-1);
  950. var ed=$.data(this,"datagrid.editor");
  951. if(ed.actions.resize){
  952. ed.actions.resize(ed.target,_e4.width());
  953. }
  954. });
  955. };
  956. function _76(_e6,_e7){
  957. function _e8(_e9){
  958. if(_e9){
  959. for(var i=0;i<_e9.length;i++){
  960. var cc=_e9[i];
  961. for(var j=0;j<cc.length;j++){
  962. var c=cc[j];
  963. if(c.field==_e7){
  964. return c;
  965. }
  966. }
  967. }
  968. }
  969. return null;
  970. };
  971. var _ea=$.data(_e6,"datagrid").options;
  972. var col=_e8(_ea.columns);
  973. if(!col){
  974. col=_e8(_ea.frozenColumns);
  975. }
  976. return col;
  977. };
  978. function _75(_eb,_ec){
  979. var _ed=$.data(_eb,"datagrid").options;
  980. var _ee=(_ec==true)?(_ed.frozenColumns||[[]]):_ed.columns;
  981. if(_ee.length==0){
  982. return [];
  983. }
  984. var aa=[];
  985. var _ef=_f0();
  986. for(var i=0;i<_ee.length;i++){
  987. aa[i]=new Array(_ef);
  988. }
  989. for(var _f1=0;_f1<_ee.length;_f1++){
  990. $.map(_ee[_f1],function(col){
  991. var _f2=_f3(aa[_f1]);
  992. if(_f2>=0){
  993. var _f4=col.field||"";
  994. for(var c=0;c<(col.colspan||1);c++){
  995. for(var r=0;r<(col.rowspan||1);r++){
  996. aa[_f1+r][_f2]=_f4;
  997. }
  998. _f2++;
  999. }
  1000. }
  1001. });
  1002. }
  1003. return aa[aa.length-1];
  1004. function _f0(){
  1005. var _f5=0;
  1006. $.map(_ee[0],function(col){
  1007. _f5+=col.colspan||1;
  1008. });
  1009. return _f5;
  1010. };
  1011. function _f3(a){
  1012. for(var i=0;i<a.length;i++){
  1013. if(a[i]==undefined){
  1014. return i;
  1015. }
  1016. }
  1017. return -1;
  1018. };
  1019. };
  1020. function _b3(_f6,_f7){
  1021. var _f8=$.data(_f6,"datagrid");
  1022. var _f9=_f8.options;
  1023. var dc=_f8.dc;
  1024. _f7=_f9.loadFilter.call(_f6,_f7);
  1025. _f7.total=parseInt(_f7.total);
  1026. _f8.data=_f7;
  1027. if(_f7.footer){
  1028. _f8.footer=_f7.footer;
  1029. }
  1030. if(!_f9.remoteSort&&_f9.sortName){
  1031. var _fa=_f9.sortName.split(",");
  1032. var _fb=_f9.sortOrder.split(",");
  1033. _f7.rows.sort(function(r1,r2){
  1034. var r=0;
  1035. for(var i=0;i<_fa.length;i++){
  1036. var sn=_fa[i];
  1037. var so=_fb[i];
  1038. var col=_76(_f6,sn);
  1039. var _fc=col.sorter||function(a,b){
  1040. return a==b?0:(a>b?1:-1);
  1041. };
  1042. r=_fc(r1[sn],r2[sn])*(so=="asc"?1:-1);
  1043. if(r!=0){
  1044. return r;
  1045. }
  1046. }
  1047. return r;
  1048. });
  1049. }
  1050. if(_f9.view.onBeforeRender){
  1051. _f9.view.onBeforeRender.call(_f9.view,_f6,_f7.rows);
  1052. }
  1053. _f9.view.render.call(_f9.view,_f6,dc.body2,false);
  1054. _f9.view.render.call(_f9.view,_f6,dc.body1,true);
  1055. if(_f9.showFooter){
  1056. _f9.view.renderFooter.call(_f9.view,_f6,dc.footer2,false);
  1057. _f9.view.renderFooter.call(_f9.view,_f6,dc.footer1,true);
  1058. }
  1059. if(_f9.view.onAfterRender){
  1060. _f9.view.onAfterRender.call(_f9.view,_f6);
  1061. }
  1062. _f8.ss.clean();
  1063. var _fd=$(_f6).datagrid("getPager");
  1064. if(_fd.length){
  1065. var _fe=_fd.pagination("options");
  1066. if(_fe.total!=_f7.total){
  1067. _fd.pagination("refresh",{total:_f7.total});
  1068. if(_f9.pageNumber!=_fe.pageNumber&&_fe.pageNumber>0){
  1069. _f9.pageNumber=_fe.pageNumber;
  1070. _b2(_f6);
  1071. }
  1072. }
  1073. }
  1074. _38(_f6);
  1075. dc.body2.triggerHandler("scroll");
  1076. $(_f6).datagrid("setSelectionState");
  1077. $(_f6).datagrid("autoSizeColumn");
  1078. _f9.onLoadSuccess.call(_f6,_f7);
  1079. };
  1080. function _ff(_100){
  1081. var _101=$.data(_100,"datagrid");
  1082. var opts=_101.options;
  1083. var dc=_101.dc;
  1084. dc.header1.add(dc.header2).find("input[type=checkbox]")._propAttr("checked",false);
  1085. if(opts.idField){
  1086. var _102=$.data(_100,"treegrid")?true:false;
  1087. var _103=opts.onSelect;
  1088. var _104=opts.onCheck;
  1089. opts.onSelect=opts.onCheck=function(){
  1090. };
  1091. var rows=opts.finder.getRows(_100);
  1092. for(var i=0;i<rows.length;i++){
  1093. var row=rows[i];
  1094. var _105=_102?row[opts.idField]:i;
  1095. if(_106(_101.selectedRows,row)){
  1096. _97(_100,_105,true);
  1097. }
  1098. if(_106(_101.checkedRows,row)){
  1099. _94(_100,_105,true);
  1100. }
  1101. }
  1102. opts.onSelect=_103;
  1103. opts.onCheck=_104;
  1104. }
  1105. function _106(a,r){
  1106. for(var i=0;i<a.length;i++){
  1107. if(a[i][opts.idField]==r[opts.idField]){
  1108. a[i]=r;
  1109. return true;
  1110. }
  1111. }
  1112. return false;
  1113. };
  1114. };
  1115. function _107(_108,row){
  1116. var _109=$.data(_108,"datagrid");
  1117. var opts=_109.options;
  1118. var rows=_109.data.rows;
  1119. if(typeof row=="object"){
  1120. return _2(rows,row);
  1121. }else{
  1122. for(var i=0;i<rows.length;i++){
  1123. if(rows[i][opts.idField]==row){
  1124. return i;
  1125. }
  1126. }
  1127. return -1;
  1128. }
  1129. };
  1130. function _10a(_10b){
  1131. var _10c=$.data(_10b,"datagrid");
  1132. var opts=_10c.options;
  1133. var data=_10c.data;
  1134. if(opts.idField){
  1135. return _10c.selectedRows;
  1136. }else{
  1137. var rows=[];
  1138. opts.finder.getTr(_10b,"","selected",2).each(function(){
  1139. rows.push(opts.finder.getRow(_10b,$(this)));
  1140. });
  1141. return rows;
  1142. }
  1143. };
  1144. function _10d(_10e){
  1145. var _10f=$.data(_10e,"datagrid");
  1146. var opts=_10f.options;
  1147. if(opts.idField){
  1148. return _10f.checkedRows;
  1149. }else{
  1150. var rows=[];
  1151. opts.finder.getTr(_10e,"","checked",2).each(function(){
  1152. rows.push(opts.finder.getRow(_10e,$(this)));
  1153. });
  1154. return rows;
  1155. }
  1156. };
  1157. function _110(_111,_112){
  1158. var _113=$.data(_111,"datagrid");
  1159. var dc=_113.dc;
  1160. var opts=_113.options;
  1161. var tr=opts.finder.getTr(_111,_112);
  1162. if(tr.length){
  1163. if(tr.closest("table").hasClass("datagrid-btable-frozen")){
  1164. return;
  1165. }
  1166. var _114=dc.view2.children("div.datagrid-header")._outerHeight();
  1167. var _115=dc.body2;
  1168. var _116=_115.outerHeight(true)-_115.outerHeight();
  1169. var top=tr.position().top-_114-_116;
  1170. if(top<0){
  1171. _115.scrollTop(_115.scrollTop()+top);
  1172. }else{
  1173. if(top+tr._outerHeight()>_115.height()-18){
  1174. _115.scrollTop(_115.scrollTop()+top+tr._outerHeight()-_115.height()+18);
  1175. }
  1176. }
  1177. }
  1178. };
  1179. function _8e(_117,_118){
  1180. var _119=$.data(_117,"datagrid");
  1181. var opts=_119.options;
  1182. opts.finder.getTr(_117,_119.highlightIndex).removeClass("datagrid-row-over");
  1183. opts.finder.getTr(_117,_118).addClass("datagrid-row-over");
  1184. _119.highlightIndex=_118;
  1185. };
  1186. function _97(_11a,_11b,_11c){
  1187. var _11d=$.data(_11a,"datagrid");
  1188. var opts=_11d.options;
  1189. var row=opts.finder.getRow(_11a,_11b);
  1190. if(opts.onBeforeSelect.apply(_11a,_9(_11a,[_11b,row]))==false){
  1191. return;
  1192. }
  1193. if(opts.singleSelect){
  1194. _11e(_11a,true);
  1195. _11d.selectedRows=[];
  1196. }
  1197. if(!_11c&&opts.checkOnSelect){
  1198. _94(_11a,_11b,true);
  1199. }
  1200. if(opts.idField){
  1201. _7(_11d.selectedRows,opts.idField,row);
  1202. }
  1203. opts.finder.getTr(_11a,_11b).addClass("datagrid-row-selected");
  1204. opts.onSelect.apply(_11a,_9(_11a,[_11b,row]));
  1205. _110(_11a,_11b);
  1206. };
  1207. function _98(_11f,_120,_121){
  1208. var _122=$.data(_11f,"datagrid");
  1209. var dc=_122.dc;
  1210. var opts=_122.options;
  1211. var row=opts.finder.getRow(_11f,_120);
  1212. if(opts.onBeforeUnselect.apply(_11f,_9(_11f,[_120,row]))==false){
  1213. return;
  1214. }
  1215. if(!_121&&opts.checkOnSelect){
  1216. _95(_11f,_120,true);
  1217. }
  1218. opts.finder.getTr(_11f,_120).removeClass("datagrid-row-selected");
  1219. if(opts.idField){
  1220. _4(_122.selectedRows,opts.idField,row[opts.idField]);
  1221. }
  1222. opts.onUnselect.apply(_11f,_9(_11f,[_120,row]));
  1223. };
  1224. function _123(_124,_125){
  1225. var _126=$.data(_124,"datagrid");
  1226. var opts=_126.options;
  1227. var rows=opts.finder.getRows(_124);
  1228. var _127=$.data(_124,"datagrid").selectedRows;
  1229. if(!_125&&opts.checkOnSelect){
  1230. _128(_124,true);
  1231. }
  1232. opts.finder.getTr(_124,"","allbody").addClass("datagrid-row-selected");
  1233. if(opts.idField){
  1234. for(var _129=0;_129<rows.length;_129++){
  1235. _7(_127,opts.idField,rows[_129]);
  1236. }
  1237. }
  1238. opts.onSelectAll.call(_124,rows);
  1239. };
  1240. function _11e(_12a,_12b){
  1241. var _12c=$.data(_12a,"datagrid");
  1242. var opts=_12c.options;
  1243. var rows=opts.finder.getRows(_12a);
  1244. var _12d=$.data(_12a,"datagrid").selectedRows;
  1245. if(!_12b&&opts.checkOnSelect){
  1246. _12e(_12a,true);
  1247. }
  1248. opts.finder.getTr(_12a,"","selected").removeClass("datagrid-row-selected");
  1249. if(opts.idField){
  1250. for(var _12f=0;_12f<rows.length;_12f++){
  1251. _4(_12d,opts.idField,rows[_12f][opts.idField]);
  1252. }
  1253. }
  1254. opts.onUnselectAll.call(_12a,rows);
  1255. };
  1256. function _94(_130,_131,_132){
  1257. var _133=$.data(_130,"datagrid");
  1258. var opts=_133.options;
  1259. var row=opts.finder.getRow(_130,_131);
  1260. if(opts.onBeforeCheck.apply(_130,_9(_130,[_131,row]))==false){
  1261. return;
  1262. }
  1263. if(opts.singleSelect&&opts.selectOnCheck){
  1264. _12e(_130,true);
  1265. _133.checkedRows=[];
  1266. }
  1267. if(!_132&&opts.selectOnCheck){
  1268. _97(_130,_131,true);
  1269. }
  1270. var tr=opts.finder.getTr(_130,_131).addClass("datagrid-row-checked");
  1271. tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true);
  1272. tr=opts.finder.getTr(_130,"","checked",2);
  1273. if(tr.length==opts.finder.getRows(_130).length){
  1274. var dc=_133.dc;
  1275. dc.header1.add(dc.header2).find("input[type=checkbox]")._propAttr("checked",true);
  1276. }
  1277. if(opts.idField){
  1278. _7(_133.checkedRows,opts.idField,row);
  1279. }
  1280. opts.onCheck.apply(_130,_9(_130,[_131,row]));
  1281. };
  1282. function _95(_134,_135,_136){
  1283. var _137=$.data(_134,"datagrid");
  1284. var opts=_137.options;
  1285. var row=opts.finder.getRow(_134,_135);
  1286. if(opts.onBeforeUncheck.apply(_134,_9(_134,[_135,row]))==false){
  1287. return;
  1288. }
  1289. if(!_136&&opts.selectOnCheck){
  1290. _98(_134,_135,true);
  1291. }
  1292. var tr=opts.finder.getTr(_134,_135).removeClass("datagrid-row-checked");
  1293. tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",false);
  1294. var dc=_137.dc;
  1295. var _138=dc.header1.add(dc.header2);
  1296. _138.find("input[type=checkbox]")._propAttr("checked",false);
  1297. if(opts.idField){
  1298. _4(_137.checkedRows,opts.idField,row[opts.idField]);
  1299. }
  1300. opts.onUncheck.apply(_134,_9(_134,[_135,row]));
  1301. };
  1302. function _128(_139,_13a){
  1303. var _13b=$.data(_139,"datagrid");
  1304. var opts=_13b.options;
  1305. var rows=opts.finder.getRows(_139);
  1306. if(!_13a&&opts.selectOnCheck){
  1307. _123(_139,true);
  1308. }
  1309. var dc=_13b.dc;
  1310. var hck=dc.header1.add(dc.header2).find("input[type=checkbox]");
  1311. var bck=opts.finder.getTr(_139,"","allbody").addClass("datagrid-row-checked").find("div.datagrid-cell-check input[type=checkbox]");
  1312. hck.add(bck)._propAttr("checked",true);
  1313. if(opts.idField){
  1314. for(var i=0;i<rows.length;i++){
  1315. _7(_13b.checkedRows,opts.idField,rows[i]);
  1316. }
  1317. }
  1318. opts.onCheckAll.call(_139,rows);
  1319. };
  1320. function _12e(_13c,_13d){
  1321. var _13e=$.data(_13c,"datagrid");
  1322. var opts=_13e.options;
  1323. var rows=opts.finder.getRows(_13c);
  1324. if(!_13d&&opts.selectOnCheck){
  1325. _11e(_13c,true);
  1326. }
  1327. var dc=_13e.dc;
  1328. var hck=dc.header1.add(dc.header2).find("input[type=checkbox]");
  1329. var bck=opts.finder.getTr(_13c,"","checked").removeClass("datagrid-row-checked").find("div.datagrid-cell-check input[type=checkbox]");
  1330. hck.add(bck)._propAttr("checked",false);
  1331. if(opts.idField){
  1332. for(var i=0;i<rows.length;i++){
  1333. _4(_13e.checkedRows,opts.idField,rows[i][opts.idField]);
  1334. }
  1335. }
  1336. opts.onUncheckAll.call(_13c,rows);
  1337. };
  1338. function _13f(_140,_141){
  1339. var opts=$.data(_140,"datagrid").options;
  1340. var tr=opts.finder.getTr(_140,_141);
  1341. var row=opts.finder.getRow(_140,_141);
  1342. if(tr.hasClass("datagrid-row-editing")){
  1343. return;
  1344. }
  1345. if(opts.onBeforeEdit.apply(_140,_9(_140,[_141,row]))==false){
  1346. return;
  1347. }
  1348. tr.addClass("datagrid-row-editing");
  1349. _142(_140,_141);
  1350. _de(_140);
  1351. tr.find("div.datagrid-editable").each(function(){
  1352. var _143=$(this).parent().attr("field");
  1353. var ed=$.data(this,"datagrid.editor");
  1354. ed.actions.setValue(ed.target,row[_143]);
  1355. });
  1356. _144(_140,_141);
  1357. opts.onBeginEdit.apply(_140,_9(_140,[_141,row]));
  1358. };
  1359. function _145(_146,_147,_148){
  1360. var _149=$.data(_146,"datagrid");
  1361. var opts=_149.options;
  1362. var _14a=_149.updatedRows;
  1363. var _14b=_149.insertedRows;
  1364. var tr=opts.finder.getTr(_146,_147);
  1365. var row=opts.finder.getRow(_146,_147);
  1366. if(!tr.hasClass("datagrid-row-editing")){
  1367. return;
  1368. }
  1369. if(!_148){
  1370. if(!_144(_146,_147)){
  1371. return;
  1372. }
  1373. var _14c=false;
  1374. var _14d={};
  1375. tr.find("div.datagrid-editable").each(function(){
  1376. var _14e=$(this).parent().attr("field");
  1377. var ed=$.data(this,"datagrid.editor");
  1378. var t=$(ed.target);
  1379. var _14f=t.data("textbox")?t.textbox("textbox"):t;
  1380. _14f.triggerHandler("blur");
  1381. var _150=ed.actions.getValue(ed.target);
  1382. if(row[_14e]!=_150){
  1383. row[_14e]=_150;
  1384. _14c=true;
  1385. _14d[_14e]=_150;
  1386. }
  1387. });
  1388. if(_14c){
  1389. if(_2(_14b,row)==-1){
  1390. if(_2(_14a,row)==-1){
  1391. _14a.push(row);
  1392. }
  1393. }
  1394. }
  1395. opts.onEndEdit.apply(_146,_9(_146,[_147,row,_14d]));
  1396. }
  1397. tr.removeClass("datagrid-row-editing");
  1398. _151(_146,_147);
  1399. $(_146).datagrid("refreshRow",_147);
  1400. if(!_148){
  1401. opts.onAfterEdit.apply(_146,_9(_146,[_147,row,_14d]));
  1402. }else{
  1403. opts.onCancelEdit.apply(_146,_9(_146,[_147,row]));
  1404. }
  1405. };
  1406. function _152(_153,_154){
  1407. var opts=$.data(_153,"datagrid").options;
  1408. var tr=opts.finder.getTr(_153,_154);
  1409. var _155=[];
  1410. tr.children("td").each(function(){
  1411. var cell=$(this).find("div.datagrid-editable");
  1412. if(cell.length){
  1413. var ed=$.data(cell[0],"datagrid.editor");
  1414. _155.push(ed);
  1415. }
  1416. });
  1417. return _155;
  1418. };
  1419. function _156(_157,_158){
  1420. var _159=_152(_157,_158.index!=undefined?_158.index:_158.id);
  1421. for(var i=0;i<_159.length;i++){
  1422. if(_159[i].field==_158.field){
  1423. return _159[i];
  1424. }
  1425. }
  1426. return null;
  1427. };
  1428. function _142(_15a,_15b){
  1429. var opts=$.data(_15a,"datagrid").options;
  1430. var tr=opts.finder.getTr(_15a,_15b);
  1431. tr.children("td").each(function(){
  1432. var cell=$(this).find("div.datagrid-cell");
  1433. var _15c=$(this).attr("field");
  1434. var col=_76(_15a,_15c);
  1435. if(col&&col.editor){
  1436. var _15d,_15e;
  1437. if(typeof col.editor=="string"){
  1438. _15d=col.editor;
  1439. }else{
  1440. _15d=col.editor.type;
  1441. _15e=col.editor.options;
  1442. }
  1443. var _15f=opts.editors[_15d];
  1444. if(_15f){
  1445. var _160=cell.html();
  1446. var _161=cell._outerWidth();
  1447. cell.addClass("datagrid-editable");
  1448. cell._outerWidth(_161);
  1449. cell.html("<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\"><tr><td></td></tr></table>");
  1450. cell.children("table").bind("click dblclick contextmenu",function(e){
  1451. e.stopPropagation();
  1452. });
  1453. $.data(cell[0],"datagrid.editor",{actions:_15f,target:_15f.init(cell.find("td"),_15e),field:_15c,type:_15d,oldHtml:_160});
  1454. }
  1455. }
  1456. });
  1457. _38(_15a,_15b,true);
  1458. };
  1459. function _151(_162,_163){
  1460. var opts=$.data(_162,"datagrid").options;
  1461. var tr=opts.finder.getTr(_162,_163);
  1462. tr.children("td").each(function(){
  1463. var cell=$(this).find("div.datagrid-editable");
  1464. if(cell.length){
  1465. var ed=$.data(cell[0],"datagrid.editor");
  1466. if(ed.actions.destroy){
  1467. ed.actions.destroy(ed.target);
  1468. }
  1469. cell.html(ed.oldHtml);
  1470. $.removeData(cell[0],"datagrid.editor");
  1471. cell.removeClass("datagrid-editable");
  1472. cell.css("width","");
  1473. }
  1474. });
  1475. };
  1476. function _144(_164,_165){
  1477. var tr=$.data(_164,"datagrid").options.finder.getTr(_164,_165);
  1478. if(!tr.hasClass("datagrid-row-editing")){
  1479. return true;
  1480. }
  1481. var vbox=tr.find(".validatebox-text");
  1482. vbox.validatebox("validate");
  1483. vbox.trigger("mouseleave");
  1484. var _166=tr.find(".validatebox-invalid");
  1485. return _166.length==0;
  1486. };
  1487. function _167(_168,_169){
  1488. var _16a=$.data(_168,"datagrid").insertedRows;
  1489. var _16b=$.data(_168,"datagrid").deletedRows;
  1490. var _16c=$.data(_168,"datagrid").updatedRows;
  1491. if(!_169){
  1492. var rows=[];
  1493. rows=rows.concat(_16a);
  1494. rows=rows.concat(_16b);
  1495. rows=rows.concat(_16c);
  1496. return rows;
  1497. }else{
  1498. if(_169=="inserted"){
  1499. return _16a;
  1500. }else{
  1501. if(_169=="deleted"){
  1502. return _16b;
  1503. }else{
  1504. if(_169=="updated"){
  1505. return _16c;
  1506. }
  1507. }
  1508. }
  1509. }
  1510. return [];
  1511. };
  1512. function _16d(_16e,_16f){
  1513. var _170=$.data(_16e,"datagrid");
  1514. var opts=_170.options;
  1515. var data=_170.data;
  1516. var _171=_170.insertedRows;
  1517. var _172=_170.deletedRows;
  1518. $(_16e).datagrid("cancelEdit",_16f);
  1519. var row=opts.finder.getRow(_16e,_16f);
  1520. if(_2(_171,row)>=0){
  1521. _4(_171,row);
  1522. }else{
  1523. _172.push(row);
  1524. }
  1525. _4(_170.selectedRows,opts.idField,row[opts.idField]);
  1526. _4(_170.checkedRows,opts.idField,row[opts.idField]);
  1527. opts.view.deleteRow.call(opts.view,_16e,_16f);
  1528. if(opts.height=="auto"){
  1529. _38(_16e);
  1530. }
  1531. $(_16e).datagrid("getPager").pagination("refresh",{total:data.total});
  1532. };
  1533. function _173(_174,_175){
  1534. var data=$.data(_174,"datagrid").data;
  1535. var view=$.data(_174,"datagrid").options.view;
  1536. var _176=$.data(_174,"datagrid").insertedRows;
  1537. view.insertRow.call(view,_174,_175.index,_175.row);
  1538. _176.push(_175.row);
  1539. $(_174).datagrid("getPager").pagination("refresh",{total:data.total});
  1540. };
  1541. function _177(_178,row){
  1542. var data=$.data(_178,"datagrid").data;
  1543. var view=$.data(_178,"datagrid").options.view;
  1544. var _179=$.data(_178,"datagrid").insertedRows;
  1545. view.insertRow.call(view,_178,null,row);
  1546. _179.push(row);
  1547. $(_178).datagrid("getPager").pagination("refresh",{total:data.total});
  1548. };
  1549. function _17a(_17b){
  1550. var _17c=$.data(_17b,"datagrid");
  1551. var data=_17c.data;
  1552. var rows=data.rows;
  1553. var _17d=[];
  1554. for(var i=0;i<rows.length;i++){
  1555. _17d.push($.extend({},rows[i]));
  1556. }
  1557. _17c.originalRows=_17d;
  1558. _17c.updatedRows=[];
  1559. _17c.insertedRows=[];
  1560. _17c.deletedRows=[];
  1561. };
  1562. function _17e(_17f){
  1563. var data=$.data(_17f,"datagrid").data;
  1564. var ok=true;
  1565. for(var i=0,len=data.rows.length;i<len;i++){
  1566. if(_144(_17f,i)){
  1567. $(_17f).datagrid("endEdit",i);
  1568. }else{
  1569. ok=false;
  1570. }
  1571. }
  1572. if(ok){
  1573. _17a(_17f);
  1574. }
  1575. };
  1576. function _180(_181){
  1577. var _182=$.data(_181,"datagrid");
  1578. var opts=_182.options;
  1579. var _183=_182.originalRows;
  1580. var _184=_182.insertedRows;
  1581. var _185=_182.deletedRows;
  1582. var _186=_182.selectedRows;
  1583. var _187=_182.checkedRows;
  1584. var data=_182.data;
  1585. function _188(a){
  1586. var ids=[];
  1587. for(var i=0;i<a.length;i++){
  1588. ids.push(a[i][opts.idField]);
  1589. }
  1590. return ids;
  1591. };
  1592. function _189(ids,_18a){
  1593. for(var i=0;i<ids.length;i++){
  1594. var _18b=_107(_181,ids[i]);
  1595. if(_18b>=0){
  1596. (_18a=="s"?_97:_94)(_181,_18b,true);
  1597. }
  1598. }
  1599. };
  1600. for(var i=0;i<data.rows.length;i++){
  1601. $(_181).datagrid("cancelEdit",i);
  1602. }
  1603. var _18c=_188(_186);
  1604. var _18d=_188(_187);
  1605. _186.splice(0,_186.length);
  1606. _187.splice(0,_187.length);
  1607. data.total+=_185.length-_184.length;
  1608. data.rows=_183;
  1609. _b3(_181,data);
  1610. _189(_18c,"s");
  1611. _189(_18d,"c");
  1612. _17a(_181);
  1613. };
  1614. function _b2(_18e,_18f,cb){
  1615. var opts=$.data(_18e,"datagrid").options;
  1616. if(_18f){
  1617. opts.queryParams=_18f;
  1618. }
  1619. var _190=$.extend({},opts.queryParams);
  1620. if(opts.pagination){
  1621. $.extend(_190,{page:opts.pageNumber||1,rows:opts.pageSize});
  1622. }
  1623. if(opts.sortName){
  1624. $.extend(_190,{sort:opts.sortName,order:opts.sortOrder});
  1625. }
  1626. if(opts.onBeforeLoad.call(_18e,_190)==false){
  1627. return;
  1628. }
  1629. $(_18e).datagrid("loading");
  1630. var _191=opts.loader.call(_18e,_190,function(data){
  1631. $(_18e).datagrid("loaded");
  1632. $(_18e).datagrid("loadData",data);
  1633. if(cb){
  1634. cb();
  1635. }
  1636. },function(){
  1637. $(_18e).datagrid("loaded");
  1638. opts.onLoadError.apply(_18e,arguments);
  1639. });
  1640. if(_191==false){
  1641. $(_18e).datagrid("loaded");
  1642. }
  1643. };
  1644. function _192(_193,_194){
  1645. var opts=$.data(_193,"datagrid").options;
  1646. _194.type=_194.type||"body";
  1647. _194.rowspan=_194.rowspan||1;
  1648. _194.colspan=_194.colspan||1;
  1649. if(_194.rowspan==1&&_194.colspan==1){
  1650. return;
  1651. }
  1652. var tr=opts.finder.getTr(_193,(_194.index!=undefined?_194.index:_194.id),_194.type);
  1653. if(!tr.length){
  1654. return;
  1655. }
  1656. var td=tr.find("td[field=\""+_194.field+"\"]");
  1657. td.attr("rowspan",_194.rowspan).attr("colspan",_194.colspan);
  1658. td.addClass("datagrid-td-merged");
  1659. _195(td.next(),_194.colspan-1);
  1660. for(var i=1;i<_194.rowspan;i++){
  1661. tr=tr.next();
  1662. if(!tr.length){
  1663. break;
  1664. }
  1665. td=tr.find("td[field=\""+_194.field+"\"]");
  1666. _195(td,_194.colspan);
  1667. }
  1668. _dd(_193);
  1669. function _195(td,_196){
  1670. for(var i=0;i<_196;i++){
  1671. td.hide();
  1672. td=td.next();
  1673. }
  1674. };
  1675. };
  1676. $.fn.datagrid=function(_197,_198){
  1677. if(typeof _197=="string"){
  1678. return $.fn.datagrid.methods[_197](this,_198);
  1679. }
  1680. _197=_197||{};
  1681. return this.each(function(){
  1682. var _199=$.data(this,"datagrid");
  1683. var opts;
  1684. if(_199){
  1685. opts=$.extend(_199.options,_197);
  1686. _199.options=opts;
  1687. }else{
  1688. opts=$.extend({},$.extend({},$.fn.datagrid.defaults,{queryParams:{}}),$.fn.datagrid.parseOptions(this),_197);
  1689. $(this).css("width","").css("height","");
  1690. var _19a=_51(this,opts.rownumbers);
  1691. if(!opts.columns){
  1692. opts.columns=_19a.columns;
  1693. }
  1694. if(!opts.frozenColumns){
  1695. opts.frozenColumns=_19a.frozenColumns;
  1696. }
  1697. opts.columns=$.extend(true,[],opts.columns);
  1698. opts.frozenColumns=$.extend(true,[],opts.frozenColumns);
  1699. opts.view=$.extend({},opts.view);
  1700. $.data(this,"datagrid",{options:opts,panel:_19a.panel,dc:_19a.dc,ss:null,selectedRows:[],checkedRows:[],data:{total:0,rows:[]},originalRows:[],updatedRows:[],insertedRows:[],deletedRows:[]});
  1701. }
  1702. _5c(this);
  1703. _77(this);
  1704. _1e(this);
  1705. if(opts.data){
  1706. $(this).datagrid("loadData",opts.data);
  1707. }else{
  1708. var data=$.fn.datagrid.parseData(this);
  1709. if(data.total>0){
  1710. $(this).datagrid("loadData",data);
  1711. }else{
  1712. opts.view.renderEmptyRow(this);
  1713. $(this).datagrid("autoSizeColumn");
  1714. }
  1715. }
  1716. _b2(this);
  1717. });
  1718. };
  1719. function _19b(_19c){
  1720. var _19d={};
  1721. $.map(_19c,function(name){
  1722. _19d[name]=_19e(name);
  1723. });
  1724. return _19d;
  1725. function _19e(name){
  1726. function isA(_19f){
  1727. return $.data($(_19f)[0],name)!=undefined;
  1728. };
  1729. return {init:function(_1a0,_1a1){
  1730. var _1a2=$("<input type=\"text\" class=\"datagrid-editable-input\">").appendTo(_1a0);
  1731. if(_1a2[name]&&name!="text"){
  1732. return _1a2[name](_1a1);
  1733. }else{
  1734. return _1a2;
  1735. }
  1736. },destroy:function(_1a3){
  1737. if(isA(_1a3,name)){
  1738. $(_1a3)[name]("destroy");
  1739. }
  1740. },getValue:function(_1a4){
  1741. if(isA(_1a4,name)){
  1742. var opts=$(_1a4)[name]("options");
  1743. if(opts.multiple){
  1744. return $(_1a4)[name]("getValues").join(opts.separator);
  1745. }else{
  1746. return $(_1a4)[name]("getValue");
  1747. }
  1748. }else{
  1749. return $(_1a4).val();
  1750. }
  1751. },setValue:function(_1a5,_1a6){
  1752. if(isA(_1a5,name)){
  1753. var opts=$(_1a5)[name]("options");
  1754. if(opts.multiple){
  1755. if(_1a6){
  1756. $(_1a5)[name]("setValues",_1a6.split(opts.separator));
  1757. }else{
  1758. $(_1a5)[name]("clear");
  1759. }
  1760. }else{
  1761. $(_1a5)[name]("setValue",_1a6);
  1762. }
  1763. }else{
  1764. $(_1a5).val(_1a6);
  1765. }
  1766. },resize:function(_1a7,_1a8){
  1767. if(isA(_1a7,name)){
  1768. $(_1a7)[name]("resize",_1a8);
  1769. }else{
  1770. $(_1a7)._outerWidth(_1a8)._outerHeight(22);
  1771. }
  1772. }};
  1773. };
  1774. };
  1775. var _1a9=$.extend({},_19b(["text","textbox","numberbox","numberspinner","combobox","combotree","combogrid","datebox","datetimebox","timespinner","datetimespinner"]),{textarea:{init:function(_1aa,_1ab){
  1776. var _1ac=$("<textarea class=\"datagrid-editable-input\"></textarea>").appendTo(_1aa);
  1777. return _1ac;
  1778. },getValue:function(_1ad){
  1779. return $(_1ad).val();
  1780. },setValue:function(_1ae,_1af){
  1781. $(_1ae).val(_1af);
  1782. },resize:function(_1b0,_1b1){
  1783. $(_1b0)._outerWidth(_1b1);
  1784. }},checkbox:{init:function(_1b2,_1b3){
  1785. var _1b4=$("<input type=\"checkbox\">").appendTo(_1b2);
  1786. _1b4.val(_1b3.on);
  1787. _1b4.attr("offval",_1b3.off);
  1788. return _1b4;
  1789. },getValue:function(_1b5){
  1790. if($(_1b5).is(":checked")){
  1791. return $(_1b5).val();
  1792. }else{
  1793. return $(_1b5).attr("offval");
  1794. }
  1795. },setValue:function(_1b6,_1b7){
  1796. var _1b8=false;
  1797. if($(_1b6).val()==_1b7){
  1798. _1b8=true;
  1799. }
  1800. $(_1b6)._propAttr("checked",_1b8);
  1801. }},validatebox:{init:function(_1b9,_1ba){
  1802. var _1bb=$("<input type=\"text\" class=\"datagrid-editable-input\">").appendTo(_1b9);
  1803. _1bb.validatebox(_1ba);
  1804. return _1bb;
  1805. },destroy:function(_1bc){
  1806. $(_1bc).validatebox("destroy");
  1807. },getValue:function(_1bd){
  1808. return $(_1bd).val();
  1809. },setValue:function(_1be,_1bf){
  1810. $(_1be).val(_1bf);
  1811. },resize:function(_1c0,_1c1){
  1812. $(_1c0)._outerWidth(_1c1)._outerHeight(22);
  1813. }}});
  1814. $.fn.datagrid.methods={options:function(jq){
  1815. var _1c2=$.data(jq[0],"datagrid").options;
  1816. var _1c3=$.data(jq[0],"datagrid").panel.panel("options");
  1817. var opts=$.extend(_1c2,{width:_1c3.width,height:_1c3.height,closed:_1c3.closed,collapsed:_1c3.collapsed,minimized:_1c3.minimized,maximized:_1c3.maximized});
  1818. return opts;
  1819. },setSelectionState:function(jq){
  1820. return jq.each(function(){
  1821. _ff(this);
  1822. });
  1823. },createStyleSheet:function(jq){
  1824. return _b(jq[0]);
  1825. },getPanel:function(jq){
  1826. return $.data(jq[0],"datagrid").panel;
  1827. },getPager:function(jq){
  1828. return $.data(jq[0],"datagrid").panel.children("div.datagrid-pager");
  1829. },getColumnFields:function(jq,_1c4){
  1830. return _75(jq[0],_1c4);
  1831. },getColumnOption:function(jq,_1c5){
  1832. return _76(jq[0],_1c5);
  1833. },resize:function(jq,_1c6){
  1834. return jq.each(function(){
  1835. _1e(this,_1c6);
  1836. });
  1837. },load:function(jq,_1c7){
  1838. return jq.each(function(){
  1839. var opts=$(this).datagrid("options");
  1840. if(typeof _1c7=="string"){
  1841. opts.url=_1c7;
  1842. _1c7=null;
  1843. }
  1844. opts.pageNumber=1;
  1845. var _1c8=$(this).datagrid("getPager");
  1846. _1c8.pagination("refresh",{pageNumber:1});
  1847. _b2(this,_1c7);
  1848. });
  1849. },reload:function(jq,_1c9){
  1850. return jq.each(function(){
  1851. var opts=$(this).datagrid("options");
  1852. if(typeof _1c9=="string"){
  1853. opts.url=_1c9;
  1854. _1c9=null;
  1855. }
  1856. _b2(this,_1c9);
  1857. });
  1858. },reloadFooter:function(jq,_1ca){
  1859. return jq.each(function(){
  1860. var opts=$.data(this,"datagrid").options;
  1861. var dc=$.data(this,"datagrid").dc;
  1862. if(_1ca){
  1863. $.data(this,"datagrid").footer=_1ca;
  1864. }
  1865. if(opts.showFooter){
  1866. opts.view.renderFooter.call(opts.view,this,dc.footer2,false);
  1867. opts.view.renderFooter.call(opts.view,this,dc.footer1,true);
  1868. if(opts.view.onAfterRender){
  1869. opts.view.onAfterRender.call(opts.view,this);
  1870. }
  1871. $(this).datagrid("fixRowHeight");
  1872. }
  1873. });
  1874. },loading:function(jq){
  1875. return jq.each(function(){
  1876. var opts=$.data(this,"datagrid").options;
  1877. $(this).datagrid("getPager").pagination("loading");
  1878. if(opts.loadMsg){
  1879. var _1cb=$(this).datagrid("getPanel");
  1880. if(!_1cb.children("div.datagrid-mask").length){
  1881. $("<div class=\"datagrid-mask\" style=\"display:block\"></div>").appendTo(_1cb);
  1882. var msg=$("<div class=\"datagrid-mask-msg\" style=\"display:block;left:50%\"></div>").html(opts.loadMsg).appendTo(_1cb);
  1883. msg._outerHeight(40);
  1884. msg.css({marginLeft:(-msg.outerWidth()/2),lineHeight:(msg.height()+"px")});
  1885. }
  1886. }
  1887. });
  1888. },loaded:function(jq){
  1889. return jq.each(function(){
  1890. $(this).datagrid("getPager").pagination("loaded");
  1891. var _1cc=$(this).datagrid("getPanel");
  1892. _1cc.children("div.datagrid-mask-msg").remove();
  1893. _1cc.children("div.datagrid-mask").remove();
  1894. });
  1895. },fitColumns:function(jq){
  1896. return jq.each(function(){
  1897. _b4(this);
  1898. });
  1899. },fixColumnSize:function(jq,_1cd){
  1900. return jq.each(function(){
  1901. _d7(this,_1cd);
  1902. });
  1903. },fixRowHeight:function(jq,_1ce){
  1904. return jq.each(function(){
  1905. _38(this,_1ce);
  1906. });
  1907. },freezeRow:function(jq,_1cf){
  1908. return jq.each(function(){
  1909. _49(this,_1cf);
  1910. });
  1911. },autoSizeColumn:function(jq,_1d0){
  1912. return jq.each(function(){
  1913. _c8(this,_1d0);
  1914. });
  1915. },loadData:function(jq,data){
  1916. return jq.each(function(){
  1917. _b3(this,data);
  1918. _17a(this);
  1919. });
  1920. },getData:function(jq){
  1921. return $.data(jq[0],"datagrid").data;
  1922. },getRows:function(jq){
  1923. return $.data(jq[0],"datagrid").data.rows;
  1924. },getFooterRows:function(jq){
  1925. return $.data(jq[0],"datagrid").footer;
  1926. },getRowIndex:function(jq,id){
  1927. return _107(jq[0],id);
  1928. },getChecked:function(jq){
  1929. return _10d(jq[0]);
  1930. },getSelected:function(jq){
  1931. var rows=_10a(jq[0]);
  1932. return rows.length>0?rows[0]:null;
  1933. },getSelections:function(jq){
  1934. return _10a(jq[0]);
  1935. },clearSelections:function(jq){
  1936. return jq.each(function(){
  1937. var _1d1=$.data(this,"datagrid");
  1938. var _1d2=_1d1.selectedRows;
  1939. var _1d3=_1d1.checkedRows;
  1940. _1d2.splice(0,_1d2.length);
  1941. _11e(this);
  1942. if(_1d1.options.checkOnSelect){
  1943. _1d3.splice(0,_1d3.length);
  1944. }
  1945. });
  1946. },clearChecked:function(jq){
  1947. return jq.each(function(){
  1948. var _1d4=$.data(this,"datagrid");
  1949. var _1d5=_1d4.selectedRows;
  1950. var _1d6=_1d4.checkedRows;
  1951. _1d6.splice(0,_1d6.length);
  1952. _12e(this);
  1953. if(_1d4.options.selectOnCheck){
  1954. _1d5.splice(0,_1d5.length);
  1955. }
  1956. });
  1957. },scrollTo:function(jq,_1d7){
  1958. return jq.each(function(){
  1959. _110(this,_1d7);
  1960. });
  1961. },highlightRow:function(jq,_1d8){
  1962. return jq.each(function(){
  1963. _8e(this,_1d8);
  1964. _110(this,_1d8);
  1965. });
  1966. },selectAll:function(jq){
  1967. return jq.each(function(){
  1968. _123(this);
  1969. });
  1970. },unselectAll:function(jq){
  1971. return jq.each(function(){
  1972. _11e(this);
  1973. });
  1974. },selectRow:function(jq,_1d9){
  1975. return jq.each(function(){
  1976. _97(this,_1d9);
  1977. });
  1978. },selectRecord:function(jq,id){
  1979. return jq.each(function(){
  1980. var opts=$.data(this,"datagrid").options;
  1981. if(opts.idField){
  1982. var _1da=_107(this,id);
  1983. if(_1da>=0){
  1984. $(this).datagrid("selectRow",_1da);
  1985. }
  1986. }
  1987. });
  1988. },unselectRow:function(jq,_1db){
  1989. return jq.each(function(){
  1990. _98(this,_1db);
  1991. });
  1992. },checkRow:function(jq,_1dc){
  1993. return jq.each(function(){
  1994. _94(this,_1dc);
  1995. });
  1996. },uncheckRow:function(jq,_1dd){
  1997. return jq.each(function(){
  1998. _95(this,_1dd);
  1999. });
  2000. },checkAll:function(jq){
  2001. return jq.each(function(){
  2002. _128(this);
  2003. });
  2004. },uncheckAll:function(jq){
  2005. return jq.each(function(){
  2006. _12e(this);
  2007. });
  2008. },beginEdit:function(jq,_1de){
  2009. return jq.each(function(){
  2010. _13f(this,_1de);
  2011. });
  2012. },endEdit:function(jq,_1df){
  2013. return jq.each(function(){
  2014. _145(this,_1df,false);
  2015. });
  2016. },cancelEdit:function(jq,_1e0){
  2017. return jq.each(function(){
  2018. _145(this,_1e0,true);
  2019. });
  2020. },getEditors:function(jq,_1e1){
  2021. return _152(jq[0],_1e1);
  2022. },getEditor:function(jq,_1e2){
  2023. return _156(jq[0],_1e2);
  2024. },refreshRow:function(jq,_1e3){
  2025. return jq.each(function(){
  2026. var opts=$.data(this,"datagrid").options;
  2027. opts.view.refreshRow.call(opts.view,this,_1e3);
  2028. });
  2029. },validateRow:function(jq,_1e4){
  2030. return _144(jq[0],_1e4);
  2031. },updateRow:function(jq,_1e5){
  2032. return jq.each(function(){
  2033. var opts=$.data(this,"datagrid").options;
  2034. opts.view.updateRow.call(opts.view,this,_1e5.index,_1e5.row);
  2035. });
  2036. },appendRow:function(jq,row){
  2037. return jq.each(function(){
  2038. _177(this,row);
  2039. });
  2040. },insertRow:function(jq,_1e6){
  2041. return jq.each(function(){
  2042. _173(this,_1e6);
  2043. });
  2044. },deleteRow:function(jq,_1e7){
  2045. return jq.each(function(){
  2046. _16d(this,_1e7);
  2047. });
  2048. },getChanges:function(jq,_1e8){
  2049. return _167(jq[0],_1e8);
  2050. },acceptChanges:function(jq){
  2051. return jq.each(function(){
  2052. _17e(this);
  2053. });
  2054. },rejectChanges:function(jq){
  2055. return jq.each(function(){
  2056. _180(this);
  2057. });
  2058. },mergeCells:function(jq,_1e9){
  2059. return jq.each(function(){
  2060. _192(this,_1e9);
  2061. });
  2062. },showColumn:function(jq,_1ea){
  2063. return jq.each(function(){
  2064. var _1eb=$(this).datagrid("getPanel");
  2065. _1eb.find("td[field=\""+_1ea+"\"]").show();
  2066. $(this).datagrid("getColumnOption",_1ea).hidden=false;
  2067. $(this).datagrid("fitColumns");
  2068. });
  2069. },hideColumn:function(jq,_1ec){
  2070. return jq.each(function(){
  2071. var _1ed=$(this).datagrid("getPanel");
  2072. _1ed.find("td[field=\""+_1ec+"\"]").hide();
  2073. $(this).datagrid("getColumnOption",_1ec).hidden=true;
  2074. $(this).datagrid("fitColumns");
  2075. });
  2076. },sort:function(jq,_1ee){
  2077. return jq.each(function(){
  2078. _a6(this,_1ee);
  2079. });
  2080. },gotoPage:function(jq,_1ef){
  2081. return jq.each(function(){
  2082. var _1f0=this;
  2083. var page,cb;
  2084. if(typeof _1ef=="object"){
  2085. page=_1ef.page;
  2086. cb=_1ef.callback;
  2087. }else{
  2088. page=_1ef;
  2089. }
  2090. $(_1f0).datagrid("options").pageNumber=page;
  2091. $(_1f0).datagrid("getPager").pagination("refresh",{pageNumber:page});
  2092. _b2(_1f0,null,function(){
  2093. if(cb){
  2094. cb.call(_1f0,page);
  2095. }
  2096. });
  2097. });
  2098. }};
  2099. $.fn.datagrid.parseOptions=function(_1f1){
  2100. var t=$(_1f1);
  2101. return $.extend({},$.fn.panel.parseOptions(_1f1),$.parser.parseOptions(_1f1,["url","toolbar","idField","sortName","sortOrder","pagePosition","resizeHandle",{sharedStyleSheet:"boolean",fitColumns:"boolean",autoRowHeight:"boolean",striped:"boolean",nowrap:"boolean"},{rownumbers:"boolean",singleSelect:"boolean",ctrlSelect:"boolean",checkOnSelect:"boolean",selectOnCheck:"boolean"},{pagination:"boolean",pageSize:"number",pageNumber:"number"},{multiSort:"boolean",remoteSort:"boolean",showHeader:"boolean",showFooter:"boolean"},{scrollbarSize:"number"}]),{pageList:(t.attr("pageList")?eval(t.attr("pageList")):undefined),loadMsg:(t.attr("loadMsg")!=undefined?t.attr("loadMsg"):undefined),rowStyler:(t.attr("rowStyler")?eval(t.attr("rowStyler")):undefined)});
  2102. };
  2103. $.fn.datagrid.parseData=function(_1f2){
  2104. var t=$(_1f2);
  2105. var data={total:0,rows:[]};
  2106. var _1f3=t.datagrid("getColumnFields",true).concat(t.datagrid("getColumnFields",false));
  2107. t.find("tbody tr").each(function(){
  2108. data.total++;
  2109. var row={};
  2110. $.extend(row,$.parser.parseOptions(this,["iconCls","state"]));
  2111. for(var i=0;i<_1f3.length;i++){
  2112. row[_1f3[i]]=$(this).find("td:eq("+i+")").html();
  2113. }
  2114. data.rows.push(row);
  2115. });
  2116. return data;
  2117. };
  2118. var _1f4={render:function(_1f5,_1f6,_1f7){
  2119. var rows=$(_1f5).datagrid("getRows");
  2120. $(_1f6).html(this.renderTable(_1f5,0,rows,_1f7));
  2121. },renderFooter:function(_1f8,_1f9,_1fa){
  2122. var opts=$.data(_1f8,"datagrid").options;
  2123. var rows=$.data(_1f8,"datagrid").footer||[];
  2124. var _1fb=$(_1f8).datagrid("getColumnFields",_1fa);
  2125. var _1fc=["<table class=\"datagrid-ftable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
  2126. for(var i=0;i<rows.length;i++){
  2127. _1fc.push("<tr class=\"datagrid-row\" datagrid-row-index=\""+i+"\">");
  2128. _1fc.push(this.renderRow.call(this,_1f8,_1fb,_1fa,i,rows[i]));
  2129. _1fc.push("</tr>");
  2130. }
  2131. _1fc.push("</tbody></table>");
  2132. $(_1f9).html(_1fc.join(""));
  2133. },renderTable:function(_1fd,_1fe,rows,_1ff){
  2134. var _200=$.data(_1fd,"datagrid");
  2135. var opts=_200.options;
  2136. if(_1ff){
  2137. if(!(opts.rownumbers||(opts.frozenColumns&&opts.frozenColumns.length))){
  2138. return "";
  2139. }
  2140. }
  2141. var _201=$(_1fd).datagrid("getColumnFields",_1ff);
  2142. var _202=["<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];
  2143. for(var i=0;i<rows.length;i++){
  2144. var row=rows[i];
  2145. var css=opts.rowStyler?opts.rowStyler.call(_1fd,_1fe,row):"";
  2146. var _203="";
  2147. var _204="";
  2148. if(typeof css=="string"){
  2149. _204=css;
  2150. }else{
  2151. if(css){
  2152. _203=css["class"]||"";
  2153. _204=css["style"]||"";
  2154. }
  2155. }
  2156. var cls="class=\"datagrid-row "+(_1fe%2&&opts.striped?"datagrid-row-alt ":" ")+_203+"\"";
  2157. var _205=_204?"style=\""+_204+"\"":"";
  2158. var _206=_200.rowIdPrefix+"-"+(_1ff?1:2)+"-"+_1fe;
  2159. _202.push("<tr id=\""+_206+"\" datagrid-row-index=\""+_1fe+"\" "+cls+" "+_205+">");
  2160. _202.push(this.renderRow.call(this,_1fd,_201,_1ff,_1fe,row));
  2161. _202.push("</tr>");
  2162. _1fe++;
  2163. }
  2164. _202.push("</tbody></table>");
  2165. return _202.join("");
  2166. },renderRow:function(_207,_208,_209,_20a,_20b){
  2167. var opts=$.data(_207,"datagrid").options;
  2168. var cc=[];
  2169. if(_209&&opts.rownumbers){
  2170. var _20c=_20a+1;
  2171. if(opts.pagination){
  2172. _20c+=(opts.pageNumber-1)*opts.pageSize;
  2173. }
  2174. cc.push("<td class=\"datagrid-td-rownumber\"><div class=\"datagrid-cell-rownumber\">"+_20c+"</div></td>");
  2175. }
  2176. for(var i=0;i<_208.length;i++){
  2177. var _20d=_208[i];
  2178. var col=$(_207).datagrid("getColumnOption",_20d);
  2179. if(col){
  2180. var _20e=_20b[_20d];
  2181. var css=col.styler?(col.styler(_20e,_20b,_20a)||""):"";
  2182. var _20f="";
  2183. var _210="";
  2184. if(typeof css=="string"){
  2185. _210=css;
  2186. }else{
  2187. if(css){
  2188. _20f=css["class"]||"";
  2189. _210=css["style"]||"";
  2190. }
  2191. }
  2192. var cls=_20f?"class=\""+_20f+"\"":"";
  2193. var _211=col.hidden?"style=\"display:none;"+_210+"\"":(_210?"style=\""+_210+"\"":"");
  2194. cc.push("<td field=\""+_20d+"\" "+cls+" "+_211+">");
  2195. var _211="";
  2196. if(!col.checkbox){
  2197. if(col.align){
  2198. _211+="text-align:"+col.align+";";
  2199. }
  2200. if(!opts.nowrap){
  2201. _211+="white-space:normal;height:auto;";
  2202. }else{
  2203. if(opts.autoRowHeight){
  2204. _211+="height:auto;";
  2205. }
  2206. }
  2207. }
  2208. cc.push("<div style=\""+_211+"\" ");
  2209. cc.push(col.checkbox?"class=\"datagrid-cell-check\"":"class=\"datagrid-cell "+col.cellClass+"\"");
  2210. cc.push(">");
  2211. if(col.checkbox){
  2212. cc.push("<input type=\"checkbox\" "+(_20b.checked?"checked=\"checked\"":""));
  2213. cc.push(" name=\""+_20d+"\" value=\""+(_20e!=undefined?_20e:"")+"\">");
  2214. }else{
  2215. if(col.formatter){
  2216. cc.push(col.formatter(_20e,_20b,_20a));
  2217. }else{
  2218. cc.push(_20e);
  2219. }
  2220. }
  2221. cc.push("</div>");
  2222. cc.push("</td>");
  2223. }
  2224. }
  2225. return cc.join("");
  2226. },refreshRow:function(_212,_213){
  2227. this.updateRow.call(this,_212,_213,{});
  2228. },updateRow:function(_214,_215,row){
  2229. var opts=$.data(_214,"datagrid").options;
  2230. var rows=$(_214).datagrid("getRows");
  2231. var _216=_217(_215);
  2232. $.extend(rows[_215],row);
  2233. var _218=_217(_215);
  2234. var _219=_216.c;
  2235. var _21a=_218.s;
  2236. var _21b="datagrid-row "+(_215%2&&opts.striped?"datagrid-row-alt ":" ")+_218.c;
  2237. function _217(_21c){
  2238. var css=opts.rowStyler?opts.rowStyler.call(_214,_21c,rows[_21c]):"";
  2239. var _21d="";
  2240. var _21e="";
  2241. if(typeof css=="string"){
  2242. _21e=css;
  2243. }else{
  2244. if(css){
  2245. _21d=css["class"]||"";
  2246. _21e=css["style"]||"";
  2247. }
  2248. }
  2249. return {c:_21d,s:_21e};
  2250. };
  2251. function _21f(_220){
  2252. var _221=$(_214).datagrid("getColumnFields",_220);
  2253. var tr=opts.finder.getTr(_214,_215,"body",(_220?1:2));
  2254. var _222=tr.find("div.datagrid-cell-check input[type=checkbox]").is(":checked");
  2255. tr.html(this.renderRow.call(this,_214,_221,_220,_215,rows[_215]));
  2256. tr.attr("style",_21a).removeClass(_219).addClass(_21b);
  2257. if(_222){
  2258. tr.find("div.datagrid-cell-check input[type=checkbox]")._propAttr("checked",true);
  2259. }
  2260. };
  2261. _21f.call(this,true);
  2262. _21f.call(this,false);
  2263. $(_214).datagrid("fixRowHeight",_215);
  2264. },insertRow:function(_223,_224,row){
  2265. var _225=$.data(_223,"datagrid");
  2266. var opts=_225.options;
  2267. var dc=_225.dc;
  2268. var data=_225.data;
  2269. if(_224==undefined||_224==null){
  2270. _224=data.rows.length;
  2271. }
  2272. if(_224>data.rows.length){
  2273. _224=data.rows.length;
  2274. }
  2275. function _226(_227){
  2276. var _228=_227?1:2;
  2277. for(var i=data.rows.length-1;i>=_224;i--){
  2278. var tr=opts.finder.getTr(_223,i,"body",_228);
  2279. tr.attr("datagrid-row-index",i+1);
  2280. tr.attr("id",_225.rowIdPrefix+"-"+_228+"-"+(i+1));
  2281. if(_227&&opts.rownumbers){
  2282. var _229=i+2;
  2283. if(opts.pagination){
  2284. _229+=(opts.pageNumber-1)*opts.pageSize;
  2285. }
  2286. tr.find("div.datagrid-cell-rownumber").html(_229);
  2287. }
  2288. if(opts.striped){
  2289. tr.removeClass("datagrid-row-alt").addClass((i+1)%2?"datagrid-row-alt":"");
  2290. }
  2291. }
  2292. };
  2293. function _22a(_22b){
  2294. var _22c=_22b?1:2;
  2295. var _22d=$(_223).datagrid("getColumnFields",_22b);
  2296. var _22e=_225.rowIdPrefix+"-"+_22c+"-"+_224;
  2297. var tr="<tr id=\""+_22e+"\" class=\"datagrid-row\" datagrid-row-index=\""+_224+"\"></tr>";
  2298. if(_224>=data.rows.length){
  2299. if(data.rows.length){
  2300. opts.finder.getTr(_223,"","last",_22c).after(tr);
  2301. }else{
  2302. var cc=_22b?dc.body1:dc.body2;
  2303. cc.html("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"+tr+"</tbody></table>");
  2304. }
  2305. }else{
  2306. opts.finder.getTr(_223,_224+1,"body",_22c).before(tr);
  2307. }
  2308. };
  2309. _226.call(this,true);
  2310. _226.call(this,false);
  2311. _22a.call(this,true);
  2312. _22a.call(this,false);
  2313. data.total+=1;
  2314. data.rows.splice(_224,0,row);
  2315. this.refreshRow.call(this,_223,_224);
  2316. },deleteRow:function(_22f,_230){
  2317. var _231=$.data(_22f,"datagrid");
  2318. var opts=_231.options;
  2319. var data=_231.data;
  2320. function _232(_233){
  2321. var _234=_233?1:2;
  2322. for(var i=_230+1;i<data.rows.length;i++){
  2323. var tr=opts.finder.getTr(_22f,i,"body",_234);
  2324. tr.attr("datagrid-row-index",i-1);
  2325. tr.attr("id",_231.rowIdPrefix+"-"+_234+"-"+(i-1));
  2326. if(_233&&opts.rownumbers){
  2327. var _235=i;
  2328. if(opts.pagination){
  2329. _235+=(opts.pageNumber-1)*opts.pageSize;
  2330. }
  2331. tr.find("div.datagrid-cell-rownumber").html(_235);
  2332. }
  2333. if(opts.striped){
  2334. tr.removeClass("datagrid-row-alt").addClass((i-1)%2?"datagrid-row-alt":"");
  2335. }
  2336. }
  2337. };
  2338. opts.finder.getTr(_22f,_230).remove();
  2339. _232.call(this,true);
  2340. _232.call(this,false);
  2341. data.total-=1;
  2342. data.rows.splice(_230,1);
  2343. },onBeforeRender:function(_236,rows){
  2344. },onAfterRender:function(_237){
  2345. var _238=$.data(_237,"datagrid");
  2346. var opts=_238.options;
  2347. if(opts.showFooter){
  2348. var _239=$(_237).datagrid("getPanel").find("div.datagrid-footer");
  2349. _239.find("div.datagrid-cell-rownumber,div.datagrid-cell-check").css("visibility","hidden");
  2350. }
  2351. if(opts.finder.getRows(_237).length==0){
  2352. this.renderEmptyRow(_237);
  2353. }
  2354. },renderEmptyRow:function(_23a){
  2355. var cols=$.map($(_23a).datagrid("getColumnFields"),function(_23b){
  2356. return $(_23a).datagrid("getColumnOption",_23b);
  2357. });
  2358. $.map(cols,function(col){
  2359. col.formatter1=col.formatter;
  2360. col.styler1=col.styler;
  2361. col.formatter=col.styler=undefined;
  2362. });
  2363. var _23c=$.data(_23a,"datagrid").dc.body2;
  2364. _23c.html(this.renderTable(_23a,0,[{}],false));
  2365. _23c.find("tbody *").css({height:1,borderColor:"transparent",background:"transparent"});
  2366. var tr=_23c.find(".datagrid-row");
  2367. tr.removeClass("datagrid-row").removeAttr("datagrid-row-index");
  2368. tr.find(".datagrid-cell,.datagrid-cell-check").empty();
  2369. $.map(cols,function(col){
  2370. col.formatter=col.formatter1;
  2371. col.styler=col.styler1;
  2372. col.formatter1=col.styler1=undefined;
  2373. });
  2374. }};
  2375. $.fn.datagrid.defaults=$.extend({},$.fn.panel.defaults,{sharedStyleSheet:false,frozenColumns:undefined,columns:undefined,fitColumns:false,resizeHandle:"right",autoRowHeight:true,toolbar:null,striped:false,method:"post",nowrap:true,idField:null,url:null,data:null,loadMsg:"Processing, please wait ...",rownumbers:false,singleSelect:false,ctrlSelect:false,selectOnCheck:true,checkOnSelect:true,pagination:false,pagePosition:"bottom",pageNumber:1,pageSize:10,pageList:[10,20,30,40,50],queryParams:{},sortName:null,sortOrder:"asc",multiSort:false,remoteSort:true,showHeader:true,showFooter:false,scrollbarSize:18,rowEvents:{mouseover:_87(true),mouseout:_87(false),click:_90,dblclick:_9b,contextmenu:_a0},rowStyler:function(_23d,_23e){
  2376. },loader:function(_23f,_240,_241){
  2377. var opts=$(this).datagrid("options");
  2378. if(!opts.url){
  2379. return false;
  2380. }
  2381. $.ajax({type:opts.method,url:opts.url,data:_23f,dataType:"json",success:function(data){
  2382. _240(data);
  2383. },error:function(){
  2384. _241.apply(this,arguments);
  2385. }});
  2386. },loadFilter:function(data){
  2387. if(typeof data.length=="number"&&typeof data.splice=="function"){
  2388. return {total:data.length,rows:data};
  2389. }else{
  2390. return data;
  2391. }
  2392. },editors:_1a9,finder:{getTr:function(_242,_243,type,_244){
  2393. type=type||"body";
  2394. _244=_244||0;
  2395. var _245=$.data(_242,"datagrid");
  2396. var dc=_245.dc;
  2397. var opts=_245.options;
  2398. if(_244==0){
  2399. var tr1=opts.finder.getTr(_242,_243,type,1);
  2400. var tr2=opts.finder.getTr(_242,_243,type,2);
  2401. return tr1.add(tr2);
  2402. }else{
  2403. if(type=="body"){
  2404. var tr=$("#"+_245.rowIdPrefix+"-"+_244+"-"+_243);
  2405. if(!tr.length){
  2406. tr=(_244==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index="+_243+"]");
  2407. }
  2408. return tr;
  2409. }else{
  2410. if(type=="footer"){
  2411. return (_244==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index="+_243+"]");
  2412. }else{
  2413. if(type=="selected"){
  2414. return (_244==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-selected");
  2415. }else{
  2416. if(type=="highlight"){
  2417. return (_244==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-over");
  2418. }else{
  2419. if(type=="checked"){
  2420. return (_244==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-checked");
  2421. }else{
  2422. if(type=="editing"){
  2423. return (_244==1?dc.body1:dc.body2).find(">table>tbody>tr.datagrid-row-editing");
  2424. }else{
  2425. if(type=="last"){
  2426. return (_244==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]:last");
  2427. }else{
  2428. if(type=="allbody"){
  2429. return (_244==1?dc.body1:dc.body2).find(">table>tbody>tr[datagrid-row-index]");
  2430. }else{
  2431. if(type=="allfooter"){
  2432. return (_244==1?dc.footer1:dc.footer2).find(">table>tbody>tr[datagrid-row-index]");
  2433. }
  2434. }
  2435. }
  2436. }
  2437. }
  2438. }
  2439. }
  2440. }
  2441. }
  2442. }
  2443. },getRow:function(_246,p){
  2444. var _247=(typeof p=="object")?p.attr("datagrid-row-index"):p;
  2445. return $.data(_246,"datagrid").data.rows[parseInt(_247)];
  2446. },getRows:function(_248){
  2447. return $(_248).datagrid("getRows");
  2448. }},view:_1f4,onBeforeLoad:function(_249){
  2449. },onLoadSuccess:function(){
  2450. },onLoadError:function(){
  2451. },onClickRow:function(_24a,_24b){
  2452. },onDblClickRow:function(_24c,_24d){
  2453. },onClickCell:function(_24e,_24f,_250){
  2454. },onDblClickCell:function(_251,_252,_253){
  2455. },onBeforeSortColumn:function(sort,_254){
  2456. },onSortColumn:function(sort,_255){
  2457. },onResizeColumn:function(_256,_257){
  2458. },onBeforeSelect:function(_258,_259){
  2459. },onSelect:function(_25a,_25b){
  2460. },onBeforeUnselect:function(_25c,_25d){
  2461. },onUnselect:function(_25e,_25f){
  2462. },onSelectAll:function(rows){
  2463. },onUnselectAll:function(rows){
  2464. },onBeforeCheck:function(_260,_261){
  2465. },onCheck:function(_262,_263){
  2466. },onBeforeUncheck:function(_264,_265){
  2467. },onUncheck:function(_266,_267){
  2468. },onCheckAll:function(rows){
  2469. },onUncheckAll:function(rows){
  2470. },onBeforeEdit:function(_268,_269){
  2471. },onBeginEdit:function(_26a,_26b){
  2472. },onEndEdit:function(_26c,_26d,_26e){
  2473. },onAfterEdit:function(_26f,_270,_271){
  2474. },onCancelEdit:function(_272,_273){
  2475. },onHeaderContextMenu:function(e,_274){
  2476. },onRowContextMenu:function(e,_275,_276){
  2477. }});
  2478. })(jQuery);