www-thermferm/jqwidgets/jqxgrid.selection.js

changeset 511
2d1d43c3a2c2
parent 373
f6850e0b5d35
child 617
b216f9d4b917
equal deleted inserted replaced
510:2da3d3340403 511:2d1d43c3a2c2
1 /* 1 /*
2 jQWidgets v3.8.0 (2015-Apr) 2 jQWidgets v4.5.2 (2017-May)
3 Copyright (c) 2011-2015 jQWidgets. 3 Copyright (c) 2011-2017 jQWidgets.
4 License: http://jqwidgets.com/license/ 4 License: http://jqwidgets.com/license/
5 */ 5 */
6 !function(a){a.extend(a.jqx._jqxGrid.prototype,{selectallrows:function(){this._trigger=!1;var a=this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array;for(var b=this.dataview.loadedrecords,c=0;c<a;c++){var d=b[c];if(d){var e=this.getboundindex(d);void 0!=e&&(this.selectedrowindexes[c]=e)}else this.selectedrowindexes[c]=c}"checkbox"!=this.selectionmode||this._checkboxcolumnupdating||this._checkboxcolumn&&this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:!0}),this._renderrows(this.virtualsizeinfo),this._trigger=!0,"checkbox"==this.selectionmode&&this._raiseEvent(2,{rowindex:this.selectedrowindexes})},unselectallrows:function(){this._trigger=!1;this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array,"checkbox"!=this.selectionmode||this._checkboxcolumnupdating||this._checkboxcolumn&&this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:!1}),this._renderrows(this.virtualsizeinfo),this._trigger=!0,"checkbox"==this.selectionmode&&this._raiseEvent(2,{rowindex:this.selectedrowindexes})},selectrow:function(a,b){this._applyrowselection(a,!0,b),b!==!1&&this._updatecheckboxselection()},_updatecheckboxselection:function(){if("checkbox"==this.selectionmode){var a=this.getrows();if(a&&this._checkboxcolumn){if(0===a.length)return void this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:!1});var b=a.length;this.groupable&&(b=this.dataview.loadedrecords.length),this.virtualmode&&(b=this.source._source.totalrecords);var c=this.selectedrowindexes.length;c===b?this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:!0}):0===c?this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:!1}):this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:null})}}},unselectrow:function(a,b){this._applyrowselection(a,!1,b),b!==!1&&this._updatecheckboxselection()},selectcell:function(a,b){this._applycellselection(a,b,!0)},unselectcell:function(a,b){this._applycellselection(a,b,!1)},clearselection:function(a,b){if(this._trigger=!1,this.selectedrowindex=-1,this._oldselectedcell=null,b!==!1)for(var c=0;c<this.selectedrowindexes.length;c++)this._raiseEvent(3,{rowindex:this.selectedrowindexes[c]});return this.selectedrowindexes=new Array,this.selectedcells=new Array,this.selectedcell=null,"checkbox"!=this.selectionmode||this._checkboxcolumnupdating||this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:!1}),!1===a?void(this._trigger=!0):(this._renderrows(this.virtualsizeinfo),this._trigger=!0,void("checkbox"==this.selectionmode&&this._raiseEvent(3,{rowindex:this.selectedrowindexes})))},getselectedrowindex:function(){if(this.selectedrowindex==-1||void 0==this.selectedrowindex)for(var a=0;a<this.selectedrowindexes.length;a++)return this.selectedrowindexes[a];return this.selectedrowindex},getselectedrowindexes:function(){return this.selectedrowindexes},getselectedcell:function(){if(!this.selectedcell)return null;var a=this.selectedcell;return a.row=this.selectedcell.rowindex,a.column=this.selectedcell.datafield,a.value=this.getcellvalue(a.row,a.column),a},getselectedcells:function(){var a=new Array;for(obj in this.selectedcells)a[a.length]=this.selectedcells[obj];return a},_getcellsforcopypaste:function(){var a=new Array;if(this.selectionmode.indexOf("cell")==-1)for(var b=this.selectedrowindexes,c=0;c<b.length;c++)for(var d=b[c],e=0;e<this.columns.records.length;e++)if("_checkboxcolumn"!==this.columns.records[e].datafield){var f=(d+"_"+this.columns.records[e].datafield,{rowindex:d,datafield:this.columns.records[e].datafield});a.push(f)}return a},deleteselection:function(){var a=this,b=a.getselectedcells();if(this.selectionmode.indexOf("cell")==-1&&(b=this._getcellsforcopypaste()),null!=b&&b.length>0){for(var c=0;c<b.length;c++){var d=b[c],e=a.getcolumn(d.datafield),f=a.getcellvalue(d.rowindex,d.datafield);if(e&&""!==f){var g=null;"checkbox"==e.columntype&&(e.threestatecheckbox||(g=!1)),a._raiseEvent(17,{rowindex:d.rowindex,datafield:d.datafield,value:f}),c==b.length-1?(a.setcellvalue(d.rowindex,d.datafield,g,!0),e.displayfield!=e.datafield&&a.setcellvalue(d.rowindex,e.displayfield,g,!0)):(a.setcellvalue(d.rowindex,d.datafield,g,!1),e.displayfield!=e.datafield&&a.setcellvalue(d.rowindex,e.displayfield,g,!0)),a._raiseEvent(18,{rowindex:d.rowindex,datafield:d.datafield,oldvalue:f,value:g})}}this.dataview.updateview(),this._renderrows(this.virtualsizeinfo)}},copyselection:function(){var b="",c=this;this.clipboardselection={},this.logicalclipboardselection={},this._clipboardselection=[];var d=c.getselectedcells();this.selectionmode.indexOf("cell")==-1&&(d=this._getcellsforcopypaste());var e=new Array;if(null!=d&&d.length>0){for(var f=999999999999999,g=-1,h=0;h<d.length;h++){var i=d[h],j=c.getcolumn(i.datafield);if(null!=j&&j.clipboard&&(!j.hidden||this.copytoclipboardhiddencolumns)){e.indexOf(j.text)==-1&&e.push(j.text);var k=c.getcelltext(i.rowindex,j.displayfield),l=this.getrowdisplayindex(i.rowindex);this.clipboardselection[l]||(this.clipboardselection[l]={}),this.clipboardselection[l][j.displayfield]=k,this.logicalclipboardselection[l]||(this.logicalclipboardselection[l]={}),this.logicalclipboardselection[l][j.displayfield]=k,j.displayfield!=j.datafield&&(this.logicalclipboardselection[l][j.datafield]=c.getcellvalue(i.rowindex,j.datafield)),f=Math.min(f,l),g=Math.max(g,l)}}for(var m=new Array,n=f;n<=g;n++)if(this.logicalclipboardselection[n]){var o=a.extend({},this.logicalclipboardselection[n]);m.push(o)}if(this.logicalclipboardselection=m,this.copytoclipboardwithheaders){for(var p=0;p<e.length;p++)p>0&&(b+="\t"),b+=e[p];b+="\r\n"}for(var n=f;n<=g;n++){var q=0;this._clipboardselection[this._clipboardselection.length]=new Array,void 0!=this.clipboardselection[n]&&(a.each(this.clipboardselection[n],function(a,d){q>0&&(b+="\t");var e=d;null==d&&(e=""),c._clipboardselection[c._clipboardselection.length-1][q]=e,q++,b+=e}),n<g&&(b+="\r\n"))}}return this.clipboardselectedtext=b,b},pasteselection:function(){var a=this.getselectedcells();if(this._oldselectedcell=null,this.selectionmode.indexOf("cell")==-1&&(a=this._getcellsforcopypaste()),null!=a&&a.length>0){var b=a[0].rowindex,c=this.getrowdisplayindex(b),d=a[0].datafield,e=this._getcolumnindex(d);this.selectedrowindexes=new Array,this.selectedcells=new Array;var f=(a.length,0),g=new Array;this.copytoclipboardwithheaders&&this._clipboardselection.splice(0,1);for(var h=0;h<this._clipboardselection.length;h++){f+=this._clipboardselection[h].length,g[h]=new Array;for(var i=0;i<this._clipboardselection[h].length;i++){var j=this._clipboardselection[h][i];g[h].push(j)}}if(f<a.length){for(var k=new Array,h=0;h<a.length;h++){var l=a[h];k[l.rowindex]||(k[l.rowindex]=new Array),k[l.rowindex].push(l)}for(var m=0,n=0,h=0;h<k.length;h++)if(k[h]){for(var i=0;i<k[h].length;i++){var l=k[h][i],o=l.rowindex,p=this.getcolumn(l.datafield);if("_checkboxcolumn"!==p.datafield&&!p.hidden){var j="";if(void 0==g[m][n]&&(n=0),j=g[m][n],n++,p.cellsformat&&(p.cellsformat.indexOf("p")!=-1||p.cellsformat.indexOf("c")!=-1||p.cellsformat.indexOf("n")!=-1||p.cellsformat.indexOf("f")!=-1)){j.indexOf(this.gridlocalization.currencysymbol)>-1&&(j=j.replace(this.gridlocalization.currencysymbol,""));var q=function(a,b,c){var d=a;if(b==c)return a;for(var e=d.indexOf(b);e!=-1;)d=d.replace(b,c),e=d.indexOf(b);return d};j=q(j,this.gridlocalization.thousandsseparator,""),j=j.replace(this.gridlocalization.decimalseparator,"."),j.indexOf(this.gridlocalization.percentsymbol)>-1&&(j=j.replace(this.gridlocalization.percentsymbol,""));for(var r="",s=0;s<j.length;s++){var t=j.substring(s,s+1);"-"===t&&(r+="-"),"."===t&&(r+="."),null!=t.match(/^[0-9]+$/)&&(r+=t)}j=r,j=j.replace(/ /g,""),j=new Number(j),isNaN(j)&&(j="")}if(this._raiseEvent(17,{rowindex:o,datafield:l.datafield,value:j}),this.setcellvalue(o,p.displayfield,j,!1),p.displayfield!=p.datafield&&this.logicalclipboardselection&&this.logicalclipboardselection[o]){var u=this.logicalclipboardselection[o][p.datafield];void 0!=u&&this.setcellvalue(o,p.datafield,u,!1)}this._raiseEvent(18,{rowindex:o,datafield:l.datafield,oldvalue:this.getcellvalue(l.rowindex,l.datafield),value:j}),this._applycellselection(o,l.datafield,!0,!1)}}m++,n=0,g[m]||(m=0)}}else{if(!this._clipboardselection)return;for(var v=0;v<this._clipboardselection.length;v++)for(var w=0;w<this._clipboardselection[v].length;w++){var p=this.getcolumnat(e+w);if(p&&"_checkboxcolumn"!==p.datafield&&!p.hidden){var o=this.getrowboundindex(c+v),l=this.getcell(o,p.datafield),j=null;if(j=this._clipboardselection[v][w],null!=j){if(p.cellsformat&&(p.cellsformat.indexOf("p")!=-1||p.cellsformat.indexOf("c")!=-1||p.cellsformat.indexOf("n")!=-1||p.cellsformat.indexOf("f")!=-1)){j.indexOf(this.gridlocalization.currencysymbol)>-1&&(j=j.replace(this.gridlocalization.currencysymbol,""));var q=function(a,b,c){var d=a;if(b==c)return a;for(var e=d.indexOf(b);e!=-1;)d=d.replace(b,c),e=d.indexOf(b);return d};j=q(j,this.gridlocalization.thousandsseparator,""),j=j.replace(this.gridlocalization.decimalseparator,"."),j.indexOf(this.gridlocalization.percentsymbol)>-1&&(j=j.replace(this.gridlocalization.percentsymbol,""));for(var r="",s=0;s<j.length;s++){var t=j.substring(s,s+1);"-"===t&&(r+="-"),"."===t&&(r+="."),null!=t.match(/^[0-9]+$/)&&(r+=t)}j=r,j=j.replace(/ /g,""),j=new Number(j),isNaN(j)&&(j="")}if(this._raiseEvent(17,{rowindex:o,datafield:l.datafield,value:j}),this.setcellvalue(o,p.displayfield,j,!1),p.displayfield!=p.datafield&&this.logicalclipboardselection){var u=this.logicalclipboardselection[v][p.datafield];void 0!=u&&this.setcellvalue(o,p.datafield,u,!1)}this._raiseEvent(18,{rowindex:o,datafield:l.datafield,oldvalue:this.getcellvalue(l.rowindex,l.datafield),value:j}),this._applycellselection(o,l.datafield,!0,!1)}}}}"checkbox"==this.selectionmode&&this._updatecheckboxselection(),this.dataview.updateview(),this._renderrows(this.virtualsizeinfo)}this.clipboardend&&this.clipboardend("paste")},_applyrowselection:function(a,b,c,d,e){if(null==a)return!1;var f=this.selectedrowindex;if("singlerow"==this.selectionmode&&(b?this._raiseEvent(2,{rowindex:a,row:this.getrowdata(a)}):this._raiseEvent(3,{rowindex:a,row:this.getrowdata(a)}),this._raiseEvent(3,{rowindex:f}),this.selectedrowindexes=new Array,this.selectedcells=new Array),1==d&&(this.selectedrowindexes=new Array),this.dataview.filters.length>0){var g=this.getrowdata(a);g&&void 0!==g.dataindex?a=g.dataindex:g&&void 0===g.dataindex&&void 0!=g.uid&&(a=this.getrowboundindexbyid(g.uid))}var h=this.selectedrowindexes.indexOf(a);if(b)this.selectedrowindex=a,h==-1?(this.selectedrowindexes.push(a),"singlerow"!=this.selectionmode&&this._raiseEvent(2,{rowindex:a,row:this.getrowdata(a)})):"multiplerows"==this.selectionmode&&(this.selectedrowindexes.splice(h,1),this._raiseEvent(3,{rowindex:this.selectedrowindex,row:this.getrowdata(a)}),this.selectedrowindex=this.selectedrowindexes.length>0?this.selectedrowindexes[this.selectedrowindexes.length-1]:-1);else if(h>=0||"singlerow"==this.selectionmode||"multiplerowsextended"==this.selectionmode||"multiplerowsadvanced"==this.selectionmode){var i=this.selectedrowindexes[h];this.selectedrowindexes.splice(h,1),this._raiseEvent(3,{rowindex:i,row:this.getrowdata(a)}),this.selectedrowindex=-1}return(void 0==c||c)&&this._rendervisualrows(),!0},_applycellselection:function(a,b,c,d){if(null==a)return!1;if(null==b)return!1;this.selectedrowindex;if("singlecell"==this.selectionmode){var e=this.selectedcell;null!=e&&this._raiseEvent(16,{rowindex:e.rowindex,datafield:e.datafield}),this.selectedcells=new Array}if("multiplecellsextended"==this.selectionmode||"multiplecellsadvanced"==this.selectionmode){var e=this.selectedcell;null!=e&&this._raiseEvent(16,{rowindex:e.rowindex,datafield:e.datafield})}var f=a+"_"+b;if(this.dataview.filters.length>0){var g=this.getrowdata(a);if(g&&void 0!==g.dataindex){a=g.dataindex;var f=a+"_"+b}else if(g&&void 0===g.dataindex&&g.uid){a=this.getrowboundindexbyid(g.uid);var f=a+"_"+b}}var h={rowindex:a,datafield:b};return c?(this.selectedcell=h,this.selectedcells[f]?"multiplecells"!=this.selectionmode&&"multiplecellsextended"!=this.selectionmode&&"multiplecellsadvanced"!=this.selectionmode||(delete this.selectedcells[f],this.selectedcells.length>0&&this.selectedcells.length--,this._raiseEvent(16,h)):(this.selectedcells[f]=h,this.selectedcells.length++,this._raiseEvent(15,h))):(delete this.selectedcells[f],this.selectedcells.length>0&&this.selectedcells.length--,this._raiseEvent(16,h)),(void 0==d||d)&&this._rendervisualrows(),!0},_getcellindex:function(b){var c=-1;return a.each(this.selectedcells,function(){if(c++,this[b])return!1}),c},_clearhoverstyle:function(){if(void 0!=this.hoveredrow&&this.hoveredrow!=-1&&!this.vScrollInstance.isScrolling()&&!this.hScrollInstance.isScrolling()){var a=this.table.find(".jqx-grid-cell-hover");a.length>0&&(a.removeClass(this.toTP("jqx-grid-cell-hover")),a.removeClass(this.toTP("jqx-fill-state-hover"))),this.hoveredrow=-1}},_clearselectstyle:function(){for(var b=this.table[0].rows.length,c=this.table[0].rows,d=this.toTP("jqx-grid-cell-selected"),e=this.toTP("jqx-fill-state-pressed"),f=this.toTP("jqx-grid-cell-hover"),g=this.toTP("jqx-fill-state-hover"),h=0;h<b;h++)for(var i=c[h],j=i.cells.length,k=i.cells,l=0;l<j;l++){var m=k[l],n=a(m);m.className.indexOf("jqx-grid-cell-selected")!=-1&&(n.removeClass(d),n.removeClass(e)),m.className.indexOf("jqx-grid-cell-hover")!=-1&&(n.removeClass(f),n.removeClass(g))}},_selectpath:function(a,b){var c=this,d=this._lastClickedCell?Math.min(this._lastClickedCell.row,a):0,e=this._lastClickedCell?Math.max(this._lastClickedCell.row,a):0;if(d<=e){var f=this._getcolumnindex(this._lastClickedCell.column),g=this._getcolumnindex(b),h=Math.min(f,g),i=Math.max(f,g);this.selectedcells=new Array;for(var j=this.dataview.loadedrecords,k=d;k<=e;k++)for(var l=h;l<=i;l++){var a=j[k];this._applycellselection(c.getboundindex(a),c._getcolumnat(l).datafield,!0,!1)}this._rendervisualrows()}},_selectrowpath:function(a){if("multiplerowsextended"==this.selectionmode){var b=this._lastClickedCell?Math.min(this._lastClickedCell.row,a):0,c=this._lastClickedCell?Math.max(this._lastClickedCell.row,a):0,d=this.dataview.loadedrecords;if(b<=c){this.selectedrowindexes=new Array;for(var e=b;e<=c;e++){var a=d[e],f=this.getrowboundindex(e);this._applyrowselection(f,!0,!1)}this._rendervisualrows()}}},_selectrowwithmouse:function(a,b,c,d,e,f){var g=b.row;if(void 0!=g){var h=b.index;if(void 0!=this.hittestinfo[h]){var i=this.hittestinfo[h].visualrow;if(!this.hittestinfo[h].details){i.cells[0].className;if(!g.group){if("multiplerows"==this.selectionmode||"multiplecells"==this.selectionmode||"checkbox"==this.selectionmode||this.selectionmode.indexOf("multiple")!=-1&&(1==f||1==e)){var j=this.getboundindex(g);if(this.dataview.filters.length>0){var k=this.getrowdata(j);if(k&&(j=k.dataindex,void 0==j))var j=this.getboundindex(g)}var l=c.indexOf(j)!=-1,m=this.getboundindex(g)+"_"+d;if(this.selectionmode.indexOf("cell")!=-1){var n=void 0!=this.selectedcells[m];if(void 0!=this.selectedcells[m]&&n?this._selectcellwithstyle(a,!1,h,d,i):this._selectcellwithstyle(a,!0,h,d,i),f&&void 0==this._lastClickedCell){var o=this.getselectedcells();o&&o.length>0&&(this._lastClickedCell={row:o[0].rowindex,column:o[0].datafield})}f&&this._lastClickedCell&&(this._selectpath(g.visibleindex,d),this.mousecaptured=!1,"visible"==this.selectionarea.css("visibility")&&this.selectionarea.css("visibility","hidden"))}else{if(l?e?this._applyrowselection(this.getboundindex(g),!1):this._selectrowwithstyle(a,i,!1,d):this._selectrowwithstyle(a,i,!0,d),f&&void 0==this._lastClickedCell){var p=this.getselectedrowindexes();p&&p.length>0&&(this._lastClickedCell={row:p[0],column:d})}if(f&&this._lastClickedCell){this.selectedrowindexes=new Array;for(var q=this._lastClickedCell?Math.min(this._lastClickedCell.row,g.visibleindex):0,r=this._lastClickedCell?Math.max(this._lastClickedCell.row,g.visibleindex):0,s=this.dataview.loadedrecords,t=q;t<=r;t++){var g=s[t];g&&this._applyrowselection(this.getboundindex(g),!0,!1,!1)}this._rendervisualrows()}}}else this._clearselectstyle(),this._selectrowwithstyle(a,i,!0,d),this.selectionmode.indexOf("cell")!=-1&&this._selectcellwithstyle(a,!0,h,d,i);f||(this._lastClickedCell={row:g.visibleindex,column:d})}}}}},_selectcellwithstyle:function(b,c,d,e,f){var g=a(f.cells[b._getcolumnindex(e)]);g.removeClass(this.toTP("jqx-grid-cell-hover")),g.removeClass(this.toTP("jqx-fill-state-hover")),c?(g.addClass(this.toTP("jqx-grid-cell-selected")),g.addClass(this.toTP("jqx-fill-state-pressed"))):(g.removeClass(this.toTP("jqx-grid-cell-selected")),g.removeClass(this.toTP("jqx-fill-state-pressed")))},_selectrowwithstyle:function(b,c,d,e){var f=c.cells.length,g=0;b.rowdetails&&b.showrowdetailscolumn?this.rtl?(f-=1,f-=this.groups.length):g=1+this.groups.length:this.groupable&&(this.rtl?f-=this.groups.length:g=this.groups.length);for(var h=g;h<f;h++){var i=c.cells[h];d?(a(i).removeClass(this.toTP("jqx-grid-cell-hover")),a(i).removeClass(this.toTP("jqx-fill-state-hover")),b.selectionmode.indexOf("cell")==-1&&(a(i).addClass(this.toTP("jqx-grid-cell-selected")),a(i).addClass(this.toTP("jqx-fill-state-pressed")))):(a(i).removeClass(this.toTP("jqx-grid-cell-hover")),a(i).removeClass(this.toTP("jqx-grid-cell-selected")),a(i).removeClass(this.toTP("jqx-fill-state-hover")),a(i).removeClass(this.toTP("jqx-fill-state-pressed")))}},_handlemousemoveselection:function(b,c){if(c.hScrollInstance.isScrolling()||c.vScrollInstance.isScrolling())return!1;if(("multiplerowsextended"==c.selectionmode||"multiplecellsextended"==c.selectionmode||"multiplecellsadvanced"==c.selectionmode)&&c.mousecaptured){if(c.multipleselectionbegins){var d=c.multipleselectionbegins(b);if(d===!1)return!0}var e=this.showheader?this.columnsheader.height()+2:0,f=this._groupsheader()?this.groupsheader.height():0,g=this.showtoolbar?this.toolbar.height():0;f+=g;var h=this.host.coord();if(this.hasTransform){h=a.jqx.utilities.getOffset(this.host);var i=this._getBodyOffset();h.left-=i.left,h.top-=i.top}"0px"===this.host.css("border-top-width")&&(f-=2);var j=b.pageX,k=b.pageY-f;if(Math.abs(this.mousecaptureposition.left-j)>3||Math.abs(this.mousecaptureposition.top-k)>3){var l=parseInt(this.columnsheader.coord().top);this.hasTransform&&(l=a.jqx.utilities.getOffset(this.columnsheader).top),j<h.left&&(j=h.left),j>h.left+this.host.width()&&(j=h.left+this.host.width());var m=h.top+e;k<m&&(k=m+5);var n=parseInt(Math.min(c.mousecaptureposition.left,j)),o=-5+parseInt(Math.min(c.mousecaptureposition.top,k)),p=parseFloat(Math.abs(c.mousecaptureposition.left-j)),q=parseInt(Math.abs(c.mousecaptureposition.top-k));if(n-=h.left,o-=h.top,this.selectionarea.css("visibility","visible"),"multiplecellsadvanced"==c.selectionmode){var j=n,r=j+p,s=c.hScrollInstance,t=s.value;this.rtl&&("hidden"!=this.hScrollBar.css("visibility")&&(t=s.max-s.value),"hidden"!=this.vScrollBar[0].style.visibility);var u=c.table[0].rows[0],v=0,w=c.mousecaptureposition.clickedcell,x=w,y=!1,z=0,A=u.cells.length;c.mousecaptureposition.left<=b.pageX&&(z=w);for(var B=!1,C=z;C<A;C++){var D=parseFloat(a(this.columnsrow[0].cells[C]).css("left")),E=D-t;if(!c.columns.records[C].pinned||c.columns.records[C].hidden){if(B){y=!0,x--;break}var F=this._getcolumnat(C);if(!(null!=F&&F.hidden||c.groupable&&c.groups.length>0&&C<c.groups.length)){var G=E+a(this.columnsrow[0].cells[C]).width();if(c.mousecaptureposition.left>b.pageX){if(G>=j&&j>=E){x=C,y=!0;break}}else if(G>=r&&r>=E){x=C,y=!0;break}}}else{C==w&&(B=!0);var G=D+a(this.columnsrow[0].cells[C]).width();if(c.mousecaptureposition.left>b.pageX){if(G>=j&&j>=E){x=C,y=!0;break}}else if(G>=r&&r>=E){x=C,y=!0;break}}}y||(c.mousecaptureposition.left>b.pageX?a.each(this.columns.records,function(a,b){return!!(c.groupable&&c.groups.length>0&&a<c.groups.length)||(this.pinned||this.hidden?void 0:(x=a,!1))}):(!c.groupable||c.groupable&&!c.groups.length>0)&&(x=u.cells.length-1));var H=w;w=Math.min(w,x),x=Math.max(H,x),o+=5,o+=f;for(var I=(c.table[0].rows.indexOf(c.mousecaptureposition.clickedrow),0),J=-1,K=-1,L=0,C=0;C<c.table[0].rows.length;C++){var M=a(c.table[0].rows[C]);0==C&&(L=M.coord().top);var N=M.height(),O=L-h.top;if(J==-1&&O+N>=o){for(var P=!1,Q=0;Q<c.groups.length;Q++){var R=M[0].cells[Q].className;if(R.indexOf("jqx-grid-group-collapse")!=-1||R.indexOf("jqx-grid-group-expand")!=-1){P=!0;break}}if(P)continue;J=C}if(L+=N,c.groupable&&c.groups.length>0){for(var P=!1,Q=0;Q<c.groups.length;Q++){var R=M[0].cells[Q].className;if(R.indexOf("jqx-grid-group-collapse")!=-1||R.indexOf("jqx-grid-group-expand")!=-1){P=!0;break}}if(P)continue;for(var v=0,S=c.groups.length;S<M[0].cells.length;S++){var T=M[0].cells[S];""==a(T).html()&&v++}if(v==M[0].cells.length-c.groups.length)continue}if(J!=-1&&(I+=N),O+N>o+q){K=C;break}}if(J!=-1){o=a(c.table[0].rows[J]).coord().top-h.top-f-2;var U=0;this.filterable&&this.showfilterrow&&(U=this.filterrowheight),parseFloat(c.table[0].style.top)<0&&o<this.rowsheight+U&&(o-=parseFloat(c.table[0].style.top),I+=parseFloat(c.table[0].style.top)),q=I;var V=a(this.columnsrow[0].cells[w]),W=a(this.columnsrow[0].cells[x]);if(n=parseFloat(V.css("left")),p=parseFloat(W.css("left"))-parseFloat(n)+W.width()-2,n-=t,B&&(n+=t),c.editcell&&c.editable&&c.endcelledit&&(w!=x||J!=K)){if(0==c.editcell.validated)return;c.endcelledit(c.editcell.row,c.editcell.column,!0,!0)}}}this.selectionarea.width(p),this.selectionarea.height(q),this.selectionarea.css("left",n),this.selectionarea.css("top",o)}}},_handlemouseupselection:function(b,c){if(this.selectionarea){if("visible"!=this.selectionarea[0].style.visibility)return c.mousecaptured=!1,!0;if(c.mousecaptured&&("multiplerowsextended"==c.selectionmode||"multiplerowsadvanced"==c.selectionmode||"multiplecellsextended"==c.selectionmode||"multiplecellsadvanced"==c.selectionmode)&&(c.mousecaptured=!1,"visible"==this.selectionarea.css("visibility"))){this.selectionarea.css("visibility","hidden");var d=this.showheader?this.columnsheader.height()+2:0,e=this._groupsheader()?this.groupsheader.height():0;"0px"===this.host.css("border-top-width")&&(e-=2);var f=this.showtoolbar?this.toolbar.height():0;e+=f;var g=this.selectionarea.coord(),h=this.host.coord();this.hasTransform&&(h=a.jqx.utilities.getOffset(this.host),g=a.jqx.utilities.getOffset(this.selectionarea)),"0px"===this.host.css("border-top-width")&&(e-=2);var i=g.left-h.left,j=g.top-d-h.top-e,k=j,l=i+this.selectionarea.width(),m=i,n=new Array,o=new Array;if("multiplerowsextended"==c.selectionmode){for(;j<k+this.selectionarea.height();){var p=this._hittestrow(i,j),q=p.row,r=p.index;r!=-1&&(o[r]||(o[r]=!0,n[n.length]=p)),j+=20}var k=0;a.each(n,function(){var a=this.row;"none"!=c.selectionmode&&c._selectrowwithmouse&&(b.ctrlKey||b.metaKey?c._applyrowselection(c.getboundindex(a),!0,!1,!1):0==k?c._applyrowselection(c.getboundindex(a),!0,!1,!0):c._applyrowselection(c.getboundindex(a),!0,!1,!1),k++)})}else{"multiplecellsadvanced"==c.selectionmode&&(j+=2);var s=c.hScrollInstance,t=s.value;this.rtl&&("hidden"!=this.hScrollBar.css("visibility")&&(t=s.max-s.value),"hidden"!=this.vScrollBar[0].style.visibility&&(t-=this.scrollbarsize+4));var u=c.table[0].rows[0],v=c.selectionarea.height();!b.ctrlKey&&!b.metaKey&&v>0&&(c.selectedcells=new Array);for(var w=v;j<k+w;){var p=c._hittestrow(i,j);if(p){var q=p.row,r=p.index;if(r!=-1&&!o[r]){o[r]=!0;for(var x=0;x<u.cells.length;x++){var y=parseFloat(a(c.columnsrow[0].cells[x]).css("left"))-t,z=y+a(c.columnsrow[0].cells[x]).width();(m>=y&&m<=z||l>=y&&l<=z||y>=m&&y<=l)&&c._applycellselection(c.getboundindex(q),c._getcolumnat(x).datafield,!0,!1)}}j+=5}else j+=5}}c.autosavestate&&c.savestate&&c.savestate(),c._renderrows(c.virtualsizeinfo)}}},selectprevcell:function(a,b){var c=this._getcolumnindex(b),d=(this.columns.records.length,this._getprevvisiblecolumn(c));null!=d&&(this.clearselection(),this.selectcell(a,d.datafield))},selectnextcell:function(a,b){var c=this._getcolumnindex(b),d=(this.columns.records.length,this._getnextvisiblecolumn(c));null!=d&&(this.clearselection(),this.selectcell(a,d.datafield))},_getfirstvisiblecolumn:function(){for(var a=this.columns.records.length,b=0;b<a;b++){var c=this.columns.records[b];if(!c.hidden&&null!=c.datafield)return c}return null},_getlastvisiblecolumn:function(){for(var a=this.columns.records.length,b=a-1;b>=0;b--){var c=this.columns.records[b];if(!c.hidden&&null!=c.datafield)return c}return null},_handlekeydown:function(b,c){if(c.groupable&&c.groups.length>0,c.disabled)return!1;var d=b.charCode?b.charCode:b.keyCode?b.keyCode:0;if(c.editcell&&"multiplecellsadvanced"!=c.selectionmode)return!0;if(c.editcell&&"multiplecellsadvanced"==c.selectionmode){if(!(d>=33&&d<=40))return!0;if(b.altKey)return c._cancelkeydown=!1,!0;if(void 0!=c._cancelkeydown&&0!=c._cancelkeydown)return c._cancelkeydown=!1,!0;if("selectedrow"===c.editmode)return!0;if(c.endcelledit(c.editcell.row,c.editcell.column,!1,!0),c._cancelkeydown=!1,c.editcell&&!c.editcell.validated)return c._rendervisualrows(),c.endcelledit(c.editcell.row,c.editcell.column,!1,!0),!1}if("none"==c.selectionmode)return!0;if(c.showfilterrow&&c.filterable&&this.filterrow&&a(b.target).ischildof(c.filterrow))return!0;if(c.showeverpresentrow){if(c.addnewrowtop&&a(b.target).ischildof(c.addnewrowtop))return!0;if(c.addnewrowbottom&&a(b.target).ischildof(c.addnewrowbottom))return!0}if(b.target.className&&b.target.className.indexOf("jqx-grid-widget")>=0)return!0;if(c.pageable&&a(b.target).ischildof(this.pager))return!0;if(this.showtoolbar&&a(b.target).ischildof(this.toolbar))return!0;if(this.showstatusbar&&a(b.target).ischildof(this.statusbar))return!0;var e=!1;if(b.altKey)return!0;if((b.ctrlKey||b.metaKey)&&this.clipboard){var f=String.fromCharCode(d).toLowerCase();if(this.clipboardbegin){var g=null;if("c"==f?g=this.clipboardbegin("copy",this.copyselection()):"x"==f?g=this.clipboardbegin("cut",this.copyselection()):"v"==f&&(g=this.clipboardbegin("paste")),g===!1)return!1}if("c"==f||"x"==f){var h=this.copyselection();if("c"==f&&this.clipboardend&&this.clipboardend("copy"),"x"==f&&this.clipboardend&&this.clipboardend("cut"),window.clipboardData)window.clipboardData.setData("Text",h);else{var i=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');i.val(h),a("body").append(i),i.select(),setTimeout(function(){document.designMode="off",i.select(),i.remove(),c.focus()},100)}if("c"==f&&a.jqx.browser.msie)return!1;if("c"==f)return!0}else if("v"==f){var j=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');a("body").append(j),j.select();var k=this;return setTimeout(function(){k._clipboardselection=new Array;var a=j.val();if(0==a.length&&window.clipboardData){j.val(window.clipboardData.getData("Text"));var a=j.val()}for(var b=a.split("\n"),c=0;c<b.length;c++)if(b[c].split("\t").length>0){var d=b[c].split("\t");if(1==d.length&&c==b.length-1&&""==d[0])continue;d.length>0&&k._clipboardselection.push(d)}k.pasteselection(),j.remove(),k.focus()},100),!0}if("x"==f)return this.deleteselection(),this.host.focus(),!1}var l=Math.round(c._gettableheight()),m=Math.round(l/c.rowsheight),n=c.getdatainformation();switch(c.selectionmode){case"singlecell":case"multiplecells":case"multiplecellsextended":case"multiplecellsadvanced":var o=c.getselectedcell();if(null!=o){var p=this.getrowvisibleindex(o.rowindex),q=p,r=o.datafield,s=c._getcolumnindex(r),t=(c.columns.records.length,function(a,d,f,g){var h=function(a,b){var d=c.dataview.loadedrecords[a];if(c.groupable&&c.groups.length>0){var h=a;"up"==g&&h++,"down"==g&&h--;for(var d=c.getdisplayrows()[h],i=function(a){return!!a.group&&(c.expandedgroups[a.uniqueid]?c.expandedgroups[a.uniqueid].expanded:void 0)},j=1,k=!0;k&&j<300&&(k=!1,"down"==g?d=c.getdisplayrows()[h+j]:"up"==g&&(d=c.getdisplayrows()[h-j]),d);){d&&d.group&&(k=!0);for(var l=d.parentItem;l;)l&&!i(l)&&(k=!0),l=l.parentItem;if(!k)break;j++}if(300==j&&(d=null),c.pageable){var m=!1;if(d){for(var n=0;n<c.dataview.rows.length;n++)c.dataview.rows[n].boundindex==d.boundindex&&(m=!0);m||(d=null)}}}if(void 0!=d&&null!=b){(f||void 0==f)&&c.clearselection();var o=c.getboundindex(d);return c.selectcell(o,b),c._oldselectedcell=c.selectedcell,e=!0,c.ensurecellvisible(a,b),!0}return!1};h(a,d)||(c.ensurecellvisible(a,d),h(a,d),c.virtualmode&&c.host.focus());var i=c.groupable&&c.groups.length>0;if(!i)if(b.shiftKey&&9!=b.keyCode){if(("multiplecellsextended"==c.selectionmode||"multiplecellsadvanced"==c.selectionmode)&&c._lastClickedCell){c._selectpath(a,d);var j=c.dataview.loadedrecords[a],k=c.getboundindex(j);return void(c.selectedcell={rowindex:k,datafield:d})}}else b.shiftKey||(c._lastClickedCell={row:a,column:d})}),u=b.shiftKey&&"singlecell"!=c.selectionmode&&"multiplecells"!=c.selectionmode,v=function(){t(0,r,!u)},w=function(){var a=n.rowscount-1;t(a,r,!u)},x=9==d&&!b.shiftKey,y=9==d&&b.shiftKey;if(c.rtl){var z=x;x=y,y=z}if((x||y)&&(u=!1),(x||y)&&document.activeElement&&document.activeElement.className&&document.activeElement.className.indexOf("jqx-grid-cell-add-new-row")>=0)return!0;var A=b.ctrlKey||b.metaKey;if(A&&37==d){var B=c._getfirstvisiblecolumn(s);null!=B&&t(q,B.datafield)}else if(A&&39==d){var C=c._getlastvisiblecolumn(s);null!=C&&t(q,C.datafield)}else if(39==d||x){var D=c._getnextvisiblecolumn(s);if(null!=D)t(q,D.datafield,!u);else if(x){var E=c._getfirstvisiblecolumn();d=40,r=E.displayfield}else e=!0}else if(37==d||y){var B=c._getprevvisiblecolumn(s);if(null!=B)t(q,B.datafield,!u);else if(y){var F=c._getlastvisiblecolumn();d=38,r=F.displayfield}else e=!0}else if(36==d)v();else if(35==d)w();else if(33==d)if(q-m>=0){var G=q-m;t(G,r,!u)}else v();else if(34==d)if(n.rowscount>q+m){var G=q+m;t(G,r,!u)}else w();38==d&&(A?v():q>0?t(q-1,r,!u,"up"):e=!0),40==d&&(A?w():n.rowscount>q+1||c.groupable&&c.groups.length>0?t(q+1,r,!u,"down"):e=!0)}break;case"singlerow":case"multiplerows":case"multiplerowsextended":case"multiplerowsadvanced":var q=c.getselectedrowindex();if(null==q||q==-1)return!0;q=this.getrowvisibleindex(q);var H=function(a,f,g){var h=function(a){var b=c.dataview.loadedrecords[a];if(c.groupable&&c.groups.length>0){"up"==g&&a++,"down"==g&&a--;for(var b=c.getdisplayrows()[a],d=function(a){return!!a.group&&(c.expandedgroups[a.uniqueid]?c.expandedgroups[a.uniqueid].expanded:void 0)},h=1,i=!0;i&&h<300&&(i=!1,"down"==g?b=c.getdisplayrows()[a+h]:"up"==g&&(b=c.getdisplayrows()[a-h]),b);){b&&b.group&&(i=!0);for(var j=b.parentItem;j;)j&&!d(j)&&(i=!0),j=j.parentItem;if(!i)break;h++}if(300==h&&(b=null),c.pageable){var k=!1;if(b){for(var l=0;l<c.dataview.rows.length;l++)c.dataview.rows[l].boundindex==b.boundindex&&(k=!0);k||(b=null)}}}if(void 0!=b){var m=c.getboundindex(b),n=c.selectedrowindex;(f||void 0==f)&&c.clearselection(),c.selectedrowindex=n,c.selectrow(m,!1);var o=c.ensurerowvisible(a);return(!o||c.autoheight||c.groupable)&&c._rendervisualrows(),e=!0,!0}return!1};h(a)||(c.ensurerowvisible(a),h(a,f),c.virtualmode&&setTimeout(function(){h(a,f)},25),c.virtualmode&&c.host.focus());var i=c.groupable&&c.groups.length>0;if(!i)if(b.shiftKey&&9!=d){if("multiplerowsextended"==c.selectionmode&&c._lastClickedCell)return c._selectrowpath(a),void(c.selectedrowindex=c.getrowboundindex(a))}else b.shiftKey||(c._lastClickedCell={row:a},c.selectedrowindex=c.getrowboundindex(a))},u=b.shiftKey&&"singlerow"!=c.selectionmode&&"multiplerows"!=c.selectionmode,v=function(){H(0,!u)},w=function(){var a=n.rowscount-1;H(a,!u)},A=b.ctrlKey||b.metaKey;if(36==d||A&&38==d)v();else if(35==d||A&&40==d)w();else if(33==d)if(q-m>=0){var G=q-m;H(G,!u)}else v();else if(34==d)if(n.rowscount>q+m){var G=q+m;H(G,!u)}else w();else 38==d?q>0?H(q-1,!u,"up"):e=!0:40==d&&(n.rowscount>q+1||c.groupable&&c.groups.length>0?H(q+1,!u,"down"):e=!0)}return!e||(c.autosavestate&&c.savestate&&c.savestate(),!1)},_handlemousemove:function(b,c){if(!c.vScrollInstance.isScrolling()&&!c.hScrollInstance.isScrolling()){var d,e,f,g,h;if(c.enablehover||"multiplerows"==c.selectionmode){d=this.showheader?this.columnsheader.height()+2:0,e=this._groupsheader()?this.groupsheader.height():0;
7 var i=this.showtoolbar?this.toolbarheight:0;if(e+=i,f=this.host.coord(),this.hasTransform){f=a.jqx.utilities.getOffset(this.host);var j=this._getBodyOffset();f.left-=j.left,f.top-=j.top}g=b.pageX-f.left,h=b.pageY-d-f.top-e}if("multiplerowsextended"!=c.selectionmode&&"multiplecellsextended"!=c.selectionmode&&"multiplecellsadvanced"!=c.selectionmode||1!=c.mousecaptured){if(!c.enablehover)return!0;if(!c.disabled&&!this.vScrollInstance.isScrolling()&&!this.hScrollInstance.isScrolling()){var k=this._hittestrow(g,h);if(k){var l=k.row,m=k.index;if((this.hoveredrow==-1||m==-1||this.hoveredrow!=m||this.selectionmode.indexOf("cell")!=-1||"checkbox"==this.selectionmode)&&(this._clearhoverstyle(),m!=-1&&void 0!=l)){var n=this.hittestinfo[m].visualrow;if(null!=n&&!(this.hittestinfo[m].details||b.clientX>a(n).width()+a(n).coord().left)){var o=0,p=n.cells.length;if(c.rowdetails&&c.showrowdetailscolumn?this.rtl?(p-=1,p-=this.groups.length):o=1+this.groups.length:this.groupable&&(this.rtl?p-=this.groups.length:o=this.groups.length),0!=n.cells.length){var q=n.cells[o].className;if(!(l.group||this.selectionmode.indexOf("row")>=0&&q.indexOf("jqx-grid-cell-selected")!=-1))if(this.hoveredrow=m,this.selectionmode.indexOf("cell")==-1&&"checkbox"!=this.selectionmode)for(var r=o;r<p;r++){var s=n.cells[r];a(s).addClass(this.toTP("jqx-grid-cell-hover")),a(s).addClass(this.toTP("jqx-fill-state-hover")),this.cellhover&&this.cellhover(s,b.pageX,b.pageY)}else{var t=-1,u=this.hScrollInstance,v=u.value;this.rtl&&"hidden"!=this.hScrollBar.css("visibility")&&(v=u.max-u.value);for(var r=o;r<p;r++){var w=parseInt(a(this.columnsrow[0].cells[r]).css("left"))-v;this.columns.records[r].pinned&&!this.rtl&&(w=parseInt(a(this.columnsrow[0].cells[r]).css("left")));var x=w+a(this.columnsrow[0].cells[r]).width();if(x>=g&&g>=w){t=r;break}}if(t!=-1){var s=n.cells[t];if(this.cellhover&&this.cellhover(s,b.pageX,b.pageY),s.className.indexOf("jqx-grid-cell-selected")==-1){if(this.editcell){var y=this._getcolumnat(t);if(y&&this.editcell.row==m&&this.editcell.column==y.datafield)return}a(s).addClass(this.toTP("jqx-grid-cell-hover")),a(s).addClass(this.toTP("jqx-fill-state-hover"))}}}}}}}}}}}})}(jqxBaseFramework);
6 8
7 (function(a){a.extend(a.jqx._jqxGrid.prototype,{selectallrows:function(){this._trigger=false;var d=this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array();var e=this.dataview.loadedrecords;for(var c=0;c<d;c++){var f=e[c];if(!f){this.selectedrowindexes[c]=c;continue}var b=this.getboundindex(f);if(b!=undefined){this.selectedrowindexes[c]=b}}if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){if(this._checkboxcolumn){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:true})}}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(2,{rowindex:this.selectedrowindexes})}},unselectallrows:function(){this._trigger=false;var c=this.virtualmode?this.dataview.totalrecords:this.dataview.loadedrecords.length;this.selectedrowindexes=new Array();var d=this.dataview.loadedrecords;for(var b=0;b<c;b++){var e=d[b];if(!e){this.selectedrowindexes[b]=b;continue}delete this.selectedrowindexes[b]}if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){if(this._checkboxcolumn){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(2,{rowindex:this.selectedrowindexes})}},selectrow:function(b,c){this._applyrowselection(b,true,c);if(c!==false){this._updatecheckboxselection()}},_updatecheckboxselection:function(){if(this.selectionmode=="checkbox"){var d=this.getrows();if(d&&this._checkboxcolumn){if(d.length===0){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false});return}var c=d.length;if(this.groupable){c=this.dataview.loadedrecords.length}if(this.virtualmode){c=this.source._source.totalrecords}var b=this.selectedrowindexes.length;if(b===c){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:true})}else{if(b===0){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}else{this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:null})}}}}},unselectrow:function(b,c){this._applyrowselection(b,false,c);if(c!==false){this._updatecheckboxselection()}},selectcell:function(c,b){this._applycellselection(c,b,true)},unselectcell:function(c,b){this._applycellselection(c,b,false)},clearselection:function(c,d){this._trigger=false;this.selectedrowindex=-1;this._oldselectedcell=null;if(d!==false){for(var b=0;b<this.selectedrowindexes.length;b++){this._raiseEvent(3,{rowindex:this.selectedrowindexes[b]})}}this.selectedrowindexes=new Array();this.selectedcells=new Array();this.selectedcell=null;if(this.selectionmode=="checkbox"&&!this._checkboxcolumnupdating){this._checkboxcolumn.checkboxelement.jqxCheckBox({checked:false})}if(false===c){this._trigger=true;return}this._renderrows(this.virtualsizeinfo);this._trigger=true;if(this.selectionmode=="checkbox"){this._raiseEvent(3,{rowindex:this.selectedrowindexes})}},getselectedrowindex:function(){if(this.selectedrowindex==-1){for(var b=0;b<this.selectedrowindexes.length;b++){return this.selectedrowindexes[b]}}return this.selectedrowindex},getselectedrowindexes:function(){return this.selectedrowindexes},getselectedcell:function(){if(!this.selectedcell){return null}var b=this.selectedcell;b.row=this.selectedcell.rowindex;b.column=this.selectedcell.datafield;b.value=this.getcellvalue(b.row,b.column);return b},getselectedcells:function(){var b=new Array();for(obj in this.selectedcells){b[b.length]=this.selectedcells[obj]}return b},_getcellsforcopypaste:function(){var e=new Array();if(this.selectionmode.indexOf("cell")==-1){var h=this.selectedrowindexes;for(var d=0;d<h.length;d++){var c=h[d];for(var f=0;f<this.columns.records.length;f++){var g=c+"_"+this.columns.records[f].datafield;var b={rowindex:c,datafield:this.columns.records[f].datafield};e.push(b)}}}return e},deleteselection:function(){var d=this;var f=d.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){f=this._getcellsforcopypaste()}if(f!=null&&f.length>0){for(var e=0;e<f.length;e++){var b=f[e];var g=d.getcolumn(b.datafield);var h=d.getcellvalue(b.rowindex,b.datafield);if(!g){continue}if(h!==""){var c=null;if(g.columntype=="checkbox"){if(!g.threestatecheckbox){c=false}}d._raiseEvent(17,{rowindex:b.rowindex,datafield:b.datafield,value:h});if(e==f.length-1){d.setcellvalue(b.rowindex,b.datafield,c,true);if(g.displayfield!=g.datafield){d.setcellvalue(b.rowindex,g.displayfield,c,true)}}else{d.setcellvalue(b.rowindex,b.datafield,c,false);if(g.displayfield!=g.datafield){d.setcellvalue(b.rowindex,g.displayfield,c,true)}}d._raiseEvent(18,{rowindex:b.rowindex,datafield:b.datafield,oldvalue:h,value:c})}}this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}},copyselection:function(){var g="";var m=this;this.clipboardselection={};this._clipboardselection=[];var l=m.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){l=this._getcellsforcopypaste()}if(l!=null&&l.length>0){var n=999999999999999;var k=-1;for(var e=0;e<l.length;e++){var h=l[e];var b=m.getcolumn(h.datafield);if(b!=null){var j=m.getcelltext(h.rowindex,h.datafield);var d=this.getrowdisplayindex(h.rowindex);if(!this.clipboardselection[d]){this.clipboardselection[d]={}}this.clipboardselection[d][h.datafield]=j;n=Math.min(n,d);k=Math.max(k,d)}}for(var c=n;c<=k;c++){var f=0;this._clipboardselection[this._clipboardselection.length]=new Array();if(this.clipboardselection[c]!=undefined){a.each(this.clipboardselection[c],function(i,o){if(f>0){g+="\t"}var p=o;if(o==null){p=""}m._clipboardselection[m._clipboardselection.length-1][f]=p;f++;g+=p})}if(c<k){g+="\r\n"}}}this.clipboardselectedtext=g;return g},pasteselection:function(){var q=this.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){q=this._getcellsforcopypaste()}if(q!=null&&q.length>0){var p=q[0].rowindex;var i=this.getrowdisplayindex(p);var g=q[0].datafield;var m=this._getcolumnindex(g);var l=0;this.selectedrowindexes=new Array();this.selectedcells=new Array();if(!this._clipboardselection){return}for(var r=0;r<this._clipboardselection.length;r++){for(var k=0;k<this._clipboardselection[r].length;k++){var h=this.getcolumnat(m+k);if(!h){continue}var f=this.getrowboundindex(i+r);var n=this.getcell(f,h.datafield);var d=null;d=this._clipboardselection[r][k];if(d!=null){if(h.cellsformat){if(h.cellsformat.indexOf("p")!=-1||h.cellsformat.indexOf("c")!=-1||h.cellsformat.indexOf("n")!=-1||h.cellsformat.indexOf("f")!=-1){if(d.indexOf(this.gridlocalization.currencysymbol)>-1){d=d.replace(this.gridlocalization.currencysymbol,"")}var j=function(v,t,u){var c=v;if(t==u){return v}var s=c.indexOf(t);while(s!=-1){c=c.replace(t,u);s=c.indexOf(t)}return c};d=j(d,this.gridlocalization.thousandsseparator,"");d=d.replace(this.gridlocalization.decimalseparator,".");if(d.indexOf(this.gridlocalization.percentsymbol)>-1){d=d.replace(this.gridlocalization.percentsymbol,"")}var e="";for(var o=0;o<d.length;o++){var b=d.substring(o,o+1);if(b==="-"){e+="-"}if(b==="."){e+="."}if(b.match(/^[0-9]+$/)!=null){e+=b}}d=e;d=d.replace(/ /g,"");d=new Number(d);if(isNaN(d)){d=""}}}this._raiseEvent(17,{rowindex:f,datafield:n.datafield,value:d});this.setcellvalue(f,n.column,d,false);this._raiseEvent(18,{rowindex:f,datafield:n.datafield,oldvalue:this.getcellvalue(n.rowindex,n.datafield),value:d});this._applycellselection(f,n.datafield,true,false)}}}this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}},_applyrowselection:function(e,i,f,h,b){if(e==null){return false}var j=this.selectedrowindex;if(this.selectionmode=="singlerow"){if(i){this._raiseEvent(2,{rowindex:e,row:this.getrowdata(e)})}else{this._raiseEvent(3,{rowindex:e,row:this.getrowdata(e)})}this._raiseEvent(3,{rowindex:j});this.selectedrowindexes=new Array();this.selectedcells=new Array()}if(h==true){this.selectedrowindexes=new Array()}if(this.dataview.filters.length>0){var c=this.getrowdata(e);if(c&&c.dataindex!==undefined){e=c.dataindex}else{if(c&&c.dataindex===undefined){if(c.uid!=undefined){e=this.getrowboundindexbyid(c.uid)}}}}var d=this.selectedrowindexes.indexOf(e);if(i){this.selectedrowindex=e;if(d==-1){this.selectedrowindexes.push(e);if(this.selectionmode!="singlerow"){this._raiseEvent(2,{rowindex:e,row:this.getrowdata(e)})}}else{if(this.selectionmode=="multiplerows"){this.selectedrowindexes.splice(d,1);this._raiseEvent(3,{rowindex:this.selectedrowindex,row:this.getrowdata(e)});this.selectedrowindex=this.selectedrowindexes.length>0?this.selectedrowindexes[this.selectedrowindexes.length-1]:-1}}}else{if(d>=0||this.selectionmode=="singlerow"||this.selectionmode=="multiplerowsextended"||this.selectionmode=="multiplerowsadvanced"){var g=this.selectedrowindexes[d];this.selectedrowindexes.splice(d,1);this._raiseEvent(3,{rowindex:g,row:this.getrowdata(e)});this.selectedrowindex=-1}}if(f==undefined||f){this._rendervisualrows()}return true},_applycellselection:function(e,b,h,f){if(e==null){return false}if(b==null){return false}var j=this.selectedrowindex;if(this.selectionmode=="singlecell"){var d=this.selectedcell;if(d!=null){this._raiseEvent(16,{rowindex:d.rowindex,datafield:d.datafield})}this.selectedcells=new Array()}if(this.selectionmode=="multiplecellsextended"||this.selectionmode=="multiplecellsadvanced"){var d=this.selectedcell;if(d!=null){this._raiseEvent(16,{rowindex:d.rowindex,datafield:d.datafield})}}var g=e+"_"+b;if(this.dataview.filters.length>0){var c=this.getrowdata(e);if(c&&c.dataindex!==undefined){e=c.dataindex;var g=e+"_"+b}else{if(c&&c.dataindex===undefined){if(c.uid){e=this.getrowboundindexbyid(c.uid);var g=e+"_"+b}}}}var i={rowindex:e,datafield:b};if(h){this.selectedcell=i;if(!this.selectedcells[g]){this.selectedcells[g]=i;this.selectedcells.length++;this._raiseEvent(15,i)}else{if(this.selectionmode=="multiplecells"||this.selectionmode=="multiplecellsextended"||this.selectionmode=="multiplecellsadvanced"){delete this.selectedcells[g];if(this.selectedcells.length>0){this.selectedcells.length--}this._raiseEvent(16,i)}}}else{delete this.selectedcells[g];if(this.selectedcells.length>0){this.selectedcells.length--}this._raiseEvent(16,i)}if(f==undefined||f){this._rendervisualrows()}return true},_getcellindex:function(b){var c=-1;a.each(this.selectedcells,function(){c++;if(this[b]){return false}});return c},_clearhoverstyle:function(){if(undefined==this.hoveredrow||this.hoveredrow==-1){return}if(this.vScrollInstance.isScrolling()){return}if(this.hScrollInstance.isScrolling()){return}var b=this.table.find(".jqx-grid-cell-hover");if(b.length>0){b.removeClass(this.toTP("jqx-grid-cell-hover"));b.removeClass(this.toTP("jqx-fill-state-hover"))}this.hoveredrow=-1},_clearselectstyle:function(){var k=this.table[0].rows.length;var p=this.table[0].rows;var l=this.toTP("jqx-grid-cell-selected");var c=this.toTP("jqx-fill-state-pressed");var m=this.toTP("jqx-grid-cell-hover");var h=this.toTP("jqx-fill-state-hover");for(var g=0;g<k;g++){var b=p[g];var f=b.cells.length;var o=b.cells;for(var e=0;e<f;e++){var d=o[e];var n=a(d);if(d.className.indexOf("jqx-grid-cell-selected")!=-1){n.removeClass(l);n.removeClass(c)}if(d.className.indexOf("jqx-grid-cell-hover")!=-1){n.removeClass(m);n.removeClass(h)}}}},_selectpath:function(n,e){var l=this;var i=this._lastClickedCell?Math.min(this._lastClickedCell.row,n):0;var k=this._lastClickedCell?Math.max(this._lastClickedCell.row,n):0;if(i<=k){var h=this._getcolumnindex(this._lastClickedCell.column);var g=this._getcolumnindex(e);var f=Math.min(h,g);var d=Math.max(h,g);this.selectedcells=new Array();var m=this.dataview.loadedrecords;for(var b=i;b<=k;b++){for(var j=f;j<=d;j++){var n=m[b];this._applycellselection(l.getboundindex(n),l._getcolumnat(j).datafield,true,false)}}this._rendervisualrows()}},_selectrowpath:function(g){if(this.selectionmode=="multiplerowsextended"){var c=this;var b=this._lastClickedCell?Math.min(this._lastClickedCell.row,g):0;var h=this._lastClickedCell?Math.max(this._lastClickedCell.row,g):0;var f=this.dataview.loadedrecords;if(b<=h){this.selectedrowindexes=new Array();for(var e=b;e<=h;e++){var g=f[e];var d=this.getrowboundindex(e);this._applyrowselection(d,true,false)}this._rendervisualrows()}}},_selectrowwithmouse:function(p,b,c,f,d,s){var j=b.row;if(j==undefined){return}var k=b.index;if(this.hittestinfo[k]==undefined){return}var t=this.hittestinfo[k].visualrow;if(this.hittestinfo[k].details){return}var m=t.cells[0].className;if(j.group){return}if(this.selectionmode=="multiplerows"||this.selectionmode=="multiplecells"||this.selectionmode=="checkbox"||(this.selectionmode.indexOf("multiple")!=-1&&(s==true||d==true))){var l=this.getboundindex(j);if(this.dataview.filters.length>0){var v=this.getrowdata(l);if(v){l=v.dataindex;if(l==undefined){var l=this.getboundindex(j)}}}var q=c.indexOf(l)!=-1;var w=this.getboundindex(j)+"_"+f;if(this.selectionmode.indexOf("cell")!=-1){var h=this.selectedcells[w]!=undefined;if(this.selectedcells[w]!=undefined&&h){this._selectcellwithstyle(p,false,k,f,t)}else{this._selectcellwithstyle(p,true,k,f,t)}if(s&&this._lastClickedCell==undefined){var g=this.getselectedcells();if(g&&g.length>0){this._lastClickedCell={row:g[0].rowindex,column:g[0].datafield}}}if(s&&this._lastClickedCell){this._selectpath(j.visibleindex,f);this.mousecaptured=false;if(this.selectionarea.css("visibility")=="visible"){this.selectionarea.css("visibility","hidden")}}}else{if(q){if(d){this._applyrowselection(this.getboundindex(j),false)}else{this._selectrowwithstyle(p,t,false,f)}}else{this._selectrowwithstyle(p,t,true,f)}if(s&&this._lastClickedCell==undefined){var i=this.getselectedrowindexes();if(i&&i.length>0){this._lastClickedCell={row:i[0],column:f}}}if(s&&this._lastClickedCell){this.selectedrowindexes=new Array();var e=this._lastClickedCell?Math.min(this._lastClickedCell.row,j.visibleindex):0;var u=this._lastClickedCell?Math.max(this._lastClickedCell.row,j.visibleindex):0;var n=this.dataview.loadedrecords;for(var o=e;o<=u;o++){var j=n[o];if(j){this._applyrowselection(this.getboundindex(j),true,false,false)}}this._rendervisualrows()}}}else{this._clearselectstyle();this._selectrowwithstyle(p,t,true,f);if(this.selectionmode.indexOf("cell")!=-1){this._selectcellwithstyle(p,true,k,f,t)}}if(!s){this._lastClickedCell={row:j.visibleindex,column:f}}},_selectcellwithstyle:function(d,c,g,f,e){var b=a(e.cells[d._getcolumnindex(f)]);b.removeClass(this.toTP("jqx-grid-cell-hover"));b.removeClass(this.toTP("jqx-fill-state-hover"));if(c){b.addClass(this.toTP("jqx-grid-cell-selected"));b.addClass(this.toTP("jqx-fill-state-pressed"))}else{b.removeClass(this.toTP("jqx-grid-cell-selected"));b.removeClass(this.toTP("jqx-fill-state-pressed"))}},_selectrowwithstyle:function(e,h,b,j){var c=h.cells.length;var f=0;if(e.rowdetails&&e.showrowdetailscolumn){if(!this.rtl){f=1+this.groups.length}else{c-=1;c-=this.groups.length}}else{if(this.groupable){if(!this.rtl){f=this.groups.length}else{c-=this.groups.length}}}for(var g=f;g<c;g++){var d=h.cells[g];if(b){a(d).removeClass(this.toTP("jqx-grid-cell-hover"));a(d).removeClass(this.toTP("jqx-fill-state-hover"));if(e.selectionmode.indexOf("cell")==-1){a(d).addClass(this.toTP("jqx-grid-cell-selected"));a(d).addClass(this.toTP("jqx-fill-state-pressed"))}}else{a(d).removeClass(this.toTP("jqx-grid-cell-hover"));a(d).removeClass(this.toTP("jqx-grid-cell-selected"));a(d).removeClass(this.toTP("jqx-fill-state-hover"));a(d).removeClass(this.toTP("jqx-fill-state-pressed"))}}},_handlemousemoveselection:function(ab,o){if(o.hScrollInstance.isScrolling()||o.vScrollInstance.isScrolling()){return false}if((o.selectionmode=="multiplerowsextended"||o.selectionmode=="multiplecellsextended"||o.selectionmode=="multiplecellsadvanced")&&o.mousecaptured){if(o.multipleselectionbegins){var b=o.multipleselectionbegins(ab);if(b===false){return true}}var aa=this.showheader?this.columnsheader.height()+2:0;var I=this._groupsheader()?this.groupsheader.height():0;var K=this.showtoolbar?this.toolbar.height():0;I+=K;var Z=this.host.coord();if(this.hasTransform){Z=a.jqx.utilities.getOffset(this.host);var ad=this._getBodyOffset();Z.left-=ad.left;Z.top-=ad.top}if(this.host.css("border-top-width")==="0px"){I-=2}var M=ab.pageX;var L=ab.pageY-I;if(Math.abs(this.mousecaptureposition.left-M)>3||Math.abs(this.mousecaptureposition.top-L)>3){var f=parseInt(this.columnsheader.coord().top);if(this.hasTransform){f=a.jqx.utilities.getOffset(this.columnsheader).top}if(M<Z.left){M=Z.left}if(M>Z.left+this.host.width()){M=Z.left+this.host.width()}var X=Z.top+aa;if(L<X){L=X+5}var J=parseInt(Math.min(o.mousecaptureposition.left,M));var g=-5+parseInt(Math.min(o.mousecaptureposition.top,L));var H=parseInt(Math.abs(o.mousecaptureposition.left-M));var P=parseInt(Math.abs(o.mousecaptureposition.top-L));J-=Z.left;g-=Z.top;this.selectionarea.css("visibility","visible");if(o.selectionmode=="multiplecellsadvanced"){var M=J;var t=M+H;var G=M;var n=o.hScrollInstance;var v=n.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){v=n.max-n.value}if(this.vScrollBar[0].style.visibility!="hidden"){}}var h=o.table[0].rows[0];var T=0;var B=o.mousecaptureposition.clickedcell;var A=B;var m=false;var r=0;var ac=h.cells.length;if(o.mousecaptureposition.left<=ab.pageX){r=B}for(var W=r;W<ac;W++){var Y=parseInt(a(this.columnsrow[0].cells[W]).css("left"));var j=Y-v;if(o.columns.records[W].pinned){j=Y;continue}var O=this._getcolumnat(W);if(O!=null&&O.hidden){continue}if(o.groupable&&o.groups.length>0){if(W<o.groups.length){continue}}var S=j+a(this.columnsrow[0].cells[W]).width();if(o.mousecaptureposition.left>ab.pageX){if(S>=M&&M>=j){A=W;m=true;break}}else{if(S>=t&&t>=j){A=W;m=true;break}}}if(!m){if(o.mousecaptureposition.left>ab.pageX){a.each(this.columns.records,function(i,k){if(o.groupable&&o.groups.length>0){if(i<o.groups.length){return true}}if(!this.pinned&&!this.hidden){A=i;return false}})}else{if(!o.groupable||(o.groupable&&!o.groups.length>0)){A=h.cells.length-1}}}var N=B;B=Math.min(B,A);A=Math.max(N,A);g+=5;g+=I;var R=o.table[0].rows.indexOf(o.mousecaptureposition.clickedrow);var w=0;var e=-1;var u=-1;var d=0;for(var W=0;W<o.table[0].rows.length;W++){var s=a(o.table[0].rows[W]);if(W==0){d=s.coord().top}var F=s.height();var z=d-Z.top;if(e==-1&&z+F>=g){var c=false;for(var Q=0;Q<o.groups.length;Q++){var V=s[0].cells[Q].className;if(V.indexOf("jqx-grid-group-collapse")!=-1||V.indexOf("jqx-grid-group-expand")!=-1){c=true;break}}if(c){continue}e=W}d+=F;if(o.groupable&&o.groups.length>0){var c=false;for(var Q=0;Q<o.groups.length;Q++){var V=s[0].cells[Q].className;if(V.indexOf("jqx-grid-group-collapse")!=-1||V.indexOf("jqx-grid-group-expand")!=-1){c=true;break}}if(c){continue}var T=0;for(var U=o.groups.length;U<s[0].cells.length;U++){var E=s[0].cells[U];if(a(E).html()==""){T++}}if(T==s[0].cells.length-o.groups.length){continue}}if(e!=-1){w+=F}if(z+F>g+P){u=W;break}}if(e!=-1){g=a(o.table[0].rows[e]).coord().top-Z.top-I-2;var D=0;if(this.filterable&&this.showfilterrow){D=this.filterrowheight}if(parseInt(o.table[0].style.top)<0&&g<this.rowsheight+D){g-=parseInt(o.table[0].style.top);w+=parseInt(o.table[0].style.top)}P=w;var l=a(this.columnsrow[0].cells[B]);var C=a(this.columnsrow[0].cells[A]);J=parseInt(l.css("left"));H=parseInt(C.css("left"))-parseInt(J)+C.width()-2;J-=v;if(o.editcell&&o.editable&&o.endcelledit&&(B!=A||e!=u)){if(o.editcell.validated==false){return}o.endcelledit(o.editcell.row,o.editcell.column,true,true)}}}this.selectionarea.width(H);this.selectionarea.height(P);this.selectionarea.css("left",J);this.selectionarea.css("top",g)}}},_handlemouseupselection:function(u,o){if(!this.selectionarea){return}if(this.selectionarea[0].style.visibility!="visible"){o.mousecaptured=false;return true}if(o.mousecaptured&&(o.selectionmode=="multiplerowsextended"||o.selectionmode=="multiplerowsadvanced"||o.selectionmode=="multiplecellsextended"||o.selectionmode=="multiplecellsadvanced")){o.mousecaptured=false;if(this.selectionarea.css("visibility")=="visible"){this.selectionarea.css("visibility","hidden");var w=this.showheader?this.columnsheader.height()+2:0;var p=this._groupsheader()?this.groupsheader.height():0;if(this.host.css("border-top-width")==="0px"){p-=2}var B=this.showtoolbar?this.toolbar.height():0;p+=B;var C=this.selectionarea.coord();var c=this.host.coord();if(this.hasTransform){c=a.jqx.utilities.getOffset(this.host);C=a.jqx.utilities.getOffset(this.selectionarea)}if(this.host.css("border-top-width")==="0px"){p-=2}var n=C.left-c.left;var k=C.top-w-c.top-p;var s=k;var g=n+this.selectionarea.width();var D=n;var l=new Array();var e=new Array();if(o.selectionmode=="multiplerowsextended"){while(k<s+this.selectionarea.height()){var b=this._hittestrow(n,k);var f=b.row;var h=b.index;if(h!=-1){if(!e[h]){e[h]=true;l[l.length]=b}}k+=20}var s=0;a.each(l,function(){var i=this;var m=this.row;if(o.selectionmode!="none"&&o._selectrowwithmouse){if(u.ctrlKey||u.metaKey){o._applyrowselection(o.getboundindex(m),true,false,false)}else{if(s==0){o._applyrowselection(o.getboundindex(m),true,false,true)}else{o._applyrowselection(o.getboundindex(m),true,false,false)}}s++}})}else{if(o.selectionmode=="multiplecellsadvanced"){k+=2}var r=o.hScrollInstance;var t=r.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){t=r.max-r.value}if(this.vScrollBar[0].style.visibility!="hidden"){t-=this.scrollbarsize+4}}var q=o.table[0].rows[0];var j=o.selectionarea.height();if(!u.ctrlKey&&!u.metaKey&&j>0){o.selectedcells=new Array()}var A=j;while(k<s+A){var b=o._hittestrow(n,k);if(!b){k+=5;continue}var f=b.row;var h=b.index;if(h!=-1){if(!e[h]){e[h]=true;for(var v=0;v<q.cells.length;v++){var d=parseInt(a(o.columnsrow[0].cells[v]).css("left"))-t;var z=d+a(o.columnsrow[0].cells[v]).width();if((D>=d&&D<=z)||(g>=d&&g<=z)||(d>=D&&d<=g)){o._applycellselection(o.getboundindex(f),o._getcolumnat(v).datafield,true,false)}}}}k+=5}}if(o.autosavestate){if(o.savestate){o.savestate()}}o._renderrows(o.virtualsizeinfo)}}},selectprevcell:function(e,c){var f=this._getcolumnindex(c);var b=this.columns.records.length;var d=this._getprevvisiblecolumn(f);if(d!=null){this.clearselection();this.selectcell(e,d.datafield)}},selectnextcell:function(e,d){var f=this._getcolumnindex(d);var c=this.columns.records.length;var b=this._getnextvisiblecolumn(f);if(b!=null){this.clearselection();this.selectcell(e,b.datafield)}},_getfirstvisiblecolumn:function(){var b=this;var e=this.columns.records.length;for(var c=0;c<e;c++){var d=this.columns.records[c];if(!d.hidden&&d.datafield!=null){return d}}return null},_getlastvisiblecolumn:function(){var b=this;var e=this.columns.records.length;for(var c=e-1;c>=0;c--){var d=this.columns.records[c];if(!d.hidden&&d.datafield!=null){return d}}return null},_handlekeydown:function(y,r){if(r.groupable&&r.groups.length>0){return true}if(r.disabled){return false}var E=y.charCode?y.charCode:y.keyCode?y.keyCode:0;if(r.editcell&&r.selectionmode!="multiplecellsadvanced"){return true}else{if(r.editcell&&r.selectionmode=="multiplecellsadvanced"){if(E>=33&&E<=40){if(!y.altKey){if(r._cancelkeydown==undefined||r._cancelkeydown==false){if(r.editmode!=="selectedrow"){r.endcelledit(r.editcell.row,r.editcell.column,false,true);r._cancelkeydown=false;if(r.editcell&&!r.editcell.validated){r._rendervisualrows();r.endcelledit(r.editcell.row,r.editcell.column,false,true);return false}}else{return true}}else{r._cancelkeydown=false;return true}}else{r._cancelkeydown=false;return true}}else{return true}}}if(r.selectionmode=="none"){return true}if(r.showfilterrow&&r.filterable){if(this.filterrow){if(a(y.target).ischildof(r.filterrow)){return true}}}if(r.showeverpresentrow){if(r.addnewrowtop){if(a(y.target).ischildof(r.addnewrowtop)){return true}}if(r.addnewrowbottom){if(a(y.target).ischildof(r.addnewrowbottom)){return true}}}if(r.pageable){if(a(y.target).ischildof(this.pager)){return true}}if(this.showtoolbar){if(a(y.target).ischildof(this.toolbar)){return true}}if(this.showstatusbar){if(a(y.target).ischildof(this.statusbar)){return true}}var p=false;if(y.altKey){return true}if(y.ctrlKey||y.metaKey){if(this.clipboard){var b=String.fromCharCode(E).toLowerCase();if(b=="c"||b=="x"){var o=this.copyselection();if(window.clipboardData){window.clipboardData.setData("Text",o)}else{var g=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');g.val(o);a("body").append(g);g.select();setTimeout(function(){document.designMode="off";g.select();g.remove();r.focus()},100)}}else{if(b=="v"){var D=a('<textarea style="position: absolute; left: -1000px; top: -1000px;"/>');a("body").append(D);D.select();var j=this;setTimeout(function(){j._clipboardselection=new Array();var J=D.val();var I=J.split("\n");for(var H=0;H<I.length;H++){if(I[H].split("\t").length>0){var G=I[H].split("\t");if(G.length==1&&H==I.length-1&&G[0]==""){continue}if(G.length>0){j._clipboardselection.push(G)}}}j.pasteselection();D.remove();j.focus()},100)}}if(b=="x"){this.deleteselection();this.host.focus()}}}var l=Math.round(r._gettableheight());var w=Math.round(l/r.rowsheight);var f=r.getdatainformation();switch(r.selectionmode){case"singlecell":case"multiplecells":case"multiplecellsextended":case"multiplecellsadvanced":var F=r.getselectedcell();if(F!=null){var e=this.getrowvisibleindex(F.rowindex);var i=e;var n=F.datafield;var u=r._getcolumnindex(n);var c=r.columns.records.length;var t=function(L,H,K){var G=function(P,M){var O=r.dataview.loadedrecords[P];if(O!=undefined&&M!=null){if(K||K==undefined){r.clearselection()}var N=r.getboundindex(O);r.selectcell(N,M);r._oldselectedcell=r.selectedcell;p=true;r.ensurecellvisible(P,M);return true}return false};if(!G(L,H)){r.ensurecellvisible(L,H);G(L,H);if(r.virtualmode){r.host.focus()}}if(y.shiftKey&&E!=9){if(r.selectionmode=="multiplecellsextended"||r.selectionmode=="multiplecellsadvanced"){if(r._lastClickedCell){r._selectpath(L,H);var J=r.dataview.loadedrecords[L];var I=r.getboundindex(J);r.selectedcell={rowindex:I,datafield:H};return}}}else{if(!y.shiftKey){r._lastClickedCell={row:L,column:H}}}};var z=y.shiftKey&&r.selectionmode!="singlecell"&&r.selectionmode!="multiplecells";var A=function(){t(0,n,!z)};var h=function(){var G=f.rowscount-1;t(G,n,!z)};var d=E==9&&!y.shiftKey;var k=E==9&&y.shiftKey;if(r.rtl){var q=d;d=k;k=q}if(d||k){z=false}if(d||k){if(document.activeElement&&document.activeElement.className&&document.activeElement.className.indexOf("jqx-grid-cell-add-new-row")>=0){return true}}var m=y.ctrlKey||y.metaKey;if(m&&E==37){var C=r._getfirstvisiblecolumn(u);if(C!=null){t(i,C.datafield)}}else{if(m&&E==39){var s=r._getlastvisiblecolumn(u);if(s!=null){t(i,s.datafield)}}else{if(E==39||d){var v=r._getnextvisiblecolumn(u);if(v!=null){t(i,v.datafield,!z)}else{if(!d){p=true}}}else{if(E==37||k){var C=r._getprevvisiblecolumn(u);if(C!=null){t(i,C.datafield,!z)}else{if(!k){p=true}}}else{if(E==36){A()}else{if(E==35){h()}else{if(E==33){if(i-w>=0){var B=i-w;t(B,n,!z)}else{A()}}else{if(E==34){if(f.rowscount>i+w){var B=i+w;t(B,n,!z)}else{h()}}else{if(E==38){if(m){A()}else{if(i>0){t(i-1,n,!z)}else{p=true}}}else{if(E==40){if(m){h()}else{if(f.rowscount>i+1){t(i+1,n,!z)}else{p=true}}}}}}}}}}}}}break;case"singlerow":case"multiplerows":case"multiplerowsextended":case"multiplerowsadvanced":var i=r.getselectedrowindex();if(i==null||i==-1){return true}i=this.getrowvisibleindex(i);var x=function(H,I){var G=function(L){var N=r.dataview.loadedrecords[L];if(N!=undefined){var M=r.getboundindex(N);var K=r.selectedrowindex;if(I||I==undefined){r.clearselection()}r.selectedrowindex=K;r.selectrow(M,false);var J=r.ensurerowvisible(L);if(!J||r.autoheight||r.groupable){r._rendervisualrows()}p=true;return true}return false};if(!G(H)){r.ensurerowvisible(H);G(H,I);if(r.virtualmode){setTimeout(function(){G(H,I)},25)}if(r.virtualmode){r.host.focus()}}if(y.shiftKey&&E!=9){if(r.selectionmode=="multiplerowsextended"){if(r._lastClickedCell){r._selectrowpath(H);r.selectedrowindex=r.getrowboundindex(H);return}}}else{if(!y.shiftKey){r._lastClickedCell={row:H};r.selectedrowindex=r.getrowboundindex(H)}}};var z=y.shiftKey&&r.selectionmode!="singlerow"&&r.selectionmode!="multiplerows";var A=function(){x(0,!z)};var h=function(){var G=f.rowscount-1;x(G,!z)};var m=y.ctrlKey||y.metaKey;if(E==36||(m&&E==38)){A()}else{if(E==35||(m&&E==40)){h()}else{if(E==33){if(i-w>=0){var B=i-w;x(B,!z)}else{A()}}else{if(E==34){if(f.rowscount>i+w){var B=i+w;x(B,!z)}else{h()}}else{if(E==38){if(i>0){x(i-1,!z)}else{p=true}}else{if(E==40){if(f.rowscount>i+1){x(i+1,!z)}else{p=true}}}}}}}break}if(p){if(r.autosavestate){if(r.savestate){r.savestate()}}return false}return true},_handlemousemove:function(u,p){if(p.vScrollInstance.isScrolling()){return}if(p.hScrollInstance.isScrolling()){return}var w;var q;var f;var n;var m;if(p.enablehover||p.selectionmode=="multiplerows"){w=this.showheader?this.columnsheader.height()+2:0;q=this._groupsheader()?this.groupsheader.height():0;var A=this.showtoolbar?this.toolbarheight:0;q+=A;f=this.host.coord();if(this.hasTransform){f=a.jqx.utilities.getOffset(this.host);var k=this._getBodyOffset();f.left-=k.left;f.top-=k.top}n=u.pageX-f.left;m=u.pageY-w-f.top-q}if(p.selectionmode=="multiplerowsextended"||p.selectionmode=="multiplecellsextended"||p.selectionmode=="multiplecellsadvanced"){if(p.mousecaptured==true){return}}if(p.enablehover){if(p.disabled){return}if(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling()){return}var c=this._hittestrow(n,m);if(!c){return}var h=c.row;var j=c.index;if(this.hoveredrow!=-1&&j!=-1&&this.hoveredrow==j&&this.selectionmode.indexOf("cell")==-1&&this.selectionmode!="checkbox"){return}this._clearhoverstyle();if(j==-1||h==undefined){return}var r=this.hittestinfo[j].visualrow;if(r==null){return}if(this.hittestinfo[j].details){return}if(u.clientX>a(r).width()+a(r).coord().left){return}var B=0;var o=r.cells.length;if(p.rowdetails&&p.showrowdetailscolumn){if(!this.rtl){B=1+this.groups.length}else{o-=1;o-=this.groups.length}}else{if(this.groupable){if(!this.rtl){B=this.groups.length}else{o-=this.groups.length}}}if(r.cells.length==0){return}var l=r.cells[B].className;if(h.group||(this.selectionmode.indexOf("row")>=0&&l.indexOf("jqx-grid-cell-selected")!=-1)){return}this.hoveredrow=j;if(this.selectionmode.indexOf("cell")!=-1||this.selectionmode=="checkbox"){var e=-1;var s=this.hScrollInstance;var t=s.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){t=s.max-s.value}}for(var v=B;v<o;v++){var g=parseInt(a(this.columnsrow[0].cells[v]).css("left"))-t;var z=g+a(this.columnsrow[0].cells[v]).width();if(z>=n&&n>=g){e=v;break}}if(e!=-1){var b=r.cells[e];if(this.cellhover){this.cellhover(b,u.pageX,u.pageY)}if(b.className.indexOf("jqx-grid-cell-selected")==-1){if(this.editcell){var d=this._getcolumnat(e);if(d){if(this.editcell.row==j&&this.editcell.column==d.datafield){return}}}a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"))}}return}for(var v=B;v<o;v++){var b=r.cells[v];a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"));if(this.cellhover){this.cellhover(b,u.pageX,u.pageY)}}}else{return true}}})})(jqxBaseFramework);

mercurial