0% found this document useful (0 votes)
269 views

Flexigrid Js

This document defines a function that adds flexigrid functionality to an HTML table element. The function accepts configuration parameters and sets up the flexigrid components and event handlers to enable sorting, pagination, dragging and resizing of columns.

Uploaded by

Achmadi
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
269 views

Flexigrid Js

This document defines a function that adds flexigrid functionality to an HTML table element. The function accepts configuration parameters and sets up the flexigrid components and event handlers to enable sorting, pagination, dragging and resizing of columns.

Uploaded by

Achmadi
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

(function($){$.addFlex=function(t,p){if(t.grid)return false;p=$.extend({height:2 00,width:'auto',striped:true,novstripe:false,minwidth:30,minheight:80,resizable: true,url:false,method:'POST',dataType:'xml',errormsg:'Connection Error',usepager :false,nowrap:true,page:1,total:1,useRp:true,rp:15,rpOptions:[10,15,20,30,50],ti tle:false,pagestat:'Displaying {from} to {to} of {total} items',pagetext:'Page', outof:'of',findtext:'Find',procmsg:'Processing, please wait ...

',query:'',qtype: '',nomsg:'No items',minColToggle:1,showToggleBtn:true,hideOnSubmit:true,autoload :true,blockOpacity:0.5,preProcess:false,onDragCol:false,onToggleCol:false,onChan geSort:false,onSuccess:false,onError:false,onSubmit:false},p);$(t).show().attr({ cellPadding:0,cellSpacing:0,border:0}).removeAttr('width');var g={hset:{},rePosD rag:function(){var cdleft=0-this.hDiv.scrollLeft;if(this.hDiv.scrollLeft>0)cdlef t-=Math.floor(p.cgwidth/2);$(g.cDrag).css({top:g.hDiv.offsetTop+1});var cdpad=th is.cdpad;$('div',g.cDrag).hide();$('thead tr:first th:visible',this.hDiv).each(f unction(){var n=$('thead tr:first th:visible',g.hDiv).index(this);var cdpos=pars eInt($('div',this).width());if(cdleft==0)cdleft-=Math.floor(p.cgwidth/2);cdpos=c dpos+cdleft+cdpad;if(isNaN(cdpos)){cdpos=0}$('div:eq('+n+')',g.cDrag).css({'left ':cdpos+'px'}).show();cdleft=cdpos})},fixHeight:function(newH){newH=false;if(!ne wH)newH=$(g.bDiv).height();var hdHeight=$(this.hDiv).height();$('div',this.cDrag ).each(function(){$(this).height(newH+hdHeight)});var nd=parseInt($(g.nDiv).heig ht());if(nd>newH)$(g.nDiv).height(newH).width(200);else $(g.nDiv).height('auto') .width('auto');$(g.block).css({height:newH,marginBottom:(newH*-1)});var hrH=g.bD iv.offsetTop+newH;if(p.height!='auto'&&p.resizable)hrH=g.vDiv.offsetTop;$(g.rDiv ).css({height:hrH})},dragStart:function(dragtype,e,obj){if(dragtype=='colresize' ){$(g.nDiv).hide();$(g.nBtn).hide();var n=$('div',this.cDrag).index(obj);var ow= $('th:visible div:eq('+n+')',this.hDiv).width();$(obj).addClass('dragging').sibl ings().hide();$(obj).prev().addClass('dragging').show();this.colresize={startX:e .pageX,ol:parseInt(obj.style.left),ow:ow,n:n};$('body').css('cursor','col-resize ')}else if(dragtype=='vresize'){var hgo=false;$('body').css('cursor','row-resize ');if(obj){hgo=true;$('body').css('cursor','col-resize')}this.vresize={h:p.heigh t,sy:e.pageY,w:p.width,sx:e.pageX,hgo:hgo}}else if(dragtype=='colMove'){$(g.nDiv ).hide();$(g.nBtn).hide();this.hset=$(this.hDiv).offset();this.hset.right=this.h set.left+$('table',this.hDiv).width();this.hset.bottom=this.hset.top+$('table',t his.hDiv).height();this.dcol=obj;this.dcoln=$('th',this.hDiv).index(obj);this.co lCopy=document.createElement("div");this.colCopy.className="colCopy";this.colCop y.innerHTML=obj.innerHTML;if($.browser.msie){this.colCopy.className="colCopy ie" }$(this.colCopy).css({position:'absolute',float:'left',display:'none',textAlign: obj.align});$('body').append(this.colCopy);$(this.cDrag).hide()}$('body').noSele ct()},dragMove:function(e){if(this.colresize){var n=this.colresize.n;var diff=e. pageX-this.colresize.startX;var nleft=this.colresize.ol+diff;var nw=this.colresi ze.ow+diff;if(nw>p.minwidth){$('div:eq('+n+')',this.cDrag).css('left',nleft);thi s.colresize.nw=nw}}else if(this.vresize){var v=this.vresize;var y=e.pageY;var di ff=y-v.sy;if(!p.defwidth)p.defwidth=p.width;if(p.width!='auto'&&!p.nohresize&&v. hgo){var x=e.pageX;var xdiff=x-v.sx;var newW=v.w+xdiff;if(newW>p.defwidth){this. gDiv.style.width=newW+'px';p.width=newW}}var newH=v.h+diff;if((newH>p.minheight| |p.height<p.minheight)&&!v.hgo){this.bDiv.style.height=newH+'px';p.height=newH;t his.fixHeight(newH)}v=null}else if(this.colCopy){$(this.dcol).addClass('thMove') .removeClass('thOver');if(e.pageX>this.hset.right||e.pageX<this.hset.left||e.pag eY>this.hset.bottom||e.pageY<this.hset.top){$('body').css('cursor','move')}else{ $('body').css('cursor','pointer')}$(this.colCopy).css({top:e.pageY+10,left:e.pag eX+20,display:'block'})}},dragEnd:function(){if(this.colresize){var n=this.colre size.n;var nw=this.colresize.nw;$('th:visible div:eq('+n+')',this.hDiv).css('wid th',nw);$('tr',this.bDiv).each(function(){$('td:visible div:eq('+n+')',this).css ('width',nw)});this.hDiv.scrollLeft=this.bDiv.scrollLeft;$('div:eq('+n+')',this. cDrag).siblings().show();$('.dragging',this.cDrag).removeClass('dragging');this. rePosDrag();this.fixHeight();this.colresize=false}else if(this.vresize){this.vre size=false}else if(this.colCopy){$(this.colCopy).remove();if(this.dcolt!=null){i f(this.dcoln>this.dcolt)$('th:eq('+this.dcolt+')',this.hDiv).before(this.dcol);e lse $('th:eq('+this.dcolt+')',this.hDiv).after(this.dcol);this.switchCol(this.dc oln,this.dcolt);$(this.cdropleft).remove();$(this.cdropright).remove();this.rePo sDrag();if(p.onDragCol){p.onDragCol(this.dcoln,this.dcolt)}}this.dcol=null;this.

hset=null;this.dcoln=null;this.dcolt=null;this.colCopy=null;$('.thMove',this.hDi v).removeClass('thMove');$(this.cDrag).show()}$('body').css('cursor','default'); $('body').noSelect(false)},toggleCol:function(cid,visible){var ncol=$("th[axis=' col"+cid+"']",this.hDiv)[0];var n=$('thead th',g.hDiv).index(ncol);var cb=$('inp ut[value='+cid+']',g.nDiv)[0];if(visible==null){visible=ncol.hidden}if($('input: checked',g.nDiv).length<p.minColToggle&&!visible){return false}if(visible){ncol. hidden=false;$(ncol).show();cb.checked=true}else{ncol.hidden=true;$(ncol).hide() ;cb.checked=false}$('tbody tr',t).each(function(){if(visible){$('td:eq('+n+')',t his).show()}else{$('td:eq('+n+')',this).hide()}});this.rePosDrag();if(p.onToggle Col){p.onToggleCol(cid,visible)}return visible},switchCol:function(cdrag,cdrop){ $('tbody tr',t).each(function(){if(cdrag>cdrop)$('td:eq('+cdrop+')',this).before ($('td:eq('+cdrag+')',this));else $('td:eq('+cdrop+')',this).after($('td:eq('+cd rag+')',this))});if(cdrag>cdrop){$('tr:eq('+cdrop+')',this.nDiv).before($('tr:eq ('+cdrag+')',this.nDiv))}else{$('tr:eq('+cdrop+')',this.nDiv).after($('tr:eq('+c drag+')',this.nDiv))}if($.browser.msie&&$.browser.version<7.0){$('tr:eq('+cdrop+ ') input',this.nDiv)[0].checked=true}this.hDiv.scrollLeft=this.bDiv.scrollLeft}, scroll:function(){this.hDiv.scrollLeft=this.bDiv.scrollLeft;this.rePosDrag()},ad dData:function(data){if(p.dataType=='json'){data=$.extend({rows:[],page:0,total: 0},data)}if(p.preProcess){data=p.preProcess(data)}$('.pReload',this.pDiv).remove Class('loading');this.loading=false;if(!data){$('.pPageStat',this.pDiv).html(p.e rrormsg);return false}if(p.dataType=='xml'){p.total=+$('rows total',data).text() }else{p.total=data.total}if(p.total==0){$('tr, a, td, div',t).unbind();$(t).empt y();p.pages=1;p.page=1;this.buildpager();$('.pPageStat',this.pDiv).html(p.nomsg) ;return false}p.pages=Math.ceil(p.total/p.rp);if(p.dataType=='xml'){p.page=+$('r ows page',data).text()}else{p.page=data.page}this.buildpager();var tbody=documen t.createElement('tbody');if(p.dataType=='json'){$.each(data.rows,function(i,row) {var tr=document.createElement('tr');if(i%2&&p.striped){tr.className='erow'}if(r ow.id){tr.id='row'+row.id}$('thead tr:first th',g.hDiv).each(function(){var td=d ocument.createElement('td');var idx=$(this).attr('axis').substr(3);td.align=this .align;if(typeof row.cell[idx]!="undefined"){td.innerHTML=(row.cell[idx]!=null)? row.cell[idx]:''}else{td.innerHTML=row.cell[p.colModel[idx].name]}$(td).attr('ab br',$(this).attr('abbr'));$(tr).append(td);td=null});if($('thead',this.gDiv).len gth<1){for(idx=0;idx<cell.length;idx++){var td=document.createElement('td');if(t ypeof row.cell[idx]!="undefined"){td.innerHTML=(row.cell[idx]!=null)?row.cell[id x]:''}else{td.innerHTML=row.cell[p.colModel[idx].name]}$(tr).append(td);td=null} }$(tbody).append(tr);tr=null})}else if(p.dataType=='xml'){var i=1;$("rows row",d ata).each(function(){i++;var tr=document.createElement('tr');if(i%2&&p.striped){ tr.className='erow'}var nid=$(this).attr('id');if(nid){tr.id='row'+nid}nid=null; var robj=this;$('thead tr:first th',g.hDiv).each(function(){var td=document.crea teElement('td');var idx=$(this).attr('axis').substr(3);td.align=this.align;td.in nerHTML=$("cell:eq("+idx+")",robj).text();$(td).attr('abbr',$(this).attr('abbr') );$(tr).append(td);td=null});if($('thead',this.gDiv).length<1){$('cell',this).ea ch(function(){var td=document.createElement('td');td.innerHTML=$(this).text();$( tr).append(td);td=null})}$(tbody).append(tr);tr=null;robj=null})}$('tr',t).unbin d();$(t).empty();$(t).append(tbody);this.addCellProp();this.addRowProp();this.re PosDrag();tbody=null;data=null;i=null;if(p.onSuccess){p.onSuccess(this)}if(p.hid eOnSubmit){$(g.block).remove()}this.hDiv.scrollLeft=this.bDiv.scrollLeft;if($.br owser.opera){$(t).css('visibility','visible')}},changeSort:function(th){if(this. loading){return true}$(g.nDiv).hide();$(g.nBtn).hide();if(p.sortname==$(th).attr ('abbr')){if(p.sortorder=='asc'){p.sortorder='desc'}else{p.sortorder='asc'}}$(th ).addClass('sorted').siblings().removeClass('sorted');$('.sdesc',this.hDiv).remo veClass('sdesc');$('.sasc',this.hDiv).removeClass('sasc');$('div',th).addClass(' s'+p.sortorder);p.sortname=$(th).attr('abbr');if(p.onChangeSort){p.onChangeSort( p.sortname,p.sortorder)}else{this.populate()}},buildpager:function(){$('.pcontro l input',this.pDiv).val(p.page);$('.pcontrol span',this.pDiv).html(p.pages);var r1=(p.page-1)*p.rp+1;var r2=r1+p.rp-1;if(p.total<r2){r2=p.total}var stat=p.pages tat;stat=stat.replace(/{from}/,r1);stat=stat.replace(/{to}/,r2);stat=stat.replac e(/{total}/,p.total);$('.pPageStat',this.pDiv).html(stat)},populate:function(){i f(this.loading){return true}if(p.onSubmit){var gh=p.onSubmit();if(!gh){return fa lse}}this.loading=true;if(!p.url){return false}$('.pPageStat',this.pDiv).html(p.

procmsg);$('.pReload',this.pDiv).addClass('loading');$(g.block).css({top:g.bDiv. offsetTop});if(p.hideOnSubmit){$(this.gDiv).prepend(g.block)}if($.browser.opera) {$(t).css('visibility','hidden')}if(!p.newp){p.newp=1}if(p.page>p.pages){p.page= p.pages}var param=[{name:'page',value:p.newp},{name:'rp',value:p.rp},{name:'sort name',value:p.sortname},{name:'sortorder',value:p.sortorder},{name:'query',value :p.query},{name:'qtype',value:p.qtype}];if(p.params){for(var pi=0;pi<p.params.le ngth;pi++){param[param.length]=p.params[pi]}}$.ajax({type:p.method,url:p.url,dat a:param,dataType:p.dataType,success:function(data){g.addData(data)},error:functi on(XMLHttpRequest,textStatus,errorThrown){try{if(p.onError)p.onError(XMLHttpRequ est,textStatus,errorThrown)}catch(e){}}})},doSearch:function(){p.query=$('input[ name=q]',g.sDiv).val();p.qtype=$('select[name=qtype]',g.sDiv).val();p.newp=1;thi s.populate()},changePage:function(ctype){if(this.loading){return true}switch(cty pe){case'first':p.newp=1;break;case'prev':if(p.page>1){p.newp=parseInt(p.page)-1 }break;case'next':if(p.page<p.pages){p.newp=parseInt(p.page)+1}break;case'last': p.newp=p.pages;break;case'input':var nv=parseInt($('.pcontrol input',this.pDiv). val());if(isNaN(nv)){nv=1}if(nv<1){nv=1}else if(nv>p.pages){nv=p.pages}$('.pcont rol input',this.pDiv).val(nv);p.newp=nv;break}if(p.newp==p.page){return false}if (p.onChangePage){p.onChangePage(p.newp)}else{this.populate()}},addCellProp:funct ion(){$('tbody tr td',g.bDiv).each(function(){var tdDiv=document.createElement(' div');var n=$('td',$(this).parent()).index(this);var pth=$('th:eq('+n+')',g.hDiv ).get(0);if(pth!=null){if(p.sortname==$(pth).attr('abbr')&&p.sortname){this.clas sName='sorted'}$(tdDiv).css({textAlign:pth.align,width:$('div:first',pth)[0].sty le.width});if(pth.hidden){$(this).css('display','none')}}if(p.nowrap==false){$(t dDiv).css('white-space','normal')}if(this.innerHTML==''){this.innerHTML='&nbsp;' }tdDiv.innerHTML=this.innerHTML;var prnt=$(this).parent()[0];var pid=false;if(pr nt.id){pid=prnt.id.substr(3)}if(pth!=null){if(pth.process)pth.process(tdDiv,pid) }$(this).empty().append(tdDiv).removeAttr('width')})},getCellDim:function(obj){v ar ht=parseInt($(obj).height());var pht=parseInt($(obj).parent().height());var w t=parseInt(obj.style.width);var pwt=parseInt($(obj).parent().width());var top=ob j.offsetParent.offsetTop;var left=obj.offsetParent.offsetLeft;var pdl=parseInt($ (obj).css('paddingLeft'));var pdt=parseInt($(obj).css('paddingTop'));return{ht:h t,wt:wt,top:top,left:left,pdl:pdl,pdt:pdt,pht:pht,pwt:pwt}},addRowProp:function( ){$('tbody tr',g.bDiv).each(function(){$(this).click(function(e){var obj=(e.targ et||e.srcElement);if(obj.href||obj.type)return true;$(this).toggleClass('trSelec ted');if(p.singleSelect)$(this).siblings().removeClass('trSelected')}).mousedown (function(e){if(e.shiftKey){$(this).toggleClass('trSelected');g.multisel=true;th is.focus();$(g.gDiv).noSelect()}}).mouseup(function(){if(g.multisel){g.multisel= false;$(g.gDiv).noSelect(false)}}).hover(function(e){if(g.multisel){$(this).togg leClass('trSelected')}},function(){});if($.browser.msie&&$.browser.version<7.0){ $(this).hover(function(){$(this).addClass('trOver')},function(){$(this).removeCl ass('trOver')})}})},pager:0};if(p.colModel){thead=document.createElement('thead' );var tr=document.createElement('tr');for(var i=0;i<p.colModel.length;i++){var c m=p.colModel[i];var th=document.createElement('th');th.innerHTML=cm.display;if(c m.name&&cm.sortable){$(th).attr('abbr',cm.name)}$(th).attr('axis','col'+i);if(cm .align){th.align=cm.align}if(cm.width){$(th).attr('width',cm.width)}if(cm.hidden ){th.hidden=true}if(cm.process){th.process=cm.process}$(tr).append(th)}$(thead). append(tr);$(t).prepend(thead)}g.gDiv=document.createElement('div');g.mDiv=docum ent.createElement('div');g.hDiv=document.createElement('div');g.bDiv=document.cr eateElement('div');g.vDiv=document.createElement('div');g.rDiv=document.createEl ement('div');g.cDrag=document.createElement('div');g.block=document.createElemen t('div');g.nDiv=document.createElement('div');g.nBtn=document.createElement('div ');g.iDiv=document.createElement('div');g.tDiv=document.createElement('div');g.s Div=document.createElement('div');g.pDiv=document.createElement('div');if(!p.use pager){g.pDiv.style.display='none'}g.hTable=document.createElement('table');g.gD iv.className='flexigrid';if(p.width!='auto'){g.gDiv.style.width=p.width+'px'}if( $.browser.msie){$(g.gDiv).addClass('ie')}if(p.novstripe){$(g.gDiv).addClass('nov stripe')}$(t).before(g.gDiv);$(g.gDiv).append(t);if(p.buttons){g.tDiv.className= 'tDiv';var tDiv2=document.createElement('div');tDiv2.className='tDiv2';for(var i =0;i<p.buttons.length;i++){var btn=p.buttons[i];if(!btn.separator){var btnDiv=do cument.createElement('div');btnDiv.className='fbutton';btnDiv.innerHTML="<div><s

pan>"+btn.name+"</span></div>";if(btn.bclass)$('span',btnDiv).addClass(btn.bclas s).css({paddingLeft:20});btnDiv.onpress=btn.onpress;btnDiv.name=btn.name;if(btn. onpress){$(btnDiv).click(function(){this.onpress(this.name,g.gDiv)})}$(tDiv2).ap pend(btnDiv);if($.browser.msie&&$.browser.version<7.0){$(btnDiv).hover(function( ){$(this).addClass('fbOver')},function(){$(this).removeClass('fbOver')})}}else{$ (tDiv2).append("<div class='btnseparator'></div>")}}$(g.tDiv).append(tDiv2);$(g. tDiv).append("<div style='clear:both'></div>");$(g.gDiv).prepend(g.tDiv)}g.hDiv. className='hDiv';$(t).before(g.hDiv);g.hTable.cellPadding=0;g.hTable.cellSpacing =0;$(g.hDiv).append('<div class="hDivBox"></div>');$('div',g.hDiv).append(g.hTab le);var thead=$("thead:first",t).get(0);if(thead)$(g.hTable).append(thead);thead =null;if(!p.colmodel)var ci=0;$('thead tr:first th',g.hDiv).each(function(){var thdiv=document.createElement('div');if($(this).attr('abbr')){$(this).click(funct ion(e){if(!$(this).hasClass('thOver'))return false;var obj=(e.target||e.srcEleme nt);if(obj.href||obj.type)return true;g.changeSort(this)});if($(this).attr('abbr ')==p.sortname){this.className='sorted';thdiv.className='s'+p.sortorder}}if(this .hidden){$(this).hide()}if(!p.colmodel){$(this).attr('axis','col'+ci++)}$(thdiv) .css({textAlign:this.align,width:this.width+'px'});thdiv.innerHTML=this.innerHTM L;$(this).empty().append(thdiv).removeAttr('width').mousedown(function(e){g.drag Start('colMove',e,this)}).hover(function(){if(!g.colresize&&!$(this).hasClass('t hMove')&&!g.colCopy){$(this).addClass('thOver')}if($(this).attr('abbr')!=p.sortn ame&&!g.colCopy&&!g.colresize&&$(this).attr('abbr')){$('div',this).addClass('s'+ p.sortorder)}else if($(this).attr('abbr')==p.sortname&&!g.colCopy&&!g.colresize& &$(this).attr('abbr')){var no=(p.sortorder=='asc')?'desc':'asc';$('div',this).re moveClass('s'+p.sortorder).addClass('s'+no)}if(g.colCopy){var n=$('th',g.hDiv).i ndex(this);if(n==g.dcoln){return false}if(n<g.dcoln){$(this).append(g.cdropleft) }else{$(this).append(g.cdropright)}g.dcolt=n}else if(!g.colresize){var nv=$('th: visible',g.hDiv).index(this);var onl=parseInt($('div:eq('+nv+')',g.cDrag).css('l eft'));var nw=jQuery(g.nBtn).outerWidth();var nl=onl-nw+Math.floor(p.cgwidth/2); $(g.nDiv).hide();$(g.nBtn).hide();$(g.nBtn).css({'left':nl,top:g.hDiv.offsetTop} ).show();var ndw=parseInt($(g.nDiv).width());$(g.nDiv).css({top:g.bDiv.offsetTop });if((nl+ndw)>$(g.gDiv).width()){$(g.nDiv).css('left',onl-ndw+1)}else{$(g.nDiv) .css('left',nl)}if($(this).hasClass('sorted')){$(g.nBtn).addClass('srtd')}else{$ (g.nBtn).removeClass('srtd')}}},function(){$(this).removeClass('thOver');if($(th is).attr('abbr')!=p.sortname){$('div',this).removeClass('s'+p.sortorder)}else if ($(this).attr('abbr')==p.sortname){var no=(p.sortorder=='asc')?'desc':'asc';$('d iv',this).addClass('s'+p.sortorder).removeClass('s'+no)}if(g.colCopy){$(g.cdropl eft).remove();$(g.cdropright).remove();g.dcolt=null}})});g.bDiv.className='bDiv' ;$(t).before(g.bDiv);$(g.bDiv).css({height:(p.height=='auto')?'auto':p.height+"p x"}).scroll(function(e){g.scroll()}).append(t);if(p.height=='auto'){$('table',g. bDiv).addClass('autoht')}g.addCellProp();g.addRowProp();var cdcol=$('thead tr:fi rst th:first',g.hDiv).get(0);if(cdcol!=null){g.cDrag.className='cDrag';g.cdpad=0 ;g.cdpad+=(isNaN(parseInt($('div',cdcol).css('borderLeftWidth')))?0:parseInt($(' div',cdcol).css('borderLeftWidth')));g.cdpad+=(isNaN(parseInt($('div',cdcol).css ('borderRightWidth')))?0:parseInt($('div',cdcol).css('borderRightWidth')));g.cdp ad+=(isNaN(parseInt($('div',cdcol).css('paddingLeft')))?0:parseInt($('div',cdcol ).css('paddingLeft')));g.cdpad+=(isNaN(parseInt($('div',cdcol).css('paddingRight ')))?0:parseInt($('div',cdcol).css('paddingRight')));g.cdpad+=(isNaN(parseInt($( cdcol).css('borderLeftWidth')))?0:parseInt($(cdcol).css('borderLeftWidth')));g.c dpad+=(isNaN(parseInt($(cdcol).css('borderRightWidth')))?0:parseInt($(cdcol).css ('borderRightWidth')));g.cdpad+=(isNaN(parseInt($(cdcol).css('paddingLeft')))?0: parseInt($(cdcol).css('paddingLeft')));g.cdpad+=(isNaN(parseInt($(cdcol).css('pa ddingRight')))?0:parseInt($(cdcol).css('paddingRight')));$(g.bDiv).before(g.cDra g);var cdheight=$(g.bDiv).height();var hdheight=$(g.hDiv).height();$(g.cDrag).cs s({top:-hdheight+'px'});$('thead tr:first th',g.hDiv).each(function(){var cgDiv= document.createElement('div');$(g.cDrag).append(cgDiv);if(!p.cgwidth){p.cgwidth= $(cgDiv).width()}$(cgDiv).css({height:cdheight+hdheight}).mousedown(function(e){ g.dragStart('colresize',e,this)});if($.browser.msie&&$.browser.version<7.0){g.fi xHeight($(g.gDiv).height());$(cgDiv).hover(function(){g.fixHeight();$(this).addC lass('dragging')},function(){if(!g.colresize)$(this).removeClass('dragging')})}} )}if(p.striped){$('tbody tr:odd',g.bDiv).addClass('erow')}if(p.resizable&&p.heig

ht!='auto'){g.vDiv.className='vGrip';$(g.vDiv).mousedown(function(e){g.dragStart ('vresize',e)}).html('<span></span>');$(g.bDiv).after(g.vDiv)}if(p.resizable&&p. width!='auto'&&!p.nohresize){g.rDiv.className='hGrip';$(g.rDiv).mousedown(functi on(e){g.dragStart('vresize',e,true)}).html('<span></span>').css('height',$(g.gDi v).height());if($.browser.msie&&$.browser.version<7.0){$(g.rDiv).hover(function( ){$(this).addClass('hgOver')},function(){$(this).removeClass('hgOver')})}$(g.gDi v).append(g.rDiv)}if(p.usepager){g.pDiv.className='pDiv';g.pDiv.innerHTML='<div class="pDiv2"></div>';$(g.bDiv).after(g.pDiv);var html=' <div class="pGroup"> <d iv class="pFirst pButton"><span></span></div><div class="pPrev pButton"><span></ span></div> </div> <div class="btnseparator"></div> <div class="pGroup"><span cl ass="pcontrol">'+p.pagetext+' <input type="text" size="4" value="1" /> '+p.outof +' <span> 1 </span></span></div> <div class="btnseparator"></div> <div class="pG roup"> <div class="pNext pButton"><span></span></div><div class="pLast pButton"> <span></span></div> </div> <div class="btnseparator"></div> <div class="pGroup"> <div class="pReload pButton"><span></span></div> </div> <div class="btnseparato r"></div> <div class="pGroup"><span class="pPageStat"></span></div>';$('div',g.p Div).html(html);$('.pReload',g.pDiv).click(function(){g.populate()});$('.pFirst' ,g.pDiv).click(function(){g.changePage('first')});$('.pPrev',g.pDiv).click(funct ion(){g.changePage('prev')});$('.pNext',g.pDiv).click(function(){g.changePage('n ext')});$('.pLast',g.pDiv).click(function(){g.changePage('last')});$('.pcontrol input',g.pDiv).keydown(function(e){if(e.keyCode==13)g.changePage('input')});if($ .browser.msie&&$.browser.version<7)$('.pButton',g.pDiv).hover(function(){$(this) .addClass('pBtnOver')},function(){$(this).removeClass('pBtnOver')});if(p.useRp){ var opt='',sel='';for(var nx=0;nx<p.rpOptions.length;nx++){if(p.rp==p.rpOptions[ nx])sel='selected="selected"';else sel='';opt+="<option value='"+p.rpOptions[nx] +"' "+sel+" >"+p.rpOptions[nx]+"&nbsp;&nbsp;</option>"}$('.pDiv2',g.pDiv).prepen d("<div class='pGroup'><select name='rp'>"+opt+"</select></div> <div class='btns eparator'></div>");$('select',g.pDiv).change(function(){if(p.onRpChange){p.onRpC hange(+this.value)}else{p.newp=1;p.rp=+this.value;g.populate()}})}if(p.searchite ms){$('.pDiv2',g.pDiv).prepend("<div class='pGroup'> <div class='pSearch pButton '><span></span></div> </div> <div class='btnseparator'></div>");$('.pSearch',g. pDiv).click(function(){$(g.sDiv).slideToggle('fast',function(){$('.sDiv:visible input:first',g.gDiv).trigger('focus')})});g.sDiv.className='sDiv';var sitems=p.s earchitems;var sopt='',sel='';for(var s=0;s<sitems.length;s++){if(p.qtype==''&&s items[s].isdefault==true){p.qtype=sitems[s].name;sel='selected="selected"'}else{ sel=''}sopt+="<option value='"+sitems[s].name+"' "+sel+" >"+sitems[s].display+"& nbsp;&nbsp;</option>"}if(p.qtype==''){p.qtype=sitems[0].name}$(g.sDiv).append("< div class='sDiv2'>"+p.findtext+" <input type='text' value='"+p.query+"' size='30 ' name='q' class='qsbox' /> "+" <select name='qtype'>"+sopt+"</select></div>");$ ('input[name=q]',g.sDiv).keydown(function(e){if(e.keyCode==13){g.doSearch()}});$ ('select[name=qtype]',g.sDiv).keydown(function(e){if(e.keyCode==13){g.doSearch() }});$('input[value=Clear]',g.sDiv).click(function(){$('input[name=q]',g.sDiv).va l('');p.query='';g.doSearch()});$(g.bDiv).after(g.sDiv)}}$(g.pDiv,g.sDiv).append ("<div style='clear:both'></div>");if(p.title){g.mDiv.className='mDiv';g.mDiv.in nerHTML='<div class="ftitle">'+p.title+'</div>';$(g.gDiv).prepend(g.mDiv);if(p.s howTableToggleBtn){$(g.mDiv).append('<div class="ptogtitle" title="Minimize/Maxi mize Table"><span></span></div>');$('div.ptogtitle',g.mDiv).click(function(){$(g .gDiv).toggleClass('hideBody');$(this).toggleClass('vsble')})}}g.cdropleft=docum ent.createElement('span');g.cdropleft.className='cdropleft';g.cdropright=documen t.createElement('span');g.cdropright.className='cdropright';g.block.className='g Block';var gh=$(g.bDiv).height();var gtop=g.bDiv.offsetTop;$(g.block).css({width :g.bDiv.style.width,height:gh,background:'white',position:'relative',marginBotto m:(gh*-1),zIndex:1,top:gtop,left:'0px'});$(g.block).fadeTo(0,p.blockOpacity);if( $('th',g.hDiv).length){g.nDiv.className='nDiv';g.nDiv.innerHTML="<table cellpadd ing='0' cellspacing='0'><tbody></tbody></table>";$(g.nDiv).css({marginBottom:(gh *-1),display:'none',top:gtop}).noSelect();var cn=0;$('th div',g.hDiv).each(funct ion(){var kcol=$("th[axis='col"+cn+"']",g.hDiv)[0];var chk='checked="checked"';i f(kcol.style.display=='none'){chk=''}$('tbody',g.nDiv).append('<tr><td class="nd col1"><input type="checkbox" '+chk+' class="togCol" value="'+cn+'" /></td><td cl ass="ndcol2">'+this.innerHTML+'</td></tr>');cn++});if($.browser.msie&&$.browser.

version<7.0)$('tr',g.nDiv).hover(function(){$(this).addClass('ndcolover')},funct ion(){$(this).removeClass('ndcolover')});$('td.ndcol2',g.nDiv).click(function(){ if($('input:checked',g.nDiv).length<=p.minColToggle&&$(this).prev().find('input' )[0].checked)return false;return g.toggleCol($(this).prev().find('input').val()) });$('input.togCol',g.nDiv).click(function(){if($('input:checked',g.nDiv).length <p.minColToggle&&this.checked==false)return false;$(this).parent().next().trigge r('click')});$(g.gDiv).prepend(g.nDiv);$(g.nBtn).addClass('nBtn').html('<div></d iv>').attr('title','Hide/Show Columns').click(function(){$(g.nDiv).toggle();retu rn true});if(p.showToggleBtn){$(g.gDiv).prepend(g.nBtn)}}$(g.iDiv).addClass('iDi v').css({display:'none'});$(g.bDiv).append(g.iDiv);$(g.bDiv).hover(function(){$( g.nDiv).hide();$(g.nBtn).hide()},function(){if(g.multisel){g.multisel=false}});$ (g.gDiv).hover(function(){},function(){$(g.nDiv).hide();$(g.nBtn).hide()});$(doc ument).mousemove(function(e){g.dragMove(e)}).mouseup(function(e){g.dragEnd()}).h over(function(){},function(){g.dragEnd()});if($.browser.msie&&$.browser.version< 7.0){$('.hDiv,.bDiv,.mDiv,.pDiv,.vGrip,.tDiv, .sDiv',g.gDiv).css({width:'100%'}) ;$(g.gDiv).addClass('ie6');if(p.width!='auto'){$(g.gDiv).addClass('ie6fullwidthb ug')}}g.rePosDrag();g.fixHeight();t.p=p;t.grid=g;if(p.url&&p.autoload){g.populat e()}return t};var docloaded=false;$(document).ready(function(){docloaded=true}); $.fn.flexigrid=function(p){return this.each(function(){if(!docloaded){$(this).hi de();var t=this;$(document).ready(function(){$.addFlex(t,p)})}else{$.addFlex(thi s,p)}})};$.fn.flexReload=function(p){return this.each(function(){if(this.grid&&t his.p.url)this.grid.populate()})};$.fn.flexOptions=function(p){return this.each( function(){if(this.grid)$.extend(this.p,p)})};$.fn.flexToggleCol=function(cid,vi sible){return this.each(function(){if(this.grid)this.grid.toggleCol(cid,visible) })};$.fn.flexAddData=function(data){return this.each(function(){if(this.grid)thi s.grid.addData(data)})};$.fn.noSelect=function(p){var prevent=(p==null)?true:p;i f(prevent){return this.each(function(){if($.browser.msie||$.browser.safari)$(thi s).bind('selectstart',function(){return false});else if($.browser.mozilla){$(thi s).css('MozUserSelect','none');$('body').trigger('focus')}else if($.browser.oper a)$(this).bind('mousedown',function(){return false});else $(this).attr('unselect able','on')})}else{return this.each(function(){if($.browser.msie||$.browser.safa ri)$(this).unbind('selectstart');else if($.browser.mozilla)$(this).css('MozUserS elect','inherit');else if($.browser.opera)$(this).unbind('mousedown');else $(thi s).removeAttr('unselectable','on')})}}})(jQuery);

You might also like