130 lines
578 KiB
JavaScript
130 lines
578 KiB
JavaScript
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function(a){a.jqx=a.jqx||{};a.jqx.define=function(b,c,d){b[c]=function(){if(this.baseType){this.base=new b[this.baseType]();this.base.defineInstance()}this.defineInstance()};b[c].prototype.defineInstance=function(){};b[c].prototype.base=null;b[c].prototype.baseType=undefined;if(d&&b[d]){b[c].prototype.baseType=d}};a.jqx.invoke=function(e,d){if(d.length==0){return}var f=typeof(d)==Array||d.length>0?d[0]:d;var c=typeof(d)==Array||d.length>1?Array.prototype.slice.call(d,1):a({}).toArray();while(e[f]==undefined&&e.base!=null){e=e.base}if(e[f]!=undefined&&a.isFunction(e[f])){return e[f].apply(e,c)}if(typeof f=="string"){var b=f.toLowerCase();return e[b].apply(e,c)}return};a.jqx.hasProperty=function(c,b){if(typeof(b)=="object"){for(var e in b){var d=c;while(d){if(d.hasOwnProperty(e)){return true}d=d.base}return false}}else{while(c){if(c.hasOwnProperty(b)){return true}c=c.base}}return false};a.jqx.hasFunction=function(e,d){if(d.length==0){return false}if(e==undefined){return false}var f=typeof(d)==Array||d.length>0?d[0]:d;var c=typeof(d)==Array||d.length>1?Array.prototype.slice.call(d,1):{};while(e[f]==undefined&&e.base!=null){e=e.base}if(e[f]&&a.isFunction(e[f])){return true}if(typeof f=="string"){var b=f.toLowerCase();if(e[b]&&a.isFunction(e[b])){return true}}return false};a.jqx.isPropertySetter=function(c,b){if(b.length==1&&typeof(b[0])=="object"){return true}if(b.length==2&&typeof(b[0])=="string"&&!a.jqx.hasFunction(c,b)){return true}return false};a.jqx.validatePropertySetter=function(e,c,b){if(!a.jqx.propertySetterValidation){return true}if(c.length==1&&typeof(c[0])=="object"){for(var d in c[0]){var f=e;while(!f.hasOwnProperty(d)&&f.base){f=f.base}if(!f||!f.hasOwnProperty(d)){if(!b){throw"Invalid property: "+d}return false}}return true}if(c.length!=2){if(!b){throw"Invalid property: "+c.length>=0?c[0]:""}return false}while(!e.hasOwnProperty(c[0])&&e.base){e=e.base}if(!e||!e.hasOwnProperty(c[0])){if(!b){throw"Invalid property: "+c[0]}return false}return true};a.jqx.set=function(c,b){if(b.length==1&&typeof(b[0])=="object"){a.each(b[0],function(d,e){var f=c;while(!f.hasOwnProperty(d)&&f.base!=null){f=f.base}if(f.hasOwnProperty(d)){a.jqx.setvalueraiseevent(f,d,e)}else{if(a.jqx.propertySetterValidation){throw"jqxCore: invalid property '"+d+"'"}}})}else{if(b.length==2){while(!c.hasOwnProperty(b[0])&&c.base){c=c.base}if(c.hasOwnProperty(b[0])){a.jqx.setvalueraiseevent(c,b[0],b[1])}else{if(a.jqx.propertySetterValidation){throw"jqxCore: invalid property '"+b[0]+"'"}}}}};a.jqx.setvalueraiseevent=function(c,d,e){var b=c[d];c[d]=e;if(!c.isInitialized){return}if(c.propertyChangedHandler!=undefined){c.propertyChangedHandler(c,d,b,e)}if(c.propertyChangeMap!=undefined&&c.propertyChangeMap[d]!=undefined){c.propertyChangeMap[d](c,d,b,e)}};a.jqx.get=function(e,d){if(d==undefined||d==null){return undefined}if(e.propertyMap){var c=e.propertyMap(d);if(c!=null){return c}}if(e.hasOwnProperty(d)){return e[d]}var b=undefined;if(typeof(d)==Array){if(d.length!=1){return undefined}b=d[0]}else{if(typeof(d)=="string"){b=d}}while(!e.hasOwnProperty(b)&&e.base){e=e.base}if(e){return e[b]}return undefined};a.jqx.serialize=function(e){var b="";if(a.isArray(e)){b="[";for(var d=0;d<e.length;d++){if(d>0){b+=", "}b+=a.jqx.serialize(e[d])}b+="]"}else{if(typeof(e)=="object"){b="{";var c=0;for(var d in e){if(c++>0){b+=", "}b+=d+": "+a.jqx.serialize(e[d])}b+="}"}else{b=e.toString()}}return b};a.jqx.propertySetterValidation=true;a.jqx.jqxWidgetProxy=function(g,c,b){var d=a(c);var f=a.data(c,g);if(f==undefined){return undefined}var e=f.instance;if(a.jqx.hasFunction(e,b)){return a.jqx.invoke(e,b)}if(a.jqx.isPropertySetter(e,b)){if(a.jqx.validatePropertySetter(e,b)){a.jqx.set(e,b);return undefined}}else{if(typeof(b)=="object"&&b.length==0){return}else{if(typeof(b)=="object"&&b.length==1&&a.jqx.hasProperty(e,b[0])){return a.jqx.get(e,b[0])}else{if(typeof(b)=="string"&&a.jqx.hasProperty(e,b[0])){return a.jqx.get(e,b)}}}}throw"jqxCore: Invalid parameter '"+a.jqx.serialize(b)+"' does not exist.";return undefined};a.jqx.jqxWidget=function(b,d,k){var c=false;try{jqxArgs=Array.prototype.slice.call(k,0)}catch(h){jqxArgs=""}try{c=window.MSApp!=undefined}catch(h){}var g=b;var f="";if(d){f="_"+d}a.jqx.define(a.jqx,"_"+g,f);a.fn[g]=function(){var e=Array.prototype.slice.call(arguments,0);var l=null;if(e.length==0||(e.length==1&&typeof(e[0])=="object")){return this.each(function(){var p=a(this);var o=this;var r=a.data(o,g);if(r==null){r={};r.element=o;r.host=p;r.instance=new a.jqx["_"+g]();if(o.id==""){o.id=a.jqx.utilities.createId()}r.instance.get=r.instance.set=r.instance.call=function(){var s=Array.prototype.slice.call(arguments,0);return a.jqx.jqxWidgetProxy(g,o,s)};a.data(o,g,r);a.data(o,"jqxWidget",r.instance);var q=new Array();var m=r.instance;while(m){m.isInitialized=false;q.push(m);m=m.base}q.reverse();q[0].theme="";a.jqx.jqxWidgetProxy(g,this,e);for(var n in q){m=q[n];if(n==0){m.host=p;m.element=o;m.WinJS=c}if(m!=undefined){if(m.createInstance!=null){if(c){MSApp.execUnsafeLocalFunction(function(){m.createInstance(e)})}else{m.createInstance(e)}}}}for(var n in q){if(q[n]!=undefined){q[n].isInitialized=true}}if(c){MSApp.execUnsafeLocalFunction(function(){r.instance.refresh(true)})}else{r.instance.refresh(true)}l=this}else{a.jqx.jqxWidgetProxy(g,this,e)}})}else{this.each(function(){var m=a.jqx.jqxWidgetProxy(g,this,e);if(l==null){l=m}})}return l};try{a.extend(a.jqx["_"+g].prototype,Array.prototype.slice.call(k,0)[0])}catch(h){}a.extend(a.jqx["_"+g].prototype,{toThemeProperty:function(e,l){if(this.theme==""){return e}if(l!=null&&l){return e+"-"+this.theme}return e+" "+e+"-"+this.theme}});a.jqx["_"+g].prototype.refresh=function(){if(this.base){this.base.refresh()}};a.jqx["_"+g].prototype.createInstance=function(){};a.jqx["_"+g].prototype.propertyChangeMap={};a.jqx["_"+g].prototype.addHandler=function(n,l,e,m){switch(l){case"mousewheel":if(window.addEventListener){if(a.jqx.browser.mozilla){n[0].addEventListener("DOMMouseScroll",e,false)}else{n[0].addEventListener("mousewheel",e,false)}return false}break;case"mousemove":if(window.addEventListener&&!m){n[0].addEventListener("mousemove",e,false);return false}break}if(m==undefined||m==null){if(n.on){n.on(l,e)}else{n.bind(l,e)}}else{if(n.on){n.on(l,m,e)}else{n.bind(l,m,e)}}};a.jqx["_"+g].prototype.removeHandler=function(m,l,e){switch(l){case"mousewheel":if(window.removeEventListener){if(a.jqx.browser.mozilla){m[0].removeEventListener("DOMMouseScroll",e,false)}else{m[0].removeEventListener("mousewheel",e,false)}return false}break;case"mousemove":if(a.jqx.browser.msie&&a.jqx.browser.version>=9){if(window.removeEventListener){m[0].removeEventListener("mousemove",e,false)}}break}if(l==undefined){if(m.off){m.off()}else{m.unbind()}return}if(e==undefined){if(m.off){m.off(l)}else{m.unbind(l)}}else{if(m.off){m.off(l,e)}else{m.unbind(l,e)}}}};a.jqx.utilities=a.jqx.utilities||{};a.extend(a.jqx.utilities,{createId:function(){var b=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};return"jqxWidget"+b()+b()+b()},setTheme:function(f,g,e){if(typeof e==="undefined"){return}var h=e[0].className.split(" "),b=[],k=[],d=e.children();for(var c=0;c<h.length;c+=1){if(h[c].indexOf(f)>=0){if(f.length>0){b.push(h[c]);k.push(h[c].replace(f,g))}else{k.push(h[c]+"-"+g)}}}this._removeOldClasses(b,e);this._addNewClasses(k,e);for(var c=0;c<d.length;c+=1){this.setTheme(f,g,a(d[c]))}},_removeOldClasses:function(d,c){for(var b=0;b<d.length;b+=1){c.removeClass(d[b])}},_addNewClasses:function(d,c){for(var b=0;b<d.length;b+=1){c.addClass(d[b])}},getOffset:function(b){var d=a.jqx.mobile.getLeftPos(b[0]);var c=a.jqx.mobile.getTopPos(b[0]);return{top:c,left:d}},html:function(b,c){if(!a(b).on){return a(b).html(c)}return jQuery.access(b,function(s){var d=b[0]||{},m=0,h=b.length;if(s===undefined){return d.nodeType===1?d.innerHTML.replace(rinlinejQuery,""):undefined}var r=/<(?:script|style|link)/i,n="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",g=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,p=/<([\w:]+)/,f=/<(?:script|object|embed|option|style)/i,k=new RegExp("<(?:"+n+")[\\s/>]","i"),q=/^\s+/,t={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};if(typeof s==="string"&&!r.test(s)&&(jQuery.support.htmlSerialize||!k.test(s))&&(jQuery.support.leadingWhitespace||!q.test(s))&&!t[(p.exec(s)||["",""])[1].toLowerCase()]){s=s.replace(g,"<$1></$2>");try{for(;m<h;m++){d=this[m]||{};if(d.nodeType===1){jQuery.cleanData(d.getElementsByTagName("*"));d.innerHTML=s}}d=0}catch(o){}}if(d){b.empty().append(s)}},null,c,arguments.length)},hasTransform:function(d){var c="";c=d.css("transform");if(c==""||c=="none"){c=d.parents().css("transform");if(c==""||c=="none"){var b=a.jqx.utilities.getBrowser();if(b.browser=="msie"){c=d.css("-ms-transform");if(c==""||c=="none"){c=d.parents().css("-ms-transform")}}else{if(b.browser=="chrome"){c=d.css("-webkit-transform");if(c==""||c=="none"){c=d.parents().css("-webkit-transform")}}else{if(b.browser=="opera"){c=d.css("-o-transform");if(c==""||c=="none"){c=d.parents().css("-o-transform")}}else{if(b.browser=="mozilla"){c=d.css("-moz-transform");if(c==""||c=="none"){c=d.parents().css("-moz-transform")}}}}}}else{return c!=""&&c!="none"}}if(c==""||c=="none"){c=a(document.body).css("transform")}return c!=""&&c!="none"&&c!=null},getBrowser:function(){var c=navigator.userAgent.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(c)||/(webkit)[ \/]([\w.]+)/.exec(c)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(c)||/(msie) ([\w.]+)/.exec(c)||c.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(c)||[];var d={browser:b[1]||"",version:b[2]||"0"};d[b[1]]=b[1];return d}});a.jqx.browser=a.jqx.utilities.getBrowser();a.jqx.isHidden=function(d){try{if(d.css("display")=="none"){return true}var e=false;var c=d.parents();a.each(c,function(){if(a(this).css("display")=="none"){e=true;return false}});return e}catch(b){return false}};a.jqx.aria=function(c,e,d){if(e==undefined){a.each(c.aria,function(g,h){var l=c.host.attr(g);if(l!=undefined&&!a.isFunction(l)){var k=l;switch(h.type){case"number":k=new Number(l);if(isNaN(k)){k=l}break;case"boolean":k=l=="true"?true:false;break;case"date":k=new Date(l);if(k=="Invalid Date"||isNaN(k)){k=l}break}c[h.name]=k}else{var l=c[h.name];if(a.isFunction(l)){l=c[h.name]()}if(l==undefined){l=""}try{c.host.attr(g,l.toString())}catch(f){}}})}else{try{c.host.attr(e,d.toString())}catch(b){}}};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(c){var b=this.length;var d=Number(arguments[1])||0;d=(d<0)?Math.ceil(d):Math.floor(d);if(d<0){d+=b}for(;d<b;d++){if(d in this&&this[d]===c){return d}}return -1}}a.jqx.mobile=a.jqx.mobile||{};a.jqx.position=function(b){var e=parseInt(b.pageX);var d=parseInt(b.pageY);if(a.jqx.mobile.isTouchDevice()){var c=a.jqx.mobile.getTouches(b);var f=c[0];e=parseInt(f.pageX);d=parseInt(f.pageY)}return{left:e,top:d}};a.extend(a.jqx.mobile,{_touchListener:function(h,f){var b=function(k,m){var l=document.createEvent("MouseEvents");l.initMouseEvent(k,m.bubbles,m.cancelable,m.view,m.detail,m.screenX,m.screenY,m.clientX,m.clientY,m.ctrlKey,m.altKey,m.shiftKey,m.metaKey,m.button,m.relatedTarget);l._pageX=m.pageX;l._pageY=m.pageY;return l};var g={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"};var d=b(g[h.type],h);h.target.dispatchEvent(d);var c=h.target["on"+g[h.type]];if(typeof c==="function"){c(h)}},setMobileSimulator:function(c,e){if(this.isTouchDevice()){return}this.simulatetouches=true;if(e==false){this.simulatetouches=false}var d={mousedown:"touchstart",mouseup:"touchend",mousemove:"touchmove"};var b=this;if(window.addEventListener){var f=function(){for(var g in d){if(c.addEventListener){c.removeEventListener(g,b._touchListener);c.addEventListener(g,b._touchListener,false)}}};if(a.jqx.browser.msie){f()}else{window.addEventListener("load",function(){f()},false)}}},isTouchDevice:function(){if(this.touchDevice!=undefined){return this.touchDevice}var b="Browser CodeName: "+navigator.appCodeName+"";b+="Browser Name: "+navigator.appName+"";b+="Browser Version: "+navigator.appVersion+"";b+="Platform: "+navigator.platform+"";b+="User-agent header: "+navigator.userAgent+"";if(b.indexOf("Android")!=-1){return true}if(b.indexOf("IEMobile")!=-1){return true}if(b.indexOf("Windows Phone OS")!=-1){return true}if(b.indexOf("Windows Phone 6.5")!=-1){return true}if(b.indexOf("BlackBerry")!=-1&&b.indexOf("Mobile Safari")!=-1){return true}if(b.indexOf("ipod")!=-1){return true}if(b.indexOf("nokia")!=-1||b.indexOf("Nokia")!=-1){return true}if(b.indexOf("Chrome/17")!=-1){return false}if(b.indexOf("Opera")!=-1&&b.indexOf("Mobi")==-1&&b.indexOf("Mini")==-1&&b.indexOf("Platform: Win")!=-1){return false}if(b.indexOf("Opera")!=-1&&b.indexOf("Mobi")!=-1&&b.indexOf("Opera Mobi")!=-1){return true}var c={ios:"i(?:Pad|Phone|Pod)(?:.*)CPU(?: iPhone)? OS ",android:"(Android |HTC_|Silk/)",blackberry:"BlackBerry(?:.*)Version/",rimTablet:"RIM Tablet OS ",webos:"(?:webOS|hpwOS)/",bada:"Bada/"};try{if(this.touchDevice!=undefined){return this.touchDevice}this.touchDevice=false;for(i in c){if(c.hasOwnProperty(i)){prefix=c[i];match=b.match(new RegExp("(?:"+prefix+")([^\\s;]+)"));if(match){this.touchDevice=true;return true}}}if(navigator.platform.toLowerCase().indexOf("win")!=-1){this.touchDevice=false;return false}document.createEvent("TouchEvent");this.touchDevice=true;return this.touchDevice}catch(d){this.touchDevice=false;return false}},getLeftPos:function(b){var c=b.offsetLeft;while((b=b.offsetParent)!=null){if(b.tagName!="HTML"){c+=b.offsetLeft;if(document.all){c+=b.clientLeft}}}return c},getTopPos:function(b){var c=b.offsetTop;while((b=b.offsetParent)!=null){if(b.tagName!="HTML"){c+=(b.offsetTop-b.scrollTop);if(document.all){c+=b.clientTop}}}if(this.isSafariMobileBrowser()){if(this.isSafari4MobileBrowser()&&this.isIPadSafariMobileBrowser()){return c}c=c+a(window).scrollTop()}return c},isChromeMobileBrowser:function(){var c=navigator.userAgent.toLowerCase();var b=c.indexOf("android")!=-1;return b},isOperaMiniMobileBrowser:function(){var c=navigator.userAgent.toLowerCase();var b=c.indexOf("opera mini")!=-1||c.indexOf("opera mobi")!=-1;return b},isOperaMiniBrowser:function(){var c=navigator.userAgent.toLowerCase();var b=c.indexOf("opera mini")!=-1;return b},isNewSafariMobileBrowser:function(){var c=navigator.userAgent.toLowerCase();var b=c.indexOf("ipad")!=-1||c.indexOf("iphone")!=-1||c.indexOf("ipod")!=-1;b=b&&(c.indexOf("version/5")!=-1);return b},isSafari4MobileBrowser:function(){var c=navigator.userAgent.toLowerCase();var b=c.indexOf("ipad")!=-1||c.indexOf("iphone")!=-1||c.indexOf("ipod")!=-1;b=b&&(c.indexOf("version/4")!=-1);return b},isWindowsPhone:function(){var c=navigator.userAgent.toLowerCase();var b=(c.indexOf("msie 11")!=-1||c.indexOf("msie 10")!=-1)&&c.indexOf("touch")!=-1;return b},isSafariMobileBrowser:function(){var c=navigator.userAgent.toLowerCase();var b=c.indexOf("ipad")!=-1||c.indexOf("iphone")!=-1||c.indexOf("ipod")!=-1;return b},isIPadSafariMobileBrowser:function(){var c=navigator.userAgent.toLowerCase();var b=c.indexOf("ipad")!=-1;return b},isMobileBrowser:function(){var c=navigator.userAgent.toLowerCase();var b=c.indexOf("ipad")!=-1||c.indexOf("iphone")!=-1||c.indexOf("android")!=-1;return b},getTouches:function(b){if(b.originalEvent){if(b.originalEvent.touches&&b.originalEvent.touches.length){return b.originalEvent.touches}else{if(b.originalEvent.changedTouches&&b.originalEvent.changedTouches.length){return b.originalEvent.changedTouches}}}if(!b.touches){b.touches=new Array();b.touches[0]=b.originalEvent!=undefined?b.originalEvent:b;if(b.originalEvent!=undefined&&b.pageX){b.touches[0]=b}if(b.type=="mousemove"){b.touches[0]=b}}return b.touches},getTouchEventName:function(b){if(this.isWindowsPhone()){if(b.toLowerCase().indexOf("start")!=-1){return"MSPointerDown"}if(b.toLowerCase().indexOf("move")!=-1){return"MSPointerMove"}if(b.toLowerCase().indexOf("end")!=-1){return"MSPointerUp"}}else{return b}},dispatchMouseEvent:function(b,f,d){if(this.simulatetouches){return}var c=document.createEvent("MouseEvent");c.initMouseEvent(b,true,true,f.view,1,f.screenX,f.screenY,f.clientX,f.clientY,false,false,false,false,0,null);if(d!=null){d.dispatchEvent(c)}},getRootNode:function(b){while(b.nodeType!==1){b=b.parentNode}return b},setTouchScroll:function(b,c){if(!this.enableScrolling){this.enableScrolling=[]}this.enableScrolling[c]=b},touchScroll:function(c,x,f,C){if(c==null){return}var A=this;var s=0;var h=0;var k=0;var t=0;var l=0;var m=0;if(!this.scrolling){this.scrolling=[]}this.scrolling[C]=false;var g=false;var p=a(c);var u=["select","input","textarea"];var b=0;var d=0;if(!this.enableScrolling){this.enableScrolling=[]}this.enableScrolling[C]=true;var C=C;var B=this.getTouchEventName("touchstart")+".touchScroll";var o=this.getTouchEventName("touchend")+".touchScroll";var z=this.getTouchEventName("touchmove")+".touchScroll";var b=function(D){if(!A.enableScrolling[C]){return true}if(a.inArray(D.target.tagName.toLowerCase(),u)!==-1){return}var E=A.getTouches(D);var F=E[0];if(E.length==1){A.dispatchMouseEvent("mousedown",F,A.getRootNode(F.target))}g=false;h=F.pageY;l=F.pageX;if(A.simulatetouches){h=F._pageY;l=F._pageX}A.scrolling[C]=true;s=0;t=0;return true};if(p.on){p.on(B,b)}else{p.bind(B,b)}var w=function(H){if(!A.enableScrolling[C]){return true}if(!A.scrolling[C]){return true}var I=A.getTouches(H);if(I.length>1){return true}var F=I[0].pageY;var G=I[0].pageX;if(A.simulatetouches){F=I[0]._pageY;G=I[0]._pageX}var D=F-h;var E=G-l;d=F;touchHorizontalEnd=G;k=D-s;m=E-t;g=true;s=D;t=E;f(-m*3,-k*3,E,D,H);H.preventDefault();H.stopPropagation();if(H.preventManipulation){H.preventManipulation()}return false};if(p.on){p.on(z,w)}else{p.bind(z,w)}if(this.simulatetouches){var n=a(window).on!=undefined||a(window).bind;var y=function(D){A.scrolling[C]=false};a(window).on!=undefined?a(window).on("mouseup.touchScroll",y):a(window).bind("mouseup.touchScroll",y);if(window.frameElement){if(window.top!=null){var q=function(D){A.scrolling[C]=false};if(window.top.document){a(window.top.document).on?a(window.top.document).on("mouseup",q):a(window.top.document).bind("mouseup",q)}}}var r=a(document).on!=undefined||a(document).bind;var v=function(D){if(!A.scrolling[C]){return true}A.scrolling[C]=false;var F=A.getTouches(D)[0],E=A.getRootNode(F.target);A.dispatchMouseEvent("mouseup",F,E);A.dispatchMouseEvent("click",F,E)};a(document).on!=undefined?a(document).on("touchend",v):a(document).bind("touchend",v)}var e=function(D){if(!A.enableScrolling[C]){return true}var F=A.getTouches(D)[0];if(!A.scrolling[C]){return true}A.scrolling[C]=false;if(g){A.dispatchMouseEvent("mouseup",F,E)}else{var F=A.getTouches(D)[0],E=A.getRootNode(F.target);A.dispatchMouseEvent("mouseup",F,E);A.dispatchMouseEvent("click",F,E);return true}};p.on?p.on(o+" touchcancel.touchScroll",e):p.bind(o+" touchcancel.touchScroll",e)}});a.jqx.cookie=a.jqx.cookie||{};a.extend(a.jqx.cookie,{cookie:function(e,f,c){if(arguments.length>1&&String(f)!=="[object Object]"){c=jQuery.extend({},c);if(f===null||f===undefined){c.expires=-1}if(typeof c.expires==="number"){var h=c.expires,d=c.expires=new Date();d.setDate(d.getDate()+h)}f=String(f);return(document.cookie=[encodeURIComponent(e),"=",c.raw?f:encodeURIComponent(f),c.expires?"; expires="+c.expires.toUTCString():"",c.path?"; path="+c.path:"",c.domain?"; domain="+c.domain:"",c.secure?"; secure":""].join(""))}c=f||{};var b,g=c.raw?function(k){return k}:decodeURIComponent;return(b=new RegExp("(?:^|; )"+encodeURIComponent(e)+"=([^;]*)").exec(document.cookie))?g(b[1]):null}});a.jqx.string=a.jqx.string||{};a.extend(a.jqx.string,{contains:function(b,c){if(b==null||c==null){return false}return b.indexOf(c)!=-1},containsIgnoreCase:function(b,c){if(b==null||c==null){return false}return b.toUpperCase().indexOf(c.toUpperCase())!=-1},equals:function(b,c){if(b==null||c==null){return false}b=this.normalize(b);if(c.length==b.length){return b.slice(0,c.length)==c}return false},equalsIgnoreCase:function(b,c){if(b==null||c==null){return false}b=this.normalize(b);if(c.length==b.length){return b.toUpperCase().slice(0,c.length)==c.toUpperCase()}return false},startsWith:function(b,c){if(b==null||c==null){return false}return b.slice(0,c.length)==c},startsWithIgnoreCase:function(b,c){if(b==null||c==null){return false}return b.toUpperCase().slice(0,c.length)==c.toUpperCase()},normalize:function(b){if(b.charCodeAt(b.length-1)==65279){b=b.substring(0,b.length-1)}return b},endsWith:function(b,c){if(b==null||c==null){return false}b=this.normalize(b);return b.slice(-c.length)==c},endsWithIgnoreCase:function(b,c){if(b==null||c==null){return false}b=this.normalize(b);return b.toUpperCase().slice(-c.length)==c.toUpperCase()}});a.extend(jQuery.easing,{easeOutBack:function(f,g,e,l,k,h){if(h==undefined){h=1.70158}return l*((g=g/k-1)*g*((h+1)*g+h)+1)+e},easeInQuad:function(f,g,e,k,h){return k*(g/=h)*g+e},easeInOutCirc:function(f,g,e,k,h){if((g/=h/2)<1){return -k/2*(Math.sqrt(1-g*g)-1)+e}return k/2*(Math.sqrt(1-(g-=2)*g)+1)+e},easeInOutSine:function(f,g,e,k,h){return -k/2*(Math.cos(Math.PI*g/h)-1)+e},easeInCubic:function(f,g,e,k,h){return k*(g/=h)*g*g+e},easeOutCubic:function(f,g,e,k,h){return k*((g=g/h-1)*g*g+1)+e},easeInOutCubic:function(f,g,e,k,h){if((g/=h/2)<1){return k/2*g*g*g+e}return k/2*((g-=2)*g*g+2)+e},easeInSine:function(f,g,e,k,h){return -k*Math.cos(g/h*(Math.PI/2))+k+e},easeOutSine:function(f,g,e,k,h){return k*Math.sin(g/h*(Math.PI/2))+e},easeInOutSine:function(f,g,e,k,h){return -k/2*(Math.cos(Math.PI*g/h)-1)+e}})})(jQuery);(function(b){b.fn.extend({ischildof:function(d){var c=b(this).parents().get();for(j=0;j<c.length;j++){if(b(c[j]).is(d)){return true}}return false}});var a=this.originalVal=b.fn.val;b.fn.val=function(d){if(typeof d=="undefined"){if(b(this).hasClass("jqx-widget")){var c=b(this).data().jqxWidget;if(c&&c.val){return c.val()}}return a.call(this)}else{if(b(this).hasClass("jqx-widget")){var c=b(this).data().jqxWidget;if(c&&c.val){if(arguments.length!=2){return c.val(d)}else{return c.val(d,arguments[1])}}}return a.call(this,d)}};b.fn.coord=function(d){var c,k,g={top:0,left:0},f=this[0],h=f&&f.ownerDocument;if(!h){return}c=h.documentElement;if(!jQuery.contains(c,f)){return g}if(typeof f.getBoundingClientRect!==undefined){g=f.getBoundingClientRect()}var e=function(l){return jQuery.isWindow(l)?l:l.nodeType===9?l.defaultView||l.parentWindow:false};k=e(h);return{top:g.top+(k.pageYOffset||c.scrollTop)-(c.clientTop||0),left:g.left+(k.pageXOffset||c.scrollLeft)-(c.clientLeft||0)}}})(jQuery);
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function(a){a.jqx.dataAdapter=function(e,b){this._source=e;this._options=b||{};this.records=new Array();this._downloadComplete=new Array();this._bindingUpdate=new Array();if(e!=undefined&&e.localdata!=null&&typeof e.localdata=="function"){var d=e.localdata();if(d!=null){e._localdata=e.localdata;var c=this;if(e._localdata.subscribe){c._oldlocaldata=[];e._localdata.subscribe(function(f){var g=function(h){if(jQuery.isArray(h)){return jQuery.makeArray(g(a(h)))}return jQuery.extend(true,{},h)};c._oldlocaldata=g(f)},e._localdata,"beforeChange");e._localdata.subscribe(function(g){if(c.suspendKO==false||c.suspendKO==undefined){var f="";c._oldrecords=c.records;if(c._oldlocaldata.length==0){e.localdata=e._localdata()}if(c._oldlocaldata.length==0){f="change"}else{if(c._oldlocaldata.length==g.length){f="update"}if(c._oldlocaldata.length>g.length){f="remove"}if(c._oldlocaldata.length<g.length){f="add"}}c.dataBind(null,f)}},e._localdata,"change");c._knockoutdatasource=true}e.localdata=d}}if(this._options.autoBind==true){this.dataBind()}};a.jqx.dataAdapter.prototype={getrecords:function(){return this.records},beginUpdate:function(){this.isUpdating=true},endUpdate:function(b){this.isUpdating=false;if(b!=false){this.dataBind(null,"")}},formatDate:function(c,e,d){var b=a.jqx.dataFormat.formatdate(c,e,d);return b},formatNumber:function(c,e,d){var b=a.jqx.dataFormat.formatnumber(c,e,d);return b},dataBind:function(n,s){if(this.isUpdating==true){return}var p=this._source;if(!p){return}if(p.dataFields!=null){p.datafields=p.dataFields}if(p.recordstartindex==undefined){p.recordstartindex=0}if(p.recordendindex==undefined){p.recordendindex=0}if(p.loadallrecords==undefined){p.loadallrecords=true}if(p.sort!=undefined){this.sort=p.sort}if(p.filter!=undefined){this.filter=p.filter}else{this.filter=null}if(p.sortcolumn!=undefined){this.sortcolumn=p.sortcolumn}if(p.sortdirection!=undefined){this.sortdirection=p.sortdirection}if(p.sortcomparer!=undefined){this.sortcomparer=p.sortcomparer}this.records=new Array();var f=this._options||{};this.virtualmode=f.virtualmode!=undefined?f.virtualmode:false;this.totalrecords=f.totalrecords!=undefined?f.totalrecords:0;this.pageable=f.pageable!=undefined?f.pageable:false;this.pagesize=f.pagesize!=undefined?f.pagesize:0;this.pagenum=f.pagenum!=undefined?f.pagenum:0;this.cachedrecords=f.cachedrecords!=undefined?f.cachedrecords:new Array();this.originaldata=new Array();this.recordids=new Array();this.updaterow=f.updaterow!=undefined?f.updaterow:null;this.addrow=f.addrow!=undefined?f.addrow:null;this.deleterow=f.deleterow!=undefined?f.deleterow:null;this.cache=f.cache!=undefined?f.cache:false;this.unboundmode=false;if(p.formatdata!=undefined){f.formatData=p.formatdata}if(p.data!=undefined){if(f.data==undefined){f.data={}}a.extend(f.data,p.data)}if(p.mapchar!=undefined){this.mapChar=p.mapchar?p.mapchar:">"}else{this.mapChar=f.mapChar?f.mapChar:">"}if(f.unboundmode||p.unboundmode){this.unboundmode=f.unboundmode||p.unboundmode}if(p.cache!=undefined){this.cache=p.cache}if(this.koSubscriptions){for(var u=0;u<this.koSubscriptions.length;u++){this.koSubscriptions[u].dispose()}}this.koSubscriptions=new Array();if(this.pagenum<0){this.pagenum=0}var z=this;var m=p.datatype;if(p.datatype==="csv"||p.datatype==="tab"||p.datatype=="text"){m="text"}var h=f.async!=undefined?f.async:true;if(p.async!=undefined){h=p.async}switch(m){case"local":case"array":case"observablearray":default:if(p.localdata==undefined&&p.length){p.localdata=new Array();for(var r=0;r<p.length;r++){p.localdata[p.localdata.length]=p[r]}}var g=p.localdata.length;this.totalrecords=this.virtualmode?(p.totalrecords||g):g;if(this.unboundmode){this.totalrecords=this.unboundmode?(p.totalrecords||g):g;var v=p.datafields?p.datafields.length:0;if(v>0){for(var r=0;r<this.totalrecords;r++){var d={};for(var q=0;q<v;q++){d[p.datafields[q].name]=""}p.localdata[p.localdata.length]=d}}}if(this.totalrecords==undefined){this.totalrecords=0}var v=p.datafields?p.datafields.length:0;var c=function(E,G){var F={};for(var C=0;C<G;C++){var B=p.datafields[C];var H="";if(undefined==B||B==null){continue}if(B.map){var i=B.map.split(z.mapChar);if(i.length>0){var D=E;for(var A=0;A<i.length;A++){D=D[i[A]]}H=D}else{H=E[B.map]}if(H!=undefined&&H!=null){H=H.toString()}else{H=""}}if(H==""){H=E[B.name];if(H!=undefined&&H!=null){if(p._localdata&&H.subscribe){H=H()}else{H=H.toString()}}else{H=""}}H=z.getvaluebytype(H,B);if(B.displayname!=undefined){F[B.displayname]=H}else{F[B.name]=H}}return F};if(p._localdata){this._changedrecords=[];this.records=new Array();var y=p._localdata();a.each(y,function(J,O){if(typeof O==="string"){z.records.push(O)}else{var L={};var M=0;for(var I in this){var C=null;var N="string";if(v>0){var P=false;for(var G=0;G<v;G++){var F=p.datafields[G];if(F!=undefined&&F.name==I){P=true;C=F.map;N=F.type;break}}if(!P){continue}}var E=a.isFunction(this[I]);if(E){var O=this[I]();if(N!="string"){O=z.getvaluebytype(O,{type:N})}L[I]=O;if(this[I].subscribe){z.koSubscriptions[z.koSubscriptions.length]=this[I].subscribe(function(i){z.dataBind(null,null);return false})}}else{var O=this[I];if(C!=null){var B=C.split(z.mapChar);if(B.length>0){var K=this;for(var D=0;D<B.length;D++){K=K[B[D]]}O=K}else{O=this[C]}}if(N!="string"){O=z.getvaluebytype(O,{type:N})}L[I]=O;if(L[I]!=undefined){M+=L[I].toString().length+L[I].toString().substr(0,1)}}}z.records.push(L);L._koindex=M;if(z._oldrecords){var H=z.records.length-1;if(s=="update"){if(z._oldrecords[H]._koindex!=M){var A={index:H,oldrecord:z._oldrecords[H],record:L};z._changedrecords.push(A)}}}}});if(s=="add"){var g=z.records.length;for(var r=0;r<g;r++){var d=z.records[r];if(!z._oldrecords[r]){z._changedrecords.push({index:r,oldrecord:null,record:d})}else{if(z._oldrecords[r]._koindex!=d._koindex){z._changedrecords.push({index:r,oldrecord:null,record:d})}}}}else{if(s=="remove"){var g=z._oldrecords.length;for(var r=0;r<g;r++){var l=z._oldrecords[r];if(!z.records[r]){z._changedrecords.push({index:r,oldrecord:l,record:null})}else{if(z.records[r]._koindex!=l._koindex){z._changedrecords.push({index:r,oldrecord:l,record:null})}}}}}}else{if(!a.isArray(p.localdata)){this.records=new Array();a.each(p.localdata,function(A){if(v>0){var j=this;var B=c(j,v);z.records[z.records.length]=B}else{z.records[z.records.length]=this}})}else{if(v==0){this.records=p.localdata}else{a.each(p.localdata,function(B){var j=this;var C=c(j,v);var A=z.getid(p.id,C,B);if(typeof(A)==="object"){A=B}var j=a.extend({},C);j.uid=A;z.records[z.records.length]=j})}}}this.originaldata=p.localdata;this.cachedrecords=this.records;this.addForeignValues(p);if(f.uniqueDataFields){var o=this.getUniqueRecords(this.records,f.uniqueDataFields);this.records=o;this.cachedrecords=o}if(f.beforeLoadComplete){var w=f.beforeLoadComplete(z.records,this.originaldata);if(w!=undefined){z.records=w;z.cachedrecords=w}}if(f.autoSort&&f.autoSortField){var k=Object.prototype.toString;Object.prototype.toString=(typeof field=="function")?field:function(){return this[f.autoSortField]};z.records.sort();Object.prototype.toString=k}if(a.isFunction(f.loadComplete)){f.loadComplete(p.localdata)}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":if(p.localdata!=null){if(a.isFunction(p.beforeprocessing)){p.beforeprocessing(p.localdata)}if(p.datatype==="xml"){z.loadxml(p.localdata,p.localdata,p)}else{if(m==="text"){z.loadtext(p.localdata,p)}else{z.loadjson(p.localdata,p.localdata,p)}}z.addForeignValues(p);if(f.uniqueDataFields){var o=z.getUniqueRecords(z.records,f.uniqueDataFields);z.records=o;z.cachedrecords=o}if(a.isFunction(f.loadComplete)){f.loadComplete(p.localdata)}return}var x=f.data!=undefined?f.data:{};if(p.processdata){p.processdata(x)}if(a.isFunction(f.processData)){f.processData(x)}if(a.isFunction(f.formatData)){var b=f.formatData(x);if(b!=undefined){x=b}}var t="application/x-www-form-urlencoded";if(f.contentType){t=f.contentType}var e="GET";if(p.type){e=p.type}if(f.type){e=f.type}if(p.url&&p.url.length>0){if(a.isFunction(f.loadServerData)){z._requestData(x,p,f)}else{this.xhr=a.ajax({dataType:m,cache:this.cache,type:e,url:p.url,async:h,contentType:t,data:x,success:function(B,i,E){if(a.isFunction(p.beforeprocessing)){var D=p.beforeprocessing(B,i,E);if(D!=undefined){B=D}}if(a.isFunction(f.downloadComplete)){var D=f.downloadComplete(B,i,E);if(D!=undefined){B=D}}if(B==null){z.records=new Array();z.cachedrecords=new Array();z.originaldata=new Array();z.callDownloadComplete();if(a.isFunction(f.loadComplete)){f.loadComplete(new Array())}return}var j=B;if(B.records){j=B.records}if(B.totalrecords!=undefined){p.totalrecords=B.totalrecords}if(p.datatype==="xml"){z.loadxml(null,j,p)}else{if(m==="text"){z.loadtext(j,p)}else{z.loadjson(null,j,p)}}z.addForeignValues(p);if(f.uniqueDataFields){var A=z.getUniqueRecords(z.records,f.uniqueDataFields);z.records=A;z.cachedrecords=A}if(f.beforeLoadComplete){var C=f.beforeLoadComplete(z.records,B);if(C!=undefined){z.records=C;z.cachedrecords=C}}z.callDownloadComplete();if(a.isFunction(f.loadComplete)){f.loadComplete(B)}},error:function(A,i,j){if(a.isFunction(p.loaderror)){p.loaderror(A,i,j)}if(a.isFunction(f.loadError)){f.loadError(A,i,j)}A=null;z.callDownloadComplete()},beforeSend:function(j,i){if(a.isFunction(f.beforeSend)){f.beforeSend(j,i)}if(a.isFunction(p.beforesend)){p.beforesend(j,i)}}})}}else{z.callDownloadComplete();if(a.isFunction(f.loadComplete)){f.loadComplete(data)}}break}this.callBindingUpdate(s)},addForeignValues:function(c){var n=this;var t=c.datafields?c.datafields.length:0;for(var k=0;k<t;k++){var g=c.datafields[k];if(g!=undefined){if(g.values!=undefined){if(g.value==undefined){g.value=g.name}if(g.values.value==undefined){g.values.value=g.value}var r=new Array();var f,h;if(n.pageable&&n.virtualmode){f=n.pagenum*n.pagesize;h=f+n.pagesize;if(h>n.totalrecords){h=n.totalrecords}}else{f=0;h=n.records.length}for(var l=f;l<h;l++){var m=n.records[l];var d=g.name;var s=m[g.value];if(r[s]!=undefined){m[d]=r[s]}else{for(var e=0;e<g.values.source.length;e++){var q=g.values.source[e];var b=q[g.values.value];if(b==undefined){b=q.uid}if(b==s){var o=q[g.values.name];m[d]=o;r[s]=o;break}}}}}else{if(g.value!=undefined){for(var l=0;l<n.records.length;l++){var m=n.records[l];m[g.name]=m[g.value]}}}}}},abort:function(){if(this.xhr&&this.xhr.readyState!=4){this.xhr.abort()}},_requestData:function(c,e,b){var d=this;var f=function(g){if(g.totalrecords){e.totalrecords=g.totalrecords;d.totalrecords=g.totalrecords}if(g.records){d.records=g.records;d.cachedrecords=g.records}if(a.isFunction(b.loadComplete)){b.loadComplete(data)}d.callDownloadComplete()};b.loadServerData(c,e,f)},getUniqueRecords:function(d,g){if(d&&g){var b=d.length;var l=g.length;var i=new Array();var j=new Array();for(var k=0;k<b;k++){var h=d[k];var e="";if(h==undefined){continue}for(var f=0;f<l;f++){var c=g[f];e+=h[c]+"_"}if(!j[e]){i[i.length]=h}j[e]=true}}return i},getAggregatedData:function(n,h,f){var e=f;if(!e){e=this.records}var k={};var d=e.length;if(d==0){return}if(d==undefined){return}for(var l=0;l<d;l++){var m=e[l];for(var g=0;g<n.length;g++){var c=n[g];var p=m[c.name];if(c.aggregates){k[c.name]=k[c.name]||{};var b=function(i){for(obj in i){var j=k[c.name][obj];if(j==null){k[c.name][obj]=0;j=0}if(a.isFunction(i[obj])){j=i[obj](j,p,c.name,m)}k[c.name][obj]=j}};var o=parseFloat(p);if(isNaN(o)){o=false}else{o=true}if(o){p=parseFloat(p)}if(typeof p==="number"&&isFinite(p)){a.each(c.aggregates,function(){var i=k[c.name][this];if(i==null){i=0;if(this=="min"){i=9999999999999}}if(this=="sum"||this=="avg"||this=="stdev"||this=="stdevp"||this=="var"||this=="varp"){i+=parseFloat(p)}else{if(this=="product"){if(l==0){i=parseFloat(p)}else{i*=parseFloat(p)}}else{if(this=="min"){i=Math.min(i,parseFloat(p))}else{if(this=="max"){i=Math.max(i,parseFloat(p))}else{if(this=="count"){i++}else{if(typeof(this)=="object"){b(this);return}}}}}}k[c.name][this]=i})}else{a.each(c.aggregates,function(){if(this=="min"||this=="max"||this=="count"||this=="product"||this=="sum"||this=="avg"||this=="stdev"||this=="stdevp"||this=="var"||this=="varp"){var i=k[c.name][this];if(i==null){i=0}k[c.name][this]=i;return true}if(typeof(this)=="object"){b(this)}})}}}}for(var g=0;g<n.length;g++){var c=n[g];if(k[c.name]["avg"]!=undefined){var p=k[c.name]["avg"];k[c.name]["avg"]=p/e.length}else{if(k[c.name]["count"]!=undefined){k[c.name]["count"]=d}}if(k[c.name]["stdev"]||k[c.name]["stdevp"]||k[c.name]["var"]||k[c.name]["varp"]){a.each(c.aggregates,function(v){if(this=="stdev"||this=="var"||this=="varp"||this=="stdevp"){var w=k[c.name][this];var u=d;var j=(w/d);var r=0;for(var s=0;s<d;s++){var t=e[s];var x=t[c.name];r+=(x-j)*(x-j)}var q=(this=="stdevp"||this=="varp")?u:u-1;if(q==0){q=1}if(this=="var"||this=="varp"){k[c.name][this]=r/q}else{if(this=="stdevp"||this=="stdev"){k[c.name][this]=Math.sqrt(r/q)}}}})}if(c.formatStrings){a.each(c.aggregates,function(j){var i=c.formatStrings[j];if(i){if(this=="min"||this=="max"||this=="count"||this=="product"||this=="sum"||this=="avg"||this=="stdev"||this=="stdevp"||this=="var"||this=="varp"){var q=k[c.name][this];k[c.name][this]=a.jqx.dataFormat.formatnumber(q,i,h)}else{if(typeof this=="object"){for(obj in this){var q=k[c.name][obj];k[c.name][obj]=a.jqx.dataFormat.formatnumber(q,i,h)}}}}})}}return k},bindDownloadComplete:function(c,b){this._downloadComplete[this._downloadComplete.length]={id:c,func:b}},unbindDownloadComplete:function(c){for(var b=0;b<this._downloadComplete.length;b++){if(this._downloadComplete[b].id==c){this._downloadComplete[b].func=null;this._downloadComplete.splice(b,1);break}}},callDownloadComplete:function(){for(var b=0;b<this._downloadComplete.length;b++){var c=this._downloadComplete[b];if(c.func!=null){c.func()}}},setSource:function(b){this._source=b},generatekey:function(){var b=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};return(b()+b()+"-"+b()+"-"+b()+"-"+b()+"-"+b()+b()+b())},getGroupedRecords:function(C,F,p,x,D,v){var z=0;var u=this;var d=new Array();for(var h=0;h<C.length;h++){d[h]=u.generatekey()}if(!F){F="items"}if(!p){p="group"}if(!D){D="record"}if(!v){v="value"}var l=new Array();var f=0;var e=new Array();var k=C.length;var E=new Array();var G=this.records;var i=G.length;var y=function(q){var H=q;if(x){a.each(x,function(){if(this.name&&this.map){H[this.map]=H[this.name]}})}return H};for(var o=0;o<i;o++){var B=y(G[o]);id=B[u.uniqueId];var c=new Array();var r=0;for(h=0;h<k;h++){var j=C[h];var w=B[j];if(null==w){continue}c[r++]={value:w,hash:d[h]}}if(c.length!=k){break}var s=null;var m="";var b=-1;for(var t=0;t<c.length;t++){b++;var A=c[t].value;var g=c[t].hash;m=m+"_"+g+"_"+A;if(e[m]!=undefined&&e[m]!=null){s=e[m];continue}if(s==null){s={level:0};s[p]=A;s[D]=B;s[v]=B[v];s[F]=new Array();l[f++]=s}else{var n={parentItem:s,level:s.level+1};n[p]=A;n[F]=new Array();n[D]=B;n[v]=B[v];s[F][s[F].length]=n;s=n}e[m]=s}if(s!=null){B.parentItem=s;B.level=s.level+1;s[F][s[F].length]=B}}return l},getRecordsHierarchy:function(f,d,t,o){var b=new Array();var c=this.records;if(this.records.length==0){return null}var r=t!=null?t:"items";var l=[];var u=c;var j=u.length;var p=function(i){var v=i;if(o){a.each(o,function(){if(this.name&&this.map){v[this.map]=v[this.name]}})}return v};for(var q=0;q<j;q++){var s=a.extend({},u[q]);var n=s[d];var m=s[f];l[m]={parentid:n,item:s}}for(var q=0;q<j;q++){var s=a.extend({},u[q]);var n=s[d];var m=s[f];if(l[n]!=undefined){var s={parentid:n,item:l[m].item};var k=l[n].item;if(!k[r]){k[r]=[]}var g=k[r].length;var e=s.item;var h=p(e);k[r][g]=h;l[n].item=k;l[m]=s}else{var e=l[m].item;var h=p(e);b[b.length]=h}}return b},bindBindingUpdate:function(c,b){this._bindingUpdate[this._bindingUpdate.length]={id:c,func:b}},unbindBindingUpdate:function(c){for(var b=0;b<this._bindingUpdate.length;b++){if(this._bindingUpdate[b].id==c){this._bindingUpdate[b].func=null;this._bindingUpdate.splice(b,1);break}}},callBindingUpdate:function(b){for(var d=0;d<this._bindingUpdate.length;d++){var c=this._bindingUpdate[d];if(c.func!=null){c.func(b)}}},getid:function(e,c,d){if(a(e,c).length>0){return a(e,c).text()}if(e){if(e.toString().length>0){var b=a(c).attr(e);if(b!=null&&b.toString().length>0){return b}}}return d},loadjson:function(C,D,o){if(typeof(C)=="string"){C=a.parseJSON(C)}if(o.root==undefined){o.root=""}if(o.record==undefined){o.record=""}var C=C||D;if(!C){C=[]}var B=this;if(o.root!=""){if(C[o.root]!=undefined){C=C[o.root]}else{a.each(C,function(j){var d=this;if(this==o.root){C=this;return false}else{if(this[o.root]!=undefined){C=this[o.root]}}})}if(!C){var g=o.root.split(B.mapChar);if(g.length>0){var y=C;for(var n=0;n<g.length;n++){if(y!=undefined){y=y[g[n]]}}C=y}}}else{if(!C.length){for(obj in C){if(a.isArray(C[obj])){C=C[obj];break}}}}if(C!=null&&C.length==undefined){C=a.makeArray(C)}if(C==null||C.length==undefined){alert("JSON Parse error.");return}if(C.length==0){this.totalrecords=0;return}var f=C.length;this.totalrecords=this.virtualmode?(o.totalrecords||f):f;this.records=new Array();this.originaldata=new Array();var u=this.records;var r=!this.pageable?o.recordstartindex:this.pagesize*this.pagenum;this.recordids=new Array();if(o.loadallrecords){r=0;f=this.totalrecords}var m=0;if(this.virtualmode){r=!this.pageable?o.recordstartindex:this.pagesize*this.pagenum;m=r;r=0;f=this.totalrecords}var w=o.datafields?o.datafields.length:0;if(w==0){var b=C[0];var z=new Array();for(obj in b){var c=obj;z[z.length]={name:c}}o.datafields=z;w=z.length}var k=r;for(var t=r;t<f;t++){var e=C[t];if(e==undefined){break}if(o.record&&o.record!=""){e=e[o.record];if(e==undefined){continue}}var A=this.getid(o.id,e,t);if(typeof(A)==="object"){A=t}if(!this.recordids[A]){this.recordids[A]=e;var h={};for(var s=0;s<w;s++){var l=o.datafields[s];var q="";if(undefined==l||l==null){continue}if(l.map){var g=l.map.split(B.mapChar);if(g.length>0){var x=e;for(var n=0;n<g.length;n++){if(x!=undefined){x=x[g[n]]}}q=x}else{q=e[l.map]}if(q!=undefined&&q!=null){q=q.toString()}else{q=""}}if(q==""){q=e[l.name];if(q==undefined||q==null){q=""}if(l.value!=undefined){var v=q[l.value];if(v!=undefined){q=v}}}q=this.getvaluebytype(q,l);if(l.displayname!=undefined){h[l.displayname]=q}else{h[l.name]=q}}if(o.recordendindex<=0||r<o.recordendindex){u[m+k]=a.extend({},h);u[m+k].uid=A;this.originaldata[m+k]=a.extend({},u[t]);k++}}}this.records=u;this.cachedrecords=this.records},loadxml:function(f,x,m){if(typeof(f)=="string"){f=x=a(a.parseXML(f))}if(m.root==undefined){m.root=""}if(m.record==undefined){m.record=""}var f;if(a.jqx.browser.msie&&x){if(x.xml!=undefined){f=a(m.root+" "+m.record,a.parseXML(x.xml))}else{f=f||a(m.root+" "+m.record,x)}}else{f=f||a(m.root+" "+m.record,x)}if(!f){f=[]}var e=f.length;if(f.length==0){return}this.totalrecords=this.virtualmode?(m.totalrecords||e):e;this.records=new Array();this.originaldata=new Array();var t=this.records;var q=!this.pageable?m.recordstartindex:this.pagesize*this.pagenum;this.recordids=new Array();if(m.loadallrecords){q=0;e=this.totalrecords}var k=0;if(this.virtualmode){q=!this.pageable?m.recordstartindex:this.pagesize*this.pagenum;k=q;q=0;e=this.totalrecords}var u=m.datafields?m.datafields.length:0;if(u==0){var b=f[0];var v=new Array();for(obj in b){var c=obj;v[v.length]={name:c}}m.datafields=v;u=v.length}var l=q;for(var s=q;s<e;s++){var d=f[s];if(d==undefined){break}var w=this.getid(m.id,d,s);if(!this.recordids[w]){this.recordids[w]=d;var g={};for(var r=0;r<u;r++){var h=m.datafields[r];var o="";if(undefined==h||h==null){continue}if(h.map){o=a(h.map,d).text()}if(o==""){o=a(h.name,d).text()}var n=o;o=this.getvaluebytype(o,h);if(h.displayname!=undefined){g[h.displayname]=o}else{g[h.name]=o}}if(m.recordendindex<=0||q<m.recordendindex){t[k+l]=a.extend({},g);t[k+l].uid=w;this.originaldata[k+l]=a.extend({},t[s]);l++}}}this.records=t;this.cachedrecords=this.records},loadtext:function(u,m){if(u==null){return}var b=m.rowDelimiter||this.rowDelimiter||"\n";var g=u.split(b);var e=g.length;this.totalrecords=this.virtualmode?(m.totalrecords||e):e;this.records=new Array();this.originaldata=new Array();var r=this.records;var o=!this.pageable?m.recordstartindex:this.pagesize*this.pagenum;this.recordids=new Array();if(m.loadallrecords){o=0;e=this.totalrecords}var k=0;if(this.virtualmode){o=!this.pageable?m.recordstartindex:this.pagesize*this.pagenum;k=o;o=0;e=this.totalrecords}var s=m.datafields.length;var l=m.columnDelimiter||this.columnDelimiter;if(!l){l=(m.datatype==="tab")?"\t":","}for(var q=o;q<e;q++){var d=g[q];var t=this.getid(m.id,d,q);if(!this.recordids[t]){this.recordids[t]=d;var f={};var c=g[q].split(l);for(var p=0;p<s;p++){if(p>=c.length){continue}var h=m.datafields[p];var n=c[p];if(h.type){n=this.getvaluebytype(n,h)}var v=h.map||h.name||p.toString();f[v]=n}r[k+q]=a.extend({},f);r[k+q].uid=t;this.originaldata[k+q]=a.extend({},r[q])}}this.records=r;this.cachedrecords=this.records},getvaluebytype:function(f,c){var d=f;if(f==null){return f}if(c.type=="date"){if(f=="NaN"){f=""}else{var e=new Date(f);if(typeof f=="string"){if(c.format){var b=a.jqx.dataFormat.parsedate(f,c.format);if(b!=null){e=b}}}if(e.toString()=="NaN"||e.toString()=="Invalid Date"){if(a.jqx.dataFormat){f=a.jqx.dataFormat.tryparsedate(f)}else{f=e}}else{f=e}if(f==null){f=d}}}else{if(c.type=="float"||c.type=="number"||c.type=="decimal"){if(f=="NaN"){f=""}else{var f=parseFloat(f);if(isNaN(f)){f=d}}}else{if(c.type=="int"||c.type=="integer"){var f=parseInt(f);if(isNaN(f)){f=d}}else{if(c.type=="bool"||c.type=="boolean"){if(f!=null){if(f.toLowerCase!=undefined){if(f.toLowerCase()=="false"){f=false}else{if(f.toLowerCase()=="true"){f=true}}}}if(f==1){f=true}else{if(f==0&&f!==""){f=false}else{f=""}}}}}}return f}};a.jqx.dataFormat={};a.extend(a.jqx.dataFormat,{regexTrim:/^\s+|\s+$/g,regexInfinity:/^[+-]?infinity$/i,regexHex:/^0x[a-f0-9]+$/i,regexParseFloat:/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/,toString:Object.prototype.toString,isBoolean:function(b){return typeof b==="boolean"},isObject:function(b){return(b&&(typeof b==="object"||a.isFunction(b)))||false},isDate:function(b){return b instanceof Date},arrayIndexOf:function(e,d){if(e.indexOf){return e.indexOf(d)}for(var b=0,c=e.length;b<c;b++){if(e[b]===d){return b}}return -1},isString:function(b){return typeof b==="string"},isNumber:function(b){return typeof b==="number"&&isFinite(b)},isNull:function(b){return b===null},isUndefined:function(b){return typeof b==="undefined"},isValue:function(b){return(this.isObject(b)||this.isString(b)||this.isNumber(b)||this.isBoolean(b))},isEmpty:function(b){if(!this.isString(b)&&this.isValue(b)){return false}else{if(!this.isValue(b)){return true}}b=a.trim(b).replace(/\ \;/ig,"").replace(/\ \;/ig,"");return b===""},startsWith:function(c,b){return c.indexOf(b)===0},endsWith:function(c,b){return c.substr(c.length-b.length)===b},trim:function(b){return(b+"").replace(this.regexTrim,"")},isArray:function(b){return this.toString.call(b)==="[object Array]"},defaultcalendar:function(){var b={"/":"/",":":":",firstDay:0,days:{names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],namesAbbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],namesShort:["Su","Mo","Tu","We","Th","Fr","Sa"]},months:{names:["January","February","March","April","May","June","July","August","September","October","November","December",""],namesAbbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",""]},AM:["AM","am","AM"],PM:["PM","pm","PM"],eras:[{name:"A.D.",start:null,offset:0}],twoDigitYearMax:2029,patterns:{d:"M/d/yyyy",D:"dddd, MMMM dd, yyyy",t:"h:mm tt",T:"h:mm:ss tt",f:"dddd, MMMM dd, yyyy h:mm tt",F:"dddd, MMMM dd, yyyy h:mm:ss tt",M:"MMMM dd",Y:"yyyy MMMM",S:"yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss",ISO:"yyyy-MM-dd hh:mm:ss",ISO2:"yyyy-MM-dd HH:mm:ss",d1:"dd.MM.yyyy",d2:"dd-MM-yyyy",zone1:"yyyy-MM-ddTHH:mm:ss-HH:mm",zone2:"yyyy-MM-ddTHH:mm:ss+HH:mm",custom:"yyyy-MM-ddTHH:mm:ss.fff"},percentsymbol:"%",currencysymbol:"$",currencysymbolposition:"before",decimalseparator:".",thousandsseparator:","};return b},expandFormat:function(f,e){e=e||"F";var d,c=f.patterns,b=e.length;if(b===1){d=c[e];if(!d){throw"Invalid date format string '"+e+"'."}e=d}else{if(b===2&&e.charAt(0)==="%"){e=e.charAt(1)}}return e},getEra:function(d,c){if(!c){return 0}if(typeof d==="string"){return 0}var g,f=d.getTime();for(var e=0,b=c.length;e<b;e++){g=c[e].start;if(g===null||f>=g){return e}}return 0},toUpper:function(b){return b.split("\u00A0").join(" ").toUpperCase()},toUpperArray:function(b){var e=[];for(var d=0,c=b.length;d<c;d++){e[d]=this.toUpper(b[d])}return e},getEraYear:function(c,e,b,f){var d=c.getFullYear();if(!f&&e.eras){d-=e.eras[b].offset}return d},getDayIndex:function(f,e,c){var b,g=f.days,d=f._upperDays;if(!d){f._upperDays=d=[this.toUpperArray(g.names),this.toUpperArray(g.namesAbbr),this.toUpperArray(g.namesShort)]}e=toUpper(e);if(c){b=this.arrayIndexOf(d[1],e);if(b===-1){b=this.arrayIndexOf(d[2],e)}}else{b=this.arrayIndexOf(d[0],e)}return b},getMonthIndex:function(j,h,d){var b=j.months,c=j.monthsGenitive||j.months,f=j._upperMonths,g=j._upperMonthsGen;if(!f){j._upperMonths=f=[this.toUpperArray(b.names),this.toUpperArray(b.namesAbbr)];j._upperMonthsGen=g=[this.toUpperArray(c.names),this.toUpperArray(c.namesAbbr)]}h=this.toUpper(h);var e=this.arrayIndexOf(d?f[1]:f[0],h);if(e<0){e=this.arrayIndexOf(d?g[1]:g[0],h)}return e},appendPreOrPostMatch:function(f,b){var e=0,h=false;for(var g=0,d=f.length;g<d;g++){var j=f.charAt(g);switch(j){case"'":if(h){b.push("'")}else{e++}h=false;break;case"\\":if(h){b.push("\\")}h=!h;break;default:b.push(j);h=false;break}}return e},getTokenRegExp:function(){return/\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g},formatlink:function(b,d){var c="";if(d&&d.target){c="target="+d.target}if(c!=""){return"<a "+c+' href="'+b+'">'+b+"</a>"}return'<a href="'+b+'">'+b+"</a>"},formatemail:function(b){return'<a href="mailto:'+b+'">'+b+"</a>"},formatnumber:function(p,o,k){if(k==undefined||k==null||k==""){k=this.defaultcalendar()}if(!this.isNumber(p)){p*=1}var l;if(o.length>1){l=parseInt(o.slice(1),10)}var r={};var m=o.charAt(0).toUpperCase();r.thousandsSeparator=k.thousandsseparator;r.decimalSeparator=k.decimalseparator;switch(m){case"D":case"d":case"F":case"f":r.decimalPlaces=l;break;case"N":case"n":r.decimalPlaces=0;break;case"C":case"c":r.decimalPlaces=l;if(k.currencysymbolposition=="before"){r.prefix=k.currencysymbol}else{r.suffix=k.currencysymbol}break;case"P":case"p":r.suffix=k.percentsymbol;r.decimalPlaces=l;break;default:throw"Bad number format specifier: "+m}if(this.isNumber(p)){var f=(p<0);var d=p+"";var n=(r.decimalSeparator)?r.decimalSeparator:".";var b;if(this.isNumber(r.decimalPlaces)){var g=r.decimalPlaces;var j=Math.pow(10,g);d=Math.round(p*j)/j+"";b=d.lastIndexOf(".");if(g>0){if(b<0){d+=n;b=d.length-1}else{if(n!=="."){d=d.replace(".",n)}}while((d.length-1-b)<g){d+="0"}}}if(r.thousandsSeparator){var q=r.thousandsSeparator;b=d.lastIndexOf(n);b=(b>-1)?b:d.length;var e=d.substring(b);var c=-1;for(var h=b;h>0;h--){c++;if((c%3===0)&&(h!==b)&&(!f||(h>1))){e=q+e}e=d.charAt(h-1)+e}d=e}d=(r.prefix)?r.prefix+d:d;d=(r.suffix)?d+r.suffix:d;return d}else{return p}},tryparsedate:function(p,h){if(h==undefined||h==null){h=this.defaultcalendar()}var l=this;if(p==""){return null}if(p!=null&&!p.substring){p=p.toString()}if(p!=null&&p.substring(0,6)=="/Date("){var n=/^\/Date\((-?\d+)(\+|-)?(\d+)?\)\/$/;var e=new Date(+p.replace(/\/Date\((\d+)\)\//,"$1"));if(e=="Invalid Date"){var f=p.match(/^\/Date\((\d+)([-+]\d\d)(\d\d)\)\/$/);var e=null;if(f){e=new Date(1*f[1]+3600000*f[2]+60000*f[3])}}if(e==null||e=="Invalid Date"||isNaN(e)){var i=n.exec(p);if(i){var q=new Date(parseInt(i[1]));if(i[2]){var b=parseInt(i[3]);if(i[2]==="-"){b=-b}var k=q.getUTCMinutes();q.setUTCMinutes(k-b)}if(!isNaN(q.valueOf())){return q}}}return e}patterns=h.patterns;for(prop in patterns){e=l.parsedate(p,patterns[prop],h);if(e){return e}}if(p!=null){var d=null;var o=[":","/","-"];var j=true;for(var c=0;c<o.length;c++){if(p.indexOf(o[c])!=-1){j=false}}if(j){var g=new Number(p);if(!isNaN(g)){return new Date(g)}}}return null},getparseregexp:function(b,n){var p=b._parseRegExp;if(!p){b._parseRegExp=p={}}else{var f=p[n];if(f){return f}}var l=this.expandFormat(b,n).replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1"),j=["^"],c=[],i=0,e=0,s=this.getTokenRegExp(),g;while((g=s.exec(l))!==null){var r=l.slice(i,g.index);i=s.lastIndex;e+=this.appendPreOrPostMatch(r,j);if(e%2){j.push(g[0]);continue}var d=g[0],h=d.length,o;switch(d){case"dddd":case"ddd":case"MMMM":case"MMM":case"gg":case"g":o="(\\D+)";break;case"tt":case"t":o="(\\D*)";break;case"yyyy":case"fff":case"ff":case"f":o="(\\d{"+h+"})";break;case"dd":case"d":case"MM":case"M":case"yy":case"y":case"HH":case"H":case"hh":case"h":case"mm":case"m":case"ss":case"s":o="(\\d\\d?)";break;case"zzz":o="([+-]?\\d\\d?:\\d{2})";break;case"zz":case"z":o="([+-]?\\d\\d?)";break;case"/":o="(\\"+b["/"]+")";break;default:throw"Invalid date format pattern '"+d+"'.";break}if(o){j.push(o)}c.push(g[0])}this.appendPreOrPostMatch(l.slice(i),j);j.push("$");var q=j.join("").replace(/\s+/g,"\\s+"),k={regExp:q,groups:c};return p[n]=k},outOfRange:function(d,b,c){return d<b||d>c},expandYear:function(g,e){var c=new Date(),b=getEra(c);if(e<100){var d=g.twoDigitYearMax;d=typeof d==="string"?new Date().getFullYear()%100+parseInt(d,10):d;var f=this.getEraYear(c,g,b);e+=f-(f%100);if(e>d){e-=100}}return e},parsedate:function(z,G,u){if(u==undefined||u==null){u=this.defaultcalendar()}z=this.trim(z);var r=u,L=this.getparseregexp(r,G),k=new RegExp(L.regExp).exec(z);if(k===null){return null}var H=L.groups,x=null,p=null,K=null,J=null,q=null,g=0,C,B=0,I=0,b=0,d=null,s=false;for(var D=0,F=H.length;D<F;D++){var c=k[D+1];if(c){var y=H[D],f=y.length,h=parseInt(c,10);switch(y){case"dd":case"d":J=h;if(this.outOfRange(J,1,31)){return null}break;case"MMM":case"MMMM":K=this.getMonthIndex(r,c,f===3);if(this.outOfRange(K,0,11)){return null}break;case"M":case"MM":K=h-1;if(this.outOfRange(K,0,11)){return null}break;case"y":case"yy":case"yyyy":p=f<4?this.expandYear(r,h):h;if(this.outOfRange(p,0,9999)){return null}break;case"h":case"hh":g=h;if(g===12){g=0}if(this.outOfRange(g,0,11)){return null}break;case"H":case"HH":g=h;if(this.outOfRange(g,0,23)){return null}break;case"m":case"mm":B=h;if(this.outOfRange(B,0,59)){return null}break;case"s":case"ss":I=h;if(this.outOfRange(I,0,59)){return null}break;case"tt":case"t":s=r.PM&&(c===r.PM[0]||c===r.PM[1]||c===r.PM[2]);if(!s&&(!r.AM||(c!==r.AM[0]&&c!==r.AM[1]&&c!==r.AM[2]))){return null}break;case"f":case"ff":case"fff":b=h*Math.pow(10,3-f);if(this.outOfRange(b,0,999)){return null}break;case"ddd":case"dddd":q=this.getDayIndex(r,c,f===3);if(this.outOfRange(q,0,6)){return null}break;case"zzz":var e=c.split(/:/);if(e.length!==2){return null}C=parseInt(e[0],10);if(this.outOfRange(C,-12,13)){return null}var n=parseInt(e[1],10);if(this.outOfRange(n,0,59)){return null}d=(C*60)+(startsWith(c,"-")?-n:n);break;case"z":case"zz":C=h;if(this.outOfRange(C,-12,13)){return null}d=C*60;break;case"g":case"gg":var t=c;if(!t||!r.eras){return null}t=trim(t.toLowerCase());for(var E=0,A=r.eras.length;E<A;E++){if(t===r.eras[E].name.toLowerCase()){x=E;break}}if(x===null){return null}break}}}var o=new Date(),w,m=r.convert;w=o.getFullYear();if(p===null){p=w}else{if(r.eras){p+=r.eras[(x||0)].offset}}if(K===null){K=0}if(J===null){J=1}if(m){o=m.toGregorian(p,K,J);if(o===null){return null}}else{o.setFullYear(p,K,J);if(o.getDate()!==J){return null}if(q!==null&&o.getDay()!==q){return null}}if(s&&g<12){g+=12}o.setHours(g,B,I,b);if(d!==null){var v=o.getMinutes()-(d+o.getTimezoneOffset());o.setHours(o.getHours()+parseInt(v/60,10),v%60)}return o},cleardatescache:function(){this.datescache=new Array()},formatdate:function(u,y,p){if(p==undefined||p==null){p=this.defaultcalendar()}if(typeof u==="string"){return u}var e=u.toString()+"_"+y;if(this.datescache&&this.datescache[e]){return this.datescache[e]}if(!y||!y.length||y==="i"){var A;A=this.formatDate(u,p.patterns.F,culture);return A}var v=p.eras,c=y==="s";y=this.expandFormat(p,y);A=[];var h,w=["0","00","000"],l,m,b=/([^d]|^)(d|dd)([^d]|$)/g,z=0,r=this.getTokenRegExp(),d;function j(B,E){var D,C=B+"";if(E>1&&C.length<E){D=(w[E-2]+C);return D.substr(D.length-E,E)}else{D=C}return D}function x(){if(l||m){return l}l=b.test(y);m=true;return l}function f(C,B){if(d){return d[B]}if(C.getMonth!=undefined){switch(B){case 0:return C.getFullYear();case 1:return C.getMonth();case 2:return C.getDate()}}}for(;;){var i=r.lastIndex,q=r.exec(y);var n=y.slice(i,q?q.index:y.length);z+=this.appendPreOrPostMatch(n,A);if(!q){break}if(z%2){A.push(q[0]);continue}var s=q[0],g=s.length;switch(s){case"ddd":case"dddd":var o=(g===3)?p.days.namesAbbr:p.days.names;A.push(o[u.getDay()]);break;case"d":case"dd":l=true;A.push(j(f(u,2),g));break;case"MMM":case"MMMM":var t=f(u,1);A.push(p.months[g===3?"namesAbbr":"names"][t]);break;case"M":case"MM":A.push(j(f(u,1)+1,g));break;case"y":case"yy":case"yyyy":t=this.getEraYear(u,p,this.getEra(u,v),c);if(g<4){t=t%100}A.push(j(t,g));break;case"h":case"hh":h=u.getHours()%12;if(h===0){h=12}A.push(j(h,g));break;case"H":case"HH":A.push(j(u.getHours(),g));break;case"m":case"mm":A.push(j(u.getMinutes(),g));break;case"s":case"ss":A.push(j(u.getSeconds(),g));break;case"t":case"tt":t=u.getHours()<12?(p.AM?p.AM[0]:" "):(p.PM?p.PM[0]:" ");A.push(g===1?t.charAt(0):t);break;case"f":case"ff":case"fff":A.push(j(u.getMilliseconds(),3).substr(0,g));break;case"z":case"zz":h=u.getTimezoneOffset()/60;A.push((h<=0?"+":"-")+j(Math.floor(Math.abs(h)),g));break;case"zzz":h=u.getTimezoneOffset()/60;A.push((h<=0?"+":"-")+j(Math.floor(Math.abs(h)),2)+":"+j(Math.abs(u.getTimezoneOffset()%60),2));break;case"g":case"gg":if(p.eras){A.push(p.eras[getEra(u,v)].name)}break;case"/":A.push(p["/"]);break;default:throw"Invalid date format pattern '"+s+"'.";break}}var k=A.join("");if(!this.datescache){this.datescache=new Array()}this.datescache[e]=k;return k}})})(jQuery);
|
|
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function(a){a.jqx.cssroundedcorners=function(b){var c={all:"jqx-rc-all",top:"jqx-rc-t",bottom:"jqx-rc-b",left:"jqx-rc-l",right:"jqx-rc-r","top-right":"jqx-rc-tr","top-left":"jqx-rc-tl","bottom-right":"jqx-rc-br","bottom-left":"jqx-rc-br"};for(prop in c){if(!c.hasOwnProperty(prop)){continue}if(b==prop){return c[prop]}}};a.jqx.jqxWidget("jqxButton","",{});a.extend(a.jqx._jqxButton.prototype,{defineInstance:function(){this.cursor="arrow";this.roundedCorners="all";this.disabled=false;this.height=null;this.width=null;this.overrideTheme=false;this.enableHover=true;this.rtl=false},createInstance:function(d){var b=this;this._setSize();if(!this.overrideTheme){this.host.addClass(this.toThemeProperty(a.jqx.cssroundedcorners(this.roundedCorners)));this.host.addClass(this.toThemeProperty("jqx-button"));this.host.addClass(this.toThemeProperty("jqx-widget"))}this.isTouchDevice=a.jqx.mobile.isTouchDevice();if(this.cursor!="arrow"){this.host.css({cursor:this.cursor})}if(!this.isTouchDevice){this.addHandler(this.host,"mouseenter",function(g){if(!b.disabled&&b.enableHover){b.isMouseOver=true;b.refresh()}});this.addHandler(this.host,"mouseleave",function(g){if(!b.disabled&&b.enableHover){b.isMouseOver=false;b.refresh()}})}this.addHandler(this.host,"mousedown",function(g){if(!b.disabled){b.isPressed=true;b.refresh()}});this.addHandler(this.host,"focus",function(g){if(!b.disabled){b.isFocused=true;b.refresh()}});this.addHandler(this.host,"blur",function(g){if(!b.disabled){b.isFocused=false;b.refresh()}});this.mouseupfunc=function(g){if(!b.disabled){b.isPressed=false;b.refresh()}};this.addHandler(a(document),"mouseup.button"+this.element.id,this.mouseupfunc);try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var f="";if(window.parent&&document.referrer){f=document.referrer}if(f.indexOf(document.location.host)!=-1){var e=function(g){b.isPressed=false;b.refresh()};if(window.top.document){this.addHandler(a(window.top.document),"mouseup",e)}}}}}catch(c){}this.propertyChangeMap.roundedCorners=function(g,i,h,j){g.refresh()};this.propertyChangeMap.width=function(g,i,h,j){g._setSize();g.refresh()};this.propertyChangeMap.height=function(g,i,h,j){g._setSize();g.refresh()};this.propertyChangeMap.disabled=function(g,i,h,j){if(h!=j){b.host[0].disabled=j;g.refresh()}};this.propertyChangeMap.rtl=function(g,i,h,j){if(h!=j){g.refresh()}};this.propertyChangeMap.theme=function(g,i,h,j){g.host.removeClass();g.host.addClass(g.toThemeProperty("jqx-button"));g.host.addClass(g.toThemeProperty("jqx-widget"));if(!g.overrideTheme){g.host.addClass(g.toThemeProperty(a.jqx.cssroundedcorners(g.roundedCorners)))}g._oldCSSCurrent=null;g.refresh()}},val:function(){var b=this.host.find("input");if(b.length>0){if(arguments.length==0||typeof(value)=="object"){return b.val()}b.val(value);this.refresh();return b.val()}if(arguments.length==0||typeof(value)=="object"){return this.element.value}this.element.value=arguments[0];this.refresh()},_setSize:function(){if(this.width!=null&&(this.width.toString().indexOf("px")!=-1||this.width.toString().indexOf("%")!=-1)){this.host.css("width",this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.css("width",this.width)}}if(this.height!=null&&(this.height.toString().indexOf("px")!=-1||this.height.toString().indexOf("%")!=-1)){this.host.css("height",this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.css("height",this.height)}}},_removeHandlers:function(){this.removeHandler(this.host,"selectstart");this.removeHandler(this.host,"click");this.removeHandler(this.host,"focus");this.removeHandler(this.host,"blur");this.removeHandler(this.host,"mouseenter");this.removeHandler(this.host,"mouseleave");this.removeHandler(this.host,"mousedown");this.removeHandler(a(document),"mouseup.button"+this.element.id,this.mouseupfunc);this.mouseupfunc=null},focus:function(){this.host.focus()},destroy:function(){this._removeHandlers();this.host.removeClass();this.host.removeData();this.host.remove()},refresh:function(){if(this.overrideTheme){return}var d=this.toThemeProperty("jqx-fill-state-focus");var h=this.toThemeProperty("jqx-fill-state-disabled");var b=this.toThemeProperty("jqx-fill-state-normal");var g=this.toThemeProperty("jqx-fill-state-hover");var e=this.toThemeProperty("jqx-fill-state-pressed");var f=this.toThemeProperty("jqx-fill-state-pressed");var c="";this.host[0].disabled=this.disabled;if(this.disabled){c=h}else{if(this.isMouseOver&&!this.isTouchDevice){if(this.isPressed){c=f}else{c=g}}else{if(this.isPressed){c=e}else{c=b}}}if(this.isFocused){c+=" "+d}if(c!=this._oldCSSCurrent){if(this._oldCSSCurrent){this.host.removeClass(this._oldCSSCurrent)}this.host.addClass(c);this._oldCSSCurrent=c}if(this.rtl){this.host.addClass(this.toThemeProperty("jqx-rtl"));this.host.css("direction","rtl")}}});a.jqx.jqxWidget("jqxLinkButton","",{});a.extend(a.jqx._jqxLinkButton.prototype,{defineInstance:function(){this.disabled=false;this.height=null;this.width=null;this.rtl=false;this.href=null},createInstance:function(d){var c=this;this.host.onselectstart=function(){return false};var b=this.height||this.host.height();var e=this.width||this.host.width();this.href=this.host.attr("href");this.target=this.host.attr("target");this.content=this.host.text();this.element.innerHTML="";this.host.append("<input type='button' class='jqx-wrapper'/>");var f=this.host.find("input");f.addClass(this.toThemeProperty("jqx-reset"));f.width(e);f.height(b);f.val(this.content);this.host.find("tr").addClass(this.toThemeProperty("jqx-reset"));this.host.find("td").addClass(this.toThemeProperty("jqx-reset"));this.host.find("tbody").addClass(this.toThemeProperty("jqx-reset"));this.host.css("color","inherit");this.host.addClass(this.toThemeProperty("jqx-link"));f.css({width:e});f.css({height:b});var g=d==undefined?{}:d[0]||{};f.jqxButton(g);if(this.disabled){this.host[0].disabled=true}this.propertyChangeMap.disabled=function(h,j,i,k){c.host[0].disabled=k};this.addHandler(f,"click",function(h){if(!this.disabled){c.onclick(h)}return false})},onclick:function(b){if(this.target!=null){window.open(this.href,this.target)}else{window.location=this.href}}});a.jqx.jqxWidget("jqxRepeatButton","jqxButton",{});a.extend(a.jqx._jqxRepeatButton.prototype,{defineInstance:function(){this.delay=50},createInstance:function(d){var b=this;var c=a.jqx.mobile.isTouchDevice();this.addHandler(a(document),"mouseup."+this.base.element.id,function(e){if(!c){if(b.timeout!=null){clearTimeout(b.timeout);b.timeout=null;b.refresh()}if(b.timer!=undefined){clearInterval(b.timer);b.timer=null;b.refresh()}}});this.addHandler(this.base.host,"mousedown",function(e){if(!c){if(b.timer!=null){clearInterval(b.timer)}b.timeout=setTimeout(function(){clearInterval(b.timer);b.timer=setInterval(function(f){b.ontimer(f)},b.delay)},150)}});this.addHandler(this.base.host,"mousemove",function(e){if(!c){if(e.which==0){if(b.timer!=null){clearInterval(b.timer);b.timer=null}}}})},destroy:function(){this.removeHandler(this.base.host,"mousemove");this.removeHandler(this.base.host,"mousedown");this.removeHandler(a(document),"mouseup."+this.base.element.id);this.timer=null;this.base.destroy()},stop:function(){clearInterval(this.timer);this.timer=null},ontimer:function(b){var b=new jQuery.Event("click");if(this.base!=null&&this.base.host!=null){this.base.host.trigger(b)}}});a.jqx.jqxWidget("jqxToggleButton","jqxButton",{});a.extend(a.jqx._jqxToggleButton.prototype,{defineInstance:function(){this.toggled=false},createInstance:function(c){var b=this;this.base.overrideTheme=true;this.isTouchDevice=a.jqx.mobile.isTouchDevice();this.addHandler(this.base.host,"click",function(d){b.toggle()});if(!this.isTouchDevice){this.addHandler(this.base.host,"mouseenter",function(d){if(!b.base.disabled){b.refresh()}});this.addHandler(this.base.host,"mouseleave",function(d){if(!b.base.disabled){b.refresh()}})}this.addHandler(this.base.host,"mousedown",function(d){if(!b.base.disabled){b.refresh()}});this.addHandler(a(document),"mouseup",function(d){if(!b.base.disabled){b.refresh()}})},_removeHandlers:function(){this.removeHandler(this.base.host,"click");this.removeHandler(this.base.host,"mouseenter");this.removeHandler(this.base.host,"mouseleave");this.removeHandler(this.base.host,"mousedown");this.removeHandler(a(document),"mouseup")},toggle:function(){this.toggled=!this.toggled;this.refresh()},unCheck:function(){this.toggled=false;this.refresh()},check:function(){this.toggled=true;this.refresh()},refresh:function(){var g=this.base.toThemeProperty("jqx-fill-state-disabled");var b=this.base.toThemeProperty("jqx-fill-state-normal");var f=this.base.toThemeProperty("jqx-fill-state-hover");var d=this.base.toThemeProperty("jqx-fill-state-pressed");var e=this.base.toThemeProperty("jqx-fill-state-pressed");var c="";this.base.host[0].disabled=this.base.disabled;if(this.base.disabled){c=g}else{if(this.base.isMouseOver&&!this.isTouchDevice){if(this.base.isPressed||this.toggled){c=e}else{c=f}}else{if(this.base.isPressed||this.toggled){c=d}else{c=b}}}if(this.base.host.hasClass(g)&&g!=c){this.base.host.removeClass(g)}if(this.base.host.hasClass(b)&&b!=c){this.base.host.removeClass(b)}if(this.base.host.hasClass(f)&&f!=c){this.base.host.removeClass(f)}if(this.base.host.hasClass(d)&&d!=c){this.base.host.removeClass(d)}if(this.base.host.hasClass(e)&&e!=c){this.base.host.removeClass(e)}if(!this.base.host.hasClass(c)){this.base.host.addClass(c)}}})})(jQuery);
|
|
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function(a){a.jqx.jqxWidget("jqxDropDownList","",{});a.extend(a.jqx._jqxDropDownList.prototype,{defineInstance:function(){this.disabled=false;this.width=null;this.height=null;this.items=new Array();this.selectedIndex=-1;this.source=null;this.scrollBarSize=15;this.arrowSize=19;this.enableHover=true;this.enableSelection=true;this.visualItems=new Array();this.groups=new Array();this.equalItemsWidth=true;this.itemHeight=-1;this.visibleItems=new Array();this.emptyGroupText="Group";this.checkboxes=false;if(this.openDelay==undefined){this.openDelay=350}if(this.closeDelay==undefined){this.closeDelay=400}this.animationType="default";this.autoOpen=false;this.dropDownWidth="auto";this.dropDownHeight="200px";this.autoDropDownHeight=false;this.keyboardSelection=true;this.enableBrowserBoundsDetection=false;this.dropDownHorizontalAlignment="left";this.displayMember="";this.valueMember="";this.searchMode="startswithignorecase";this.incrementalSearch=true;this.incrementalSearchDelay=700;this.renderer=null;this.promptText="Please Choose:";this.emptyString="";this.rtl=false;this.selectionRenderer=null;this.listBox=null;this.popupZIndex=9999999999999;this.events=["open","close","select","unselect","change","checkChange","bindingComplete"]},createInstance:function(b){this.render()},render:function(){this.element.innerHTML="";this.isanimating=false;this.id=this.element.id||a.jqx.utilities.createId();var d=a("<div tabIndex=0 style='background-color: transparent; -webkit-appearance: none; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; border: 0px; position: relative;'><div id='dropdownlistWrapper' style='outline: none; background-color: transparent; border: none; float: left; width:100%; height: 100%; position: relative;'><div id='dropdownlistContent' style='outline: none; background-color: transparent; border: none; float: left; position: relative;'/><div id='dropdownlistArrow' style='background-color: transparent; border: none; float: right; position: relative;'><div></div></div></div></div>");this._addInput();if(a.jqx._jqxListBox==null||a.jqx._jqxListBox==undefined){throw new Error("jqxDropDownList: Missing reference to jqxlistbox.js.")}var h=this;this.touch=a.jqx.mobile.isTouchDevice();this.comboStructure=d;this.host.append(d);this.dropdownlistWrapper=this.host.find("#dropdownlistWrapper");this.dropdownlistArrow=this.host.find("#dropdownlistArrow");this.arrow=a(this.dropdownlistArrow.children()[0]);this.dropdownlistContent=this.host.find("#dropdownlistContent");this.dropdownlistContent.addClass(this.toThemeProperty("jqx-dropdownlist-content"));this.dropdownlistWrapper.addClass(this.toThemeProperty("jqx-disableselect"));if(this.rtl){this.dropdownlistContent.addClass(this.toThemeProperty("jqx-rtl"));this.dropdownlistContent.addClass(this.toThemeProperty("jqx-dropdownlist-content-rtl"))}this.addHandler(this.dropdownlistWrapper,"selectstart",function(){return false});this.dropdownlistWrapper[0].id="dropdownlistWrapper"+this.element.id;this.dropdownlistArrow[0].id="dropdownlistArrow"+this.element.id;this.dropdownlistContent[0].id="dropdownlistContent"+this.element.id;var j=this.toThemeProperty("jqx-widget")+" "+this.toThemeProperty("jqx-widget-content")+" "+this.toThemeProperty("jqx-dropdownlist-state-normal")+" "+this.toThemeProperty("jqx-rc-all")+" "+this.toThemeProperty("jqx-fill-state-normal");this.element.className+=" "+j;this._firstDiv=this.host.find("div:first");try{var k="listBox"+this.id;var f=a(a.find("#"+k));if(f.length>0){f.remove()}var b=a("<div style='overflow: hidden; background-color: transparent; border: none; position: absolute;' id='listBox"+this.id+"'><div id='innerListBox"+this.id+"'></div></div>");b.hide();b.appendTo(document.body);this.container=b;this.listBoxContainer=a(a.find("#innerListBox"+this.id));var c=this.width;if(this.dropDownWidth!="auto"){c=this.dropDownWidth}if(c==null){c=this.host.width();if(c==0){c=this.dropDownWidth}}if(this.dropDownHeight==null){this.dropDownHeight=200}var h=this;this.container.width(parseInt(c)+25);this.container.height(parseInt(this.dropDownHeight)+25);this.addHandler(this.listBoxContainer,"bindingComplete",function(e){h._raiseEvent("6")});this.listBoxContainer.jqxListBox({_checkForHiddenParent:false,checkboxes:this.checkboxes,rtl:this.rtl,emptyString:this.emptyString,itemHeight:this.itemHeight,width:c,searchMode:this.searchMode,incrementalSearch:this.incrementalSearch,incrementalSearchDelay:this.incrementalSearchDelay,displayMember:this.displayMember,valueMember:this.valueMember,height:this.dropDownHeight,autoHeight:this.autoDropDownHeight,scrollBarSize:this.scrollBarSize,selectedIndex:this.selectedIndex,source:this.source,theme:this.theme,rendered:function(){if(h.selectedIndex!=h.listBoxContainer.jqxListBox("selectedIndex")){h.listBox=a.data(h.listBoxContainer[0],"jqxListBox").instance;h.listBoxContainer.jqxListBox({selectedIndex:h.selectedIndex});h.renderSelection("mouse")}else{h.renderSelection("mouse")}},renderer:this.renderer});this.listBoxContainer.css({position:"absolute",zIndex:this.popupZIndex,top:0,left:0});this.listBox=a.data(this.listBoxContainer[0],"jqxListBox").instance;this.listBox.enableSelection=this.enableSelection;this.listBox.enableHover=this.enableHover;this.listBox.equalItemsWidth=this.equalItemsWidth;this.listBox.selectIndex(this.selectedIndex);this.listBox._arrange();this.addHandler(this.listBoxContainer,"unselect",function(e){h._raiseEvent("3",{index:e.args.index,type:e.args.type,item:e.args.item})});this.addHandler(this.listBoxContainer,"change",function(e){h._raiseEvent("4",{index:e.args.index,type:e.args.type,item:e.args.item})});if(this.animationType=="none"){this.container.css("display","none")}else{this.container.hide()}}catch(g){}var l=this;this.propertyChangeMap.disabled=function(e,n,m,o){if(o){e.host.addClass(l.toThemeProperty("jqx-dropdownlist-state-disabled"));e.host.addClass(l.toThemeProperty("jqx-fill-state-disabled"));e.dropdownlistContent.addClass(l.toThemeProperty("jqx-dropdownlist-content-disabled"))}else{e.host.removeClass(l.toThemeProperty("jqx-dropdownlist-state-disabled"));e.host.removeClass(l.toThemeProperty("jqx-fill-state-disabled"));e.dropdownlistContent.removeClass(l.toThemeProperty("jqx-dropdownlist-content-disabled"))}};if(this.disabled){this.host.addClass(this.toThemeProperty("jqx-dropdownlist-state-disabled"));this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"));this.dropdownlistContent.addClass(this.toThemeProperty("jqx-dropdownlist-content-disabled"))}this.arrow.addClass(this.toThemeProperty("jqx-icon-arrow-down"));this.arrow.addClass(this.toThemeProperty("icon"));this._setSize();this._updateHandlers();if(a.jqx.browser.msie&&a.jqx.browser.version<8){if(this.host.parents(".jqx-window").length>0){var i=this.host.parents(".jqx-window").css("z-index");b.css("z-index",i+10);this.listBoxContainer.css("z-index",i+10)}}},val:function(c){if(!this.dropdownlistContent){return""}if(this.input&&arguments.length==0){return this.input.val()}var b=this.getItemByValue(c);if(b!=null){this.selectItem(b)}if(this.input){return this.input.val()}},focus:function(){try{var d=this;var c=function(){d.host.focus();if(d._firstDiv){d._firstDiv.focus()}};c();setTimeout(function(){c()},10)}catch(b){}},_addInput:function(){var b=this.host.attr("name");if(!b){b=this.element.id}this.input=a("<input type='hidden'/>");this.host.append(this.input);this.input.attr("name",b)},getItems:function(){if(!this.listBox){return new Array()}return this.listBox.items},getVisibleItems:function(){return this.listBox.getVisibleItems()},_setSize:function(){if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.host.width(this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.width(this.width)}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.host.height(this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.height(this.height)}}var e=false;if(this.width!=null&&this.width.toString().indexOf("%")!=-1){e=true;this.host.width(this.width)}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){e=true;this.host.height(this.height)}var c=this;var d=function(){c._arrange();if(c.dropDownWidth=="auto"){var f=c.host.width();c.listBoxContainer.jqxListBox({width:f});c.container.width(parseInt(f)+25)}};if(e){var b=this.host.width();if(this.dropDownWidth!="auto"){b=this.dropDownWidth}this.listBoxContainer.jqxListBox({width:b});this.container.width(parseInt(b)+25);this.removeHandler(a(window),"resize."+this.id);this.addHandler(a(window),"resize."+this.id,function(){d()})}if(!this._hiddenParentTimer){if(a.jqx.isHidden(this.host)){this._hiddenParentTimer=setInterval(function(){try{if(!a.jqx.isHidden(c.host)){clearInterval(c._hiddenParentTimer);c._hiddenParentTimer=0;d()}}catch(f){}},10)}}},isOpened:function(){var c=this;var b=a.data(document.body,"openedJQXListBox"+this.id);if(b!=null&&b==c.listBoxContainer){return true}return false},_updateHandlers:function(){var c=this;var d=false;this.removeHandlers();if(!this.touch){this.host.hover(function(){if(!c.disabled&&c.enableHover){d=true;c.host.addClass(c.toThemeProperty("jqx-dropdownlist-state-hover"));c.arrow.addClass(c.toThemeProperty("jqx-icon-arrow-down-hover"));c.host.addClass(c.toThemeProperty("jqx-fill-state-hover"))}},function(){if(!c.disabled&&c.enableHover){c.host.removeClass(c.toThemeProperty("jqx-dropdownlist-state-hover"));c.host.removeClass(c.toThemeProperty("jqx-fill-state-hover"));c.arrow.removeClass(c.toThemeProperty("jqx-icon-arrow-down-hover"));d=false}})}var b="mousedown";if(this.touch){b=a.jqx.mobile.getTouchEventName("touchstart")}this.addHandler(this.dropdownlistWrapper,b,function(f){if(!c.disabled){var e=c.container.css("display")=="block";if(!c.isanimating){if(e){c.hideListBox();if(c._firstDiv){c._firstDiv.focus()}}else{c.showListBox();if(c._firstDiv){c._firstDiv.focus()}}}}});if(c.autoOpen){this.addHandler(this.host,"mouseenter",function(){var e=c.isOpened();if(!e&&c.autoOpen){c.open();c.host.focus()}});a(document).on("mousemove."+c.id,function(h){var g=c.isOpened();if(g&&c.autoOpen){var l=c.host.coord();var k=l.top;var j=l.left;var i=c.container.coord();var e=i.left;var f=i.top;canClose=true;if(h.pageY>=k&&h.pageY<=k+c.host.height()){if(h.pageX>=j&&h.pageX<j+c.host.width()){canClose=false}}if(h.pageY>=f&&h.pageY<=f+c.container.height()){if(h.pageX>=e&&h.pageX<e+c.container.width()){canClose=false}}if(canClose){c.close()}}})}if(this.touch){this.addHandler(a(document),a.jqx.mobile.getTouchEventName("touchstart")+"."+this.id,c.closeOpenedListBox,{me:this,listbox:this.listBox,id:this.id})}else{this.addHandler(a(document),"mousedown."+this.id,c.closeOpenedListBox,{me:this,listbox:this.listBox,id:this.id})}this.addHandler(this.host,"keydown",function(f){var e=c.container.css("display")=="block";if(c.host.css("display")=="none"){return true}if(f.keyCode=="13"||f.keyCode=="9"){if(!c.isanimating){if(e){c.renderSelection();c.hideListBox();if(!c.keyboardSelection){c._raiseEvent("2",{index:c.selectedIndex,type:"keyboard",item:c.getItem(c.selectedIndex)})}}else{if(f.keyCode!="9"){c.showListBox()}}if(e&&f.keyCode!="9"){return false}return true}}if(f.keyCode==115){if(!c.isanimating){if(!c.isOpened()){c.showListBox()}else{if(c.isOpened()){c.hideListBox()}}}return false}if(f.altKey){if(c.host.css("display")=="block"){if(f.keyCode==38){if(c.isOpened()){c.hideListBox();return true}}else{if(f.keyCode==40){if(!c.isOpened()){c.showListBox();return true}}}}}if(f.keyCode=="27"){if(!c.ishiding){c.hideListBox();if(c.tempSelectedIndex!=undefined){c.selectIndex(c.tempSelectedIndex)}return false}}if(!c.disabled){return c.listBox._handleKeyDown(f)}});this.addHandler(this.listBoxContainer,"checkChange",function(e){c.renderSelection();c._updateInputSelection();c._raiseEvent(5,{label:e.args.label,value:e.args.value,checked:e.args.checked,item:e.args.item})});this.addHandler(this.listBoxContainer,"select",function(e){if(!c.disabled){if(e.args.type=="keyboard"&&!c.isOpened()){c.renderSelection()}if(e.args.type!="keyboard"||c.keyboardSelection){c.renderSelection();c._raiseEvent("2",{index:e.args.index,type:e.args.type,item:e.args.item,originalEvent:e.args.originalEvent});if(e.args.type=="mouse"){if(!c.checkboxes){c.hideListBox();if(c._firstDiv){c._firstDiv.focus()}}}}}});if(this.listBox){if(this.listBox.content){this.addHandler(this.listBox.content,"click",function(e){if(!c.disabled){if(c.listBox.itemswrapper&&e.target===c.listBox.itemswrapper[0]){return true}c.renderSelection("mouse");if(!c.touch){if(!c.ishiding){if(!c.checkboxes){c.hideListBox();if(c._firstDiv){c._firstDiv.focus()}}}}if(!c.keyboardSelection){if(c._oldSelectedInd==undefined){c._oldSelectedIndx=c.selectedIndex}if(c.selectedIndex!=c._oldSelectedIndx){c._raiseEvent("2",{index:c.selectedIndex,type:"keyboard",item:c.getItem(c.selectedIndex)});c._oldSelectedIndx=c.selectedIndex}}}})}}this.addHandler(this.host,"focus",function(e){if(c._firstDiv){c._firstDiv.focus()}});this.addHandler(this._firstDiv,"focus",function(e){c.host.addClass(c.toThemeProperty("jqx-dropdownlist-state-focus"));c.host.addClass(c.toThemeProperty("jqx-fill-state-focus"))});this.addHandler(this._firstDiv,"blur",function(){c.host.removeClass(c.toThemeProperty("jqx-dropdownlist-state-focus"));c.host.removeClass(c.toThemeProperty("jqx-fill-state-focus"))})},removeHandlers:function(){var c=this;var b="mousedown";if(this.touch){b=a.jqx.mobile.getTouchEventName("touchstart")}this.removeHandler(this.dropdownlistWrapper,b);if(this.listBox){if(this.listBox.content){this.removeHandler(this.listBox.content,"click")}}this.removeHandler(this.host,"loadContent");this.removeHandler(this.listBoxContainer,"checkChange");this.removeHandler(this.host,"keydown");this.removeHandler(this.host,"focus");this.removeHandler(this._firstDiv,"focus");this.removeHandler(this._firstDiv,"blur");this.removeHandler(this.host,"mouseenter");this.removeHandler(a(document),"mousemove."+c.id)},getItem:function(b){var c=this.listBox.getItem(b);return c},getItemByValue:function(c){var b=this.listBox.getItemByValue(c);return b},selectItem:function(b){if(this.listBox!=undefined){this.listBox.selectItem(b);this.selectedIndex=this.listBox.selectedIndex;this.renderSelection("mouse")}},unselectItem:function(b){if(this.listBox!=undefined){this.listBox.unselectItem(b);this.renderSelection("mouse")}},checkItem:function(b){if(this.listBox!=undefined){this.listBox.checkItem(b)}},uncheckItem:function(b){if(this.listBox!=undefined){this.listBox.uncheckItem(b)}},indeteterminateItem:function(b){if(this.listBox!=undefined){this.listBox.indeteterminateItem(b)}},renderSelection:function(){if(this.listBox==null){return}var p=this.listBox.visibleItems[this.listBox.selectedIndex];var m=this;if(this.checkboxes){var g=this.getCheckedItems();if(g!=null&&g.length>0){p=g[0]}else{p=null}}if(p==null){var d=a('<span style="color: inherit; border: none; background-color: transparent;"></span>');d.appendTo(a(document.body));d.addClass(this.toThemeProperty("jqx-widget"));d.addClass(this.toThemeProperty("jqx-listitem-state-normal"));d.addClass(this.toThemeProperty("jqx-item"));a.jqx.utilities.html(d,this.promptText);var c=this.dropdownlistContent.css("padding-top");var q=this.dropdownlistContent.css("padding-bottom");d.css("padding-top",c);d.css("padding-bottom",q);var b=d.outerHeight();d.remove();d.removeClass();a.jqx.utilities.html(this.dropdownlistContent,d);var o=this.host.height();if(this.height!=null&&this.height!=undefined){o=parseInt(this.height)}var n=parseInt((parseInt(o)-parseInt(b))/2);if(n>0){this.dropdownlistContent.css("margin-top",n+"px");this.dropdownlistContent.css("margin-bottom",n+"px")}if(this.selectionRenderer){a.jqx.utilities.html(this.dropdownlistContent,this.selectionRenderer());this._updateInputSelection()}this.selectedIndex=this.listBox.selectedIndex;return}this.selectedIndex=this.listBox.selectedIndex;var d=a('<span style="color: inherit; border: none; background-color: transparent;"></span>');d.appendTo(a(document.body));d.addClass(this.toThemeProperty("jqx-widget"));d.addClass(this.toThemeProperty("jqx-listitem-state-normal"));d.addClass(this.toThemeProperty("jqx-item"));var e=false;try{if(p.html!=undefined&&p.html!=null&&p.html.toString().length>0){a.jqx.utilities.html(d,p.html)}else{if(p.label!=undefined&&p.label!=null&&p.label.toString().length>0){a.jqx.utilities.html(d,p.label)}else{if(p.value!=undefined&&p.value!=null&&p.value.toString().length>0){a.jqx.utilities.html(d,p.value)}else{if(p.title!=undefined&&p.title!=null&&p.title.toString().length>0){a.jqx.utilities.html(d,p.title)}else{if(p.label==""||p.label==null){e=true;a.jqx.utilities.html(d,"Item")}}}}}}catch(l){var h=l}var c=this.dropdownlistContent.css("padding-top");var q=this.dropdownlistContent.css("padding-bottom");d.css("padding-top",c);d.css("padding-bottom",q);var b=d.outerHeight();if((p.label==""||p.label==null)&&e){a.jqx.utilities.html(d,"")}d.remove();d.removeClass();if(this.selectionRenderer){a.jqx.utilities.html(this.dropdownlistContent,this.selectionRenderer(d,p.index,p.label,p.value))}else{if(this.checkboxes){var j=this.getCheckedItems();var k="";for(var f=0;f<j.length;f++){if(f==j.length-1){k+=j[f].label}else{k+=j[f].label+","}}d.text(k);d.css("max-width",this.host.width()-30);d.css("overflow","hidden");d.css("display","block");d.css("width",this.host.width()-30);d.css("text-overflow","ellipsis");this.dropdownlistContent.html(d)}else{this.dropdownlistContent.html(d)}}var o=this.host.height();if(this.height!=null&&this.height!=undefined){o=parseInt(this.height)}var n=parseInt((parseInt(o)-parseInt(b))/2);if(n>0){this.dropdownlistContent.css("margin-top",n+"px");this.dropdownlistContent.css("margin-bottom",n+"px")}if(this.dropdownlistContent&&this.input){this._updateInputSelection()}},_updateInputSelection:function(){if(this.input){if(this.selectedIndex==-1){this.input.val("")}else{var d=this.getSelectedItem();if(d!=null){this.input.val(d.value)}else{this.input.val(this.dropdownlistContent.text())}}if(this.checkboxes){var b=this.getCheckedItems();var e="";if(b!=null){for(var c=0;c<b.length;c++){if(c==b.length-1){e+=b[c].value}else{e+=b[c].value+","}}}this.input.val(e)}}},setContent:function(b){a.jqx.utilities.html(this.dropdownlistContent,b);this._updateInputSelection()},dataBind:function(){this.listBoxContainer.jqxListBox({source:this.source});this.renderSelection("mouse");if(this.source==null){this.clearSelection()}},clear:function(){this.listBoxContainer.jqxListBox({source:null});this.clearSelection()},clearSelection:function(b){this.selectedIndex=-1;this.listBox.clearSelection();this.renderSelection();a.jqx.utilities.html(this.dropdownlistContent,this.promptText)},unselectIndex:function(b,c){if(isNaN(b)){return}this.listBox.unselectIndex(b,c);this.renderSelection()},selectIndex:function(b,d,e,c){this.listBox.selectIndex(b,d,e,c);this.renderSelection()},getSelectedIndex:function(){return this.selectedIndex},getSelectedItem:function(){return this.getItem(this.selectedIndex)},getCheckedItems:function(){return this.listBox.getCheckedItems()},checkIndex:function(b){this.listBox.checkIndex(b)},uncheckIndex:function(b){this.listBox.uncheckIndex(b)},indeterminateIndex:function(b){this.listBox.indeterminateIndex(b)},checkAll:function(){this.listBox.checkAll()},uncheckAll:function(){this.listBox.uncheckAll()},insertAt:function(c,b){if(c==null){return false}return this.listBox.insertAt(c,b)},addItem:function(b){return this.listBox.addItem(b)},removeAt:function(c){var b=this.listBox.removeAt(c);this.renderSelection("mouse");return b},ensureVisible:function(b){this.listBox.ensureVisible(b)},disableAt:function(b){this.listBox.disableAt(b)},enableAt:function(b){this.listBox.enableAt(b)},_findPos:function(c){while(c&&(c.type=="hidden"||c.nodeType!=1||a.expr.filters.hidden(c))){c=c.nextSibling}var b=a(c).coord();return[b.left,b.top]},testOffset:function(h,f,c){var g=h.outerWidth();var j=h.outerHeight();var i=a(window).width()+a(window).scrollLeft();var e=a(window).height()+a(window).scrollTop();if(f.left+g>i){if(g>this.host.width()){var d=this.host.coord().left;var b=g-this.host.width();f.left=d-b+2}}if(f.left<0){f.left=parseInt(this.host.coord().left)+"px"}f.top-=Math.min(f.top,(f.top+j>e&&e>j)?Math.abs(j+c+22):0);return f},open:function(){this.showListBox()},close:function(){this.hideListBox()},_getBodyOffset:function(){var c=0;var b=0;if(a("body").css("border-top-width")!="0px"){c=parseInt(a("body").css("border-top-width"));if(isNaN(c)){c=0}}if(a("body").css("border-left-width")!="0px"){b=parseInt(a("body").css("border-left-width"));if(isNaN(b)){b=0}}return{left:b,top:c}},showListBox:function(){if(this.dropDownWidth=="auto"&&this.width!=null&&this.width.indexOf&&this.width.indexOf("%")!=-1){if(this.listBox.host.width()!=this.host.width()){var c=this.host.width();this.listBoxContainer.jqxListBox({width:c});this.container.width(parseInt(c)+25)}}var p=this;var e=this.listBoxContainer;var j=this.listBox;var m=a(window).scrollTop();var h=a(window).scrollLeft();var k=parseInt(this._findPos(this.host[0])[1])+parseInt(this.host.outerHeight())-1+"px";var g=parseInt(this.host.coord().left)+"px";var o=a.jqx.mobile.isSafariMobileBrowser()||a.jqx.mobile.isWindowsPhone();if(this.listBox==null){return}var d=a.jqx.utilities.hasTransform(this.host);this.ishiding=false;if(!this.keyboardSelection){this.listBox.selectIndex(this.selectedIndex);this.listBox.ensureVisible(this.selectedIndex)}this.tempSelectedIndex=this.selectedIndex;if(this.autoDropDownHeight){this.container.height(this.listBoxContainer.height()+25)}if(d||(o!=null&&o)){g=a.jqx.mobile.getLeftPos(this.element);k=a.jqx.mobile.getTopPos(this.element)+parseInt(this.host.outerHeight());if(a("body").css("border-top-width")!="0px"){k=parseInt(k)-this._getBodyOffset().top+"px"}if(a("body").css("border-left-width")!="0px"){g=parseInt(g)-this._getBodyOffset().left+"px"}}e.stop();this.host.addClass(this.toThemeProperty("jqx-dropdownlist-state-selected"));this.host.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this.arrow.addClass(this.toThemeProperty("jqx-icon-arrow-down-selected"));this.container.css("left",g);this.container.css("top",k);j._arrange();var f=true;var q=false;if(this.dropDownHorizontalAlignment=="right"||this.rtl){var l=this.container.outerWidth();var b=Math.abs(l-this.host.outerWidth()+1);if(a.jqx.browser.chrome){b++}if(l>this.host.width()){this.container.css("left",25+parseInt(g)-b+"px")}else{this.container.css("left",25+parseInt(g)+b+"px")}}if(this.enableBrowserBoundsDetection){var i=this.testOffset(e,{left:parseInt(this.container.css("left")),top:parseInt(k)},parseInt(this.host.outerHeight()));if(parseInt(this.container.css("top"))!=i.top){q=true;e.css("top",23)}else{e.css("top",0)}this.container.css("top",i.top);if(parseInt(this.container.css("left"))!=i.left){this.container.css("left",i.left)}}if(this.animationType=="none"){this.container.css("display","block");a.data(document.body,"openedJQXListBoxParent",p);a.data(document.body,"openedJQXListBox"+this.id,e);e.css("margin-top",0);e.css("opacity",1)}else{this.container.css("display","block");p.isanimating=true;if(this.animationType=="fade"){e.css("margin-top",0);e.css("opacity",0);e.animate({opacity:1},this.openDelay,function(){a.data(document.body,"openedJQXListBoxParent",p);a.data(document.body,"openedJQXListBox"+p.id,e);p.ishiding=false;p.isanimating=false})}else{e.css("opacity",1);var n=e.outerHeight();if(q){e.css("margin-top",n)}else{e.css("margin-top",-n)}e.animate({"margin-top":0},this.openDelay,function(){a.data(document.body,"openedJQXListBoxParent",p);a.data(document.body,"openedJQXListBox"+p.id,e);p.ishiding=false;p.isanimating=false})}}j._renderItems();this._raiseEvent("0",j)},hideListBox:function(){var f=this.listBoxContainer;var g=this.listBox;var c=this.container;var d=this;a.data(document.body,"openedJQXListBox"+this.id,null);if(this.animationType=="none"){this.container.css("display","none")}else{if(!d.ishiding){f.stop();var b=f.outerHeight();f.css("margin-top",0);d.isanimating=true;var e=-b;if(parseInt(this.container.coord().top)<parseInt(this.host.coord().top)){e=b}if(this.animationType=="fade"){f.css({opacity:1});f.animate({opacity:0},this.closeDelay,function(){c.css("display","none");d.isanimating=false;d.ishiding=false})}else{f.animate({"margin-top":e},this.closeDelay,function(){c.css("display","none");d.isanimating=false;d.ishiding=false})}}}this.ishiding=true;this.host.removeClass(this.toThemeProperty("jqx-dropdownlist-state-selected"));this.host.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this.arrow.removeClass(this.toThemeProperty("jqx-icon-arrow-down-selected"));this._raiseEvent("1",g)},closeOpenedListBox:function(e){var d=e.data.me;var b=a(e.target);var c=e.data.listbox;if(c==null){return true}if(a(e.target).ischildof(e.data.me.host)){return true}if(!d.isOpened()){return true}var f=d;var g=false;a.each(b.parents(),function(){if(this.className!="undefined"){if(this.className.indexOf){if(this.className.indexOf("jqx-listbox")!=-1){g=true;return false}if(this.className.indexOf("jqx-dropdownlist")!=-1){if(d.element.id==this.id){g=true}return false}}}});if(c!=null&&!g&&d.isOpened()){d.hideListBox()}return true},loadFromSelect:function(b){this.listBox.loadFromSelect(b)},refresh:function(b){this._setSize();this._arrange();if(this.listBox){this.renderSelection()}},_arrange:function(){var f=parseInt(this.host.width());var b=parseInt(this.host.height());var e=this.arrowSize;var d=this.arrowSize;var g=3;var c=f-d-2*g;if(c>0){this.dropdownlistContent.width(c+"px")}this.dropdownlistContent.height(b);this.dropdownlistContent.css("left",0);this.dropdownlistContent.css("top",0);this.dropdownlistArrow.width(d);this.dropdownlistArrow.height(b);if(this.rtl){this.dropdownlistArrow.css("float","left");this.dropdownlistContent.css("float","right")}},destroy:function(){this.removeHandler(this.listBoxContainer,"select");this.removeHandler(this.listBoxContainer,"unselect");this.removeHandler(this.listBoxContainer,"change");this.removeHandler(this.dropdownlistWrapper,"selectstart");this.removeHandler(this.dropdownlistWrapper,"mousedown");this.removeHandler(this.host,"keydown");this.removeHandler(this.listBoxContainer,"select");this.removeHandler(this.listBox.content,"click");this.removeHandlers();this.listBoxContainer.jqxListBox("destroy");this.listBoxContainer.remove();this.host.removeClass();this.removeHandler(a(document),"mousedown."+this.id,this.closeOpenedListBox);if(this.touch){this.removeHandler(a(document),a.jqx.mobile.getTouchEventName("touchstart")+"."+this.id)}this.container.remove();this.host.remove()},_raiseEvent:function(f,c){if(c==undefined){c={owner:null}}var d=this.events[f];args=c;args.owner=this;var e=new jQuery.Event(d);e.owner=this;if(f==2||f==3||f==4||f==5){e.args=c}var b=this.host.trigger(e);return b},propertyChangedHandler:function(b,c,f,e){if(b.isInitialized==undefined||b.isInitialized==false){return}if(c=="autoOpen"){b._updateHandlers()}if(c=="emptyString"){b.listBox.emptyString=b.emptyString}if(c=="renderer"){b.listBox.renderer=b.renderer}if(c=="itemHeight"){b.listBox.itemHeight=e}if(c=="rtl"){if(e){b.dropdownlistArrow.css("float","left");b.dropdownlistContent.css("float","right")}else{b.dropdownlistArrow.css("float","right");b.dropdownlistContent.css("float","left")}b.listBoxContainer.jqxListBox({rtl:b.rtl})}if(c=="source"){b.listBoxContainer.jqxListBox({source:b.source});b.listBox.selectedIndex=-1;b.listBox.selectIndex(this.selectedIndex);b.renderSelection();if(e==null){b.clear()}}if(c=="displayMember"||c=="valueMember"){b.listBoxContainer.jqxListBox({displayMember:b.displayMember,valueMember:b.valueMember});b.renderSelection()}if(c=="theme"&&e!=null){b.listBoxContainer.jqxListBox({theme:e});b.dropdownlistContent.removeClass();b.dropdownlistContent.addClass(b.toThemeProperty("jqx-dropdownlist-content"));b.dropdownlistWrapper.removeClass();b.dropdownlistWrapper.addClass(b.toThemeProperty("jqx-disableselect"));b.host.removeClass();b.host.addClass(b.toThemeProperty("jqx-fill-state-normal"));b.host.addClass(b.toThemeProperty("jqx-dropdownlist-state-normal"));b.host.addClass(b.toThemeProperty("jqx-rc-all"));b.host.addClass(b.toThemeProperty("jqx-widget"));b.host.addClass(b.toThemeProperty("jqx-widget-content"));b.arrow.removeClass();b.arrow.addClass(b.toThemeProperty("jqx-icon-arrow-down"));b.arrow.addClass(b.toThemeProperty("icon"))}if(c=="autoDropDownHeight"){b.listBoxContainer.jqxListBox({autoHeight:b.autoDropDownHeight});if(b.autoDropDownHeight){b.container.height(b.listBoxContainer.height()+25)}else{b.listBoxContainer.jqxListBox({height:b.dropDownHeight});b.container.height(parseInt(b.dropDownHeight)+25)}}if(c=="searchMode"){b.listBoxContainer.jqxListBox({searchMode:b.searchMode})}if(c=="incrementalSearch"){b.listBoxContainer.jqxListBox({incrementalSearch:b.incrementalSearch})}if(c=="incrementalSearchDelay"){b.listBoxContainer.jqxListBox({incrementalSearchDelay:b.incrementalSearchDelay})}if(c=="dropDownHeight"){if(!b.autoDropDownHeight){b.listBoxContainer.jqxListBox({height:b.dropDownHeight});b.container.height(parseInt(b.dropDownHeight)+25)}}if(c=="dropDownWidth"||c=="scrollBarSize"){var d=b.width;if(b.dropDownWidth!="auto"){d=b.dropDownWidth}b.listBoxContainer.jqxListBox({width:d,scrollBarSize:b.scrollBarSize});b.container.width(parseInt(d)+25)}if(c=="width"||c=="height"){if(e!=f){this.refresh();if(c=="width"){if(b.dropDownWidth=="auto"){var d=b.host.width();b.listBoxContainer.jqxListBox({width:d});b.container.width(parseInt(d)+25)}}}}if(c=="checkboxes"){b.listBoxContainer.jqxListBox({checkboxes:b.checkboxes})}if(c=="selectedIndex"){if(b.listBox!=null){b.listBox.selectIndex(e);b.renderSelection()}}}})})(jQuery);
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function(a){a.jqx.jqxWidget("myWidget","",{});a.extend(a.jqx._myWidget.prototype,{var1:5,var2:10,foo:function(b){this.var1*=b},bar:function(){alert(this.var1)},createInstance:function(b){}});a.jqx.jqxWidget("jqxScrollBar","",{});a.extend(a.jqx._jqxScrollBar.prototype,{defineInstance:function(){this.height=null;this.width=null;this.vertical=false;this.min=0;this.max=1000;this.value=this.min;this.step=10;this.largestep=50;this.thumbMinSize=10;this.thumbSize=0;this.thumbStep="auto";this.roundedCorners="all";this.showButtons=true;this.disabled=false;this.touchMode="auto";this.touchModeStyle="auto";this.thumbTouchSize=8;this._triggervaluechanged=true;this.rtl=false;this.areaDownCapture=false;this.areaUpCapture=false;this._initialLayout=false},createInstance:function(b){this.render()},render:function(){this._mouseup=new Date();var b=this;var c="<div id='jqxScrollOuterWrap' style='width:100%; height: 100%; align:left; border: 0px; valign:top; position: relative;'><div id='jqxScrollWrap' style='width:100%; height: 100%; left: 0px; top: 0px; align:left; valign:top; position: absolute;'><div id='jqxScrollBtnUp' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='jqxScrollAreaUp' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='jqxScrollThumb' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='jqxScrollAreaDown' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='jqxScrollBtnDown' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div></div></div>";if(b.WinJS){MSApp.execUnsafeLocalFunction(function(){WinJS.Utilities.setInnerHTMLUnsafe(this.element,c)})}else{this.element.innerHTML=c}if(this.width!=undefined&&parseInt(this.width)>0){this.host.width(parseInt(this.width))}if(this.height!=undefined&&parseInt(this.height)>0){this.host.height(parseInt(this.height))}this.thumbCapture=false;this.btnUp=this.host.find("#jqxScrollBtnUp");this.btnDown=this.host.find("#jqxScrollBtnDown");this.btnThumb=this.host.find("#jqxScrollThumb");this.areaUp=this.host.find("#jqxScrollAreaUp");this.arrowUp=a("<div></div>");this.arrowUp.appendTo(this.btnUp);this.arrowDown=a("<div></div>");this.arrowDown.appendTo(this.btnDown);this.areaDown=this.host.find("#jqxScrollAreaDown");this.scrollWrap=this.host.find("#jqxScrollWrap");this.scrollOuterWrap=this.host.find("#jqxScrollOuterWrap");this.btnUp[0].id="jqxScrollBtnUp"+this.element.id;this.btnDown[0].id="jqxScrollBtnDown"+this.element.id;this.btnThumb[0].id="jqxScrollThumb"+this.element.id;this.areaUp[0].id="jqxScrollAreaUp"+this.element.id;this.areaDown[0].id="jqxScrollAreaDown"+this.element.id;this.scrollWrap[0].id="jqxScrollWrap"+this.element.id;this.scrollOuterWrap[0].id="jqxScrollOuterWrap"+this.element.id;if(!this.host.jqxRepeatButton){throw new Error("jqxScrollBar: Missing reference to jqxbuttons.js.");return}this.btnUp.jqxRepeatButton({overrideTheme:true,disabled:this.disabled});this.btnDown.jqxRepeatButton({overrideTheme:true,disabled:this.disabled});this.btnDownInstance=a.data(this.btnDown[0],"jqxRepeatButton").instance;this.btnUpInstance=a.data(this.btnUp[0],"jqxRepeatButton").instance;this.areaUp.jqxRepeatButton({overrideTheme:true});this.areaDown.jqxRepeatButton({overrideTheme:true});this.btnThumb.jqxButton({overrideTheme:true,disabled:this.disabled});this.propertyChangeMap.value=function(d,f,e,g){if(!(isNaN(g))){if(e!=g){d.setPosition(parseFloat(g),true)}}};this.propertyChangeMap.width=function(d,f,e,g){if(d.width!=undefined&&parseInt(d.width)>0){d.host.width(parseInt(d.width));d._arrange()}};this.propertyChangeMap.height=function(d,f,e,g){if(d.height!=undefined&&parseInt(d.height)>0){d.host.height(parseInt(d.height));d._arrange()}};this.propertyChangeMap.theme=function(d,f,e,g){d.setTheme()};this.propertyChangeMap.max=function(d,f,e,g){if(!(isNaN(g))){if(e!=g){d.max=parseInt(g);if(d.min>d.max){d.max=d.min+1}d._arrange();d.setPosition(d.value)}}};this.propertyChangeMap.min=function(d,f,e,g){if(!(isNaN(g))){if(e!=g){d.min=parseInt(g);if(d.min>d.max){d.max=d.min+1}d._arrange();d.setPosition(d.value)}}};this.propertyChangeMap.disabled=function(d,f,e,g){if(e!=g){if(g){d.host.addClass(d.toThemeProperty("jqx-fill-state-disabled"))}else{d.host.removeClass(d.toThemeProperty("jqx-fill-state-disabled"))}d.btnUp.jqxRepeatButton("disabled",d.disabled);d.btnDown.jqxRepeatButton("disabled",d.disabled);d.btnThumb.jqxButton("disabled",d.disabled)}};this.propertyChangeMap.touchMode=function(d,f,e,g){if(e!=g){d._updateTouchBehavior()}};this.buttonUpCapture=false;this.buttonDownCapture=false;this._updateTouchBehavior();this.setPosition(this.value);this._addHandlers();this.setTheme()},_updateTouchBehavior:function(){this.isTouchDevice=a.jqx.mobile.isTouchDevice();if(this.touchMode==true){this.isTouchDevice=true;a.jqx.mobile.setMobileSimulator(this.btnThumb[0]);this._removeHandlers();this._addHandlers();this.setTheme()}else{if(this.touchMode==false){this.isTouchDevice=false}}},_addHandlers:function(){var d=this;if(d.isTouchDevice){this.addHandler(this.btnThumb,a.jqx.mobile.getTouchEventName("touchend"),function(i){var j=d.vertical?d.toThemeProperty("jqx-scrollbar-thumb-state-pressed"):d.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal");var k=d.toThemeProperty("jqx-fill-state-pressed");d.btnThumb.removeClass(j);d.btnThumb.removeClass(k);if(!d.disabled){d.handlemouseup(d,i)}});this.addHandler(this.btnThumb,a.jqx.mobile.getTouchEventName("touchstart"),function(i){if(!d.disabled){if(d.touchMode==true){i.clientX=i.originalEvent.clientX;i.clientY=i.originalEvent.clientY}else{var j=i;if(j.originalEvent.touches&&j.originalEvent.touches.length){i.clientX=j.originalEvent.touches[0].clientX;i.clientY=j.originalEvent.touches[0].clientY}else{i.clientX=i.originalEvent.clientX;i.clientY=i.originalEvent.clientY}}d.handlemousedown(i)}});a.jqx.mobile.touchScroll(this.element,d.max,function(o,n,j,i,k){if(d.host.css("visibility")=="visible"){if(d.touchMode==true){k.clientX=k.originalEvent.clientX;k.clientY=k.originalEvent.clientY}else{var m=k;if(m.originalEvent.touches&&m.originalEvent.touches.length){k.clientX=m.originalEvent.touches[0].clientX;k.clientY=m.originalEvent.touches[0].clientY}else{k.clientX=k.originalEvent.clientX;k.clientY=k.originalEvent.clientY}}var l=d.vertical?d.toThemeProperty("jqx-scrollbar-thumb-state-pressed"):d.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal");d.btnThumb.addClass(l);d.btnThumb.addClass(d.toThemeProperty("jqx-fill-state-pressed"));d.handlemousemove(k)}},d.element.id)}this.addHandler(this.btnUp,"click",function(j){var i=d.step;if(d.rtl&&!d.vertical){i=-d.step}if(d.buttonUpCapture&&!d.isTouchDevice){if(!d.disabled){d.setPosition(d.value-i)}}else{if(!d.disabled&&d.isTouchDevice){d.setPosition(d.value-i)}}});this.addHandler(this.btnDown,"click",function(j){var i=d.step;if(d.rtl&&!d.vertical){i=-d.step}if(d.buttonDownCapture&&!d.isTouchDevice){if(!d.disabled){d.setPosition(d.value+i)}}else{if(!d.disabled&&d.isTouchDevice){d.setPosition(d.value+i)}}});if(!this.isTouchDevice){try{if(document.referrer!=""||window.frameElement){if(window.top!=null&&window.top!=window.self){var h=null;if(window.parent&&document.referrer){h=document.referrer}if(h&&h.indexOf(document.location.host)!=-1){var f=function(i){if(!d.disabled){d.handlemouseup(d,i)}};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",f,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",f)}}}}}}catch(e){}this.addHandler(this.btnDown,"mouseup",function(j){if(!d.btnDownInstance.base.disabled&&d.buttonDownCapture){d.buttonDownCapture=false;d.btnDown.removeClass(d.toThemeProperty("jqx-scrollbar-button-state-pressed"));d.btnDown.removeClass(d.toThemeProperty("jqx-fill-state-pressed"));d._removeArrowClasses("pressed","down");d.handlemouseup(d,j);var i=d.step;if(d.rtl&&!d.vertical){i=-d.step}d.setPosition(d.value+i);return false}});this.addHandler(this.btnUp,"mouseup",function(j){if(!d.btnUpInstance.base.disabled&&d.buttonUpCapture){d.buttonUpCapture=false;d.btnUp.removeClass(d.toThemeProperty("jqx-scrollbar-button-state-pressed"));d.btnUp.removeClass(d.toThemeProperty("jqx-fill-state-pressed"));d._removeArrowClasses("pressed","up");d.handlemouseup(d,j);var i=d.step;if(d.rtl&&!d.vertical){i=-d.step}d.setPosition(d.value-i);return false}});this.addHandler(this.btnDown,"mousedown",function(i){if(!d.btnDownInstance.base.disabled){d.buttonDownCapture=true;d.btnDown.addClass(d.toThemeProperty("jqx-fill-state-pressed"));d.btnDown.addClass(d.toThemeProperty("jqx-scrollbar-button-state-pressed"));d._addArrowClasses("pressed","down");return false}});this.addHandler(this.btnUp,"mousedown",function(i){if(!d.btnUpInstance.base.disabled){d.buttonUpCapture=true;d.btnUp.addClass(d.toThemeProperty("jqx-fill-state-pressed"));d.btnUp.addClass(d.toThemeProperty("jqx-scrollbar-button-state-pressed"));d._addArrowClasses("pressed","up");return false}})}var c="click";if(this.isTouchDevice){c=a.jqx.mobile.getTouchEventName("touchend")}this.addHandler(this.areaUp,c,function(j){if(!d.disabled){var i=d.largestep;if(d.rtl&&!d.vertical){i=-d.largestep}d.setPosition(d.value-i);return false}});this.addHandler(this.areaDown,c,function(j){if(!d.disabled){var i=d.largestep;if(d.rtl&&!d.vertical){i=-d.largestep}d.setPosition(d.value+i);return false}});this.addHandler(this.areaUp,"mousedown",function(i){if(!d.disabled){d.areaUpCapture=true;return false}});this.addHandler(this.areaDown,"mousedown",function(i){if(!d.disabled){d.areaDownCapture=true;return false}});this.addHandler(this.btnThumb,"mousedown",function(i){if(!d.disabled){d.handlemousedown(i)}return false});this.addHandler(this.btnThumb,"dragstart",function(i){return false});this.addHandler(a(document),"mouseup."+this.element.id,function(i){if(!d.disabled){d.handlemouseup(d,i)}});if(!this.isTouchDevice){var g=function(i){if(!d.disabled){d.handlemousemove(i)}};this.addHandler(a(document),"mousemove."+this.element.id,g);this.addHandler(a(document),"mouseleave."+this.element.id,function(i){if(!d.disabled){d.handlemouseleave(i)}});this.addHandler(a(document),"mouseenter."+this.element.id,function(i){if(!d.disabled){d.handlemouseenter(i)}});if(!d.disabled){this.addHandler(this.btnUp,"mouseenter",function(){if(!d.disabled&&!d.btnUpInstance.base.disabled&&d.touchMode!=true){d.btnUp.addClass(d.toThemeProperty("jqx-scrollbar-button-state-hover"));d.btnUp.addClass(d.toThemeProperty("jqx-fill-state-hover"));d._addArrowClasses("hover","up")}});this.addHandler(this.btnUp,"mouseleave",function(){if(!d.disabled&&!d.btnUpInstance.base.disabled&&d.touchMode!=true){d.btnUp.removeClass(d.toThemeProperty("jqx-scrollbar-button-state-hover"));d.btnUp.removeClass(d.toThemeProperty("jqx-fill-state-hover"));d._removeArrowClasses("hover","up")}});var b=d.toThemeProperty("jqx-scrollbar-thumb-state-hover");if(!d.vertical){b=d.toThemeProperty("jqx-scrollbar-thumb-state-hover-horizontal")}this.addHandler(this.btnThumb,"mouseenter",function(){if(!d.disabled&&d.touchMode!=true){d.btnThumb.addClass(b);d.btnThumb.addClass(d.toThemeProperty("jqx-fill-state-hover"))}});this.addHandler(this.btnThumb,"mouseleave",function(){if(!d.disabled&&d.touchMode!=true){d.btnThumb.removeClass(b);d.btnThumb.removeClass(d.toThemeProperty("jqx-fill-state-hover"))}});this.addHandler(this.btnDown,"mouseenter",function(){if(!d.disabled&&!d.btnDownInstance.base.disabled&&d.touchMode!=true){d.btnDown.addClass(d.toThemeProperty("jqx-scrollbar-button-state-hover"));d.btnDown.addClass(d.toThemeProperty("jqx-fill-state-hover"));d._addArrowClasses("hover","down")}});this.addHandler(this.btnDown,"mouseleave",function(){if(!d.disabled&&!d.btnDownInstance.base.disabled&&d.touchMode!=true){d.btnDown.removeClass(d.toThemeProperty("jqx-scrollbar-button-state-hover"));d.btnDown.removeClass(d.toThemeProperty("jqx-fill-state-hover"));d._removeArrowClasses("hover","down")}})}}},destroy:function(){var b=this.btnUp;var f=this.btnDown;var d=this.btnThumb;var c=this.scrollWrap;var g=this.areaUp;var e=this.areaDown;e.removeClass();g.removeClass();f.removeClass();b.removeClass();d.removeClass();b.jqxRepeatButton("destroy");f.jqxRepeatButton("destroy");g.jqxRepeatButton("destroy");e.jqxRepeatButton("destroy");d.jqxButton("destroy");this._removeHandlers();this.host.removeClass();this.host.removeData();this.host.remove();this.host=null;this.btnUp=null;this.btnDown=null;this.scrollWrap=null;this.areaUp=null;this.areaDown=null},_removeHandlers:function(){this.removeHandler(this.btnUp,"mouseenter");this.removeHandler(this.btnDown,"mouseenter");this.removeHandler(this.btnThumb,"mouseenter");this.removeHandler(this.btnUp,"mouseleave");this.removeHandler(this.btnDown,"mouseleave");this.removeHandler(this.btnThumb,"mouseleave");this.removeHandler(this.btnUp,"click");this.removeHandler(this.btnDown,"click");this.removeHandler(this.btnDown,"mouseup");this.removeHandler(this.btnUp,"mouseup");this.removeHandler(this.btnDown,"mousedown");this.removeHandler(this.btnUp,"mousedown");this.removeHandler(this.areaUp,"mousedown");this.removeHandler(this.areaDown,"mousedown");this.removeHandler(this.areaUp,"click");this.removeHandler(this.areaDown,"click");this.removeHandler(this.btnThumb,"mousedown");this.removeHandler(this.btnThumb,"dragstart");this.removeHandler(a(document),"mouseup."+this.element.id);this.removeHandler(a(document),"mousemove."+this.element.id);this.removeHandler(a(document),"mouseleave."+this.element.id);this.removeHandler(a(document),"mouseenter."+this.element.id);var b=this},_addArrowClasses:function(c,b){if(c=="pressed"){c="selected"}if(c!=""){c="-"+c}if(this.vertical){if(b=="up"||b==undefined){this.arrowUp.addClass(this.toThemeProperty("jqx-icon-arrow-up"+c))}if(b=="down"||b==undefined){this.arrowDown.addClass(this.toThemeProperty("jqx-icon-arrow-down"+c))}}else{if(b=="up"||b==undefined){this.arrowUp.addClass(this.toThemeProperty("jqx-icon-arrow-left"+c))}if(b=="down"||b==undefined){this.arrowDown.addClass(this.toThemeProperty("jqx-icon-arrow-right"+c))}}},_removeArrowClasses:function(c,b){if(c=="pressed"){c="selected"}if(c!=""){c="-"+c}if(this.vertical){if(b=="up"||b==undefined){this.arrowUp.removeClass(this.toThemeProperty("jqx-icon-arrow-up"+c))}if(b=="down"||b==undefined){this.arrowDown.removeClass(this.toThemeProperty("jqx-icon-arrow-down"+c))}}else{if(b=="up"||b==undefined){this.arrowUp.removeClass(this.toThemeProperty("jqx-icon-arrow-left"+c))}if(b=="down"||b==undefined){this.arrowDown.removeClass(this.toThemeProperty("jqx-icon-arrow-right"+c))}}},setTheme:function(){var o=this.btnUp;var m=this.btnDown;var p=this.btnThumb;var e=this.scrollWrap;var g=this.areaUp;var h=this.areaDown;var f=this.arrowUp;var i=this.arrowDown;this.scrollWrap[0].className=this.toThemeProperty("jqx-reset");this.scrollOuterWrap[0].className=this.toThemeProperty("jqx-reset");var k=this.toThemeProperty("jqx-reset");this.areaDown[0].className=k;this.areaUp[0].className=k;var d=this.toThemeProperty("jqx-scrollbar")+" "+this.toThemeProperty("jqx-widget")+" "+this.toThemeProperty("jqx-widget-content");this.element.className=d;m[0].className=this.toThemeProperty("jqx-scrollbar-button-state-normal");o[0].className=this.toThemeProperty("jqx-scrollbar-button-state-normal");var q="";if(this.vertical){f[0].className=k+" "+this.toThemeProperty("jqx-icon-arrow-up");i[0].className=k+" "+this.toThemeProperty("jqx-icon-arrow-down");q=this.toThemeProperty("jqx-scrollbar-thumb-state-normal")}else{f[0].className=k+" "+this.toThemeProperty("jqx-icon-arrow-left");i[0].className=k+" "+this.toThemeProperty("jqx-icon-arrow-right");q=this.toThemeProperty("jqx-scrollbar-thumb-state-normal-horizontal")}q+=" "+this.toThemeProperty("jqx-fill-state-normal");p[0].className=q;if(this.disabled){e.addClass(this.toThemeProperty("jqx-fill-state-disabled"));e.removeClass(this.toThemeProperty("jqx-scrollbar-state-normal"))}else{e.addClass(this.toThemeProperty("jqx-scrollbar-state-normal"));e.removeClass(this.toThemeProperty("jqx-fill-state-disabled"))}if(this.roundedCorners=="all"){if(this.vertical){var j=a.jqx.cssroundedcorners("top");j=this.toThemeProperty(j);o.addClass(j);var c=a.jqx.cssroundedcorners("bottom");c=this.toThemeProperty(c);m.addClass(c)}else{var n=a.jqx.cssroundedcorners("left");n=this.toThemeProperty(n);o.addClass(n);var l=a.jqx.cssroundedcorners("right");l=this.toThemeProperty(l);m.addClass(l)}}else{var b=a.jqx.cssroundedcorners(this.roundedCorners);b=this.toThemeProperty(b);elBtnUp.addClass(b);elBtnDown.addClass(b)}var b=a.jqx.cssroundedcorners(this.roundedCorners);b=this.toThemeProperty(b);if(!p.hasClass(b)){p.addClass(b)}if(this.isTouchDevice&&this.touchModeStyle!=false){this.showButtons=false;p.addClass(this.toThemeProperty("jqx-scrollbar-thumb-state-normal-touch"))}},isScrolling:function(){if(this.thumbCapture==undefined||this.buttonDownCapture==undefined||this.buttonUpCapture==undefined||this.areaDownCapture==undefined||this.areaUpCapture==undefined){return false}return this.thumbCapture||this.buttonDownCapture||this.buttonUpCapture||this.areaDownCapture||this.areaUpCapture},handlemousedown:function(c){if(this.thumbCapture==undefined||this.thumbCapture==false){this.thumbCapture=true;var b=this.btnThumb;if(b!=null){b.addClass(this.toThemeProperty("jqx-fill-state-pressed"));if(this.vertical){b.addClass(this.toThemeProperty("jqx-scrollbar-thumb-state-pressed"))}else{b.addClass(this.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal"))}}}this.dragStartX=c.clientX;this.dragStartY=c.clientY;this.dragStartValue=this.value},toggleHover:function(c,b){},refresh:function(){this._arrange()},_setElementPosition:function(c,b,d){if(!isNaN(b)){if(parseInt(c[0].style.left)!=parseInt(b)){c[0].style.left=b+"px"}}if(!isNaN(d)){if(parseInt(c[0].style.top)!=parseInt(d)){c[0].style.top=d+"px"}}},_setElementTopPosition:function(b,c){if(!isNaN(c)){b[0].style.top=c+"px"}},_setElementLeftPosition:function(c,b){if(!isNaN(b)){c[0].style.left=b+"px"}},handlemouseleave:function(e){var b=this.btnUp;var d=this.btnDown;b.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));d.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));this._removeArrowClasses("pressed");if(this.thumbCapture!=true){return}var c=this.btnThumb;var f=this.vertical?this.toThemeProperty("jqx-scrollbar-thumb-state-pressed"):this.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal");c.removeClass(f);c.removeClass(this.toThemeProperty("jqx-fill-state-pressed"))},handlemouseenter:function(e){var b=this.btnUp;var d=this.btnDown;if(this.buttonUpCapture){b.addClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));b.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this._addArrowClasses("pressed","up")}if(this.buttonDownCapture){d.addClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));d.addClass(this.toThemeProperty("jqx-fill-state-pressed"));this._addArrowClasses("pressed","down")}if(this.thumbCapture!=true){return}var c=this.btnThumb;if(this.vertical){c.addClass(this.toThemeProperty("jqx-scrollbar-thumb-state-pressed"))}else{c.addClass(this.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal"))}c.addClass(this.toThemeProperty("jqx-fill-state-pressed"))},handlemousemove:function(b){var i=this.btnUp;var e=this.btnDown;var d=0;if(e==null||i==null){return}if(i!=null&&e!=null&&this.buttonDownCapture!=undefined&&this.buttonUpCapture!=undefined){if(this.buttonDownCapture&&b.which==d){e.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));e.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this._removeArrowClasses("pressed","down");this.buttonDownCapture=false}else{if(this.buttonUpCapture&&b.which==d){i.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));i.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this._removeArrowClasses("pressed","up");this.buttonUpCapture=false}}}if(this.thumbCapture!=true){return false}var k=this.btnThumb;if(b.which==d&&!this.isTouchDevice){this.thumbCapture=false;this._arrange();var j=this.vertical?this.toThemeProperty("jqx-scrollbar-thumb-state-pressed"):this.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal");k.removeClass(j);k.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));return true}if(b.preventDefault!=undefined){b.preventDefault()}if(b.originalEvent!=null){b.originalEvent.mouseHandled=true}if(b.stopPropagation!=undefined){b.stopPropagation()}var l=0;try{if(!this.vertical){l=b.clientX-this.dragStartX}else{l=b.clientY-this.dragStartY}var f=this._btnAndThumbSize;if(!this._btnAndThumbSize){f=(this.vertical)?i.height()+e.height()+k.height():i.width()+e.width()+k.width()}var g=(this.max-this.min)/(this.scrollBarSize-f);if(this.thumbStep=="auto"){l*=g}else{l*=g;if(Math.abs(this.dragStartValue+l-this.value)>=parseInt(this.thumbStep)){var c=Math.round(parseInt(l)/this.thumbStep)*this.thumbStep;if(this.rtl&&!this.vertical){this.setPosition(this.dragStartValue-c)}else{this.setPosition(this.dragStartValue+c)}return false}else{return false}}var c=l;if(this.rtl&&!this.vertical){c=-l}this.setPosition(this.dragStartValue+c)}catch(h){alert(h)}return false},handlemouseup:function(d,g){var c=false;if(this.thumbCapture){this.thumbCapture=false;var e=this.btnThumb;var h=this.vertical?this.toThemeProperty("jqx-scrollbar-thumb-state-pressed"):this.toThemeProperty("jqx-scrollbar-thumb-state-pressed-horizontal");e.removeClass(h);e.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));c=true;this._mouseup=new Date()}this.areaDownCapture=this.areaUpCapture=false;if(this.buttonUpCapture||this.buttonDownCapture){var b=this.btnUp;var f=this.btnDown;this.buttonUpCapture=false;this.buttonDownCapture=false;b.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));f.removeClass(this.toThemeProperty("jqx-scrollbar-button-state-pressed"));b.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));f.removeClass(this.toThemeProperty("jqx-fill-state-pressed"));this._removeArrowClasses("pressed");c=true;this._mouseup=new Date()}if(c){if(g.preventDefault!=undefined){g.preventDefault()}if(g.originalEvent!=null){g.originalEvent.mouseHandled=true}if(g.stopPropagation!=undefined){g.stopPropagation()}}},setPosition:function(b,g){var d=this.element;if(b==undefined||b==NaN){b=this.min}if(b>=this.max){b=this.max}if(b<this.min){b=this.min}if(this.value!==b||g==true){if(b==this.max){var c=new jQuery.Event("complete");this.host.trigger(c)}var f=this.value;if(this._triggervaluechanged){var e=new jQuery.Event("valuechanged");e.previousValue=this.value;e.currentValue=b}this.value=b;this._positionelements();if(this._triggervaluechanged){this.host.trigger(e)}if(this.valuechanged){this.valuechanged({currentValue:this.value,previousvalue:f})}}return b},_getThumbSize:function(b){var d=this.max-this.min;var c=0;if(d>1){c=(b/(d+b)*b)}else{if(d==1){c=b}}if(this.thumbSize>0){c=this.thumbSize}if(c<this.thumbMinSize){c=this.thumbMinSize}return Math.min(c,b)},_positionelements:function(){var g=this.element;var n=this.areaUp;var e=this.areaDown;var h=this.btnUp;var f=this.btnDown;var o=this.btnThumb;var b=this.scrollWrap;var p=this._height?this._height:this.host.height();var c=this._width?this._width:this.host.width();var l=(!this.vertical)?p:c;if(!this.showButtons){l=0}var m=(!this.vertical)?c:p;this.scrollBarSize=m;var d=this._getThumbSize(m-2*l);d=Math.round(d);if(d<this.thumbMinSize){d=this.thumbMinSize}if(p==NaN||p<10){p=10}if(c==NaN||c<10){c=10}l+=2;this.btnSize=l;var i=this._btnAndThumbSize;if(!this._btnAndThumbSize){var i=(this.vertical)?2*this.btnSize+o.outerHeight():2*this.btnSize+o.outerWidth();i=Math.round(i)}var k=(m-i)/(this.max-this.min)*(this.value-this.min);if(this.rtl&&!this.vertical){k=(m-i)/(this.max-this.min)*(this.max-this.value-this.min)}k=Math.round(k);if(k<0){k=0}if(this.vertical){var j=m-k-i;if(j<0){j=0}e[0].style.height=j+"px";n[0].style.height=k+"px";this._setElementTopPosition(n,l);this._setElementTopPosition(o,l+k);this._setElementTopPosition(e,l+k+d)}else{n[0].style.width=k+"px";e[0].style.width=m-k-i+"px";this._setElementLeftPosition(n,l);this._setElementLeftPosition(o,l+k);this._setElementLeftPosition(e,2+l+k+d)}},_arrange:function(){if(this._initialLayout){this._initialLayout=false;return}var d=this.element;var g=this.areaUp;var q=this.areaDown;var c=this.btnUp;var k=this.btnDown;var r=this.btnThumb;var n=this.scrollWrap;var l=parseInt(this.element.style.height);var o=parseInt(this.element.style.width);if(isNaN(l)){l=0}if(isNaN(o)){o=0}this._width=o;this._height=l;var b=(!this.vertical)?l:o;if(!this.showButtons){b=0}c[0].style.width=b+"px";c[0].style.height=b+"px";k[0].style.width=b+"px";k[0].style.height=b+"px";if(this.vertical){n[0].style.width=o+2+"px"}else{n[0].style.height=l+2+"px"}this._setElementPosition(c,0,0);if(this.vertical){this._setElementPosition(k,0,l-k.outerHeight())}else{this._setElementPosition(k,o-k.outerWidth(),0)}var e=(!this.vertical)?o:l;this.scrollBarSize=e;var h=this._getThumbSize(e-2*b);h=Math.round(h);if(h<this.thumbMinSize){h=this.thumbMinSize}var m=false;if(this.isTouchDevice&&this.touchModeStyle!=false){m=true}if(!this.vertical){r[0].style.width=h+"px";r[0].style.height=l+"px";if(m){r.css({height:this.thumbTouchSize+"px"});r.css("margin-top",(this.host.height()-this.thumbTouchSize)/2)}}else{r[0].style.width=o+"px";r[0].style.height=h+"px";if(m){r.css({width:this.thumbTouchSize+"px"});r.css("margin-left",(this.host.width()-this.thumbTouchSize)/2)}}if(l==NaN||l<10){l=10}if(o==NaN||o<10){o=10}b+=2;this.btnSize=b;var f=(this.vertical)?2*this.btnSize+(2+parseInt(r[0].style.height)):2*this.btnSize+(2+parseInt(r[0].style.width));f=Math.round(f);this._btnAndThumbSize=f;var t=(e-f)/(this.max-this.min)*(this.value-this.min);if(this.rtl&&!this.vertical){t=(e-f)/(this.max-this.min)*(this.max-this.value-this.min)}t=Math.round(t);if(t===-Infinity||t==Infinity){t=0}if(isNaN(t)){t=0}if(t<0){t=0}if(this.vertical){var s=(e-t-f);if(s<0){s=0}q[0].style.height=s+"px";q[0].style.width=o+"px";g[0].style.height=t+"px";g[0].style.width=o+"px";var i=parseInt(this.host.height());r[0].style.visibility="inherit";if(i-3*parseInt(b)<0){r[0].style.visibility="hidden"}else{if(i<f){r[0].style.visibility="hidden"}else{if(this.element.style.visibility=="visible"){r[0].style.visibility="inherit"}}}this._setElementPosition(g,0,b);this._setElementPosition(r,0,b+t);this._setElementPosition(q,0,b+t+h)}else{if(t>0){g[0].style.width=t+"px"}if(l>0){g[0].style.height=l+"px"}var j=(e-t-f);if(j<0){j=0}q[0].style.width=j+"px";q[0].style.height=l+"px";var p=parseInt(this.host.width());r[0].style.visibility="inherit";if(p-3*parseInt(b)<0){r[0].style.visibility="hidden"}else{if(p<f){r[0].style.visibility="hidden"}else{if(this.element.style.visibility=="visible"){r[0].style.visibility="inherit"}}}this._setElementPosition(g,b,0);this._setElementPosition(r,b+t,0);this._setElementPosition(q,2+b+t+h,0)}}})})(jQuery);
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function(a){a.jqx.jqxWidget("jqxMenu","",{});a.extend(a.jqx._jqxMenu.prototype,{defineInstance:function(){this.items=new Array();this.mode="horizontal";this.width=null;this.height=null;this.easing="easeInOutSine";this.animationShowDuration=200;this.animationHideDuration=200;this.autoCloseInterval=0;this.animationHideDelay=100;this.animationShowDelay=100;this.menuElements=new Array();this.autoSizeMainItems=false;this.autoCloseOnClick=true;this.autoCloseOnMouseLeave=true;this.enableRoundedCorners=true;this.disabled=false;this.autoOpenPopup=true;this.enableHover=true;this.autoOpen=true;this.autoGenerate=true;this.clickToOpen=false;this.showTopLevelArrows=false;this.touchMode="auto";this.source=null;this.popupZIndex=20000;this.rtl=false;this.events=["shown","closed","itemclick","initialized"]},createInstance:function(d){var c=this;this.host.css("display","block");this.propertyChangeMap.disabled=function(h,k,j,l){if(c.disabled){c.host.addClass(c.toThemeProperty("jqx-fill-state-disabled"));c.host.addClass(c.toThemeProperty("jqx-menu-disabled"))}else{c.host.removeClass(c.toThemeProperty("jqx-fill-state-disabled"));c.host.removeClass(c.toThemeProperty("jqx-menu-disabled"))}};this.setSize();var b=false;var f=this;if(f.width!=null&&f.width.toString().indexOf("%")!=-1){b=true}if(f.height!=null&&f.height.toString().indexOf("%")!=-1){b=true}this.addHandler(a(window),"resize.menu"+this.element.id,function(){if(b){if(f.refreshTimer){clearTimeout(f.refreshTimer)}f.refreshTimer=setTimeout(function(){f.refresh()},1)}});if(b){setInterval(function(){var j=f.host.width();var h=f.host.height();if(f._lastWidth!=j||f._lastHeight!=h){f.refresh()}f._lastWidth=j;f._lastHeight=h},100)}if(this.disabled){this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled"));this.host.addClass(this.toThemeProperty("jqx-menu-disabled"))}this.host.attr("tabIndex",1);this.host.css("outline","none");if(this.source){if(this.source!=null){var e=this.loadItems(this.source);this.element.innerHTML=e}}if(this.element.innerHTML.indexOf("UL")){var g=this.host.find("ul:first");if(g.length>0){this._createMenu(g[0])}}this.host.data("autoclose",{});this._render();var f=this;if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.host.attr("hideFocus",true)}},focus:function(){try{this.host.focus()}catch(b){}},loadItems:function(c,e){if(c==null){return}if(c.length==0){return""}var b=this;this.items=new Array();var d="<ul>";if(e){d='<ul style="width:'+e+';">'}a.map(c,function(f){if(f==undefined){return null}d+=b._parseItem(f)});d+="</ul>";return d},_parseItem:function(f){var c="";if(f==undefined){return null}var b=f.label;if(!f.label&&f.html){b=f.html}if(!b){b="Item"}if(typeof f==="string"){b=f}var e=false;if(f.selected!=undefined&&f.selected){e=true}var d=false;if(f.disabled!=undefined&&f.disabled){d=true}c+="<li";if(d){c+=' item-disabled="true" '}if(f.label&&!f.html){c+=' item-label="'+b+'" '}if(f.value!=null){c+=' item-value="'+f.value+'" '}if(f.id!=undefined){c+=' id="'+f.id+'" '}c+=">"+b;if(f.items){if(f.subMenuWidth){c+=this.loadItems(f.items,f.subMenuWidth)}else{c+=this.loadItems(f.items)}}c+="</li>";return c},setSize:function(){if(this.width!=null&&this.width.toString().indexOf("%")!=-1){this.host.width(this.width)}else{if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.host.width(this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.width(this.width)}}}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){this.host.height(this.height)}else{if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.host.height(this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.height(this.height)}}}},isTouchDevice:function(){if(this._isTouchDevice!=undefined){return this._isTouchDevice}var b=a.jqx.mobile.isTouchDevice();if(this.touchMode==true){b=true}else{if(this.touchMode==false){b=false}}if(b){this.host.addClass(this.toThemeProperty("jqx-touch"));a(".jqx-menu-item").addClass(this.toThemeProperty("jqx-touch"))}this._isTouchDevice=b;return b},refresh:function(b){if(!b){this.setSize()}},_closeAll:function(f){var d=f!=null?f.data:this;var b=d.items;a.each(b,function(){var e=this;if(e.hasItems==true){if(e.isOpen){d._closeItem(d,e)}}});if(d.mode=="popup"){if(f!=null){var c=d._isRightClick(f);if(!c){d.close()}}}},closeItem:function(e){if(e==null){return false}var b=e;var c=document.getElementById(b);var d=this;a.each(d.items,function(){var f=this;if(f.isOpen==true&&f.element==c){d._closeItem(d,f);if(f.parentId){d.closeItem(f.parentId)}}});return true},openItem:function(e){if(e==null){return false}var b=e;var c=document.getElementById(b);var d=this;a.each(d.items,function(){var f=this;if(f.isOpen==false&&f.element==c){d._openItem(d,f);if(f.parentId){d.openItem(f.parentId)}}});return true},_getClosedSubMenuOffset:function(c){var b=a(c.subMenuElement);var f=-b.outerHeight();var e=-b.outerWidth();var d=c.level==0&&this.mode=="horizontal";if(d){e=0}else{f=0}switch(c.openVerticalDirection){case"up":case"center":f=b.outerHeight();break}switch(c.openHorizontalDirection){case this._getDir("left"):if(d){e=0}else{e=b.outerWidth()}break;case"center":if(d){e=0}else{e=b.outerWidth()}break}return{left:e,top:f}},_closeItem:function(l,o,g,c){if(l==null||o==null){return false}var j=a(o.subMenuElement);var b=o.level==0&&this.mode=="horizontal";var f=this._getClosedSubMenuOffset(o);var m=f.top;var e=f.left;$menuElement=a(o.element);var k=j.closest("div.jqx-menu-popup");if(k!=null){var h=l.animationHideDelay;if(c==true){h=0}if(j.data("timer").show!=null){clearTimeout(j.data("timer").show);j.data("timer").show=null}var n=function(){o.isOpen=false;if(!a.jqx.browser.msie&&this.animationtype=="fade"){}if(b){if(!a.jqx.browser.msie){}j.stop().animate({top:m},l.animationHideDuration,function(){a(o.element).removeClass(l.toThemeProperty("jqx-fill-state-pressed"));a(o.element).removeClass(l.toThemeProperty("jqx-menu-item-top-selected"));var p=a(o.arrow);if(p.length>0&&l.showTopLevelArrows){p.removeClass();if(o.openVerticalDirection=="down"){p.addClass(l.toThemeProperty("jqx-menu-item-arrow-down"))}else{p.addClass(l.toThemeProperty("jqx-menu-item-arrow-up"))}}k.css({display:"none"});if(l.animationHideDuration==0){j.css({top:m})}l._raiseEvent("1",o)})}else{if(!a.jqx.browser.msie){}j.stop().animate({left:e},l.animationHideDuration,function(){if(l.animationHideDuration==0){j.css({left:e})}if(o.level>0){a(o.element).removeClass(l.toThemeProperty("jqx-fill-state-pressed"));a(o.element).removeClass(l.toThemeProperty("jqx-menu-item-selected"));var p=a(o.arrow);if(p.length>0){p.removeClass();if(o.openHorizontalDirection!="left"){p.addClass(l.toThemeProperty("jqx-menu-item-arrow-"+l._getDir("right")))}else{p.addClass(l.toThemeProperty("jqx-menu-item-arrow-"+l._getDir("left")))}}}else{a(o.element).removeClass(l.toThemeProperty("jqx-fill-state-pressed"));a(o.element).removeClass(l.toThemeProperty("jqx-menu-item-top-selected"));var p=a(o.arrow);if(p.length>0){p.removeClass();if(o.openHorizontalDirection!="left"){p.addClass(l.toThemeProperty("jqx-menu-item-arrow-top-"+l._getDir("right")))}else{p.addClass(l.toThemeProperty("jqx-menu-item-arrow-top-"+l._getDir("left")))}}}k.css({display:"none"});l._raiseEvent("1",o)})}};if(h>0){j.data("timer").hide=setTimeout(function(){n()},h)}else{n()}if(g!=undefined&&g){var d=j.children();a.each(d,function(){if(l.menuElements[this.id]&&l.menuElements[this.id].isOpen){var p=a(l.menuElements[this.id].subMenuElement);l._closeItem(l,l.menuElements[this.id],true,true)}})}}},getSubItems:function(j,h){if(j==null){return false}var g=this;var c=new Array();if(h!=null){a.extend(c,h)}var d=j;var f=this.menuElements[d];var b=a(f.subMenuElement);var e=b.find(".jqx-menu-item");a.each(e,function(){c[this.id]=g.menuElements[this.id];var k=g.getSubItems(this.id,c);a.extend(c,k)});return c},disable:function(g,d){if(g==null){return}var c=g;var f=this;if(this.menuElements[c]){var e=this.menuElements[c];e.disabled=d;var b=a(e.element);e.element.disabled=d;a.each(b.children(),function(){this.disabled=d});if(d){b.addClass(f.toThemeProperty("jqx-menu-item-disabled"));b.addClass(f.toThemeProperty("jqx-fill-state-disabled"))}else{b.removeClass(f.toThemeProperty("jqx-menu-item-disabled"));b.removeClass(f.toThemeProperty("jqx-fill-state-disabled"))}}},_setItemProperty:function(g,c,f){if(g==null){return}var b=g;var e=this;if(this.menuElements[b]){var d=this.menuElements[b];if(d[c]){d[c]=f}}},setItemOpenDirection:function(d,c,e){if(d==null){return}var k=d;var g=this;var f=a.jqx.browser.msie&&a.jqx.browser.version<8;if(this.menuElements[k]){var j=this.menuElements[k];if(c!=null){j.openHorizontalDirection=c;if(j.hasItems&&j.level>0){var h=a(j.element);if(h!=undefined){var b=a(j.arrow);if(j.arrow==null){b=a('<span id="arrow'+h[0].id+'"></span>');if(!f){b.prependTo(h)}else{b.appendTo(h)}}b.removeClass();if(j.openHorizontalDirection=="left"){b.addClass(g.toThemeProperty("jqx-menu-item-arrow-"+g._getDir("left")))}else{b.addClass(g.toThemeProperty("jqx-menu-item-arrow-"+g._getDir("right")))}b.css("visibility","visible");if(!f){b.css("display","block");b.css("float","right")}else{b.css("display","inline-block");b.css("float","none")}}}}if(e!=null){j.openVerticalDirection=e;var b=a(j.arrow);var h=a(j.element);if(h!=undefined){if(j.arrow==null){b=a('<span id="arrow'+h[0].id+'"></span>');if(!f){b.prependTo(h)}else{b.appendTo(h)}}b.removeClass();if(j.openVerticalDirection=="down"){b.addClass(g.toThemeProperty("jqx-menu-item-arrow-down"))}else{b.addClass(g.toThemeProperty("jqx-menu-item-arrow-up"))}b.css("visibility","visible");if(!f){b.css("display","block");b.css("float","right")}else{b.css("display","inline-block");b.css("float","none")}}}}},_getSiblings:function(c){var d=new Array();var b=0;for(i=0;i<this.items.length;i++){if(this.items[i]==c){continue}if(this.items[i].parentId==c.parentId&&this.items[i].hasItems){d[b++]=this.items[i]}}return d},_openItem:function(s,r,q){if(s==null||r==null){return false}if(r.isOpen){return false}if(r.disabled){return false}if(s.disabled){return false}var l=s.popupZIndex;if(q!=undefined){l=q}var e=s.animationHideDuration;s.animationHideDuration=0;s._closeItem(s,r,true,true);s.animationHideDuration=e;this.host.focus();var f=[5,5];var t=a(r.subMenuElement);if(t!=null){t.stop()}if(t.data("timer").hide!=null){clearTimeout(t.data("timer").hide)}var o=t.closest("div.jqx-menu-popup");var h=a(r.element);var j=r.level==0?this._getOffset(r.element):h.position();if(r.level>0&&this.hasTransform){var p=parseInt(h.coord().top)-parseInt(this._getOffset(r.element).top);j.top+=p}if(r.level==0&&this.mode=="popup"){j=h.coord()}var k=r.level==0&&this.mode=="horizontal";var b=k?j.left:this.menuElements[r.parentId]!=null&&this.menuElements[r.parentId].subMenuElement!=null?parseInt(a(a(this.menuElements[r.parentId].subMenuElement).closest("div.jqx-menu-popup")).outerWidth())-f[0]:parseInt(t.outerWidth());o.css({visibility:"visible",display:"block",left:b,top:k?j.top+h.outerHeight():j.top,zIndex:l});t.css("display","block");if(this.mode!="horizontal"&&r.level==0){var d=this._getOffset(this.element);o.css("left",-1+d.left+this.host.outerWidth());t.css("left",-t.outerWidth())}else{var c=this._getClosedSubMenuOffset(r);t.css("left",c.left);t.css("top",c.top)}o.css({height:parseInt(t.outerHeight())+parseInt(f[1])+"px"});var n=0;var g=0;switch(r.openVerticalDirection){case"up":if(k){t.css("top",t.outerHeight());n=f[1];o.css({display:"block",top:j.top-o.outerHeight(),zIndex:l})}else{n=f[1];t.css("top",t.outerHeight());o.css({display:"block",top:j.top-o.outerHeight()+f[1]+h.outerHeight(),zIndex:l})}break;case"center":if(k){t.css("top",0);o.css({display:"block",top:j.top-o.outerHeight()/2+f[1],zIndex:l})}else{t.css("top",0);o.css({display:"block",top:j.top+h.outerHeight()/2-o.outerHeight()/2+f[1],zIndex:l})}break}switch(r.openHorizontalDirection){case this._getDir("left"):if(k){o.css({left:j.left-(o.outerWidth()-h.outerWidth()-f[0])})}else{g=0;t.css("left",o.outerWidth());o.css({left:j.left-(o.outerWidth())+2*r.level})}break;case"center":if(k){o.css({left:j.left-(o.outerWidth()/2-h.outerWidth()/2-f[0]/2)})}else{o.css({left:j.left-(o.outerWidth()/2-h.outerWidth()/2-f[0]/2)});t.css("left",o.outerWidth())}break}if(k){if(parseInt(t.css("top"))==n){r.isOpen=true;return}}else{if(parseInt(t.css("left"))==g){r.isOpen==true;return}}a.each(s._getSiblings(r),function(){s._closeItem(s,this,true,true)});var m=a.data(s.element,"animationHideDelay");s.animationHideDelay=m;if(this.autoCloseInterval>0){if(this.host.data("autoclose")!=null&&this.host.data("autoclose").close!=null){clearTimeout(this.host.data("autoclose").close)}if(this.host.data("autoclose")!=null){this.host.data("autoclose").close=setTimeout(function(){s._closeAll()},this.autoCloseInterval)}}t.data("timer").show=setTimeout(function(){if(o!=null){if(k){t.stop();t.css("left",g);if(!a.jqx.browser.msie){}h.addClass(s.toThemeProperty("jqx-fill-state-pressed"));h.addClass(s.toThemeProperty("jqx-menu-item-top-selected"));var u=a(r.arrow);if(u.length>0&&s.showTopLevelArrows){u.removeClass();if(r.openVerticalDirection=="down"){u.addClass(s.toThemeProperty("jqx-menu-item-arrow-down-selected"))}else{u.addClass(s.toThemeProperty("jqx-menu-item-arrow-up-selected"))}}if(s.animationShowDuration==0){t.css({top:n});r.isOpen=true;s._raiseEvent("0",r)}else{t.animate({top:n},s.animationShowDuration,s.easing,function(){r.isOpen=true;s._raiseEvent("0",r)})}}else{t.stop();t.css("top",n);if(!a.jqx.browser.msie){}if(r.level>0){h.addClass(s.toThemeProperty("jqx-fill-state-pressed"));h.addClass(s.toThemeProperty("jqx-menu-item-selected"));var u=a(r.arrow);if(u.length>0){u.removeClass();if(r.openHorizontalDirection!="left"){u.addClass(s.toThemeProperty("jqx-menu-item-arrow-"+s._getDir("right")+"-selected"))}else{u.addClass(s.toThemeProperty("jqx-menu-item-arrow-"+s._getDir("left")+"-selected"))}}}else{h.addClass(s.toThemeProperty("jqx-fill-state-pressed"));h.addClass(s.toThemeProperty("jqx-menu-item-top-selected"));var u=a(r.arrow);if(u.length>0){u.removeClass();if(r.openHorizontalDirection!="left"){u.addClass(s.toThemeProperty("jqx-menu-item-arrow-"+s._getDir("right")+"-selected"))}else{u.addClass(s.toThemeProperty("jqx-menu-item-arrow-"+s._getDir("left")+"-selected"))}}}if(!a.jqx.browser.msie){}if(s.animationShowDuration==0){t.css({left:g});s._raiseEvent("0",r);r.isOpen=true}else{t.animate({left:g},s.animationShowDuration,s.easing,function(){s._raiseEvent("0",r);r.isOpen=true})}}}},this.animationShowDelay)},_getDir:function(b){switch(b){case"left":return !this.rtl?"left":"right";case"right":return this.rtl?"left":"right"}return"left"},_applyOrientation:function(j,d){var g=this;var f=0;this.host.removeClass(g.toThemeProperty("jqx-menu-horizontal"));this.host.removeClass(g.toThemeProperty("jqx-menu-vertical"));this.host.removeClass(g.toThemeProperty("jqx-menu"));this.host.removeClass(g.toThemeProperty("jqx-widget"));this.host.addClass(g.toThemeProperty("jqx-widget"));this.host.addClass(g.toThemeProperty("jqx-menu"));if(j!=undefined&&d!=undefined&&d=="popup"){if(this.host.parent().length>0&&this.host.parent().parent().length>0&&this.host.parent().parent()[0]==document.body){var h=a.data(document.body,"jqxMenuOldHost"+this.element.id);if(h!=null){var e=this.host.closest("div.jqx-menu-wrapper");e.remove();e.appendTo(h);this.host.css("display","block");this.host.css("visibility","visible");e.css("display","block");e.css("visibility","visible")}}}else{if(j==undefined&&d==undefined){a.data(document.body,"jqxMenuOldHost"+this.element.id,this.host.parent()[0])}}if(this.autoOpenPopup){if(this.mode=="popup"){this.addHandler(a(document),"contextmenu."+this.element.id,function(k){return false});this.addHandler(a(document),"mousedown.menu"+this.element.id,function(k){g._openContextMenu(k)})}else{this.removeHandler(a(document),"contextmenu."+this.element.id);this.removeHandler(a(document),"mousedown.menu"+this.element.id)}}else{this.removeHandler(a(document),"contextmenu."+this.element.id);this.removeHandler(a(document),"mousedown.menu"+this.element.id)}if(this.rtl){this.host.addClass(this.toThemeProperty("jqx-rtl"))}switch(this.mode){case"horizontal":this.host.addClass(g.toThemeProperty("jqx-widget-header"));this.host.addClass(g.toThemeProperty("jqx-menu-horizontal"));a.each(this.items,function(){var m=this;$element=a(m.element);var l=a(m.arrow);l.removeClass();if(m.hasItems&&m.level>0){var l=a('<span style="border: none; background-color: transparent;" id="arrow'+$element[0].id+'"></span>');l.prependTo($element);l.css("float",g._getDir("right"));l.addClass(g.toThemeProperty("jqx-menu-item-arrow-"+g._getDir("right")));m.arrow=l[0]}if(m.level==0){a(m.element).css("float",g._getDir("left"));if(!m.ignoretheme&&m.hasItems&&g.showTopLevelArrows){var l=a('<span style="border: none; background-color: transparent;" id="arrow'+$element[0].id+'"></span>');var k=a.jqx.browser.msie&&a.jqx.browser.version<8;if(m.arrow==null){if(!k){l.prependTo($element)}else{l.appendTo($element)}}else{l=a(m.arrow)}if(m.openVerticalDirection=="down"){l.addClass(g.toThemeProperty("jqx-menu-item-arrow-down"))}else{l.addClass(g.toThemeProperty("jqx-menu-item-arrow-up"))}l.css("visibility","visible");if(!k){l.css("display","block");l.css("float","right")}else{l.css("display","inline-block")}m.arrow=l[0]}else{if(!m.ignoretheme&&m.hasItems&&!g.showTopLevelArrows){if(m.arrow!=null){var l=a(m.arrow);l.remove();m.arrow=null}}}f=Math.max(f,$element.height())}});break;case"vertical":case"popup":this.host.addClass(g.toThemeProperty("jqx-menu-vertical"));a.each(this.items,function(){var l=this;$element=a(l.element);if(l.hasItems&&!l.ignoretheme){if(l.arrow){a(l.arrow).remove()}var k=a('<span style="border: none; background-color: transparent;" id="arrow'+$element[0].id+'"></span>');k.prependTo($element);k.css("float","right");if(l.level==0){k.addClass(g.toThemeProperty("jqx-menu-item-arrow-top-"+g._getDir("right")))}else{k.addClass(g.toThemeProperty("jqx-menu-item-arrow-"+g._getDir("right")))}l.arrow=k[0]}$element.css("float","none")});if(this.mode=="popup"){this.host.addClass(g.toThemeProperty("jqx-widget-content"));this.host.wrap('<div class="jqx-menu-wrapper" style="z-index:'+this.popupZIndex+'; border: none; background-color: transparent; padding: 0px; margin: 0px; position: absolute; top: 0; left: 0; display: block; visibility: visible;"></div>');var e=this.host.closest("div.jqx-menu-wrapper");e[0].id="menuWrapper"+this.element.id;e.appendTo(a(document.body))}else{this.host.addClass(g.toThemeProperty("jqx-widget-header"))}if(this.mode=="popup"){var b=this.host.height();this.host.css("position","absolute");this.host.css("top","0");this.host.css("left","0");this.host.height(b);this.host.css("display","none")}break}var c=this.isTouchDevice();if(this.autoCloseOnClick){this.removeHandler(a(document),"mousedown.menu"+this.element.id,g._closeAfterClick);this.addHandler(a(document),"mousedown.menu"+this.element.id,g._closeAfterClick,g);if(c){this.addHandler(a(document),a.jqx.mobile.getTouchEventName("touchstart")+".menu"+this.element.id,g._closeAfterClick,g)}}},_getBodyOffset:function(){var c=0;var b=0;if(a("body").css("border-top-width")!="0px"){c=parseInt(a("body").css("border-top-width"));if(isNaN(c)){c=0}}if(a("body").css("border-left-width")!="0px"){b=parseInt(a("body").css("border-left-width"));if(isNaN(b)){b=0}}return{left:b,top:c}},_getOffset:function(c){var e=a.jqx.mobile.isSafariMobileBrowser();var h=a(c).coord();var g=h.top;var f=h.left;if(a("body").css("border-top-width")!="0px"){g=parseInt(g)+this._getBodyOffset().top}if(a("body").css("border-left-width")!="0px"){f=parseInt(f)+this._getBodyOffset().left}var d=a.jqx.mobile.isWindowsPhone();if(this.hasTransform||(e!=null&&e)||d){var b={left:a.jqx.mobile.getLeftPos(c),top:a.jqx.mobile.getTopPos(c)};return b}else{return{left:f,top:g}}},_isRightClick:function(c){var b;if(!c){var c=window.event}if(c.which){b=(c.which==3)}else{if(c.button){b=(c.button==2)}}return b},_openContextMenu:function(d){var c=this;var b=c._isRightClick(d);if(b){c.open(parseInt(d.clientX)+5,parseInt(d.clientY)+5)}},close:function(){var c=this;var d=a.data(this.element,"contextMenuOpened"+this.element.id);if(d){var b=this.host;a.each(c.items,function(){var e=this;if(e.hasItems){c._closeItem(c,e)}});a.each(c.items,function(){var e=this;if(e.isOpen==true){$submenu=a(e.subMenuElement);var f=$submenu.closest("div.jqx-menu-popup");f.hide(this.animationHideDuration)}});this.host.hide(this.animationHideDuration);a.data(c.element,"contextMenuOpened"+this.element.id,false);c._raiseEvent("1",c)}},open:function(e,d){if(this.mode=="popup"){var c=0;if(this.host.css("display")=="block"){this.close();c=this.animationHideDuration}var b=this;if(e==undefined||e==null){e=0}if(d==undefined||d==null){d=0}setTimeout(function(){b.host.show(b.animationShowDuration);b.host.css("visibility","visible");a.data(b.element,"contextMenuOpened"+b.element.id,true);b._raiseEvent("0",b);b.host.css("z-index",9999);if(e!=undefined&&d!=undefined){b.host.css({left:e,top:d})}},c)}},_renderHover:function(c,e,b){var d=this;if(!e.ignoretheme){this.addHandler(c,"mouseenter",function(){if(!e.disabled&&!e.separator&&d.enableHover&&!d.disabled){if(e.level>0){c.addClass(d.toThemeProperty("jqx-fill-state-hover"));c.addClass(d.toThemeProperty("jqx-menu-item-hover"))}else{c.addClass(d.toThemeProperty("jqx-fill-state-hover"));c.addClass(d.toThemeProperty("jqx-menu-item-top-hover"))}}});this.addHandler(c,"mouseleave",function(){if(!e.disabled&&!e.separator&&d.enableHover&&!d.disabled){if(e.level>0){c.removeClass(d.toThemeProperty("jqx-fill-state-hover"));c.removeClass(d.toThemeProperty("jqx-menu-item-hover"))}else{c.removeClass(d.toThemeProperty("jqx-fill-state-hover"));c.removeClass(d.toThemeProperty("jqx-menu-item-top-hover"))}}})}},_closeAfterClick:function(c){var b=c!=null?c.data:this;var d=false;if(b.autoCloseOnClick){a.each(a(c.target).parents(),function(){if(this.className.indexOf){if(this.className.indexOf("jqx-menu")!=-1){d=true;return false}}});if(!d){c.data=b;b._closeAll(c)}}},_autoSizeHorizontalMenuItems:function(){var c=this;if(c.autoSizeMainItems&&this.mode=="horizontal"){var b=this.maxHeight;if(parseInt(b)>parseInt(this.host.height())){b=parseInt(this.host.height())}b=parseInt(this.host.height());a.each(this.items,function(){var m=this;$element=a(m.element);if(m.level==0&&b>0){var d=$element.children().length>0?parseInt($element.children().height()):$element.height();var g=c.host.find("ul:first");var h=parseInt(g.css("padding-top"));var n=parseInt(g.css("margin-top"));var k=b-2*(n+h);var j=parseInt(k)/2-d/2;var e=parseInt(j);var l=parseInt(j);$element.css("padding-top",e);$element.css("padding-bottom",l);if(parseInt($element.outerHeight())>k){var f=1;$element.css("padding-top",e-f);e=e-f}}})}},_render:function(f,b){var g=this.popupZIndex;var c=[5,5];var e=this;a.data(e.element,"animationHideDelay",e.animationHideDelay);var d=this.isTouchDevice();a.data(document.body,"menuel",this);this.hasTransform=a.jqx.utilities.hasTransform(this.host);this._applyOrientation(f,b);if(e.enableRoundedCorners){this.host.addClass(e.toThemeProperty("jqx-rc-all"))}a.each(this.items,function(){var p=this;var l=a(p.element);if(e.enableRoundedCorners){l.addClass(e.toThemeProperty("jqx-rc-all"))}e.removeHandler(l,"click");e.addHandler(l,"click",function(u){if(p.disabled){return}e._raiseEvent("2",{item:p.element,event:u});if(!e.autoOpen){if(p.level>0){if(e.autoCloseOnClick&&!d&&!e.clickToOpen){u.data=e;e._closeAll(u)}}}else{if(e.autoCloseOnClick&&!d&&!e.clickToOpen){if(p.closeOnClick){u.data=e;e._closeAll(u)}}}if(d&&e.autoCloseOnClick){u.data=e;if(!p.hasItems){e._closeAll(u)}}if(u.target.tagName!="A"&&u.target.tagName!="a"){var s=p.anchor!=null?a(p.anchor):null;if(s!=null&&s.length>0){var r=s.attr("href");var t=s.attr("target");if(r!=null){if(t!=null){window.open(r,t)}else{window.location=r}}}}});e.removeHandler(l,"mouseenter");e.removeHandler(l,"mouseleave");e._renderHover(l,p,d);if(p.subMenuElement!=null){var m=a(p.subMenuElement);m.wrap('<div class="jqx-menu-popup" style="border: none; background-color: transparent; z-index:'+g+'; padding: 0px; margin: 0px; position: absolute; top: 0; left: 0; display: block; visibility: hidden;"><div style="background-color: transparent; border: none; position:absolute; overflow:hidden; left: 0; top: 0; right: 0; width: 100%; height: 100%;"></div></div>');m.css({overflow:"hidden",position:"absolute",left:0,display:"inherit",top:-m.outerHeight()});m.data("timer",{});if(p.level>0){m.css("left",-m.outerWidth())}else{if(e.mode=="horizontal"){m.css("left",0)}}g++;var o=a(p.subMenuElement).closest("div.jqx-menu-popup").css({width:parseInt(a(p.subMenuElement).outerWidth())+parseInt(c[0])+"px",height:parseInt(a(p.subMenuElement).outerHeight())+parseInt(c[1])+"px"});var q=l.closest("div.jqx-menu-popup");if(q.length>0){var h=m.css("margin-left");var k=m.css("margin-right");var j=m.css("padding-left");var n=m.css("padding-right");o.appendTo(q);m.css("margin-left",h);m.css("margin-right",k);m.css("padding-left",j);m.css("padding-right",n)}else{var h=m.css("margin-left");var k=m.css("margin-right");var j=m.css("padding-left");var n=m.css("padding-right");o.appendTo(a(document.body));m.css("margin-left",h);m.css("margin-right",k);m.css("padding-left",j);m.css("padding-right",n)}if(!e.clickToOpen){e.addHandler(l,"mouseenter",function(){if(e.autoOpen||(p.level>0&&!e.autoOpen)){clearTimeout(m.data("timer").hide)}if(p.parentId&&p.parentId!=0){if(e.menuElements[p.parentId]){var r=e.menuElements[p.parentId].isOpen;if(!r){return}}}if(e.autoOpen||(p.level>0&&!e.autoOpen)){e._openItem(e,p)}return false});e.addHandler(l,"mousedown",function(){if(!e.autoOpen&&p.level==0){clearTimeout(m.data("timer").hide);if(m!=null){m.stop()}if(!p.isOpen){e._openItem(e,p)}else{e._closeItem(e,p,true)}}});if(d){e.removeHandler(l,"touchstart");e.addHandler(l,"touchstart",function(r){clearTimeout(m.data("timer").hide);if(m!=null){m.stop()}if(p.level==0&&!p.isOpen){r.data=e;e._closeAll(r)}if(!p.isOpen){e._openItem(e,p)}else{e._closeItem(e,p,true)}return false})}e.addHandler(l,"mouseleave",function(s){if(e.autoCloseOnMouseLeave){clearTimeout(m.data("timer").hide);var v=a(p.subMenuElement);var r={left:parseInt(s.pageX),top:parseInt(s.pageY)};var u={left:parseInt(v.coord().left),top:parseInt(v.coord().top),width:parseInt(v.outerWidth()),height:parseInt(v.outerHeight())};var t=true;if(u.left-5<=r.left&&r.left<=u.left+u.width+5){if(u.top<=r.top&&r.top<=u.top+u.height){t=false}}if(t){e._closeItem(e,p,true)}}});e.removeHandler(o,"mouseenter");e.addHandler(o,"mouseenter",function(){clearTimeout(m.data("timer").hide)});e.removeHandler(o,"mouseleave");e.addHandler(o,"mouseleave",function(r){if(e.autoCloseOnMouseLeave){clearTimeout(m.data("timer").hide);clearTimeout(m.data("timer").show);if(m!=null){m.stop()}e._closeItem(e,p,true)}})}else{e.removeHandler(l,"mousedown");e.addHandler(l,"mousedown",function(r){clearTimeout(m.data("timer").hide);if(m!=null){m.stop()}if(p.level==0&&!p.isOpen){r.data=e;e._closeAll(r)}if(!p.isOpen){e._openItem(e,p)}else{e._closeItem(e,p,true)}})}}});this._autoSizeHorizontalMenuItems();this._raiseEvent("3",this)},createID:function(){var b=Math.random()+"";b=b.replace(".","");b="99"+b;b=b/1;while(this.items[b]){b=Math.random()+"";b=b.replace(".","");b=b/1}return"menuItem"+b},_createMenu:function(c,f){if(c==null){return}if(f==undefined){f=true}if(f==null){f=true}var o=this;var t=a(c).find("li");var q=0;for(var j=0;j<t.length;j++){var m=t[j];var r=a(m);if(m.className.indexOf("jqx-menu")==-1&&this.autoGenerate==false){continue}var p=m.id;if(!p){p=this.createID()}if(f){m.id=p;this.items[q]=new a.jqx._jqxMenu.jqxMenuItem();this.menuElements[p]=this.items[q]}q+=1;var s=0;var v=this;var h=r.children();h.each(function(){if(!f){this.className="";if(v.autoGenerate){a(v.items[q-1].subMenuElement)[0].className="";a(v.items[q-1].subMenuElement).addClass(v.toThemeProperty("jqx-widget-content"));a(v.items[q-1].subMenuElement).addClass(v.toThemeProperty("jqx-menu-dropdown"))}}if(this.className.indexOf("jqx-menu-dropdown")!=-1){if(f){v.items[q-1].subMenuElement=this}return false}else{if(v.autoGenerate&&(this.tagName=="ul"||this.tagName=="UL")){if(f){v.items[q-1].subMenuElement=this}this.className="";a(this).addClass(v.toThemeProperty("jqx-widget-content"));a(this).addClass(v.toThemeProperty("jqx-menu-dropdown"));if(v.rtl){a(this).addClass(v.toThemeProperty("jqx-rc-l"))}else{a(this).addClass(v.toThemeProperty("jqx-rc-r"))}a(this).addClass(v.toThemeProperty("jqx-rc-b"));return false}}});var u=r.parents();u.each(function(){if(this.className.indexOf("jqx-menu-item")!=-1){s=this.id;return false}else{if(v.autoGenerate&&(this.tagName=="li"||this.tagName=="LI")){s=this.id;return false}}});var e=false;var d=m.getAttribute("type");var b=m.getAttribute("ignoretheme");if(b){if(b=="true"||b==true){b=true}}else{b=false}if(!d){d=m.type}else{if(d=="separator"){var e=true}}if(!e){if(s){d="sub"}else{d="top"}}var g=this.items[q-1];if(f){g.id=p;g.parentId=s;g.type=d;g.separator=e;g.element=t[j];var l=r.find("a:first");g.level=r.parents("li").length;g.anchor=l.length>0?l:null}g.ignoretheme=b;var n=this.menuElements[s];if(n!=null){if(n.ignoretheme){g.ignoretheme=n.ignoretheme;b=n.ignoretheme}}if(this.autoGenerate){if(d=="separator"){r.removeClass();r.addClass(this.toThemeProperty("jqx-menu-item-separator"))}else{if(!b){r[0].className="";if(this.rtl){r.addClass(this.toThemeProperty("jqx-rtl"))}if(g.level>0){r.addClass(this.toThemeProperty("jqx-item"));r.addClass(this.toThemeProperty("jqx-menu-item"))}else{r.addClass(this.toThemeProperty("jqx-item"));r.addClass(this.toThemeProperty("jqx-menu-item-top"))}}}}if(f&&!b){g.hasItems=r.find("li").length>0}}},destroy:function(){var c=this.host.closest("div.jqx-menu-wrapper");c.remove();var b=this;this.removeHandler(a(document),"mousedown.menu"+this.element.id,b._closeAfterClick);this.removeHandler(a(document),"mouseup.menu"+this.element.id,b._closeAfterClick);a(window).off("resize.menu"+b.element.id);a.each(this.items,function(){var e=this;var d=a(e.element);b.removeHandler(d,"click");b.removeHandler(d,"selectstart");b.removeHandler(d,"mouseenter");b.removeHandler(d,"mouseleave");b.removeHandler(d,"mousedown");b.removeHandler(d,"mouseleave")});a.data(document.body,"menuel",null);this.items=new Array();this.host.removeClass();this.host.remove()},_raiseEvent:function(f,c){if(c==undefined){c={owner:null}}var d=this.events[f];args=c;args.owner=this;var e=new jQuery.Event(d);if(f=="2"){args=c.item;args.owner=this;a.extend(e,c.event);e.type="itemclick"}e.owner=this;e.args=args;var b=this.host.trigger(e);return b},propertyChangedHandler:function(b,d,g,f){if(this.isInitialized==undefined||this.isInitialized==false){return}if(f==g){return}if(d=="touchMode"){this._isTouchDevice=null;b._render(f,g)}if(d=="source"){if(b.source!=null){var c=b.loadItems(b.source);b.element.innerHTML=c;var e=b.host.find("ul:first");if(e.length>0){b.refresh();b._createMenu(e[0]);b._render()}}}if(d=="autoCloseOnClick"){if(f==false){b.removeHandler(a(document),"mousedown.menu"+this.element.id,b._closeAll)}else{b.addHandler(a(document),"mousedown.menu"+this.element.id,b,b._closeAll)}}else{if(d=="mode"||d=="width"||d=="height"||d=="showTopLevelArrows"){b.refresh();if(d=="mode"){b._render(f,g)}else{b._applyOrientation()}}else{if(d=="theme"){a.jqx.utilities.setTheme(g,f,b.host)}}}}})})(jQuery);(function(a){a.jqx._jqxMenu.jqxMenuItem=function(e,d,c){var b={id:e,parentId:d,parentItem:null,anchor:null,type:c,disabled:false,level:0,isOpen:false,hasItems:false,element:null,subMenuElement:null,arrow:null,openHorizontalDirection:"right",openVerticalDirection:"down",closeOnClick:true};return b}})(jQuery);
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function(a){a.jqx.jqxWidget("jqxListBox","",{});a.extend(a.jqx._jqxListBox.prototype,{defineInstance:function(){this.disabled=false;this.width=null;this.height=null;this.items=new Array();this.multiple=false;this.selectedIndex=-1;this.selectedIndexes=new Array();this.source=null;this.scrollBarSize=15;this.enableHover=true;this.enableSelection=true;this.visualItems=new Array();this.groups=new Array();this.equalItemsWidth=true;this.itemHeight=-1;this.visibleItems=new Array();this.emptyGroupText="Group";this.checkboxes=false;this.hasThreeStates=false;this.autoHeight=false;this.autoItemsHeight=false;this.roundedcorners=true;this.touchMode="auto";this.displayMember="";this.valueMember="";this.searchMode="startswithignorecase";this.incrementalSearch=true;this.incrementalSearchDelay=700;this.allowDrag=false;this.allowDrop=true;this.dropAction="default";this.touchModeStyle="auto";this.keyboardNavigation=true;this.enableMouseWheel=true;this.multipleextended=false;this.emptyString="null";this.rtl=false;this.rendered=null;this.renderer=null;this.dragStart=null;this.dragEnd=null;this._checkForHiddenParent=true;this.events=["select","unselect","change","checkChange","dragStart","dragEnd","bindingComplete"]},createInstance:function(b){this.render();if(this._checkForHiddenParent){if(a.jqx.isHidden(this.host)){var c=this;this._hiddenParentTimer=setInterval(function(){try{if(!a.jqx.isHidden(c.host)){clearInterval(c._hiddenParentTimer);c._updateSize()}}catch(d){}},10)}}},render:function(){this.element.innerHTML="";var b=this;this.host.addClass(this.toThemeProperty("jqx-listbox"));this.host.addClass(this.toThemeProperty("jqx-reset"));this.host.addClass(this.toThemeProperty("jqx-rc-all"));this.host.addClass(this.toThemeProperty("jqx-widget"));this.host.addClass(this.toThemeProperty("jqx-widget-content"));var g=false;if(this.width!=null&&this.width.toString().indexOf("%")!=-1){this.host.width(this.width);g=true}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){this.host.height(this.height);if(this.host.height()==0){this.host.height(200)}g=true}if(this.width!=null&&this.width.toString().indexOf("px")!=-1){this.host.width(this.width)}else{if(this.width!=undefined&&!isNaN(this.width)){this.host.width(this.width)}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){this.host.height(this.height)}else{if(this.height!=undefined&&!isNaN(this.height)){this.host.height(this.height)}}var c=a("<div style='-webkit-appearance: none; background: transparent; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div style='-webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='listBoxContent' style='-webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; overflow: hidden; margin: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'/><div id='verticalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'/><div id='horizontalScrollBar"+this.element.id+"' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'/><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'/></div></div>");this._addInput();if(!this.host.attr("tabIndex")){this.host.attr("tabIndex",1)}if(this.checkboxes&&!this.host.jqxCheckBox){throw new Error("jqxListBox: Missing reference to jqxcheckbox.js.")}this.host.append(c);var e=this.host.find("#verticalScrollBar"+this.element.id);if(!this.host.jqxButton){throw new Error("jqxListBox: Missing reference to jqxbuttons.js.");return}if(!e.jqxScrollBar){throw new Error("jqxListBox: Missing reference to jqxscrollbar.js.");return}var f=parseInt(this.host.height())/2;if(f==0){f=10}this.vScrollBar=e.jqxScrollBar({_initialLayout:true,vertical:true,rtl:this.rtl,theme:this.theme,touchMode:this.touchMode,largestep:f});var d=this.host.find("#horizontalScrollBar"+this.element.id);this.hScrollBar=d.jqxScrollBar({_initialLayout:true,vertical:false,rtl:this.rtl,touchMode:this.touchMode,theme:this.theme});this.content=this.host.find("#listBoxContent");this.content[0].id="listBoxContent"+this.element.id;this.bottomRight=this.host.find("#bottomRight").addClass(this.toThemeProperty("jqx-listbox-bottomright"));this.bottomRight[0].id="bottomRight"+this.element.id;this.vScrollBar.css("visibility","inherit");this.hScrollBar.css("visibility","inherit");this.vScrollInstance=a.data(this.vScrollBar[0],"jqxScrollBar").instance;this.hScrollInstance=a.data(this.hScrollBar[0],"jqxScrollBar").instance;if(this.isTouchDevice()){var h=a("<div class='overlay' style='-webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; overflow: hidden; margin: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div>");this.content.parent().append(h);this.overlayContent=this.host.find(".overlay")}this._updateTouchScrolling();this.host.addClass("jqx-disableselect");if(this.host.jqxDragDrop){jqxListBoxDragDrop()}},_addInput:function(){var b=this.host.attr("name");if(!b){b=this.element.id}else{this.host.attr("name","")}this.input=a("<input type='hidden'/>");this.host.append(this.input);this.input.attr("name",b)},_updateTouchScrolling:function(){var b=this;if(this.isTouchDevice()){b.enableHover=false;var c=this.overlayContent?this.overlayContent:this.content;this.removeHandler(a(c),a.jqx.mobile.getTouchEventName("touchstart")+".touchScroll");this.removeHandler(a(c),a.jqx.mobile.getTouchEventName("touchmove")+".touchScroll");this.removeHandler(a(c),a.jqx.mobile.getTouchEventName("touchend")+".touchScroll");this.removeHandler(a(c),"touchcancel.touchScroll");a.jqx.mobile.touchScroll(c,b.vScrollInstance.max,function(f,e){if(b.vScrollBar.css("visibility")!="hidden"){var d=b.vScrollInstance.value;b.vScrollInstance.setPosition(d+e);b._lastScroll=new Date()}if(b.hScrollBar.css("visibility")!="hidden"){var d=b.hScrollInstance.value;b.hScrollInstance.setPosition(d+f);b._lastScroll=new Date()}},this.element.id);if(b.vScrollBar.css("visibility")!="visible"&&b.hScrollBar.css("visibility")!="visible"){a.jqx.mobile.setTouchScroll(false,this.element.id)}else{a.jqx.mobile.setTouchScroll(true,this.element.id)}this._arrange()}},isTouchDevice:function(){var b=a.jqx.mobile.isTouchDevice();if(this.touchMode==true){b=true;a.jqx.mobile.setMobileSimulator(this.element)}else{if(this.touchMode==false){b=false}}if(b&&this.touchModeStyle!=false){}if(b){this.host.addClass(this.toThemeProperty("jqx-touch"))}return b},beginUpdate:function(){this.updatingListBox=true},endUpdate:function(){this.updatingListBox=false;this._addItems();this._renderItems()},beginUpdateLayout:function(){this.updating=true},resumeUpdateLayout:function(){this.updating=false;this.vScrollInstance.value=0;this._render(false)},propertyChangedHandler:function(b,c,e,d){if(this.isInitialized==undefined||this.isInitialized==false){return}if(c=="source"||c=="checkboxes"){if(d==null&&e&&e.unbindBindingUpdate){e.unbindBindingUpdate(b.element.id);e.unbindDownloadComplete(b.element.id)}b.clearSelection();b.refresh()}if(c=="scrollBarSize"||c=="equalItemsWidth"){if(d!=e){b._updatescrollbars()}}if(c=="disabled"){b._renderItems();b.vScrollBar.jqxScrollBar({disabled:d});b.hScrollBar.jqxScrollBar({disabled:d})}if(c=="touchMode"||c=="rtl"){b._removeHandlers();b.vScrollBar.jqxScrollBar({touchMode:d});b.hScrollBar.jqxScrollBar({touchMode:d});b._updateTouchScrolling();b._addHandlers();b._render(false)}if(!this.updating){if(c=="width"||c=="height"){b._updateSize()}}if(c=="theme"){if(e!=d){b.hScrollBar.jqxScrollBar({theme:b.theme});b.vScrollBar.jqxScrollBar({theme:b.theme});b.host.removeClass();b.host.addClass(b.toThemeProperty("jqx-listbox"));b.host.addClass(b.toThemeProperty("jqx-widget"));b.host.addClass(b.toThemeProperty("jqx-widget-content"));b.host.addClass(b.toThemeProperty("jqx-reset"));b.host.addClass(b.toThemeProperty("jqx-rc-all"));b.refresh()}}if(c=="selectedIndex"){b.clearSelection();b.selectIndex(d,true)}if(c=="displayMember"||c=="valueMember"){if(e!=d){var f=b.selectedIndex;b.refresh();b.selectedIndex=f;b.selectedIndexes[f]=f}b._renderItems()}if(c=="autoHeight"){if(e!=d){b._render(false)}else{b._updatescrollbars();b._renderItems()}}},loadFromSelect:function(i){if(i==null){return}var c="#"+i;var f=a(c);if(f.length>0){var e=f.find("option");var b=f.find("optgroup");var d=0;var h=-1;var g=new Array();a.each(e,function(){var k=b.find(this).length>0;var m=null;if(this.text!=this.value&&(this.label==null||this.label=="")){this.label=this.text}var l={disabled:this.disabled,value:this.value,label:this.label,title:this.title,originalItem:this};var j=a.jqx.browser.msie&&a.jqx.browser.version<8;if(j){if(l.value==""&&this.text!=null&&this.text.length>0){l.value=this.text}}if(k){m=b.find(this).parent()[0].label;l.group=m}if(this.selected){h=d}g[d]=l;d++});this.source=g;this.fromSelect=true;this.clearSelection();this.selectedIndex=h;this.selectedIndexes[this.selectedIndex]=this.selectedIndex;this.refresh()}},invalidate:function(){this._cachedItemHtml=[];this._renderItems();this._updateSize()},refresh:function(c){var b=this;if(this.vScrollBar==undefined){return}this._cachedItemHtml=[];this.visibleItems=new Array();var d=function(e){if(e==true){if(b.selectedIndex!=-1){var f=b.selectedIndex;b.selectedIndex=-1;b._stopEvents=true;b.selectIndex(f,false,true);if(b.selectedIndex==-1){b.selectedIndex=f}b._stopEvents=false}}};if(this.itemswrapper!=null){this.itemswrapper.remove();this.itemswrapper=null}if(a.jqx.dataAdapter&&this.source!=null&&this.source._source){this.databind(this.source);d(c);return}this.items=this.loadItems(this.source);this._raiseEvent("6");this._render(false,c==true);d(c)},_render:function(c,b){this._addItems();this._renderItems();this.vScrollInstance.setPosition(0);this._cachedItemHtml=new Array();if(c==undefined||c){if(this.items!=undefined&&this.items!=null){if(this.selectedIndex>=0&&this.selectedIndex<this.items.length){this.selectIndex(this.selectedIndex,true,true,true)}}}if(this.allowDrag&&this._enableDragDrop){this._enableDragDrop();if(this.isTouchDevice()){this._removeHandlers();if(this.overlayContent){this.overlayContent.remove();this.overlayContent=null}this._updateTouchScrolling();this._addHandlers();return}}this._updateTouchScrolling();if(this.rendered){this.rendered()}if(this.ready){this.ready()}},_hitTest:function(c,f){var e=parseInt(this.vScrollInstance.value);var b=this._searchFirstVisibleIndex(f+e,this.renderedVisibleItems);if(this.renderedVisibleItems[b]!=undefined&&this.renderedVisibleItems[b].isGroup){return null}if(this.renderedVisibleItems.length>0){var d=this.renderedVisibleItems[this.renderedVisibleItems.length-1];if(d.height+d.top<f+e){return null}}b=this._searchFirstVisibleIndex(f+e);return this.visibleItems[b];return null},_searchFirstVisibleIndex:function(e,f){if(e==undefined){e=parseInt(this.vScrollInstance.value)}var c=0;if(f==undefined||f==null){f=this.visibleItems}var b=f.length;while(c<=b){mid=parseInt((c+b)/2);var d=f[mid];if(d==undefined){break}if(d.initialTop>e&&d.initialTop+d.height>e){b=mid-1}else{if(d.initialTop<e&&d.initialTop+d.height<=e){c=mid+1}else{return mid;break}}}return 0},_renderItems:function(){if(this.items==undefined||this.items.length==0){this.visibleItems=new Array();return}if(this.updatingListBox==true){return}var F=this.vScrollInstance;var h=this.hScrollInstance;var g=parseInt(F.value);var f=parseInt(h.value);if(this.rtl){if(this.hScrollBar[0].style.visibility!="hidden"){f=h.max-f}}var z=this.items.length;var L=this.host.width();var J=parseInt(this.content[0].style.width);var b=J+parseInt(h.max);var o=parseInt(this.vScrollBar[0].style.width)+2;if(this.vScrollBar[0].style.visibility=="hidden"){o=0}if(this.hScrollBar[0].style.visibility!="visible"){b=J}var j=this._getVirtualItemsCount();var K=new Array();var D=0;var C=parseInt(this.element.style.height)+2;if(this.element.style.height.indexOf("%")!=-1){C=this.host.outerHeight()}if(isNaN(C)){C=0}var r=0;var q=0;var O=0;if(F.value==0||this.visibleItems.length==0){for(var p=0;p<this.items.length;p++){var v=this.items[p];if(v.visible){v.top=-g;v.initialTop=-g;if(!v.isGroup&&v.visible){this.visibleItems[q++]=v;v.visibleIndex=q-1}this.renderedVisibleItems[O++]=v;v.left=-f;var c=v.top+v.height;if(c>=0&&v.top-v.height<=C){K[D++]={index:p,item:v}}g-=v.height}}}var k=g>0?this._searchFirstVisibleIndex(this.vScrollInstance.value,this.renderedVisibleItems):0;var M=0;D=0;var w=this.vScrollInstance.value;var I=0;while(M<100+C){var v=this.renderedVisibleItems[k];if(v==undefined){break}if(v.visible){v.left=-f;var c=v.top+v.height-w;if(c>=0&&v.initialTop-w-v.height<=2*C){K[D++]={index:k,item:v}}}k++;if(v.visible){M+=v.initialTop-w+v.height-M}I++;if(I>this.items.length-1){break}}var m=this.toThemeProperty("jqx-listitem-state-normal")+" "+this.toThemeProperty("jqx-item");var i=this.toThemeProperty("jqx-listitem-state-group");var N=this.toThemeProperty("jqx-listitem-state-disabled")+" "+this.toThemeProperty("jqx-fill-state-disabled");var A=0;var l=this;for(var p=0;p<this.visualItems.length;p++){var B=this.visualItems[p];var H=function(){var y=B[0].firstChild;if(l.checkboxes){y=B[0].lastChild}if(y!=null){y.style.visibility="hidden";y.className=""}if(l.checkboxes&&l.host.jqxCheckBox){var P=B.find(".chkbox");P.css({visibility:"hidden"})}};if(p<K.length){var v=K[p].item;if(v.initialTop-w>=C){H();continue}var x=a(B[0].firstChild);if(this.checkboxes){x=a(B[0].lastChild)}if(x.length==0){continue}if(x[0]==null){continue}x[0].className="";x[0].style.display="block";x[0].style.visibility="inherit";var n="";if(!v.isGroup&&!this.selectedIndexes[v.index]>=0){n=m}else{n=i}if(v.disabled||this.disabled){n+=" "+N}if(this.roundedcorners){n+=" "+this.toThemeProperty("jqx-rc-all")}x[0].className=n;if(this.renderer){if(!v.key){v.key=this.generatekey()}if(!this._cachedItemHtml){this._cachedItemHtml=new Array()}if(this._cachedItemHtml[v.key]){if(x[0].innerHTML!=this._cachedItemHtml[v.key]){x[0].innerHTML=this._cachedItemHtml[v.key]}}else{var u=this.renderer(v.index,v.label,v.value);x[0].innerHTML=u;this._cachedItemHtml[v.key]=x[0].innerHTML}}else{if(v.html!=null&&v.html.toString().length>0){x[0].innerHTML=v.html}else{if(v.label!=null||v.value!=null){if(v.label!=null){if(x[0].innerHTML!==v.label){x[0].innerHTML=v.label}if(v.label==""){x[0].innerHTML=this.emptyString;if(this.emptyString==""){x[0].style.height=(v.height-8)+"px"}}}else{if(x[0].innerHTML!==v.value){x[0].innerHTML=v.value}else{if(v.label==""){x[0].innerHTML=" "}}}}else{if(v.label==""||v.label==null){x[0].innerHTML="";x[0].style.height=(v.height-8)+"px"}}}}B[0].style.left=v.left+"px";B[0].style.top=v.initialTop-w+"px";v.element=x[0];if(v.title){x[0].title=v.title}if(this.equalItemsWidth&&!v.isGroup){if(r==0){var d=parseInt(b);var t=parseInt(x.outerWidth())-parseInt(x.width());d-=t;var G=1;if(G!=null){G=parseInt(G)}else{G=0}d-=2*G;r=d;if(this.checkboxes&&this.host.jqxCheckBox&&this.hScrollBar[0].style.visibility=="hidden"){r-=18}}if(J>this.virtualSize.width){x[0].style.width=r+"px";v.width=r}else{x[0].style.width=-4+this.virtualSize.width+"px";v.width=this.virtualSize.width-4}}else{if(x.width()<this.host.width()){x.width(this.host.width()-2)}}if(this.rtl){x[0].style.textAlign="right"}if(this.autoItemsHeight){x[0].style.whiteSpace="normal";x.width(r);v.width=r}A=0;if(this.checkboxes&&this.host.jqxCheckBox&&!v.isGroup){if(A==0){A=(v.height-16)/2;A++}var e=a(B.children()[0]);e[0].item=v;if(!this.rtl){if(x[0].style.left!="18px"){x[0].style.left="18px"}}else{if(x[0].style.left!="0px"){x[0].style.left="0px"}}if(this.rtl){e.css("left",8+v.width+"px")}e.css("top",A+"px");e.css({display:"block",visibility:"inherit"});var E=e.data().jqxCheckBox.instance;var s=E.checked;if(s!=v.checked){E._setState(v.checked);if(v.disabled!=E.disabled){e.jqxCheckBox({disabled:v.disabled})}}else{if(v.disabled!=E.disabled){e.jqxCheckBox({disabled:v.disabled})}}}else{if(this.checkboxes&&this.host.jqxCheckBox){var e=a(B.children()[0]);e.css({display:"none",visibility:"inherit"})}}if(this.selectedIndexes[v.visibleIndex]>=0&&!v.disabled){x.addClass(this.toThemeProperty("jqx-listitem-state-selected"));x.addClass(this.toThemeProperty("jqx-fill-state-pressed"))}}else{H()}}},generatekey:function(){var b=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};return(b()+b()+"-"+b()+"-"+b()+"-"+b()+"-"+b()+b()+b())},_calculateVirtualSize:function(){var o=0;var m=2;var g=0;var n=a("<span></span>");if(this.equalItemsWidth){n.css("float","left")}var h=0;var i=this.host.outerHeight();a(document.body).append(n);var e=this.items.length;var j=this.host.width();if(this.autoItemsHeight){j-=10;if(this.vScrollBar.css("visibility")!="hidden"){j-=20}}if(this.renderer||this.groups.length>1||(e>0&&this.items[0].html!=null&&this.items[0].html!="")){for(var g=0;g<e;g++){var r=this.items[g];if(r.isGroup&&(r.label==""&&r.html=="")){continue}if(!r.visible){continue}var d="";if(!r.isGroup){d+=this.toThemeProperty("jqx-listitem-state-normal jqx-rc-all")}else{d+=this.toThemeProperty("jqx-listitem-state-group jqx-rc-all")}d+=" "+this.toThemeProperty("jqx-fill-state-normal");if(this.isTouchDevice()){d+=" "+this.toThemeProperty("jqx-touch")}n[0].className=d;if(this.autoItemsHeight){n[0].style.whiteSpace="normal";var b=this.checkboxes?-20:0;n[0].style.width=(b+j)+"px"}if(this.renderer){var k=this.renderer(r.index,r.label,r.value);n[0].innerHTML=k}else{if(r.html!=null&&r.html.toString().length>0){n[0].innerHTML=r.html}else{if(r.label!=null||r.value!=null){if(r.label!=null){n[0].innerHTML=r.label;if(r.label==""){n[0].innerHTML="Empty"}}else{n[0].innerHTML=r.value}}}}var q=n.outerHeight();var s=n.outerWidth();if(this.itemHeight>-1){q=this.itemHeight}r.height=q;r.width=s;m+=q;o=Math.max(o,s);if(m<=i){h++}}}else{var m=0;var l=0;var c="";var t=0;var f=0;var p=-1;for(var g=0;g<e;g++){var r=this.items[g];if(r.isGroup&&(r.label==""&&r.html=="")){continue}if(!r.visible){continue}p++;var d="";if(p==0){d+=this.toThemeProperty("jqx-listitem-state-normal jqx-rc-all");d+=" "+this.toThemeProperty("jqx-fill-state-normal");d+=" "+this.toThemeProperty("jqx-widget");d+=" "+this.toThemeProperty("jqx-listbox");d+=" "+this.toThemeProperty("jqx-widget-content");if(this.isTouchDevice()){d+=" "+this.toThemeProperty("jqx-touch")}n[0].className=d;if(this.autoItemsHeight){n[0].style.whiteSpace="normal";var b=this.checkboxes?-20:0;n[0].style.width=(b+j)+"px"}if(r.html==null&&(r.label==""||r.label==null)){n[0].innerHTML="Item"}else{if(r.html!=null&&r.html.toString().length>0){n[0].innerHTML=r.html}else{if(r.label!=null||r.value!=null){if(r.label!=null){n[0].innerHTML=r.label}else{n[0].innerHTML=r.value}}}}var q=n.outerHeight();if(this.itemHeight>-1){q=this.itemHeight}l=q}if(t!=undefined){f=t}if(r.html!=null&&r.html.toString().length>0){t=Math.max(t,r.html.toString().length);if(f!=t){c=r.html}}else{if(r.label!=null){t=Math.max(t,r.label.length);if(f!=t){c=r.label}}else{if(r.value!=null){t=Math.max(t,r.value.length);if(f!=t){c=r.value}}}}r.height=l;m+=l;if(m<=i){h++}}n[0].innerHTML=c;o=n.outerWidth()}m+=2;if(h<10){h=10}n.remove();return{width:o,height:m,itemsPerPage:h}},_getVirtualItemsCount:function(){if(this.virtualItemsCount==0){var b=parseInt(this.host.height())/5;if(b>this.items.length){b=this.items.length}return b}else{return this.virtualItemsCount}},_addItems:function(k){if(this.updatingListBox==true){return}if(this.items==undefined||this.items.length==0){this.virtualSize={width:0,height:0,itemsPerPage:0};this._updatescrollbars();this.renderedVisibleItems=new Array();if(this.itemswrapper){this.itemswrapper.children().remove()}return}if(k==false){var n=this._calculateVirtualSize();var o=n.itemsPerPage*2;if(this.autoHeight){o=this.items.length}this.virtualItemsCount=Math.min(o,this.items.length);var i=this;var h=n.width;this.virtualSize=n;this._updatescrollbars();return}var q=this;var j=0;this.visibleItems=new Array();this.renderedVisibleItems=new Array();this._removeHandlers();if(this.allowDrag&&this._enableDragDrop){this.itemswrapper=null}if(this.itemswrapper==null){this.content[0].innerHTML="";this.itemswrapper=a('<div style="outline: 0 none; overflow:hidden; width:100%; position: relative;"></div>');this.itemswrapper.height(2*this.host.height());this.content.append(this.itemswrapper)}var n=this._calculateVirtualSize();var o=n.itemsPerPage*2;if(this.autoHeight){o=this.items.length}this.virtualItemsCount=Math.min(o,this.items.length);var i=this;var h=n.width;this.virtualSize=n;this.itemswrapper.width(Math.max(this.host.width(),17+n.width));var l=0;var f="";for(var m=l;m<this.virtualItemsCount;m++){var p=this.items[m];f+="<div class='jqx-listitem-element'>";if(this.checkboxes&&this.host.jqxCheckBox){f+='<div style="background-color: transparent; padding: 0; margin: 0; position: absolute; float: left; width: 16px; height: 16px;" class="chkbox"></div>'}f+="<span style='-ms-touch-action: none;'></span></div>"}if(q.WinJS){MSApp.execUnsafeLocalFunction(function(){WinJS.Utilities.setInnerHTMLUnsafe(this.itemswrapper[0],f)})}else{this.itemswrapper[0].innerHTML=f}var c=this.itemswrapper.children();for(var m=l;m<this.virtualItemsCount;m++){var p=this.items[m];var b=a(c[m]);if(this.allowDrag&&this._enableDragDrop){b.addClass("draggable")}if(this.checkboxes&&this.host.jqxCheckBox){var g=a(b.children()[0]);b.css("float","left");var d=a(b[0].firstChild);d.css("float","left");b.prepend(g);g.jqxCheckBox({hasInput:false,checked:p.checked,animationShowDelay:0,animationHideDelay:0,disabled:p.disabled,enableContainerClick:false,keyboardCheck:false,hasThreeStates:this.hasThreeStates,theme:this.theme});p.checkBoxElement=g[0];p.checkBoxInstance=g.data().jqxCheckBox.instance;var e=function(u,t){var r=u.owner.element.item;if(r!=null){var s=u.args;if(t){i.checkIndex(r.index,true)}else{if(r.checked==false){i.uncheckIndex(r.index,true)}else{if(r.hasThreeStates&&i.hasThreeStates){if(t==false){i.uncheckIndex(r.index,true)}else{i.indeterminateIndex(r.index,true)}}else{i.uncheckIndex(r.index,true)}}}}i.focused=true};p.checkBoxInstance.updated=e}b[0].style.height=p.height+"px";b[0].style.top=j+"px";j+=p.height;this.visualItems[m]=b}this._addHandlers();this._updatescrollbars();if(this.autoItemsHeight){var n=this._calculateVirtualSize();var o=n.itemsPerPage*2;if(this.autoHeight){o=this.items.length}this.virtualItemsCount=Math.min(o,this.items.length);var i=this;var h=n.width;this.virtualSize=n;this._updatescrollbars()}if(a.jqx.browser.msie&&a.jqx.browser.version<8){this.host.attr("hideFocus",true);this.host.find("div").attr("hideFocus",true)}},_updatescrollbars:function(){var l=this.virtualSize.height;var j=this.virtualSize.width;var f=this.vScrollInstance;var e=this.hScrollInstance;this._arrange(false);var k=false;var m=this.host.outerWidth();if(l>this.host.outerHeight()){var b=0;if(j>m){b=this.hScrollBar.outerHeight()+2}var d=f.max;f.max=2+parseInt(l)+b-parseInt(this.host.height());if(this.vScrollBar[0].style.visibility!="inherit"){this.vScrollBar[0].style.visibility="inherit";k=true}if(d!=f.max){f._arrange()}}else{if(this.vScrollBar[0].style.visibility!="hidden"){this.vScrollBar[0].style.visibility="hidden";k=true;f.setPosition(0)}}var h=0;if(this.vScrollBar[0].style.visibility!="hidden"){h=this.scrollBarSize+6}var g=this.checkboxes?20:0;if(this.autoItemsHeight){this.hScrollBar[0].style.visibility="hidden"}else{if(j>=m-h-g){var i=e.max;if(this.vScrollBar[0].style.visibility=="inherit"){e.max=g+h+parseInt(j)-this.host.width()+4}else{e.max=g+parseInt(j)-this.host.width()+6}if(this.hScrollBar[0].style.visibility!="inherit"){this.hScrollBar[0].style.visibility="inherit";k=true}if(i!=e.max){e._arrange()}if(this.vScrollBar[0].style.visibility=="inherit"){f.max=2+parseInt(l)+this.hScrollBar.outerHeight()+2-parseInt(this.host.height())}}else{if(this.hScrollBar[0].style.visibility!="hidden"){this.hScrollBar[0].style.visibility="hidden";k=true}}}e.setPosition(0);if(k){this._arrange()}if(this.itemswrapper){this.itemswrapper.width(Math.max(this.host.width(),17+j));this.itemswrapper.height(2*this.host.height())}var c=this.isTouchDevice();if(c){if(this.vScrollBar.css("visibility")!="visible"&&this.hScrollBar.css("visibility")!="visible"){a.jqx.mobile.setTouchScroll(false,this.element.id)}else{a.jqx.mobile.setTouchScroll(true,this.element.id)}}},clear:function(){this.source=null;this.clearSelection();this.refresh()},clearSelection:function(b){for(indx=0;indx<this.selectedIndexes.length;indx++){this.selectedIndexes[indx]=-1}this.selectedIndex=-1;if(b!=false){this._renderItems()}},unselectIndex:function(b,c){if(isNaN(b)){return}this.selectedIndexes[b]=-1;if(c==undefined||c==true){this._renderItems();this._raiseEvent("1",{index:b})}this._updateInputSelection();this._raiseEvent("2",{index:b,item:this.getItem(b)})},getItem:function(c){if(c==-1||isNaN(c)){return null}var b=null;var d=a.each(this.items,function(){if(this.index==c){b=this;return false}});return b},getVisibleItem:function(b){if(b==-1||isNaN(b)){return null}return this.visibleItems[b]},getVisibleItems:function(){return this.visibleItems},checkIndex:function(b,c,e){if(!this.checkboxes||!this.host.jqxCheckBox){return}if(isNaN(b)){return}if(b<0||b>=this.visibleItems.length){return}if(this.visibleItems[b]!=null&&this.visibleItems[b].disabled){return}if(this.disabled){return}var d=this.getItem(b);if(this.groups.length>0){var d=this.getVisibleItem(b)}if(d!=null){var f=a(d.checkBoxElement);d.checked=true;if(c==undefined||c==true){this._updateCheckedItems()}}if(e==undefined||e==true){this._raiseEvent(3,{label:d.label,value:d.value,checked:true,item:d})}},getCheckedItems:function(){if(!this.checkboxes||!this.host.jqxCheckBox){return null}var b=new Array();if(this.items==undefined){return}a.each(this.items,function(){if(this.checked){b[b.length]=this}});return b},checkAll:function(b){if(!this.checkboxes||!this.host.jqxCheckBox){return}if(this.disabled){return}a.each(this.items,function(){this.checked=true});this._updateCheckedItems();if(b==undefined||b==true){this._raiseEvent(3,{checked:true})}},uncheckAll:function(b){if(!this.checkboxes||!this.host.jqxCheckBox){return}if(this.disabled){return}a.each(this.items,function(){this.checked=false});this._updateCheckedItems();if(b==undefined||b==true){this._raiseEvent(3,{checked:false})}},uncheckIndex:function(b,c,e){if(!this.checkboxes||!this.host.jqxCheckBox){return}if(isNaN(b)){return}if(b<0||b>=this.visibleItems.length){return}if(this.visibleItems[b]!=null&&this.visibleItems[b].disabled){return}if(this.disabled){return}var d=this.getItem(b);if(this.groups.length>0){var d=this.getVisibleItem(b)}if(d!=null){var f=a(d.checkBoxElement);d.checked=false;if(c==undefined||c==true){this._updateCheckedItems()}}if(e==undefined||e==true){this._raiseEvent(3,{label:d.label,value:d.value,checked:false,item:d})}},indeterminateIndex:function(b,c,e){if(!this.checkboxes||!this.host.jqxCheckBox){return}if(isNaN(b)){return}if(b<0||b>=this.visibleItems.length){return}if(this.visibleItems[b]!=null&&this.visibleItems[b].disabled){return}if(this.disabled){return}var d=this.getItem(b);if(this.groups.length>0){var d=this.getVisibleItem(b)}if(d!=null){var f=a(d.checkBoxElement);d.checked=null;if(c==undefined||c==true){this._updateCheckedItems()}}if(e==undefined||e==true){this._raiseEvent(3,{checked:null})}},getSelectedIndex:function(){return this.selectedIndex},getSelectedItems:function(){var b=this.getVisibleItems();var e=this.selectedIndexes;var d=[];for(var c in e){if(e[c]!=-1){d[d.length]=b[c]}}return d},getSelectedItem:function(){return this.getItem(this.selectedIndex)},_updateCheckedItems:function(){var b=this.selectedIndex;this.clearSelection(false);var c=this.getCheckedItems();this.selectedIndex=b;this._renderItems();var d=a.data(this.element,"hoveredItem");if(d!=null){a(d).addClass(this.toThemeProperty("jqx-listitem-state-hover"));a(d).addClass(this.toThemeProperty("jqx-fill-state-hover"))}this._updateInputSelection()},getItemByValue:function(d){if(this.visibleItems==null){return}if(this.itemsByValue){return this.itemsByValue[a.trim(d).split(" ").join("")]}var b=this.visibleItems;for(var c=0;c<b.length;c++){if(b[c].value==d){return b[c];break}}},checkItem:function(c){if(c!=null){var b=this._getItemByParam(c);return this.checkIndex(b.index,true)}return false},uncheckItem:function(c){if(c!=null){var b=this._getItemByParam(c);return this.uncheckIndex(b.index,true)}return false},indeterminateItem:function(c){if(c!=null){var b=this._getItemByParam(c);return this.indeterminateIndex(b.index,true)}return false},val:function(c){if(this.input&&arguments.length==0){return this.input.val()}var b=this.getItemByValue(c);if(b!=null){this.selectItem(b)}if(this.input){return this.input.val()}},selectItem:function(c){if(c!=null){if(c.index==undefined){var b=this.getItemByValue(c);if(b){c=b}}return this.selectIndex(c.index,true)}return false},unselectItem:function(c){if(c!=null){if(c.index==undefined){var b=this.getItemByValue(c);if(b){c=b}}return this.unselectIndex(c.index,true)}return false},selectIndex:function(j,q,c,d,m,b){if(isNaN(j)){return}if(j<-1||j>=this.visibleItems.length){return}if(this.visibleItems[j]!=null&&this.visibleItems[j].disabled){return}if(this.disabled){return}if(!this.multiple&&!this.multipleextended&&this.selectedIndex==j&&!d){return}if(this.checkboxes){this._updateCheckedItems();return}this.focused=true;var p=false;if(this.selectedIndex!=j){p=true}var o=this.selectedIndex;if(this.selectedIndex==j&&!this.multiple){o=-1}if(m==undefined){m="none"}var h=this.getItem(j);var r=this.getItem(o);if(this.visibleItems&&this.items&&this.visibleItems.length!=this.items.length){h=this.getVisibleItem(j);r=this.getVisibleItem(o)}if(d!=undefined&&d){this._raiseEvent("1",{index:o,type:m,item:r,originalEvent:b});this.selectedIndex=j;this.selectedIndexes[o]=-1;this.selectedIndexes[j]=j;this._raiseEvent("0",{index:j,type:m,item:h,originalEvent:b})}else{var l=this;var e=function(s,w,u,v,t,i){l._raiseEvent("1",{index:w,type:u,item:v,originalEvent:i});l.selectedIndex=s;l.selectedIndexes[w]=-1;w=s;l.selectedIndexes[s]=s;l._raiseEvent("0",{index:s,type:u,item:t,originalEvent:i})};var k=function(s,w,u,v,t,i){if(l.selectedIndexes[s]==undefined||l.selectedIndexes[s]==-1){l.selectedIndexes[s]=s;l.selectedIndex=s;l._raiseEvent("0",{index:s,type:u,item:t,originalEvent:i})}else{w=l.selectedIndexes[s];l.selectedIndexes[s]=-1;l.selectedIndex=-1;l._raiseEvent("1",{index:w,type:u,item:v,originalEvent:i})}};if(this.multipleextended){if(!this._shiftKey&&!this._ctrlKey){if(m!="keyboard"&&m!="mouse"){k(j,o,m,r,h,b);l._clickedIndex=j}else{this.clearSelection(false);l._clickedIndex=j;e(j,o,m,r,h,b)}}else{if(this._ctrlKey){if(m=="keyboard"){this.clearSelection(false);l._clickedIndex=j}k(j,o,m,r,h,b)}else{if(this._shiftKey){if(l._clickedIndex==undefined){l._clickedIndex=o}var f=Math.min(l._clickedIndex,j);var n=Math.max(l._clickedIndex,j);this.clearSelection(false);for(var g=f;g<=n;g++){l.selectedIndexes[g]=g;l._raiseEvent("0",{index:g,type:m,item:this.getVisibleItem(g),originalEvent:b})}if(m!="keyboard"){l.selectedIndex=l._clickedIndex}else{l.selectedIndex=j}}}}}else{if(this.multiple){k(j,o,m,r,h,b)}else{e(j,o,m,r,h,b)}}}if(c==undefined||c==true){this._renderItems()}if(q!=undefined&&q!=null&&q==true){this.ensureVisible(j)}this._raiseEvent("2",{index:j,item:h,oldItem:r});this._updateInputSelection();return p},_updateInputSelection:function(){if(this.input){if(this.selectedIndex==-1){this.input.val("")}else{if(this.items){if(this.items[this.selectedIndex]!=undefined){this.input.val(this.items[this.selectedIndex].value)}}}if(this.multiple||this.multipleextended||this.checkboxes){var b=!this.checkboxes?this.getSelectedItems():this.getCheckedItems();var d="";if(b){for(var c=0;c<b.length;c++){if(undefined!=b[c]){if(c==b.length-1){d+=b[c].value}else{d+=b[c].value+","}}}this.input.val(d)}}}},isIndexInView:function(c){if(isNaN(c)){return false}if(!this.items){return false}if(c<0||c>=this.items.length){return false}var d=this.vScrollInstance.value;var e=this.visibleItems[this.selectedIndex];if(e==undefined){return true}var b=e.initialTop;var f=e.height;if(b-d<0||b-d+f>=this.host.outerHeight()){return false}return true},_itemsInPage:function(){var b=0;var c=this;a.each(this.items,function(){if((this.initialTop+this.height)>=c.content.height()){return false}b++});return b},_firstItemIndex:function(){if(this.visibleItems!=null){if(this.visibleItems[0].isGroup){return this._nextItemIndex(0)}else{return 0}}return -1},_lastItemIndex:function(){if(this.visibleItems!=null){if(this.visibleItems[this.visibleItems.length-1].isGroup){return this._prevItemIndex(this.visibleItems.length-1)}else{return this.visibleItems.length-1}}return -1},_nextItemIndex:function(b){for(indx=b+1;indx<this.visibleItems.length;indx++){if(this.visibleItems[indx]){if(!this.visibleItems[indx].disabled&&!this.visibleItems[indx].isGroup){return indx}}}return -1},_prevItemIndex:function(b){for(indx=b-1;indx>=0;indx--){if(this.visibleItems[indx]){if(!this.visibleItems[indx].disabled&&!this.visibleItems[indx].isGroup){return indx}}}return -1},_getMatches:function(g,d){if(g==undefined||g.length==0){return -1}if(d==undefined){d=0}var b=this.getItems();var f=this;var c=-1;var e=0;a.each(b,function(h){var k="";if(!this.isGroup){if(this.label){k=this.label}else{if(this.value){k=this.value}else{if(this.title){k=this.title}else{k="jqxItem"}}}var j=false;switch(f.searchMode){case"containsignorecase":j=a.jqx.string.containsIgnoreCase(k,g);break;case"contains":j=a.jqx.string.contains(k,g);break;case"equals":j=a.jqx.string.equals(k,g);break;case"equalsignorecase":j=a.jqx.string.equalsIgnoreCase(k,g);break;case"startswith":j=a.jqx.string.startsWith(k,g);break;case"startswithignorecase":j=a.jqx.string.startsWithIgnoreCase(k,g);break;case"endswith":j=a.jqx.string.endsWith(k,g);break;case"endswithignorecase":j=a.jqx.string.endsWithIgnoreCase(k,g);break}if(j&&this.visibleIndex>=d){c=this.visibleIndex;return false}}});return c},findItems:function(e){var b=this.getItems();var d=this;var c=0;var f=new Array();a.each(b,function(g){var j="";if(!this.isGroup){if(this.label){j=this.label}else{if(this.value){j=this.value}else{if(this.title){j=this.title}else{j="jqxItem"}}}var h=false;switch(d.searchMode){case"containsignorecase":h=a.jqx.string.containsIgnoreCase(j,e);break;case"contains":h=a.jqx.string.contains(j,e);break;case"equals":h=a.jqx.string.equals(j,e);break;case"equalsignorecase":h=a.jqx.string.equalsIgnoreCase(j,e);break;case"startswith":h=a.jqx.string.startsWith(j,e);break;case"startswithignorecase":h=a.jqx.string.startsWithIgnoreCase(j,e);break;case"endswith":h=a.jqx.string.endsWith(j,e);break;case"endswithignorecase":h=a.jqx.string.endsWithIgnoreCase(j,e);break}if(h){f[c++]=this}}});return f},_handleKeyDown:function(b){var o=b.keyCode;var p=this;var j=p.selectedIndex;var d=p.selectedIndex;var l=false;if(!this.keyboardNavigation||!this.enableSelection){return}var i=function(){if(p.multiple){p.clearSelection(false)}};if(b.altKey){o=-1}if(p.incrementalSearch){var q=-1;if(!p._searchString){p._searchString=""}if((o==8||o==46)&&p._searchString.length>=1){p._searchString=p._searchString.substr(0,p._searchString.length-1)}var c=String.fromCharCode(o);var k=(!isNaN(parseInt(c)));if((o>=65&&o<=97)||k||o==8||o==32||o==46){if(!b.shiftKey){c=c.toLocaleLowerCase()}var n=1+p.selectedIndex;if(o!=8&&o!=32&&o!=46){if(p._searchString.length>0&&p._searchString.substr(0,1)==c){n=1+p.selectedIndex}else{p._searchString+=c}}if(o==32){p._searchString+=" "}var h=this._getMatches(p._searchString,n);q=h;if(q==p._lastMatchIndex||q==-1){var h=this._getMatches(p._searchString,0);q=h}p._lastMatchIndex=q;if(q>=0){i();p.selectIndex(q,false,false,false,"keyboard",b);var e=p.isIndexInView(q);if(!e){p.ensureVisible(q)}else{p._renderItems()}}}if(p._searchTimer!=undefined){clearTimeout(p._searchTimer)}if(o==27||o==13){p._searchString=""}p._searchTimer=setTimeout(function(){p._searchString=""},p.incrementalSearchDelay);if(q>=0){return}}if(this.checkboxes){return true}if(o==33){var g=p._itemsInPage();if(p.selectedIndex-g>=0){i();p.selectIndex(d-g,false,false,false,"keyboard",b)}else{i();p.selectIndex(p._firstItemIndex(),false,false,false,"keyboard",b)}p._searchString=""}if(o==32&&this.checkboxes){var f=this.getItem(j);if(f!=null){p._updateItemCheck(f,j);b.preventDefault()}p._searchString=""}if(o==36){i();p.selectIndex(p._firstItemIndex(),false,false,false,"keyboard",b);p._searchString=""}if(o==35){i();p.selectIndex(p._lastItemIndex(),false,false,false,"keyboard",b);p._searchString=""}if(o==34){var g=p._itemsInPage();if(p.selectedIndex+g<p.visibleItems.length){i();p.selectIndex(d+g,false,false,false,"keyboard",b)}else{i();p.selectIndex(p._lastItemIndex(),false,false,false,"keyboard",b)}p._searchString=""}if(o==38){p._searchString="";if(p.selectedIndex>0){var m=p._prevItemIndex(p.selectedIndex);if(m!=p.selectedIndex&&m!=-1){i();p.selectIndex(m,false,false,false,"keyboard",b)}else{return true}}else{return false}}else{if(o==40){p._searchString="";if(p.selectedIndex+1<p.visibleItems.length){var m=p._nextItemIndex(p.selectedIndex);if(m!=p.selectedIndex&&m!=-1){i();p.selectIndex(m,false,false,false,"keyboard",b)}else{return true}}else{return false}}}if(o==35||o==36||o==38||o==40||o==34||o==33){var e=p.isIndexInView(p.selectedIndex);if(!e){p.ensureVisible(p.selectedIndex)}else{p._renderItems()}return false}return true},_updateItemCheck:function(b,c){if(b.checked==true){b.checked=(b.hasThreeStates&&this.hasThreeStates)?null:false}else{b.checked=b.checked!=null}switch(b.checked){case true:this.checkIndex(c);break;case false:this.uncheckIndex(c);break;default:this.indeterminateIndex(c);break}},wheel:function(d,c){if(c.autoHeight||!c.enableMouseWheel){d.returnValue=true;return true}if(c.disabled){return true}var e=0;if(!d){d=window.event}if(d.originalEvent&&d.originalEvent.wheelDelta){d.wheelDelta=d.originalEvent.wheelDelta}if(d.wheelDelta){e=d.wheelDelta/120}else{if(d.detail){e=-d.detail/3}}if(e){var b=c._handleDelta(e);if(b){if(d.preventDefault){d.preventDefault()}if(d.originalEvent!=null){d.originalEvent.mouseHandled=true}if(d.stopPropagation!=undefined){d.stopPropagation()}}if(b){b=false;d.returnValue=b;return b}else{return false}}if(d.preventDefault){d.preventDefault()}d.returnValue=false},_handleDelta:function(d){var c=this.vScrollInstance.value;if(d<0){this.scrollDown()}else{this.scrollUp()}var b=this.vScrollInstance.value;if(c!=b){return true}return false},focus:function(){try{this.focused=true;this.host.focus();var c=this;setTimeout(function(){c.host.focus()},10)}catch(b){}},_removeHandlers:function(){var b=this;this.removeHandler(a(document),"keydown.listbox"+this.element.id);this.removeHandler(a(document),"keyup.listbox"+this.element.id);this.removeHandler(this.vScrollBar,"valuechanged");this.removeHandler(this.hScrollBar,"valuechanged");this.removeHandler(this.host,"mousewheel");this.removeHandler(this.host,"keydown");this.removeHandler(this.content,"mouseleave");this.removeHandler(this.content,"focus");this.removeHandler(this.content,"blur");this.removeHandler(this.host,"focus");this.removeHandler(this.host,"blur");this.removeHandler(this.content,"mouseenter");this.removeHandler(this.content,"mouseup");this.removeHandler(this.content,"mousedown");this.removeHandler(this.content,"touchend");if(this._mousemovefunc){this.removeHandler(this.content,"mousemove",this._mousemovefunc);this._mousemovefunc=null}else{this.removeHandler(this.content,"mousemove")}if(a.jqx.browser.msie){this.removeHandler(this.content,"selectstart")}if(this.overlayContent){this.removeHandler(this.overlayContent,a.jqx.mobile.getTouchEventName("touchend"))}},_updateSize:function(){var b=this;b._arrange();if(b.host.height()!=b._oldheight||b.host.width()!=b._oldwidth){var c=b.host.width()!=b._oldwidth;if(b.autoItemsHeight){b._render(false)}else{if(b.items){if(b.items.length>0&&b.virtualItemsCount*b.items[0].height<b._oldheight){b._render(false)}else{var d=b.vScrollInstance.value;b._updatescrollbars();b._renderItems();if(d<b.vScrollInstance.max){b.vScrollInstance.setPosition(d)}else{b.vScrollInstance.setPosition(b.vScrollInstance.max)}}}}b._oldwidth=b.host.width();b._oldheight=b.host.height()}},_addHandlers:function(){var j=this;this.focused=false;var k=false;var i=0;var f=null;var i=0;var b=0;var g=new Date();var d=this.isTouchDevice();if((this.width!=null&&this.width.toString().indexOf("%")!=-1)||(this.height!=null&&this.height.toString().indexOf("%")!=-1)){this.removeHandler(a(window),"resize."+this.element.id);this.addHandler(a(window),"resize."+this.element.id,function(l){j._updateSize()})}this.addHandler(this.vScrollBar,"valuechanged",function(l){if(a.jqx.browser.msie&&a.jqx.browser.version>9){setTimeout(function(){j._renderItems()},1)}else{j._renderItems()}});this.addHandler(this.hScrollBar,"valuechanged",function(){j._renderItems()});this.addHandler(this.host,"mousewheel",function(l){j.wheel(l,j)});this.addHandler(a(document),"keydown.listbox"+this.element.id,function(l){j._ctrlKey=l.ctrlKey;j._shiftKey=l.shiftKey});this.addHandler(a(document),"keyup.listbox"+this.element.id,function(l){j._ctrlKey=l.ctrlKey;j._shiftKey=l.shiftKey});this.addHandler(this.host,"keydown",function(l){return j._handleKeyDown(l)});this.addHandler(this.content,"mouseleave",function(l){j.focused=false;var m=a.data(j.element,"hoveredItem");if(m!=null){a(m).removeClass(j.toThemeProperty("jqx-listitem-state-hover"));a(m).removeClass(j.toThemeProperty("jqx-fill-state-hover"));a.data(j.element,"hoveredItem",null)}});this.addHandler(this.content,"focus",function(l){if(!j.disabled){j.host.addClass(j.toThemeProperty("jqx-fill-state-focus"));j.focused=true}});this.addHandler(this.content,"blur",function(l){j.focused=false;j.host.removeClass(j.toThemeProperty("jqx-fill-state-focus"))});this.addHandler(this.host,"focus",function(l){if(!j.disabled){j.host.addClass(j.toThemeProperty("jqx-fill-state-focus"));j.focused=true}});this.addHandler(this.host,"blur",function(l){if(a.jqx.browser.msie&&a.jqx.browser.version<9&&j.focused){return}j.host.removeClass(j.toThemeProperty("jqx-fill-state-focus"));j.focused=false});this.addHandler(this.content,"mouseenter",function(l){j.focused=true});var c=a.jqx.utilities.hasTransform(this.host);if(this.enableSelection){var e=j.isTouchDevice();var h=!e?"mousedown":"touchend";if(this.overlayContent){this.addHandler(this.overlayContent,a.jqx.mobile.getTouchEventName("touchend"),function(n){if(!j.enableSelection){return true}if(e){j._newScroll=new Date();if(j._newScroll-j._lastScroll<500){return true}}var r=a.jqx.mobile.getTouches(n);var q=r[0];if(q!=undefined){var s=j.host.offset();var p=parseInt(q.pageX);var t=parseInt(q.pageY);if(j.touchmode==true){p=parseInt(q._pageX);t=parseInt(q._pageY)}p=p-s.left;t=t-s.top;var u=j._hitTest(p,t);if(u!=null&&!u.isGroup){if(j.checkboxes){var m=a(u.element).offset();var l=parseInt(m.left);if(!j.rtl){if(p<=l+20){if(u.checked){j.uncheckIndex(u.visibleIndex)}else{j.checkIndex(u.visibleIndex)}}}else{var o=j.hScrollBar.css("visibility")!="hidden"?j.hScrollInstance.max:j.host.width();if(p<=j.host.width()-20){j._updateItemCheck(u,u.visibleIndex)}}}if(u.html.indexOf("href")!=-1){setTimeout(function(){j.selectIndex(u.visibleIndex,false,true,false,"mouse",n)},100)}else{j.selectIndex(u.visibleIndex,false,true,false,"mouse",n)}}}})}else{this.addHandler(this.content,h,function(l){if(!j.enableSelection){return true}if(e){j._newScroll=new Date();if(j._newScroll-j._lastScroll<500){return false}}j.focused=true;if(!j.isTouchDevice()){j.host.focus()}if(l.target.id!=("listBoxContent"+j.element.id)&&j.itemswrapper[0]!=l.target){var p=l.target;var v=a(p).offset();var o=j.host.offset();if(c){var m=a.jqx.mobile.getLeftPos(p);var r=a.jqx.mobile.getTopPos(p);v.left=m;v.top=r;m=a.jqx.mobile.getLeftPos(j.element);r=a.jqx.mobile.getTopPos(j.element);o.left=m;o.top=r}var q=parseInt(v.top)-parseInt(o.top);var t=parseInt(v.left)-parseInt(o.left);var u=j._hitTest(t,q);if(u!=null&&!u.isGroup){var n=function(x,w){if(!j._shiftKey){j._clickedIndex=x.visibleIndex}if(!j.checkboxes){j.selectIndex(x.visibleIndex,false,true,false,"mouse",w)}else{j.selectedIndex=x.visibleIndex;if(j.rtl){var y=j.hScrollBar.css("visibility")!="hidden"?j.hScrollInstance.max:j.host.width();if(t<=j.host.width()-20){j._updateItemCheck(x,x.visibleIndex)}}else{if(t+j.hScrollInstance.value>=20){j._updateItemCheck(x,x.visibleIndex)}}}};if(!u.disabled){if(u.html.indexOf("href")!=-1){setTimeout(function(){n(u,l)},100)}else{n(u,l)}}}if(h=="mousedown"){var s=false;if(l.which){s=(l.which==3)}else{if(l.button){s=(l.button==2)}}if(s){return true}return false}}return true})}this.addHandler(this.content,"mouseup",function(l){j.vScrollInstance.handlemouseup(j,l)});if(a.jqx.browser.msie){this.addHandler(this.content,"selectstart",function(l){return false})}}var d=this.isTouchDevice();if(this.enableHover&&!d){this._mousemovefunc=function(l){if(d){return true}if(!j.enableHover){return true}var n=a.jqx.browser.msie==true&&a.jqx.browser.version<9?0:1;if(l.target==null){return true}if(j.disabled){return true}j.focused=true;var p=j.vScrollInstance.isScrolling();if(!p&&l.target.id!=("listBoxContent"+j.element.id)){if(j.itemswrapper[0]!=l.target){var r=l.target;var z=a(r).offset();var q=j.host.offset();if(c){var m=a.jqx.mobile.getLeftPos(r);var t=a.jqx.mobile.getTopPos(r);z.left=m;z.top=t;m=a.jqx.mobile.getLeftPos(j.element);t=a.jqx.mobile.getTopPos(j.element);q.left=m;q.top=t}var s=parseInt(z.top)-parseInt(q.top);var u=parseInt(z.left)-parseInt(q.left);var w=j._hitTest(u,s);if(w!=null&&!w.isGroup&&!w.disabled){var o=a.data(j.element,"hoveredItem");if(o!=null){a(o).removeClass(j.toThemeProperty("jqx-listitem-state-hover"));a(o).removeClass(j.toThemeProperty("jqx-fill-state-hover"))}a.data(j.element,"hoveredItem",w.element);var v=a(w.element);v.addClass(j.toThemeProperty("jqx-listitem-state-hover"));v.addClass(j.toThemeProperty("jqx-fill-state-hover"))}}}};this.addHandler(this.content,"mousemove",this._mousemovefunc)}},_arrange:function(l){if(l==undefined){l=true}var c=null;var n=null;var i=this;var g=function(r){r=i.host.height();if(r==0){r=200;i.host.height(r)}return r};if(this.width!=null&&this.width.toString().indexOf("px")!=-1){c=this.width}else{if(this.width!=undefined&&!isNaN(this.width)){c=this.width}}if(this.height!=null&&this.height.toString().indexOf("px")!=-1){n=this.height}else{if(this.height!=undefined&&!isNaN(this.height)){n=this.height}}if(this.width!=null&&this.width.toString().indexOf("%")!=-1){this.host.css("width",this.width);c=this.host.width()}if(this.height!=null&&this.height.toString().indexOf("%")!=-1){this.host.css("height",this.height);n=g(n)}var k=this.host.css("border-width");if(k==null){k=0}if(c!=null){c=parseInt(c);if(parseInt(this.element.style.width)!=parseInt(this.width)){this.host.width(this.width)}}if(!this.autoHeight){if(n!=null){n=parseInt(n);if(parseInt(this.element.style.height)!=parseInt(this.height)){this.host.height(this.height);g(n)}}}else{if(this.virtualSize){if(this.hScrollBar.css("visibility")!="hidden"){this.host.height(this.virtualSize.height+parseInt(this.scrollBarSize)+3);this.height=this.virtualSize.height+parseInt(this.scrollBarSize)+3;n=this.height}else{this.host.height(this.virtualSize.height);this.height=this.virtualSize.height;n=this.virtualSize.height}}}var b=this.scrollBarSize;if(isNaN(b)){b=parseInt(b);if(isNaN(b)){b="17px"}else{b=b+"px"}}b=parseInt(b);var h=4;var q=2;var j=0;if(this.vScrollBar){if(this.vScrollBar[0].style.visibility!="hidden"){j=b+h}else{this.vScrollInstance.setPosition(0)}}else{return}if(this.hScrollBar){if(this.hScrollBar[0].style.visibility!="hidden"){q=b+h}else{this.hScrollInstance.setPosition(0)}}else{return}if(this.autoItemsHeight){this.hScrollBar[0].style.visibility="hidden";q=0}if(n==null){n=0}var p=parseInt(n)-h-b;if(p<0){p=0}if(parseInt(this.hScrollBar[0].style.height)!=b){if(parseInt(b)<0){b=0}this.hScrollBar[0].style.height=parseInt(b)+"px"}if(this.hScrollBar[0].style.top!=p+"px"){this.hScrollBar[0].style.top=p+"px";this.hScrollBar[0].style.left="0px"}var o=c-b-h;if(o<0){o=0}var m=o+"px";if(this.hScrollBar[0].style.width!=m){this.hScrollBar[0].style.width=m}if(j==0){this.hScrollBar.width(c-2)}if(b!=parseInt(this.vScrollBar[0].style.width)){this.vScrollBar.width(b)}if((parseInt(n)-q)!=parseInt(this.vScrollBar[0].style.height)){this.vScrollBar.height(parseInt(n)-q+"px")}if(c==null){c=0}var d=parseInt(c)-parseInt(b)-h+"px";if(d!=this.vScrollBar[0].style.left){if(parseInt(d)>=0){this.vScrollBar[0].style.left=d}this.vScrollBar[0].style.top="0px"}var f=this.vScrollInstance;f.disabled=this.disabled;if(l){f._arrange()}var e=this.hScrollInstance;e.disabled=this.disabled;if(l){e._arrange()}if((this.vScrollBar[0].style.visibility!="hidden")&&(this.hScrollBar[0].style.visibility!="hidden")){this.bottomRight[0].style.visibility="inherit";this.bottomRight.css({left:1+parseInt(this.vScrollBar[0].style.left),top:1+parseInt(this.hScrollBar[0].style.top)});if(this.rtl){this.bottomRight.css({left:0})}this.bottomRight.width(parseInt(b)+3);this.bottomRight.height(parseInt(b)+3)}else{this.bottomRight[0].style.visibility="hidden"}if(parseInt(this.content[0].style.width)!=(parseInt(c)-j)){this.content.width(parseInt(c)-j)}if(this.rtl){this.vScrollBar.css({left:0+"px",top:"0px"});this.hScrollBar.css({left:this.vScrollBar.width()+2+"px"});if(this.vScrollBar[0].style.visibility!="hidden"){this.content.css("margin-left",4+this.vScrollBar.width())}else{this.content.css("margin-left",0);this.hScrollBar.css({left:"0px"})}}if(parseInt(this.content[0].style.height)!=(parseInt(n)-q)){this.content.height(parseInt(n)-q)}if(this.overlayContent){this.overlayContent.width(parseInt(c)-j);this.overlayContent.height(parseInt(n)-q)}},ensureVisible:function(d){var c=this.isIndexInView(d);if(!c){if(d<0){return}if(this.autoHeight){var b=a.data(this.vScrollBar[0],"jqxScrollBar").instance;b.setPosition(0)}else{for(indx=0;indx<this.visibleItems.length;indx++){var e=this.visibleItems[indx];if(e.visibleIndex==d&&!e.isGroup){var b=a.data(this.vScrollBar[0],"jqxScrollBar").instance;var f=b.value;if(e.initialTop<f){b.setPosition(e.initialTop)}else{if(e.initialTop+e.height>f+this.host.height()){b.setPosition(e.initialTop+e.height+2-this.host.height())}}break}}}}this._renderItems()},scrollDown:function(){if(this.vScrollBar.css("visibility")=="hidden"){return false}var b=this.vScrollInstance;if(b.value+b.largestep<=b.max){b.setPosition(b.value+b.largestep);return true}else{b.setPosition(b.max);return true}return false},scrollUp:function(){if(this.vScrollBar.css("visibility")=="hidden"){return false}var b=this.vScrollInstance;if(b.value-b.largestep>=b.min){b.setPosition(b.value-b.largestep);return true}else{if(b.value!=b.min){b.setPosition(b.min);return true}}return false},databind:function(h){this.records=new Array();var d=h._source?true:false;var i=new a.jqx.dataAdapter(h,{autoBind:false});if(d){i=h;h=h._source}var g=function(j){if(h.type!=undefined){i._options.type=h.type}if(h.formatdata!=undefined){i._options.formatData=h.formatdata}if(h.contenttype!=undefined){i._options.contentType=h.contenttype}if(h.async!=undefined){i._options.async=h.async}};var c=function(o,p){var r=function(s){if(typeof s==="string"){var u=s;var v=s}else{var v=s[o.valueMember];var u=s[o.displayMember]}var t=new a.jqx._jqxListBox.item();t.label=u;t.value=v;t.html="";t.visible=true;t.originalItem=s;t.group="";t.groupHtml="";t.disabled=false;t.hasThreeStates=true;return t};if(p!=undefined){var j=i._changedrecords[0];if(j){a.each(i._changedrecords,function(){var s=this.index;var t=this.record;if(p!="remove"){var u=r(t)}switch(p){case"update":o.updateAt(u,s);break;case"add":o.insertAt(u,s);break;case"remove":o.removeAt(s);break}});return}}o.records=i.records;var l=o.records.length;o.items=new Array();o.itemsByValue=new Array();for(var k=0;k<l;k++){var m=o.records[k];var n=r(m);n.index=k;o.items[k]=n;var q=n.value;if(n.value==""||n.value==null){q=k}o.itemsByValue[a.trim(q).split(" ").join("")]=n}o._render();o._raiseEvent("6")};g(this);var f=this;switch(h.datatype){case"local":case"array":default:if(h.localdata!=null){i.unbindBindingUpdate(this.element.id);i.dataBind();c(this);i.bindBindingUpdate(this.element.id,function(j){c(f,j)})}break;case"json":case"jsonp":case"xml":case"xhtml":case"script":case"text":case"csv":case"tab":if(h.localdata!=null){i.unbindBindingUpdate(this.element.id);i.dataBind();c(this);i.bindBindingUpdate(this.element.id,function(){c(f)});return}var e={};if(i._options.data){a.extend(i._options.data,e)}else{if(h.data){a.extend(e,h.data)}i._options.data=e}var b=function(){c(f)};i.unbindDownloadComplete(f.element.id);i.bindDownloadComplete(f.element.id,b);i.dataBind()}},loadItems:function(m){if(m==null){this.groups=new Array();this.items=new Array();this.visualItems=new Array();return}var s=this;var k=0;var d=0;var b=0;this.groups=new Array();this.items=new Array();this.visualItems=new Array();var e=new Array();this.itemsByValue=new Array();a.map(m,function(v){if(v==undefined){return null}var j=new a.jqx._jqxListBox.item();var w=v.group;var i=v.groupHtml;var x=v.title;if(x==null||x==undefined){x=""}if(w==null||w==undefined){w=""}if(i==null||i==undefined){i=""}if(!s.groups[w]){s.groups[w]={items:new Array(),index:-1,caption:w,captionHtml:i};k++;var t=k+"jqxGroup";s.groups[t]=s.groups[w];d++;s.groups.length=d}var u=s.groups[w];u.index++;u.items[u.index]=j;if(typeof v==="string"){j.label=v;j.value=v}else{if(v.label==null&&v.value==null&&v.html==null&&v.group==null&&v.groupHtml==null){j.label=v.toString();j.value=v.toString()}else{j.label=v.label||v.value;j.value=v.value||v.label}}if(typeof v!="string"){if(s.displayMember!=""){if(v[s.displayMember]){j.label=v[s.displayMember]}}if(s.valueMember!=""){j.value=v[s.valueMember]}}j.hasThreeStates=v.hasThreeStates!=undefined?v.hasThreeStates:true;j.originalItem=v;j.title=x;j.html=v.html||"";if(v.html&&v.html!=""){if(x&&x!=""){}}j.group=w;j.checked=v.checked||false;j.groupHtml=v.groupHtml||"";j.disabled=v.disabled||false;j.visible=v.visible||true;j.index=b;e[b]=j;b++;return j});var c=new Array();var o=0;if(this.fromSelect==undefined||this.fromSelect==false){for(var h=0;h<d;h++){var k=h+1;var n=k+"jqxGroup";var q=this.groups[n];if(q==undefined||q==null){break}if(h==0&&q.caption==""&&q.captionHtml==""&&d<=1){for(var g=0;g<q.items.length;g++){var p=q.items[g].value;if(q.items[g].value==""||q.items[g].value==null){p=g}this.itemsByValue[a.trim(p).split(" ").join("")]=q.items[g]}return q.items}else{var l=new a.jqx._jqxListBox.item();l.isGroup=true;l.label=q.caption;if(q.caption==""&&q.captionHtml==""){q.caption=this.emptyGroupText;l.label=q.caption}l.html=q.captionHtml;c[o]=l;var p=l.value;if(l.value==""||l.value==null){p=o}s.itemsByValue[a.trim(p).split(" ").join("")]=l;o++}for(var f=0;f<q.items.length;f++){c[o]=q.items[f];o++}}}else{var o=0;var r=new Array();a.each(e,function(){if(!r[this.group]){if(this.group!=""){var i=new a.jqx._jqxListBox.item();i.isGroup=true;i.label=this.group;c[o]=i;o++;r[this.group]=true}}c[o]=this;var j=this.value;if(this.value==""||this.value==null){j=o-1}s.itemsByValue[a.trim(j).split(" ").join("")]=this;o++})}return c},_mapItem:function(c){var b=new a.jqx._jqxListBox.item();if(typeof c==="string"){b.label=c;b.value=c}else{if(typeof c==="number"){b.label=c.toString();b.value=c.toString()}else{b.label=c.label||c.value;b.value=c.value||c.label}}if(b.label==undefined&&b.value==undefined&&b.html==undefined){b.label=b.value=c}b.html=c.html||"";b.group=c.group||"";b.title=c.title||"";b.groupHtml=c.groupHtml||"";b.disabled=c.disabled||false;b.visible=c.visible||true;return b},addItem:function(c){var b=this._getItemByParam(c);return this.insertAt(b,this.items?this.items.length:0)},_getItemByParam:function(c){if(c!=null){if(c.index==undefined){var b=this.getItemByValue(c);if(b){c=b}}}return c},insertItem:function(d,b){var c=this._getItemByParam(d);return this.insertAt(c,b)},updateAt:function(d,c){if(d!=null){var b=this._mapItem(d);this.itemsByValue[a.trim(b.value).split(" ").join("")]=this.items[c];this.items[c].value=b.value;this.items[c].label=b.label;this.items[c].html=b.html;this.items[c].disabled=b.disabled}this._cachedItemHtml=[];this._renderItems();if(this.rendered){this.rendered()}},insertAt:function(l,f){if(l==null){return false}this._cachedItemHtml=[];if(this.items==undefined||this.items.length==0){this.source=new Array();this.refresh();var g=this._mapItem(l);g.index=0;this.items[this.items.length]=g;this._addItems(true);this._renderItems();if(this.rendered){this.rendered()}if(this.allowDrag&&this._enableDragDrop){this._enableDragDrop()}var k=g.value;if(g.value==""||g.value==null){k=f}this.itemsByValue[a.trim(k).split(" ").join("")]=g;return false}var g=this._mapItem(l);if(f==-1||f==undefined||f==null||f>=this.items.length){g.index=this.items.length;this.items[this.items.length]=g}else{var c=new Array();var j=0;var e=false;var h=0;for(var b=0;b<this.items.length;b++){if(this.items[b].isGroup==false){if(h>=f&&!e){c[j++]=g;g.index=f;h++;e=true}}c[j]=this.items[b];if(!this.items[b].isGroup){c[j].index=h;h++}j++}this.items=c}var k=g.value;if(g.value==""||g.value==null){k=f}this.itemsByValue[a.trim(k).split(" ").join("")]=g;this.visibleItems=new Array();this.renderedVisibleItems=new Array();var d=a.data(this.vScrollBar[0],"jqxScrollBar").instance;var i=d.value;d.setPosition(0);if((this.allowDrag&&this._enableDragDrop)||(this.virtualSize&&this.virtualSize.height<10+this.host.height())){this._addItems(true)}else{this._addItems(false)}this._renderItems();if(this.allowDrag&&this._enableDragDrop){this._enableDragDrop()}d.setPosition(i);if(this.rendered){this.rendered()}return true},removeAt:function(g){if(g<0||g>this.items.length-1){return false}var d=this.items[g].height;var k=this.items[g].value;if(k==""||k==null){k=g}this.itemsByValue[a.trim(k).split(" ").join("")]=null;this.items.splice(g,1);var c=new Array();var j=0;var f=false;var h=0;for(var b=0;b<this.items.length;b++){c[j]=this.items[b];if(!this.items[b].isGroup){c[j].index=h;h++}j++}this.items=c;var e=a.data(this.vScrollBar[0],"jqxScrollBar").instance;var e=a.data(this.vScrollBar[0],"jqxScrollBar").instance;var i=e.value;e.setPosition(0);this.visibleItems=new Array();this.renderedVisibleItems=new Array();if(this.items.length>0){if(this.virtualSize){this.virtualSize.height-=d;var l=this.virtualSize.itemsPerPage*2;if(this.autoHeight){l=this.items.length}this.virtualItemsCount=Math.min(l,this.items.length)}this._updatescrollbars()}else{this._addItems()}this._renderItems();if(this.allowDrag&&this._enableDragDrop){this._enableDragDrop()}if(this.vScrollBar.css("visibility")!="hidden"){e.setPosition(i)}else{e.setPosition(0)}if(this.rendered){this.rendered()}return true},removeItem:function(c){var b=this._getItemByParam(c);this.removeAt(b.index)},getItems:function(){return this.items},disableAt:function(b){if(!this.items){return false}if(b<0||b>this.items.length-1){return false}this.items[b].disabled=true;this._renderItems();return true},enableAt:function(b){if(!this.items){return false}if(b<0||b>this.items.length-1){return false}this.items[b].disabled=false;this._renderItems();return true},destroy:function(){if(this.source&&this.source.unbindBindingUpdate){this.source.unbindBindingUpdate(this.element.id)}this._removeHandlers();this.vScrollBar.jqxScrollBar("destroy");this.hScrollBar.jqxScrollBar("destroy");this.vScrollBar.remove();this.hScrollBar.remove();this.host.removeClass("jqx-listbox jqx-rc-all");this.host.remove()},_raiseEvent:function(f,c){if(this._stopEvents==true){return true}if(c==undefined){c={owner:null}}var d=this.events[f];args=c;args.owner=this;this._updateInputSelection();var e=new jQuery.Event(d);e.owner=this;e.args=args;if(this.host!=null){var b=this.host.trigger(e)}return b}})})(jQuery);(function(a){a.jqx._jqxListBox.item=function(){var b={group:"",groupHtml:"",selected:false,isGroup:false,highlighted:false,value:null,label:"",html:null,visible:true,disabled:false,element:null,width:null,height:null,initialTop:null,top:null,left:null,title:"",index:-1,checkBoxElement:null,originalItem:null,checked:false,visibleIndex:-1};return b}})(jQuery);
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function (b) { b.jqx.jqxWidget("jqxGrid", "", {}); b.extend(b.jqx._jqxGrid.prototype, { defineInstance: function () { this.disabled = false; this.width = 600; this.height = 400; this.pagerheight = 28; this.groupsheaderheight = 34; this.pagesize = 10; this.pagesizeoptions = ["5", "10", "20"]; this.rowsheight = 25; this.columnsheight = 25; this.filterrowheight = 30; this.groupindentwidth = 30; this.rowdetails = false; this.enablerowdetailsindent = true; this.enablemousewheel = true; this.initrowdetails = null; this.layoutrowdetails = null; this.editable = false; this.editmode = "selectedcell"; this.pageable = false; this.groupable = false; this.sortable = false; this.filterable = false; this.autoshowfiltericon = true; this.showfiltercolumnbackground = true; this.showpinnedcolumnbackground = true; this.showsortcolumnbackground = true; this.altrows = false; this.altstart = 1; this.altstep = 1; this.showrowdetailscolumn = true; this.showtoolbar = false; this.toolbarheight = 34; this.showstatusbar = false; this.statusbarheight = 34; this.enableellipsis = true; this.groups = []; this.groupsrenderer = null; this.groupcolumnrenderer = null; this.groupsexpandedbydefault = false; this.pagerrenderer = null; this.touchmode = "auto"; this.columns = []; this.selectedrowindex = -1; this.selectedrowindexes = new Array(); this.selectedcells = new Array(); this.selectedcell = null; this.tableZIndex = 799; this.headerZIndex = 499; this.updatefilterconditions = null; this.showaggregates = false; this.showfilterrow = false; this.autorowheight = false; this.autokoupdates = true; this.handlekeyboardnavigation = null; this.showsortmenuitems = true; this.showfiltermenuitems = true; this.showgroupmenuitems = true; this.enablebrowserselection = false; this.clipboard = true; this.ready = null; this.updatefilterpanel = null; this.autogeneratecolumns = false; this.rowdetailstemplate = null; this.scrollfeedback = null; this.rendertoolbar = null; this.renderstatusbar = null; this.rendered = null; this.source = { beforeprocessing: null, beforesend: null, loaderror: null, localdata: null, data: null, datatype: "array", datafields: [], url: "", root: "", record: "", id: "", totalrecords: 0, recordstartindex: 0, recordendindex: 0, loadallrecords: true, sortcolumn: null, sortdirection: null, sort: null, filter: null, sortcomparer: null }; this.dataview = null; this.updatedelay = 0; this.autoheight = false; this.showheader = true; this.showgroupsheader = true; this.closeablegroups = true; this.scrollbarsize = 15; this.virtualmode = false; this.sort = null; this.columnsmenu = true; this.columnsresize = false; this.columnsreorder = false; this.columnsmenuwidth = 15; this.autoshowcolumnsmenubutton = true; this.popupwidth = "auto"; this.sorttogglestates = 2; this.rendergridrows = null; this.enableanimations = true; this.enabletooltips = false; this.selectionmode = "singlerow"; this.enablehover = true; this.loadingerrormessage = "The data is still loading. When the data binding is completed, the Grid raises the 'bindingcomplete' event. Call this function in the 'bindingcomplete' event handler."; this.verticalscrollbarstep = 25; this.verticalscrollbarlargestep = 400; this.horizontalscrollbarstep = 10; this.horizontalscrollbarlargestep = 50; this.keyboardnavigation = true; this.touchModeStyle = "auto"; this.autoshowloadelement = true; this.showdefaultloadelement = true; this.showemptyrow = true; this.autosavestate = false; this.autoloadstate = false; this._updating = false; this._pagescache = new Array(); this._pageviews = new Array(); this._cellscache = new Array(); this._rowdetailscache = new Array(); this._rowdetailselementscache = new Array(); this._requiresupdate = false; this._hasOpenedMenu = false; this.scrollmode = "physical"; this.deferreddatafields = null; this.localization = null; this.rtl = false; this.menuitemsarray = []; this.events = ["initialized", "rowclick", "rowselect", "rowunselect", "groupexpand", "groupcollapse", "sort", "columnclick", "cellclick", "pagechanged", "pagesizechanged", "bindingcomplete", "groupschanged", "filter", "columnresized", "cellselect", "cellunselect", "cellbeginedit", "cellendedit", "cellvaluechanged", "rowexpand", "rowcollapse", "rowdoubleclick", "celldoubleclick", "columnreordered"] }, createInstance: function (d) { var i = "<div tabIndex=0 style='overflow: hidden; -webkit-appearance: none; outline: none; width:100%; height: 100%; align:left; border: 0px; padding: 0px; margin: 0px; left: 0px; top: 0px; valign:top; position: relative;'><div id='wrapper" + this.element.id + "' tabIndex=1 style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; width:100%; height: 100%; padding: 0px; margin: 0px; align:left; left: 0px; top: 0px; valign:top; position: relative;'><div id='toolbar' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='groupsheader' style='visibility: hidden; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='content" + this.element.id + "' tabIndex=2 style='overflow: hidden; -webkit-appearance: none; border: none; background: transparent; outline: none; border: none; padding: 0px; margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='verticalScrollBar" + this.element.id + "' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='horizontalScrollBar" + this.element.id + "' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='bottomRight' style='align:left; valign:top; left: 0px; top: 0px; border: none; position: absolute;'></div><div id='statusbar' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div><div id='pager' style='align:left; valign:top; left: 0px; top: 0px; position: absolute;'></div></div></div>"; this.element.innerText = ""; this.element.innerHTML = ""; if (!this.source.dataBind) { this.source = new b.jqx.dataAdapter(this.source) } this.host.attr("role", "grid"); this.host.attr("align", "left"); this.element.innerHTML = i; this.host.addClass(this.toTP("jqx-grid")); this.host.addClass(this.toTP("jqx-reset")); this.host.addClass(this.toTP("jqx-rc-all")); this.host.addClass(this.toTP("jqx-widget")); this.host.addClass(this.toTP("jqx-widget-content")); this.wrapper = this.host.find("#wrapper" + this.element.id); this.content = this.host.find("#content" + this.element.id); this.content.addClass(this.toTP("jqx-reset")); var h = this.host.find("#verticalScrollBar" + this.element.id); var g = this.host.find("#horizontalScrollBar" + this.element.id); this.bottomRight = this.host.find("#bottomRight").addClass(this.toTP("jqx-grid-bottomright")); if (!h.jqxScrollBar) { throw new Error("jqxGrid: Missing reference to jqxscrollbar.js"); return } this.editors = new Array(); this.vScrollBar = h.jqxScrollBar({ vertical: true, rtl: this.rtl, touchMode: this.touchmode, step: this.verticalscrollbarstep, largestep: this.verticalscrollbarlargestep, theme: this.theme, _triggervaluechanged: false }); this.hScrollBar = g.jqxScrollBar({ vertical: false, rtl: this.rtl, touchMode: this.touchmode, step: this.horizontalscrollbarstep, largestep: this.horizontalscrollbarlargestep, theme: this.theme, _triggervaluechanged: false }); this.pager = this.host.find("#pager"); this.toolbar = this.host.find("#toolbar"); this.toolbar[0].id = "toolbar" + this.element.id; this.toolbar.addClass(this.toTP("jqx-grid-toolbar")); this.toolbar.addClass(this.toTP("jqx-widget-header")); this.statusbar = this.host.find("#statusbar"); this.statusbar[0].id = "statusbar" + this.element.id; this.statusbar.addClass(this.toTP("jqx-grid-statusbar")); this.statusbar.addClass(this.toTP("jqx-widget-header")); this.pager.addClass(this.toTP("jqx-grid-pager")); this.pager.addClass(this.toTP("jqx-widget-header")); this.groupsheader = this.host.find("#groupsheader"); this.groupsheader.addClass(this.toTP("jqx-grid-groups-header")); this.groupsheader.addClass(this.toTP("jqx-widget-header")); this.vScrollBar.css("visibility", "hidden"); this.hScrollBar.css("visibility", "hidden"); this.vScrollInstance = b.data(this.vScrollBar[0], "jqxScrollBar").instance; this.hScrollInstance = b.data(this.hScrollBar[0], "jqxScrollBar").instance; this.gridtable = null; this.isNestedGrid = this.host.parent() ? this.host.parent().css("z-index") == 2000 : false; if (this.localizestrings) { this.localizestrings(); if (this.localization != null) { this.localizestrings(this.localization, false) } } if (this.rowdetailstemplate) { if (undefined == this.rowdetailstemplate.rowdetails) { this.rowdetailstemplate.rowdetails = "<div></div>" } if (undefined == this.rowdetailstemplate.rowdetailsheight) { this.rowdetailstemplate.rowdetailsheight = 200 } if (undefined == this.rowdetailstemplate.rowdetailshidden) { this.rowdetailstemplate.rowdetailshidden = true } } if (this.showfilterrow && !this.filterable) { throw new Error('jqxGrid: "showfilterrow" requires setting the "filterable" property to true!'); this.host.remove(); return } if (this.autorowheight && !this.autoheight) { throw new Error('jqxGrid: "autorowheight" requires setting the "autoheight" property to true!'); this.host.remove(); return } if (this.virtualmode && this.rendergridrows == null) { throw new Error('jqxGrid: "virtualmode" requires setting the "rendergridrows"!'); this.host.remove(); return } if (this._testmodules()) { return } this._builddataloadelement(); this._cachedcolumns = this.columns; if (this.rowsheight != 25) { this._measureElement("cell") } if (this.columnsheight != 25) { this._measureElement("column") } this.databind(this.source); if (this.showtoolbar) { this.toolbar.css("visibility", "visible") } if (this.showstatusbar) { this.statusbar.css("visibility", "visible") } if (this.pageable && this._initpager) { this._initpager() } this._arrange(); this.tableheight = null; var f = this; var e = function () { if (f.content) { f.content[0].scrollTop = 0; f.content[0].scrollLeft = 0 } if (f.gridcontent) { f.gridcontent[0].scrollLeft = 0; f.gridcontent[0].scrollTop = 0 } }; this.addHandler(this.content, "mousedown", function () { e() }); this.addHandler(this.content, "scroll", function (j) { e(); return false }); if (!this.showfilterrow) { if (!this.showstatusbar && !this.showtoolbar) { this.host.addClass("jqx-disableselect") } this.content.addClass("jqx-disableselect") } if (this.enablebrowserselection) { this.content.removeClass("jqx-disableselect"); this.host.removeClass("jqx-disableselect") } if ((this.width != null && this.width.toString().indexOf("%") != -1) || (this.height != null && this.height.toString().indexOf("%") != -1)) { this._updatesizeonwindowresize = true; this.addHandler(b(window), "resize." + this.element.id, function () { var k = f.host.width(); var j = f.host.height(); if (f.autoheight) { f._lastHeight = j } if (f._lastWidth != k || f._lastHeight != j) { f._updatesize(f._lastWidth != k, f._lastHeight != j) } f._lastWidth = k; f._lastHeight = j }) } if (this.renderstatusbar) { this.renderstatusbar(this.statusbar) } if (this.rendertoolbar) { this.rendertoolbar(this.toolbar) } if (this.disabled) { this.host.addClass(this.toThemeProperty("jqx-fill-state-disabled")) } this.hasTransform = b.jqx.utilities.hasTransform(this.host); if (this.scrollmode == "logical") { this.vScrollInstance.thumbStep = this.rowsheight; this.vScrollInstance.step = this.rowsheight } if (this.filterable || this.groupable || this.sortable) { this._initmenu() } }, _builddataloadelement: function () { if (this.dataloadelement) { this.dataloadelement.remove() } this.dataloadelement = b('<div style="position: absolute;"></div>'); if (this.showdefaultloadelement) { var d = b('<table cellspacing="0" cellpadding="0" style="z-index: 99999; margin-left: -66px; left: 50%; top: 50%; margin-top: -24px; position: relative; width: 112px; height: 48px; font-family: verdana; font-size: 12px; color: #767676; border-color: #898989; border-width: 1px; border-style: solid; background: #f6f6f6; border-collapse: collapse;"><tbody><tr><td><div style="width: 32px; height: 32px;" class="jqx-grid-load"/></td><td><span style="margin-left: 5px;" >' + this.gridlocalization.loadtext + "</span></td></tr></tbody></table>"); d.addClass(this.toTP("jqx-rc-all")); this.dataloadelement.addClass(this.toTP("jqx-rc-all")); this.dataloadelement.append(d) } else { this.dataloadelement.addClass(this.toTP("jqx-grid-load")) } this.dataloadelement.width(this.width); this.dataloadelement.height(this.height); this.host.prepend(this.dataloadelement) }, _measureElement: function (e) { var d = b("<span>measure Text</span>"); d.addClass(this.toTP("jqx-widget")); d.addClass(this.toTP("jqx-grid-" + e)); b(document.body).append(d); if (e == "cell") { this._cellheight = d.height() } else { this._columnheight = d.height() } d.remove() }, _getBodyOffset: function () { var e = 0; var d = 0; if (b("body").css("border-top-width") != "0px") { e = parseInt(b("body").css("border-top-width")); if (isNaN(e)) { e = 0 } } if (b("body").css("border-left-width") != "0px") { d = parseInt(b("body").css("border-left-width")); if (isNaN(d)) { d = 0 } } return { left: d, top: e} }, _testmodules: function () { var k = ""; var h = this; var d = function () { if (k.length != "") { k += "," } }; if (this.columnsmenu && !this.host.jqxMenu && (this.sortable || this.groupable || this.filterable)) { d(); k += " jqxmenu.js" } if (!this.host.jqxScrollBar) { d(); k += " jqxscrollbar.js" } if (!this.host.jqxButton) { d(); k += " jqxbuttons.js" } if (!b.jqx.dataAdapter) { d(); k += " jqxdata.js" } if (this.pageable && !this.gotopage) { d(); k += "jqxgrid.pager.js" } if (this.filterable && !this.applyfilters) { d(); k += " jqxgrid.filter.js" } if (this.groupable && !this._initgroupsheader) { d(); k += " jqxgrid.grouping.js" } if (this.columnsresize && !this.autoresizecolumns) { d(); k += " jqxgrid.columnsresize.js" } if (this.columnsreorder && !this.setcolumnindex) { d(); k += " jqxgrid.columnsreorder.js" } if (this.sortable && !this.sortby) { d(); k += " jqxgrid.sort.js" } if (this.editable && !this.begincelledit) { d(); k += " jqxgrid.edit.js" } if (this.showaggregates && !this.getcolumnaggregateddata) { d(); k += " jqxgrid.aggregates.js" } if (this.keyboardnavigation && !this.selectrow) { d(); k += " jqxgrid.selection.js" } if (k != "" || this.editable || this.filterable || this.pageable) { var f = []; var j = function (i) { switch (i) { case "checkbox": if (!h.host.jqxCheckBox && !f.checkbox) { f.checkbox = true; d(); k += " jqxcheckbox.js" } break; case "numberinput": if (!h.host.jqxNumberInput && !f.numberinput) { f.numberinput = true; d(); k += " jqxnumberinput.js" } break; case "datetimeinput": if (!h.host.jqxDateTimeInput && !f.datetimeinput) { d(); f.datetimeinput = true; k += " jqxdatetimeinput.js(requires: jqxcalendar.js)" } else { if (!h.host.jqxCalendar && !f.calendar) { d(); k += " jqxcalendar.js" } } break; case "combobox": if (!h.host.jqxComboBox && !f.combobox) { d(); f.combobox = true; k += " jqxcombobox.js(requires: jqxlistbox.js)" } else { if (!h.host.jqxListBox && !f.listbox) { d(); f.listbox = true; k += " jqxlistbox.js" } } break; case "dropdownlist": if (!h.host.jqxDropDownList && !f.dropdownlist) { d(); f.dropdownlist = true; k += " jqxdropdownlist.js(requires: jqxlistbox.js)" } else { if (!h.host.jqxListBox && !f.listbox) { d(); f.listbox = true; k += " jqxlistbox.js" } } break } }; if (this.filterable || this.pageable) { j("dropdownlist") } for (var e = 0; e < this.columns.length; e++) { if (this.columns[e] == undefined) { continue } var g = this.columns[e].columntype; j(g); if (this.filterable && this.showfilterrow) { var g = this.columns[e].filtertype; if (g == "checkedlist" || g == "bool") { j("checkbox") } if (g == "date") { j("datetimeinput") } } } if (k != "") { throw new Error("jqxGrid: Missing references to the following module(s): " + k); this.host.remove(); return true } } return false }, focus: function () { try { this.wrapper.focus(); var e = this; setTimeout(function () { e.wrapper.focus() }, 10); this.focused = true } catch (d) { } }, hiddenParent: function () { return b.jqx.isHidden(this.host) }, _updatesize: function (i, h) { if (this._loading) { return } var f = this; if (this.hiddenParent()) { this._hiddenParentTimer = setInterval(function () { try { if (!f.hiddenParent()) { f._updatesize(true, true); clearInterval(f._hiddenParentTimer) } } catch (j) { } }, 10); return } var g = f.host.width(); var e = f.host.height(); if (!f._oldWidth) { f._oldWidth = g } if (!f._oldHeight) { f._oldHeight = e } if (f._resizeTimer) { clearTimeout(f._resizeTimer) } var d = b.jqx.browser.msie ? 10 : 10; f._resizeTimer = setTimeout(function () { if (g != f._oldWidth || i == true) { f._arrange(); f._updatecolumnwidths(); f._updatecellwidths(); if (!(i == false && f._oldWidth > g)) { f._renderrows(f.virtualsizeinfo) } } if (e != f._oldHeight || h == true) { var k = f.groupable && f.groups.length > 0; var j = f.vScrollBar.css("visibility") != "visible"; if (!f.autoheight) { if (!k && !f.rowdetails) { f._arrange(); f.virtualsizeinfo = f._calculatevirtualheight(); if (parseInt(e) >= parseInt(f._oldHeight)) { f.prerenderrequired = true } f._renderrows(f.virtualsizeinfo) } else { if (e >= f._oldHeight) { f._render(true, false, false) } else { f.rendergridcontent(true, false) } } if (j && f.vScrollBar.css("visibility") == "visible") { f._arrange(); f._updatecolumnwidths(); f._updatecellwidths() } } } f._oldWidth = g; f._oldHeight = e }, d) }, getTouches: function (d) { return b.jqx.mobile.getTouches(d) }, _updateTouchScrolling: function () { var e = this; if (e.isTouchDevice()) { if (e.autoheight) { return } e.scrollmode = "logical"; e.vScrollInstance.thumbStep = e.rowsheight; var g = b.jqx.mobile.getTouchEventName("touchstart"); var f = b.jqx.mobile.getTouchEventName("touchend"); var d = b.jqx.mobile.getTouchEventName("touchmove"); e.enablehover = false; if (e.gridcontent) { e.removeHandler(e.gridcontent, g + ".touchScroll"); e.removeHandler(e.gridcontent, d + ".touchScroll"); e.removeHandler(e.gridcontent, f + ".touchScroll"); e.removeHandler(e.gridcontent, "touchcancel.touchScroll"); b.jqx.mobile.touchScroll(e.gridcontent[0], e.vScrollInstance.max, function (j, i) { if (e.vScrollBar.css("visibility") == "visible") { var h = e.vScrollInstance.value; e.vScrollInstance.setPosition(h + i) } if (e.hScrollBar.css("visibility") == "visible") { var h = e.hScrollInstance.value; e.hScrollInstance.setPosition(h + j) } e.vScrollInstance.thumbCapture = true; e._lastScroll = new Date() }, this.element.id); if (e._overlayElement) { e.removeHandler(e._overlayElement, g + ".touchScroll"); e.removeHandler(e._overlayElement, d + ".touchScroll"); e.removeHandler(e._overlayElement, f + ".touchScroll"); e.removeHandler(e._overlayElement, "touchcancel.touchScroll"); b.jqx.mobile.touchScroll(e._overlayElement[0], e.vScrollInstance.max, function (j, i) { if (e.vScrollBar.css("visibility") == "visible") { var h = e.vScrollInstance.value; e.vScrollInstance.setPosition(h + i) } if (e.hScrollBar.css("visibility") == "visible") { var h = e.hScrollInstance.value; e.hScrollInstance.setPosition(h + j) } e.vScrollInstance.thumbCapture = true; e._lastScroll = new Date() }, this.element.id); this.addHandler(this.host, g, function () { if (!e.editcell) { e._overlayElement.css("visibility", "visible") } else { e._overlayElement.css("visibility", "hidden") } }); this.addHandler(this.host, f, function () { if (!e.editcell) { e._overlayElement.css("visibility", "visible") } else { e._overlayElement.css("visibility", "hidden") } }) } } } }, isTouchDevice: function () { if (this.touchDevice != undefined) { return this.touchDevice } var d = b.jqx.mobile.isTouchDevice(); this.touchDevice = d; if (this.touchmode == true) { d = true; b.jqx.mobile.setMobileSimulator(this.element); this.touchDevice = d } else { if (this.touchmode == false) { d = false } } if (d && this.touchModeStyle != false) { this.touchDevice = true; this.host.addClass(this.toThemeProperty("jqx-touch")); this.host.find("jqx-widget-content").addClass(this.toThemeProperty("jqx-touch")); this.host.find("jqx-widget-header").addClass(this.toThemeProperty("jqx-touch")) } return d }, toTP: function (d) { return this.toThemeProperty(d) }, localizestrings: function (d, e) { this._cellscache = new Array(); if (b.jqx.dataFormat) { b.jqx.dataFormat.cleardatescache() } if (this._loading) { throw new Error("jqxGrid: " + this.loadingerrormessage); return false } if (d != null) { if (d.pagergotopagestring) { this.gridlocalization.pagergotopagestring = d.pagergotopagestring } if (d.pagershowrowsstring) { this.gridlocalization.pagershowrowsstring = d.pagershowrowsstring } if (d.pagerrangestring) { this.gridlocalization.pagerrangestring = d.pagerrangestring } if (d.pagernextbuttonstring) { this.gridlocalization.pagernextbuttonstring = d.pagernextbuttonstring } if (d.pagerpreviousbuttonstring) { this.gridlocalization.pagerpreviousbuttonstring = d.pagerpreviousbuttonstring } if (d.groupsheaderstring) { this.gridlocalization.groupsheaderstring = d.groupsheaderstring } if (d.sortascendingstring) { this.gridlocalization.sortascendingstring = d.sortascendingstring } if (d.sortdescendingstring) { this.gridlocalization.sortdescendingstring = d.sortdescendingstring } if (d.sortremovestring) { this.gridlocalization.sortremovestring = d.sortremovestring } if (d.groupbystring) { this.gridlocalization.groupbystring = d.groupbystring } if (d.groupremovestring) { this.gridlocalization.groupremovestring = d.groupremovestring } if (d.firstDay) { this.gridlocalization.firstDay = d.firstDay } if (d.days) { this.gridlocalization.days = d.days } if (d.months) { this.gridlocalization.months = d.months } if (d.AM) { this.gridlocalization.AM = d.AM } if (d.PM) { this.gridlocalization.PM = d.PM } if (d.patterns) { this.gridlocalization.patterns = d.patterns } if (d.percentsymbol) { this.gridlocalization.percentsymbol = d.percentsymbol } if (d.currencysymbol) { this.gridlocalization.currencysymbol = d.currencysymbol } if (d.currencysymbolposition) { this.gridlocalization.currencysymbolposition = d.currencysymbolposition } if (d.decimalseparator) { this.gridlocalization.decimalseparator = d.decimalseparator } if (d.thousandsseparator) { this.gridlocalization.thousandsseparator = d.thousandsseparator } if (d.filterclearstring) { this.gridlocalization.filterclearstring = d.filterclearstring } if (d.filterstring) { this.gridlocalization.filterstring = d.filterstring } if (d.filtershowrowstring) { this.gridlocalization.filtershowrowstring = d.filtershowrowstring } if (d.filterselectallstring) { this.gridlocalization.filterselectallstring = d.filterselectallstring } if (d.filterchoosestring) { this.gridlocalization.filterchoosestring = d.filterchoosestring } if (d.filterorconditionstring) { this.gridlocalization.filterorconditionstring = d.filterorconditionstring } if (d.filterandconditionstring) { this.gridlocalization.filterandconditionstring = d.filterandconditionstring } if (d.filterstringcomparisonoperators) { this.gridlocalization.filterstringcomparisonoperators = d.filterstringcomparisonoperators } if (d.filternumericcomparisonoperators) { this.gridlocalization.filternumericcomparisonoperators = d.filternumericcomparisonoperators } if (d.filterdatecomparisonoperators) { this.gridlocalization.filterdatecomparisonoperators = d.filterdatecomparisonoperators } if (d.filterbooleancomparisonoperators) { this.gridlocalization.filterbooleancomparisonoperators = d.filterbooleancomparisonoperators } if (d.emptydatastring) { this.gridlocalization.emptydatastring = d.emptydatastring } if (d.filterselectstring) { this.gridlocalization.filterselectstring = d.filterselectstring } if (d.todaystring) { this.gridlocalization.todaystring = d.todaystring } if (d.clearstring) { this.gridlocalization.clearstring = d.clearstring } if (d.validationstring) { this.gridlocalization.validationstring = d.validationstring } if (e !== false) { if (this._initpager) { this._initpager() } if (this._initgroupsheader) { this._initgroupsheader() } if (this._initmenu) { this._initmenu() } this._builddataloadelement(); b(this.dataloadelement).css("visibility", "hidden"); b(this.dataloadelement).css("display", "none"); if (this.filterable && this.showfilterrow) { if (this._updatefilterrow) { for (var f in this._filterrowcache) { b(this._filterrowcache[f]).remove() } this._filterrowcache = []; this._updatefilterrow() } } if (this.showaggregates && this.refresheaggregates) { this.refresheaggregates() } this._renderrows(this.virtualsizeinfo) } } else { this.gridlocalization = { "/": "/", ":": ":", firstDay: 0, days: { names: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], namesAbbr: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], namesShort: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"] }, months: { names: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December", ""], namesAbbr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""] }, AM: ["AM", "am", "AM"], PM: ["PM", "pm", "PM"], eras: [{ name: "A.D.", start: null, offset: 0}], twoDigitYearMax: 2029, patterns: { d: "M/d/yyyy", D: "dddd, MMMM dd, yyyy", t: "h:mm tt", T: "h:mm:ss tt", f: "dddd, MMMM dd, yyyy h:mm tt", F: "dddd, MMMM dd, yyyy h:mm:ss tt", M: "MMMM dd", Y: "yyyy MMMM", S: "yyyy\u0027-\u0027MM\u0027-\u0027dd\u0027T\u0027HH\u0027:\u0027mm\u0027:\u0027ss", ISO: "yyyy-MM-dd hh:mm:ss", ISO2: "yyyy-MM-dd HH:mm:ss", d1: "dd.MM.yyyy", d2: "dd-MM-yyyy", d3: "dd-MMMM-yyyy", d4: "dd-MM-yy", d5: "H:mm", d6: "HH:mm", d7: "HH:mm tt", d8: "dd/MMMM/yyyy", d9: "MMMM-dd", d10: "MM-dd", d11: "MM-dd-yyyy" }, percentsymbol: "%", currencysymbol: "$", currencysymbolposition: "before", decimalseparator: ".", thousandsseparator: ",", pagergotopagestring: "转到页面:", pagershowrowsstring: "显示行数:", pagerrangestring: " of ", pagerpreviousbuttonstring: "previous", pagernextbuttonstring: "next", groupsheaderstring: "将列拖至此处分组", sortascendingstring: "正序", sortdescendingstring: "倒序", sortremovestring: "移除排序", groupbystring: "按此列分组", groupremovestring: "移除分组", filterclearstring: "清除", filterstring: "过滤", filtershowrowstring: "查找该列:", filterorconditionstring: "或者", filterandconditionstring: "并且", filterselectallstring: "(Select All)", filterchoosestring: "请选择:", filterstringcomparisonoperators: ["空", "不为空", "包含", "包含(区分大小写)", "不包含", "不包含(区分大小写)", "开始", "开始(大小写)", "结束", "结束(大小写)", "等于", "等于(大小写)", "空", "不为空"], filternumericcomparisonoperators: ["等于", "不等于", "小于", "小于或等于", "大于", "大于或等于", "空", "不为空"], filterdatecomparisonoperators: ["等于", "不等于", "小于", "小于或等于", "大于", "大于或等于", "空", "不为空"], filterbooleancomparisonoperators: ["等于", "不等于"], validationstring: "Entered value is not valid", emptydatastring: "没有找到数据", filterselectstring: "Select Filter", loadtext: "Loading...", clearstring: "Clear", todaystring: "Today"} } }, _initmenu: function () { var r = this; if (this.host.jqxMenu) { if (this.gridmenu) { if (this.filterable) { if (this._destroyfilterpanel) { this._destroyfilterpanel() } } this.gridmenu.jqxMenu("destroy"); this.gridmenu.remove() } this.menuitemsarray = new Array(); this.gridmenu = b('<div id="gridmenu' + this.element.id + '" style="z-index: 9999999999999;"></div>'); this.host.append(this.gridmenu); var v = b("<ul></ul>"); var i = '<div class="jqx-grid-sortasc-icon"></div>'; var t = b("<li>" + i + this.gridlocalization.sortascendingstring + "</li>"); var z = '<div class="jqx-grid-sortdesc-icon"></div>'; var w = b("<li>" + z + this.gridlocalization.sortdescendingstring + "</li>"); var n = '<div class="jqx-grid-sortremove-icon"></div>'; var k = b("<li>" + n + this.gridlocalization.sortremovestring + "</li>"); var j = '<div class="jqx-grid-groupby-icon"></div>'; var q = b("<li>" + j + this.gridlocalization.groupbystring + "</li>"); var f = b("<li>" + j + this.gridlocalization.groupremovestring + "</li>"); var d = b('<li type="separator"></li>'); var u = b('<li class="filter" style="height: 170px;" ignoretheme="true"><div class="filter"></div></li>'); var m = this.gridlocalization.sortascendingstring.length; var s = this.gridlocalization.sortascendingstring; if (this.gridlocalization.sortdescendingstring.length > m) { m = this.gridlocalization.sortdescendingstring.length; s = this.gridlocalization.sortdescendingstring } if (this.gridlocalization.sortremovestring.length > m) { m = this.gridlocalization.sortremovestring.length; s = this.gridlocalization.sortremovestring } if (this.groupable && this._initgroupsheader && this.showgroupmenuitems) { if (this.gridlocalization.groupbystring.length > m) { m = this.gridlocalization.groupbystring.length; s = this.gridlocalization.groupbystring } if (this.gridlocalization.groupremovestring.length > m) { m = this.gridlocalization.groupremovestring.length; s = this.gridlocalization.groupremovestring } } var x = 200; s = b.trim(s).replace(/\ \;/ig, "").replace(/\ \;/ig, ""); var g = b("<span>" + s + "</span>"); g.addClass(this.toThemeProperty("jqx-menu-item")); this.host.append(g); x = g.outerWidth() + 60; g.remove(); var e = 0; if (this.sortable && this._togglesort && this.showsortmenuitems) { v.append(t); this.menuitemsarray[0] = t[0]; v.append(w); this.menuitemsarray[1] = w[0]; v.append(k); this.menuitemsarray[2] = k[0]; e = 3 } if (this.groupable && this._initgroupsheader && this.showgroupmenuitems) { v.append(q); this.menuitemsarray[3] = q[0]; v.append(f); this.menuitemsarray[4] = f[0]; e += 2 } var l = e * 27 + 3; var p = true; if (this.filterable && !this.showfilterrow && this.showfiltermenuitems) { if (this._initfilterpanel) { this.menuitemsarray[5] = u[0]; this.menuitemsarray[6] = u[0]; v.append(d); v.append(u); l += 176; if (b.jqx.browser.msie && b.jqx.browser.version < 8) { l += 20 } var o = b(u).find("div:first"); x += 20; this._initfilterpanel(this, o, "", x); p = false; this.removeHandler(b(document), "click.menu" + r.element.id, r._closemenuafterclick, r); this.addHandler(b(document), "click.menu" + r.element.id, r._closemenuafterclick, r) } else { throw new Error("jqxGrid: Missing reference to jqxgrid.filter.js.") } } this.gridmenu.append(v); if (b.jqx.browser.msie && b.jqx.browser.version < 8 && this.filterable) { b("#listBoxfilter1" + this.element.id).css("z-index", 4990); b("#listBoxfilter2" + this.element.id).css("z-index", 4990); b("#listBoxfilter3" + this.element.id).css("z-index", 4990); b("#gridmenu" + this.element.id).css("z-index", 5000); this.addHandler(b("#gridmenu" + this.element.id), "initialized", function () { b("#menuWrappergridmenu" + r.element.id).css("z-index", 4980) }) } if (this.menuitemsarray[0] == undefined) { l = 65 } this.removeHandler(this.gridmenu, "keydown"); this.addHandler(this.gridmenu, "keydown", function (E) { if (E.keyCode == 27) { r.gridmenu.jqxMenu("close") } else { if (E.keyCode == 13 && r.filterable) { if (r._buildfilter) { var D = b(b.find("#filter1" + r.element.id)).jqxDropDownList("container").css("display") == "block"; var C = b(b.find("#filter2" + r.element.id)).jqxDropDownList("container").css("display") == "block"; var A = b(b.find("#filter3" + r.element.id)).jqxDropDownList("container").css("display") == "block"; var F = b(b.find("#filterclearbutton" + r.element.id)).hasClass("jqx-fill-state-focus"); if (F) { var B = b.data(document.body, "contextmenu" + r.element.id).column; r._clearfilter(r, r.element, B); r.gridmenu.jqxMenu("close") } else { if (!D && !C && !A) { var B = b.data(document.body, "contextmenu" + r.element.id).column; r.gridmenu.jqxMenu("close"); r._buildfilter(r, u, B) } } } } } }); if (this.popupwidth != "auto") { x = this.popupwidth } this.gridmenu.jqxMenu({ width: x, height: l, autoCloseOnClick: p, autoOpenPopup: false, mode: "popup", theme: this.theme, animationShowDuration: 0, animationHideDuration: 0, animationShowDelay: 0 }); if (this.filterable) { this.gridmenu.jqxMenu("_setItemProperty", u[0].id, "closeOnClick", false) } if (this.rtl) { var y = this; b.each(v.find("li"), function () { b(this).addClass(y.toTP("jqx-rtl")) }); var h = function (A) { var B = A.find("div"); B.css("float", "right"); B.css("margin-left", "4px"); B.css("margin-right", "-4px") }; h(k); h(w); h(t); h(q); h(f) } this._handlemenueevents() } else { this.columnsmenu = false } }, _arrangemenu: function () { if (!this.gridmenu) { this._initmenu() } var i = this.gridlocalization.sortascendingstring.length; var d = this.gridlocalization.sortascendingstring; if (this.gridlocalization.sortdescendingstring.length > i) { i = this.gridlocalization.sortdescendingstring.length; d = this.gridlocalization.sortdescendingstring } if (this.gridlocalization.sortremovestring.length > i) { i = this.gridlocalization.sortremovestring.length; d = this.gridlocalization.sortremovestring } if (this.groupable && this._initgroupsheader) { if (this.gridlocalization.groupbystring.length > i) { i = this.gridlocalization.groupbystring.length; d = this.gridlocalization.groupbystring } if (this.gridlocalization.groupremovestring.length > i) { i = this.gridlocalization.groupremovestring.length; d = this.gridlocalization.groupremovestring } } var e = 200; d = b.trim(d).replace(/\ \;/ig, "").replace(/\ \;/ig, ""); var f = b("<span>" + d + "</span>"); f.addClass(this.toThemeProperty("jqx-menu-item")); this.host.append(f); e = f.outerWidth() + 60; f.remove(); var g = 0; if (this.sortable && this._togglesort && this.showsortmenuitems) { g = 3 } if (this.groupable && this._initgroupsheader && this.showgroupmenuitems) { g += 2 } var h = g * 27 + 3; if (this.filterable && this.showfiltermenuitems) { if (this._initfilterpanel) { h += 176; e += 20; if (b.jqx.browser.msie && b.jqx.browser.version < 8) { h += 20 } } } if (this.menuitemsarray[0] == undefined) { h = 65 } if (this.popupwidth != "auto") { e = this.popupwidth } this.gridmenu.jqxMenu({ width: e, height: h }) }, _closemenuafterclick: function (e) { var h = e != null ? e.data : this; var f = false; if (e.target == undefined || (e.target != undefined && e.target.className.indexOf == undefined)) { h.gridmenu.jqxMenu("close"); return } if (e.target.className.indexOf("filter") != -1) { return } if (e.target.className.indexOf("jqx-grid-cell") != -1) { h.gridmenu.jqxMenu("close"); return } var d = h.host.coord(); var j = e.pageX; var i = e.pageY; b.each(b(e.target).parents(), function () { if (this.id != null && this.id.indexOf("filter") != -1) { f = true; return false } if (this.className.indexOf("filter") != -1) { f = true; return false } if (this.className.indexOf("jqx-grid-cell") != -1) { h.gridmenu.jqxMenu("close"); return false } if (this.className.indexOf("jqx-grid-column") != -1) { h.gridmenu.jqxMenu("close"); return false } }); if (f) { return } try { var m = b(b.find("#filter1" + h.element.id)).jqxDropDownList("listBox").vScrollInstance._mouseup; var k = new Date(); if (k - m < 100) { return } var l = b(b.find("#filter3" + h.element.id)).jqxDropDownList("listBox").vScrollInstance._mouseup; if (k - l < 100) { return } } catch (g) { } h.gridmenu.jqxMenu("close") }, _handlemenueevents: function () { var d = this; this.removeHandler(this.gridmenu, "closed"); this.addHandler(this.gridmenu, "closed", function (e) { d._closemenu() }); this.removeHandler(this.gridmenu, "itemclick"); this.addHandler(this.gridmenu, "itemclick", function (h) { var g = h.args; for (var e = 0; e < d.menuitemsarray.length; e++) { var j = d.menuitemsarray[e]; if (g == j) { if (b(g).attr("ignoretheme") != undefined) { return } var k = b.data(document.body, "contextmenu" + d.element.id); var f = k.column; if (d.filterable) { d.gridmenu.jqxMenu("close") } var m = f.displayfield; if (m == null) { m = f.datafield } if (k != null) { switch (e) { case 0: d.sortby(m, "ascending", null); break; case 1: d.sortby(m, "descending", null); break; case 2: d.sortby(m, null, null); break; case 3: d.addgroup(f.datafield); break; case 4: d.removegroup(f.datafield); break; case 5: var l = b(d.menuitemsarray[6]); b(l).css("display", "block"); break; case 7: break } } break } } }) }, getdatainformation: function () { var d = this.dataview.totalrecords; if (this.summaryrows) { d += this.summaryrows.length } return { rowscount: d, sortinformation: this.getsortinformation(), paginginformation: this.getpaginginformation()} }, getsortinformation: function () { return { sortcolumn: this.sortcolumn, sortdirection: this.sortdirection} }, getpaginginformation: function () { return { pagenum: this.dataview.pagenum, pagesize: this.pagesize, pagescount: Math.ceil(this.dataview.totalrecords / this.pagesize)} }, _updaterowsproperties: function () { this._updatehiddenrows(); this._updaterowheights(); this._updaterowdetails() }, _updatehiddenrows: function () { var e = this; this.hiddens = new Array(); var d = this.hiddenboundrows; b.each(d, function (g) { if (this.index != undefined) { var f = this.index; var h = e.getrowvisibleindex(g); e.hiddens[h] = this.hidden } }) }, _updaterowheights: function () { var e = this; this.heights = new Array(); var d = this.heightboundrows; b.each(d, function (g) { if (this.index != undefined) { var f = this.index; var h = e.getrowvisibleindex(g); e.heights[h] = this.height } }) }, _updaterowdetails: function () { var d = this; this.details = new Array(); var e = this.detailboundrows; b.each(e, function (g) { if (this.index != undefined) { var f = this.index; var h = d.getrowvisibleindex(g); d.details[h] = this.details } }) }, _getmenuitembyindex: function (d) { if (d == undefined) { return null } return this.menuitemsarray[d] }, _closemenu: function () { if (this._hasOpenedMenu) { if (this.gridmenu != null) { this.gridmenu.jqxMenu("close") } var h = b.data(document.body, "contextmenu" + this.element.id); var e = 16; if (h != null && this.autoshowcolumnsmenubutton) { if (this.enableanimations) { b(h.columnsmenu).animate({ "margin-left": 0 }, "fast", function () { b(h.columnsmenu).css("display", "none") }); var g = !this.rtl ? -32 : 0; h.column.iconscontainer.animate({ "margin-left": g }, "fast") } else { b(h.columnsmenu).css("display", "none"); var g = !this.rtl ? -32 : 0; h.column.iconscontainer.css("margin-left", g) } b.data(document.body, "contextmenu" + this.element.id, null) } this._hasOpenedMenu = false; var j = this._getmenuitembyindex(5); if (j) { var i = b(j).find("#filter1" + this.element.id); var d = b(j).find("#filter2" + this.element.id); var f = b(j).find("#filter3" + this.element.id); i.jqxDropDownList("hideListBox"); d.jqxDropDownList("hideListBox"); f.jqxDropDownList("hideListBox") } } }, scrolloffset: function (e, d) { if (e == null || d == null || e == undefined || d == undefined) { return } this.vScrollBar.jqxScrollBar("setPosition", e); this.hScrollBar.jqxScrollBar("setPosition", d) }, scrollleft: function (d) { if (d == null || d == undefined) { return } this.hScrollBar.jqxScrollBar("setPosition", d) }, scrolltop: function (d) { if (d == null || d == undefined) { return } this.vScrollBar.jqxScrollBar("setPosition", d) }, beginupdate: function () { this._updating = true; this._datachanged = false }, endupdate: function () { this.resumeupdate() }, resumeupdate: function () { this._updating = false; if (this._datachanged == true) { var d = this.vScrollInstance.value; this.render(true, true, false); this._datachanged = false; if (d != 0 && d < this.vScrollInstance.max) { this.scrolltop(d) } } else { this.rendergridcontent(true); this._renderrows(this.virtualsizeinfo) } }, updating: function () { return this._updating }, showloadelement: function () { if (this.renderloadelement) { this.dataloadelement.html(this.renderloadelement()) } b(this.dataloadelement).css("visibility", "visible"); b(this.dataloadelement).css("display", "block") }, hideloadelement: function () { b(this.dataloadelement).css("visibility", "hidden"); b(this.dataloadelement).css("display", "none") }, _updatefocusedfilter: function () { var d = this; if (d.focusedfilter) { d.focusedfilter.focus(); setTimeout(function () { d.focusedfilter.focus(); if (d.focusedfilter[0].nodeName.toLowerCase() == "input") { var g = d.focusedfilter.val().length; try { if ("selectionStart" in d.focusedfilter[0]) { d.focusedfilter[0].setSelectionRange(g, g) } else { var e = d.focusedfilter[0].createTextRange(); e.collapse(true); e.moveEnd("character", g); e.moveStart("character", g); e.select() } } catch (f) { } } }, 10) } }, databind: function (g, i) { if (this.host.css("display") == "block") { if (this.autoshowloadelement) { b(this.dataloadelement).css("visibility", "visible"); b(this.dataloadelement).css("display", "block"); this.dataloadelement.width(this.host.width()); this.dataloadelement.height(this.host.height()); this._hideemptyrow() } else { b(this.dataloadelement).css("visibility", "hidden"); b(this.dataloadelement).css("display", "none") } } if (!this._initgroupsheader && this.groups.length > 0) { this.groups = new Array() } var f = this; if (g == null) { g = {} } if (!g.recordstartindex) { g.recordstartindex = 0 } if (!g.recordendindex) { g.recordendindex = 0 } if (g.loadallrecords == undefined || g.loadallrecords == null) { g.loadallrecords = true } if (g.sortcomparer == undefined || g.sortcomparer == null) { g.sortcomparer = null } if (g.filter == undefined || g.filter == null) { g.filter = null } if (g.sort == undefined || g.sort == null) { g.sort = null } if (g.data == undefined || g.data == null) { g.data = null } var d = null; if (g != null) { d = g._source != undefined ? g._source.url : g.url } this.dataview = this.dataview || new b.jqx.dataview(); if (b.jqx.dataview.sort) { b.extend(this.dataview, new b.jqx.dataview.sort()) } if (b.jqx.dataview.grouping) { b.extend(this.dataview, new b.jqx.dataview.grouping()) } this.dataview.suspendupdate(); this.dataview.pageable = this.pageable; this.dataview.groupable = this.groupable; this.dataview.groups = this.groups; this.dataview.virtualmode = this.virtualmode; this.dataview.grid = this; this.dataview._clearcaches(); if (!f.initializedcall) { if (this.pageable) { if (g._source) { if (this.sortable) { if (g._source.sortcolumn != undefined) { this.sortcolumn = g._source.sortcolumn; this.source.sortcolumn = this.sortcolumn; this.dataview.sortfield = g._source.sortcolumn; g._source.sortcolumn = null } if (g._source.sortdirection != undefined) { this.dataview.sortfielddirection = g._source.sortdirection; var h = g._source.sortdirection; if (h == "a" || h == "asc" || h == "ascending" || h == true) { var e = true } else { var e = false } if (h != null) { this.sortdirection = { ascending: e, descending: !e} } else { this.sortdirection = { ascending: false, descending: false} } } } if (g._source.pagenum != undefined) { this.dataview.pagenum = g._source.pagenum } if (g._source.pagesize != undefined) { this.pagesize = g._source.pagesize; this.dataview.pagesize = g._source.pagesize } else { this.dataview.pagesize = g._source.pagesize; if (this.dataview.pagesize == undefined) { this.dataview.pagesize = this.pagesize } } } } if (this.sortable) { if (g.sortcolumn) { this.dataview.sortfield = g.sortcolumn } if (g.sortdirection) { this.dataview.sortfielddirection = g.sortdirection } } if (this.autoloadstate) { if (this.loadstate) { this.loadstate() } } } this._loading = true; this.dataview.update = function (l) { f._loading = false; if (f.dataview.isupdating()) { f.dataview.resumeupdate(false) } if (f.pageable && f.pagerrenderer) { if (f._initpager) { f._initpager() } else { throw new Error("jqxGrid: Missing reference to jqxgrid.pager.js.") } } if ((f.source.sortcolumn) && f.sortby && !f.virtualmode) { f.render(); f.sortby(f.source.sortcolumn, f.source.sortdirection, f.source.sortcomparer); f.source.sortcolumn = null } else { var k = f.vScrollInstance.value; var n = f.hScrollInstance.value; var o = f.source.datatype; if (o != "local" || o != "array") { var p = f.virtualsizeinfo == null || (f.virtualsizeinfo != null && f.virtualsizeinfo.virtualheight == 0); if (i == "cells") { var m = false; if (f.filterable && f._initfilterpanel && f.dataview.filters.length) { m = true } if (false == l) { if (!f.vScrollInstance.isScrolling() && !f.hScrollInstance.isScrolling()) { f._cellscache = new Array(); f._pagescache = new Array(); f._renderrows(f.virtualsizeinfo); if (f.showfilterrow && f.filterable && f.filterrow) { f._updatelistfilters() } if (f.showaggregates && f._updateaggregates) { f._updateaggregates() } } if (f.autoshowloadelement) { b(f.dataloadelement).css("visibility", "hidden"); b(f.dataloadelement).css("display", "none") } return } else { if (m) { i = "filter" } else { if (f.sortcolumn != undefined) { i = "sort" } } } } if (!f.virtualmode || p || (f.virtualmode && f.pageable)) { if (f.initializedcall == true && i == "pagechanged") { k = 0; if (f.groupable && f.groups.length > 0) { f._render(true, true, false, false, false); f._updatecolumnwidths(); f._updatecellwidths(); f._renderrows(f.virtualsizeinfo) } else { f.rendergridcontent(true); if (f.pageable && f.updatepagerdetails) { f.updatepagerdetails(); if (f.autoheight) { f._updatepageviews(); if (f.autorowheight) { f._renderrows(this.virtualsizeinfo) } } } } if (f.showaggregates && f._updateaggregates) { f._updateaggregates() } } else { if (i == "filter") { f._render(true, true, false, false, false); f._updatefocusedfilter(); f._updatecolumnwidths(); f._updatecellwidths(); f._renderrows(f.virtualsizeinfo) } else { if (i == "sort") { f.rendergridcontent(true); if (f.showaggregates && f._updateaggregates) { f._updateaggregates() } } else { if (i == "data") { f._render(true, true, false, false, false) } else { f._render(true, true, true, f.menuitemsarray && f.menuitemsarray.length > 0 && !f.virtualmode) } } } } } else { if (f.virtualmode && l == true && !f.pageable) { f._render(true, true, false, false, false); f._updatefocusedfilter(); f._updatecolumnwidths(); f._updatecellwidths(); f._renderrows(f.virtualsizeinfo) } else { if (f.virtualmode && !f.pageable && l == false && i != undefined) { f.rendergridcontent(true); if (f.showaggregates && f._updateaggregates) { f._updateaggregates() } } else { if (f.virtualmode && f.dataview.totalrecords == 0 && f.dataview.filters.length > 0) { f._render(true, true, true, f.menuitemsarray && !f.virtualmode) } else { f._pagescache = new Array(); f._renderrows(f.virtualsizeinfo) } } } } if (f.vScrollInstance.value != k && k <= f.vScrollInstance.max) { f.vScrollInstance.setPosition(k) } if (f.hScrollInstance.value != n && n <= f.hScrollInstance.max) { f.hScrollInstance.setPosition(n) } } } if (f.autoshowloadelement) { b(f.dataloadelement).css("visibility", "hidden"); b(f.dataloadelement).css("display", "none") } if (f.pageable) { if (f.pagerrightbutton) { f.pagerrightbutton.jqxButton({ disabled: false }); f.pagerleftbutton.jqxButton({ disabled: false }); f.pagershowrowscombo.jqxDropDownList({ disabled: false }) } } f._raiseEvent(11); if (!f.initializedcall) { f._raiseEvent(0); f.initializedcall = true; if (f.ready) { f.ready() } if (f.autoloadstate) { if (f.loadstate) { f._loadselectionandcolumnwidths() } } if ((f.width != null && f.width.toString().indexOf("%") != -1) || (f.height != null && f.height.toString().indexOf("%") != -1)) { f._updatesize(true) } if (f.host.css("visibility") == "hidden") { var j = b.jqx.browser.msie && b.jqx.browser.version < 8; if (f.vScrollBar.css("visibility") == "visible") { f.vScrollBar.css("visibility", "inherit") } if (f.hScrollBar.css("visibility") == "visible") { f.hScrollBar.css("visibility", "inherit") } f._intervalTimer = setInterval(function () { if (f.host.css("visibility") == "visible") { f._updatesize(true); clearInterval(f._intervalTimer) } }, 100) } } else { f._updateTouchScrolling() } }; this.dataview.databind(g); if (this.dataview.isupdating()) { if (d != undefined) { this.dataview.suspend = false } else { this.dataview.resumeupdate(false) } } this._initializeRows() }, scrollto: function (e, d) { if (undefined != e) { this.hScrollInstance.setPosition(e) } if (undefined != d) { this.vScrollInstance.setPosition(d) } }, scrollposition: function () { return { top: this.vScrollInstance.value, left: this.hScrollInstance.value} }, ensurerowvisible: function (h) { var e = this._getpagesize(); var g = Math.floor(h / e); if (!this._pageviews[g] && !this.pageable) { this._updatepageviews() } var n = false; if (this.pageable && this.gotopage && !this.virtualmode) { var g = Math.floor(h / e); if (this.dataview.pagenum != g) { this.gotopage(g); n = true } } var l = this.vScrollInstance.value; var m = this._gettableheight() - this.rowsheight; var d = e * (h / e - g); d = Math.round(d); if (this._pageviews[g]) { var k = this._pageviews[g].top; var j = k + d * this.rowsheight; if (this.rowdetails) { for (var f = e * g; f < h; f++) { if (this.details[f]) { if (this.details[f].rowdetailshidden == false) { j += this.details[f].rowdetailsheight } } } } if (this.scrollmode == "deferred") { if (this.vScrollInstance.max <= j + this.rowsheight) { j = this.vScrollInstance.max } } if (j < l) { this.scrolltop(j); n = true } else { if (j > l + m + 2) { this.scrolltop(j - m); n = true } } } else { if (this.pageable) { var j = d * this.rowsheight; if (this.rowdetails) { for (var f = e * g; f < e * g + d; f++) { if (this.details[f].rowdetailshidden == false) { j += this.details[f].rowdetailsheight } } } if (j < l || j > l + m) { this.scrollto(0, j); n = true } } } return n }, ensurecellvisible: function (h, d) { var n = this; var i = this.hScrollBar.jqxScrollBar("value"); var j = n.hScrollInstance.max; if (n.rtl) { if (this.hScrollBar.css("visibility") != "visible") { j = 0 } } var o = this.ensurerowvisible(h); var e = 0; if (this.columns.records) { var m = i; var l = this.host.width(); var k = 0; var f = this.vScrollBar.css("visibility") == "visible" ? 20 : 0; var g = false; b.each(this.columns.records, function () { if (this.datafield == d) { var q = 0; var p = !n.rtl ? m : j - i; if (e + this.width > p + l - f) { q = e + this.width - l + f; if (n.rtl) { q = j - q } n.scrollleft(q); g = true } else { if (e <= p) { q = e - this.width; if (n.rtl) { q = j - q } n.scrollleft(q); g = true } } if (k == 0) { if (n.rtl) { n.scrollleft(j) } else { n.scrollleft(0) } g = true } else { if (k == n.columns.records.length - 1) { if (n.hScrollBar.css("visibility") == "visible") { if (!n.rtl) { n.scrollleft(n.hScrollBar.jqxScrollBar("max")) } else { n.scrollleft(n.hScrollBar.jqxScrollBar("min")) } g = true } } } return false } k++; e += this.width }); if (!g) { n.scrollleft(m) } } return o }, setrowheight: function (e, d) { if (this._loading) { throw new Error("jqxGrid: " + this.loadingerrormessage); return false } if (e == null || d == null) { return false } this.heightboundrows[e] = { index: e, height: d }; e = this.getrowvisibleindex(e); if (e < 0) { return false } if (this.rows.records[e]) { this.rows.records[e].height = d } else { row = new a(this, null); row.height = d; this.rows.replace(e, row) } this.heights[e] = d; this.rendergridcontent(true); return true }, getrowheight: function (d) { if (d == null) { return null } d = this.getrowvisibleindex(d); if (d < 0) { return false } if (this.rows.records[d]) { return this.rows.records[d].height } }, setrowdetails: function (e, f, d, h) { if (e == undefined || e == null || e < 0) { return } var g = this.dataview.generatekey(); this.detailboundrows[e] = { index: e, details: { rowdetails: f, rowdetailsheight: d, rowdetailshidden: h, key: g} }; e = this.getrowvisibleindex(e); if (e < 0) { return false } return this._setrowdetails(e, f, d, h, g) }, getcolumn: function (d) { var e = null; if (this.columns.records) { b.each(this.columns.records, function () { if (this.datafield == d || this.displayfield == d) { e = this; return false } }) } return e }, _getcolumnindex: function (e) { var d = -1; if (this.columns.records) { b.each(this.columns.records, function () { d++; if (this.datafield == e) { return false } }) } return d }, _getcolumnat: function (d) { var e = this.columns.records[d]; return e }, _getprevvisiblecolumn: function (e) { var d = this; while (e > 0) { e--; var f = d.getcolumnat(e); if (!f) { return null } if (!f.hidden) { return f } } return null }, _getnextvisiblecolumn: function (e) { var d = this; while (e < this.columns.records.length) { e++; var f = d.getcolumnat(e); if (!f) { return null } if (!f.hidden) { return f } } return null }, getcolumnat: function (d) { if (!isNaN(d)) { var e = this.columns.records[d]; return e } return null }, _getcolumn: function (d) { var e = null; b.each(this._columns, function () { if (this.datafield == d || this.displayfield == d) { e = this; return false } }); return e }, _setcolumnproperty: function (e, g, h) { if (e == null || g == null || h == null) { return null } var f = this.getcolumn(e); if (f == null) { return } var i = f[g]; f[g] = h; var d = this._getcolumn(e); if (d != null) { d[g] = h } this._cellscache = new Array(); switch (g) { case "text": this.prerenderrequired = true; this._rendercolumnheaders(); if (this._groupsheader()) { if (this._initgroupsheader) { this._initgroupsheader() } } break; case "editable": case "resizable": case "draggable": if (g == "editable") { if (h != i) { if (this.editcell != null && this.endcelledit) { this.endcelledit(this.editcell.row, this.editcell.column, true, true) } if (f.columntype == "checkbox") { this.prerenderrequired = true; this.rendergridcontent(true, false); if (this.updating()) { return false } } if (this.updating()) { return false } this._renderrows(this.virtualsizeinfo) } } break; case "hidden": case "hideable": case "renderer": case "cellsrenderer": case "align": case "cellsalign": case "cellsformat": case "pinned": case "contenttype": case "filterable": case "groupable": case "cellclass": case "class": this.prerenderrequired = true; this.rendergridcontent(true); if (this.updating()) { return false } this._renderrows(this.virtualsizeinfo); break; case "width": case "minwidth": case "maxwidth": if (this.updating()) { return false } this._updatecolumnwidths(); this._updatecellwidths(); this._renderrows(this.virtualsizeinfo); break } }, _getcolumnproperty: function (d, f) { if (d == null || f == null) { return null } var e = this.getcolumn(d); return e[f] }, setcolumnproperty: function (d, e, f) { this._setcolumnproperty(d, e, f) }, getcolumnproperty: function (d, e) { return this._getcolumnproperty(d, e) }, hidecolumn: function (d) { this._setcolumnproperty(d, "hidden", true) }, showcolumn: function (d) { this._setcolumnproperty(d, "hidden", false) }, iscolumnvisible: function (d) { return !this._getcolumnproperty(d, "hidden") }, pincolumn: function (d) { this._setcolumnproperty(d, "pinned", true) }, unpincolumn: function (d) { this._setcolumnproperty(d, "pinned", false) }, iscolumnpinned: function (d) { return this._getcolumnproperty(d, "pinned") }, _setrowdetails: function (j, d, n, h, e) { if (n == 0) { n = 100 } if (j == null || n == null) { return false } if (e != null) { this.details[j] = { rowdetails: d, rowdetailsheight: n, rowdetailshidden: h, detailskey: e} } else { var m = this.details[j] != null ? this.details[j].detailskey : null; var l = { rowdetails: d, rowdetailsheight: n, rowdetailshidden: h, detailskey: m }; var k = this; for (var g = 0; g < this.detailboundrows.length; g++) { if (this.detailboundrows[g] != undefined) { var f = this.detailboundrows[g]; if (f.details.detailskey == m) { f.details.rowdetailsheight = l.rowdetailsheight; f.details.rowdetailshidden = l.rowdetailshidden; f.details.rowdetails = l.rowdetails; break } } } this.details[j] = l } this.rendergridcontent(true); this._updatecolumnwidths(); this._updatecellwidths(); this._renderrows(this.virtualsizeinfo); return true }, getrowdetails: function (d) { if (d == null) { return false } d = this.getrowvisibleindex(d); return this._getrowdetails(d) }, _getrowdetails: function (d) { if (d == null) { return false } if (d < 0) { return false } if (this.details[d]) { return this.details[d] } if (this.rowdetailstemplate) { return this.rowdetailstemplate } }, getrecordscount: function () { return this.dataview.totalrecords }, showrowdetails: function (d) { if (this._loading) { throw new Error("jqxGrid: " + this.loadingerrormessage); return false } if (d == null) { return false } d = this.getrowvisibleindex(d); if (d < 0) { return false } var e = this._getrowdetails(d); return this._setrowdetailsvisibility(d, e, false) }, hiderowdetails: function (d) { if (this._loading) { throw new Error("jqxGrid: " + this.loadingerrormessage); return false } d = this.getrowvisibleindex(d); if (d < 0) { return false } var e = this._getrowdetails(d); return this._setrowdetailsvisibility(d, e, true) }, _togglerowdetails: function (g) { var d = g.visibleindex; var e = this._getrowdetails(d); if (e != null) { var f = !e.rowdetailshidden; return this._setrowdetailsvisibility(d, e, f) } return false }, _setrowdetailsvisibility: function (e, f, h) { if (this.rowdetailstemplate) { if (!this.details) { this.details = new Array() } if (!this.details[e]) { this.details[e] = { rowdetailshidden: this.rowdetailstemplate.rowdetailshidden, rowdetailsheight: this.rowdetailstemplate.rowdetailsheight, rowdetails: this.rowdetailstemplate.rowdetails }; var g = this.dataview.generatekey(); this.details[e].detailskey = g; this.detailboundrows[e] = { index: e, details: this.details[e]} } } if (f != null) { this.details[e].rowdetailshidden = h } else { return false } var d = this.details[e]; if (h) { this._raiseEvent(21, { rowindex: e, details: d.rowdetails, height: d.rowdetailsheight }) } else { this._raiseEvent(20, { rowindex: e, details: d.rowdetails, height: d.rowdetailsheight }) } return this._setrowdetails(e, d.rowdetails, d.rowdetailsheight, d.rowdetailshidden) }, getrowvisibleindex: function (d) { if (d == undefined || d == null || d < 0) { return false } if (this.virtualmode) { var e = this.dataview.loadedrecords[d]; if (e == undefined) { return -1 } return e.visibleindex } var e = this.dataview.bounditems[d]; if (e == undefined) { return -1 } return e.visibleindex }, hiderow: function (d) { if (this._loading) { throw new Error("jqxGrid: " + this.loadingerrormessage); return false } if (d == undefined || d == null || d < 0) { return false } if (d == null) { return false } this.hiddenboundrows[d] = { index: d, hidden: true }; d = this.getrowvisibleindex(d); return this._setrowvisibility(d, true) }, showrow: function (d) { if (this._loading) { throw new Error("jqxGrid: " + this.loadingerrormessage); return false } if (d == undefined || d == null || d < 0) { return false } if (d == null) { return false } this.hiddenboundrows[d] = { index: d, hidden: false }; d = this.getrowvisibleindex(d); return this._setrowvisibility(d, false) }, isrowhiddenat: function (d) { if (d == null) { return null } d = this.getrowvisibleindex(d); if (this.rows.records[d]) { return this.rows.records[d].hidden } }, _setrowvisibility: function (d, f, e) { if (d == null) { return false } this.hiddens[d] = f; if (e == undefined || e) { this.rendergridcontent(true); return true } return false }, _loadrows: function () { if (!this._pageviews[this.dataview.pagenum] && !this.pageable) { return } var p = !this.pageable ? this._pageviews[this.dataview.pagenum].top : 0; if (!this.pageable && this._pagescache[this.dataview.pagenum] != undefined) { return null } if (!this.virtualsizeinfo) { return } var t = this; var l = new Array(); var q = new Array(); var e = t.groupable && t.groups.length > 0; var j = this.dataview.totalrecords; var o = this.virtualsizeinfo.virtualheight; var s = 0; this.rows.beginupdate(); var f = this.dataview.pagesize; if (this.pageable && e) { f = this.dataview.rows.length } for (var g = 0; g < f; g++) { if (g >= this.dataview.rows.length) { break } var k = this.dataview.rows[g]; var u = null; if (!t.rows.records[k.visibleindex]) { u = new a(t, k) } else { u = t.rows.records[k.visibleindex]; u.setdata(k) } u.hidden = this.hiddens[u.visibleindex]; if (this.rowdetailstemplate) { u.rowdetails = this.rowdetailstemplate.rowdetails; u.rowdetailsheight = this.rowdetailstemplate.rowdetailsheight; u.rowdetailshidden = this.rowdetailstemplate.rowdetailshidden } var d = this.details[u.visibleindex]; if (d) { u.rowdetails = d.rowdetails; u.rowdetailsheight = d.rowdetailsheight; u.rowdetailshidden = d.rowdetailshidden } else { if (!this.rowdetailstemplate) { u.rowdetails = null } } if (e && this.pageable && u.parentbounddata != null) { var r = l[u.parentbounddata.uniqueid]; if (r != null) { var n = this._findgroupstate(r.uniqueid); if (this._setsubgroupsvisibility) { this._setsubgroupsvisibility(this, u.parentbounddata, !n, false) } u.hidden = this.hiddens[u.visibleindex] } if (r != null && r != undefined) { u.parentrow = r; r.subrows[r.subrows.length++] = u } } if (u.hidden) { continue } var h = k.visibleindex; if (!this.heights[h]) { this.heights[h] = this.rowsheight } u.height = this.heights[h]; if (this.rowdetails) { if (u.rowdetails && !u.rowdetailshidden) { u.height += u.rowdetailsheight } } l[u.uniqueid] = u; q[s++] = u; u.top = p; p += u.height; var m = h; t.rows.replace(m, u) } if (this.autoheight && this.autorowheight) { if (this._pageviews && this._pageviews.length > 0) { this._pageviews[0].height = p } } this.rows.resumeupdate(); if (q.length > 0) { this._pagescache[this.dataview.pagenum] = q } }, _gettableheight: function () { if (this.tableheight != undefined) { return this.tableheight } var e = this.host.height(); if (this.columnsheader) { var d = this.columnsheader.outerHeight(); if (!this.showheader) { d = 0 } } e -= d; if (this.hScrollBar[0].style.visibility == "visible") { e -= this.hScrollBar.outerHeight() } if (this.pageable) { e -= this.pager.outerHeight() } if (this._groupsheader()) { e -= this.groupsheader.outerHeight() } if (this.showtoolbar) { e -= this.toolbarheight } if (this.showstatusbar) { e -= this.statusbarheight } if (e > 0) { this.tableheight = e; return e } return this.host.height() }, _getpagesize: function () { if (this.pageable) { return this.pagesize } if (this.virtualmode) { var e = Math.round(this.host.height()) + 2 * this.rowsheight; var d = Math.round(e / this.rowsheight); return d } if (this.autoheight || this.autorowheight) { if (this.dataview.totalrows == 0) { return 1 } return this.dataview.totalrows } if (this.dataview.totalrows < 100 && this.dataview.totalrecords < 100 && this.dataview.totalrows > 0) { return this.dataview.totalrows } return 100 }, _calculatevirtualheight: function () { var n = this; var e = Math.round(this.host.height()) + 2 * this.rowsheight; realheight = this._gettableheight(); var p = Math.round(e / this.rowsheight); this.heights = new Array(); this.hiddens = new Array(); this.details = new Array(); this.expandedgroups = new Array(); this.hiddenboundrows = new Array(); this.heightboundrows = new Array(); this.detailboundrows = new Array(); var h = Math.max(this.dataview.totalrows, this.dataview.totalrecords); if (this.pageable) { h = this.pagesize; if (this.pagesize > Math.max(this.dataview.totalrows, this.dataview.totalrecords) && this.autoheight) { h = Math.max(this.dataview.totalrows, this.dataview.totalrecords) } } var l = h * this.rowsheight; var m = 0; var j = 0; var k = 0; var f = this._getpagesize(); var d = f * this.rowsheight; var g = 0; if (!this.pageable && this.autoheight) { p = h } if (h + f > 0) { while (g <= h + f) { m += d; if (g - f < h && g >= h) { var o = g - h; if (o > 0) { k -= d; this._pageviews[j - 1] = { top: k, height: d - o * this.rowsheight} } break } else { this._pageviews[j++] = { top: k, height: d} } k = m; g += f } } this.vScrollBar.jqxScrollBar({ value: 0 }); if (l > realheight && !this.autoheight) { this.vScrollBar.css("visibility", "visible"); if (this.scrollmode == "deferred") { this.vScrollBar.jqxScrollBar({ max: l }) } else { this.vScrollBar.jqxScrollBar({ max: l - realheight }) } } else { this.vScrollBar.css("visibility", "hidden") } this.dataview.pagesize = f; this.dataview.updateview(); return { visiblerecords: p, virtualheight: l} }, _updatepageviews: function () { if (this.updating()) { return } this._pagescache = new Array(); this._pageviews = new Array(); this.tableheight = null; var t = this; var d = Math.round(this.host.height()) + 2 * this.rowsheight; var u = Math.round(d / this.rowsheight); var m = Math.max(this.dataview.totalrows, this.dataview.totalrecords); var p = m * this.rowsheight; var s = 0; var f = 0; var n = 0; var o = 0; var h = 0; var g = this._getpagesize(); if (!this.pageable) { for (var l = 0; l < m; l++) { var r = { index: l, height: this.heights[l], hidden: this.hiddens[l], details: this.details[l] }; if (this.heights[l] == undefined) { this.heights[l] = this.rowsheight; r.height = this.rowsheight } if (this.hiddens[l] == undefined) { this.hiddens[l] = false; r.hidden = false } if (this.details[l] == undefined) { this.details[l] = null } if (r.height != t.rowsheight) { p -= t.rowsheight; p += r.height } if (r.hidden) { p -= r.height } else { f += r.height; var j = 0; if (this.rowdetails) { if (this.rowdetailstemplate) { if (!r.details) { r.details = this.rowdetailstemplate } } if (r.details && r.details.rowdetails && !r.details.rowdetailshidden) { j = r.details.rowdetailsheight; f += j; p += j } } s += r.height + j } h++; if (h >= g || l == m - 1) { this._pageviews[n++] = { top: o, height: f }; f = 0; o = s; h = 0 } } } else { if (this._updatepagedview) { p = this._updatepagedview(m, p, 0) } if (this.autoheight) { this._arrange() } } var e = this._gettableheight(); if (p > e) { if (this.pageable && this.gotopage) { p = this._pageviews[0].height; if (p < 0) { p = this._pageviews[0].height } } if (this.vScrollBar.css("visibility") != "visible") { this.vScrollBar.css("visibility", "visible") } if (p <= e || this.autoheight) { this.vScrollBar.css("visibility", "hidden") } if (p - e > 0) { if (this.scrollmode != "deferred") { var q = p - e; this.vScrollBar.jqxScrollBar({ max: q }) } } else { this.vScrollBar.jqxScrollBar({ value: 0, max: p }) } } else { if (!this._loading) { this.vScrollBar.css("visibility", "hidden") } this.vScrollBar.jqxScrollBar({ value: 0 }) } this._arrange(); if (this.autoheight) { u = Math.round(this.host.height() / this.rowsheight) } this.virtualsizeinfo = { visiblerecords: u, virtualheight: p} }, updatebounddata: function (d) { this.databind(this.source, d) }, refreshdata: function () { this._refreshdataview(); this.render() }, _updatevscrollbarmax: function () { if (this._pageviews && this._pageviews.length > 0) { var f = this._pageviews[0].height; if (this.virtualmode) { f = this.virtualsizeinfo.virtualheight } var e = this._gettableheight(); if (f > e) { if (this.pageable && this.gotopage) { f = this._pageviews[0].height; if (f < 0) { f = this._pageviews[0].height } } if (this.vScrollBar.css("visibility") != "visible") { this.vScrollBar.css("visibility", "visible") } if (f <= e || this.autoheight) { this.vScrollBar.css("visibility", "hidden") } if (f - e > 0) { var d = f - e; this.vScrollBar.jqxScrollBar({ max: d }) } else { this.vScrollBar.jqxScrollBar({ value: 0, max: f }) } } else { this.vScrollBar.css("visibility", "hidden"); this.vScrollBar.jqxScrollBar({ value: 0 }) } } }, _refreshdataview: function () { this.dataview.refresh() }, refresh: function (d) { if (d != true) { if (this.virtualsizeinfo != null) { this._cellscache = new Array(); this._renderrows(this.virtualsizeinfo); this._updatesize() } } }, render: function () { this._render(true, true, true, true) }, invalidate: function () { if (this.virtualsizeinfo) { this._updatecolumnwidths(); this._updatecellwidths(); this._renderrows(this.virtualsizeinfo) } }, clear: function () { this.databind(null); this.render() }, _render: function (g, h, f, d, e) { if (this.dataview == null) { return } if (this._loading) { return } if (this.editcell != null && this.endcelledit) { this.endcelledit(this.editcell.row, this.editcell.column, true, false) } this.validationpopup = null; this._removeHandlers(); this._addHandlers(); this._initializeRows(); this._requiresupdate = h != undefined ? h : true; if (f) { if (!this._requiresupdate) { if (d != false) { this._initmenu() } } if (this.columns == null) { this.columns = new b.jqx.collection(this.element) } else { this._initializeColumns() } } this.tableheight = null; this._pagescache = new Array(); this._pageviews = new Array(); this.visiblerows = new Array(); this.hittestinfo = new Array(); if (this._requiresupdate) { this._clearcaches(); if (d == true) { this._initmenu() } } this.virtualsizeinfo = null; this.prerenderrequired = true; if ((this.groupable && this.groups.length > 0 && this.rowdetails) || (this.rowdetails)) { if (this.gridcontent) { this._rowdetailscache = new Array(); this._rowdetailselementscache = new Array(); this.detailboundrows = new Array(); this.details = new Array(); b.jqx.utilities.html(this.gridcontent, ""); this.gridcontent = null } } if (this.gridcontent) { if (this.editable && this._destroyeditors) { this._destroyeditors() } } if (f) { if (this.filterrow) { this.filterrow.detach() } b.jqx.utilities.html(this.content, ""); this.columnsheader = this.columnsheader || b('<div style="overflow: hidden;"></div>'); this.columnsheader.remove(); this.columnsheader.addClass(this.toTP("jqx-widget-header")); this.columnsheader.addClass(this.toTP("jqx-grid-header")) } else { if (this.gridcontent) { b.jqx.utilities.html(this.gridcontent, "") } } if (!this.showheader) { this.columnsheader.css("display", "none") } else { if (this.columnsheader) { this.columnsheader.css("display", "block") } } this.gridcontent = this.gridcontent || b('<div style="width: 100%; overflow: hidden; position: absolute;"></div>'); this.gridcontent.remove(); if (this.showfilterrow && this.filterable) { this.columnsheader.height(this.columnsheight + this.filterrowheight) } else { this.columnsheader.height(this.columnsheight) } this.content.append(this.columnsheader); this.content.append(this.gridcontent); this._arrange(); if (this._initgroupsheader) { this._initgroupsheader() } this.selectionarea = this.selectionarea || b("<div style='z-index: 99999; visibility: hidden; position: absolute;'></div>"); this.selectionarea.addClass(this.toThemeProperty("jqx-grid-selectionarea")); this.selectionarea.addClass(this.toThemeProperty("jqx-fill-state-pressed")); this.content.append(this.selectionarea); this.tableheight = null; this.rendergridcontent(false, f); if (this.groups.length > 0 && this.groupable) { this.suspendgroupevents = true; if (this.collapseallgroups) { if (!this.groupsexpandedbydefault) { this.collapseallgroups(false); this._updatescrollbarsafterrowsprerender() } else { this.expandallgroups(false) } } this.suspendgroupevents = false } if (this.pageable && this.updatepagerdetails) { this.updatepagerdetails(); if (this.autoheight) { this._updatepageviews(); if (this.autorowheight) { this._renderrows(this.virtualsizeinfo) } } } if (this.showaggregates && this._updateaggregates) { this._updateaggregates() } this._addoverlayelement(); if (this.scrollmode == "deferred") { this._addscrollelement() } if (this.showfilterrow && this.filterable && this.filterrow && (e == undefined || e == true)) { this._updatelistfilters() } if (this.rendered) { this.rendered("full") } }, _addoverlayelement: function () { var d = b.jqx.utilities.getBrowser(); if ((d.browser == "msie" && parseInt(d.version) < 9) || this.isTouchDevice()) { if (this._overlayElement) { this._overlayElement.remove() } this._overlayElement = b("<div style='visibility: hidden; position: absolute; width: 100%; height: 100%;'></div>"); this._overlayElement.css("background", "white"); this._overlayElement.css("z-index", 18000); this._overlayElement.css("opacity", 0.001); if (this.isTouchDevice()) { this.table.prepend(this._overlayElement); this._overlayElement.css("visibility", "visible"); if (this.groupable || this.rowdetails) { this._overlayElement.css("left", 30 * (this.groups.length + (this.rowdetails ? 1 : 0))) } if (this.autoheight) { this._overlayElement.remove() } } else { this.content.prepend(this._overlayElement) } } this._updateTouchScrolling() }, _addscrollelement: function () { if (this._scrollelement) { this._scrollelement.remove() } if (this._scrollelementoverlay) { this._scrollelementoverlay.remove() } this._scrollelementoverlay = b("<div style='visibility: hidden; position: absolute; width: 100%; height: 100%;'></div>"); this._scrollelementoverlay.css("background", "black"); this._scrollelementoverlay.css("z-index", 18000); this._scrollelementoverlay.css("opacity", 0.1); this._scrollelement = b("<span style='visibility: hidden; top: 50%; right: 10px; position: absolute;'></span>"); this._scrollelement.css("z-index", 18005); this._scrollelement.addClass(this.toThemeProperty("jqx-button")); this._scrollelement.addClass(this.toThemeProperty("jqx-fill-state-normal")); this._scrollelement.addClass(this.toThemeProperty("jqx-rc-all")); this._scrollelement.addClass(this.toThemeProperty("jqx-shadow")); this.content.prepend(this._scrollelement); this.content.prepend(this._scrollelementoverlay) }, rendergridcontent: function (d, f) { if (this.updating()) { return false } if (d == undefined || d == null) { d = false } this._requiresupdate = d; var h = this.prerenderrequired; if (this.prerenderrequired) { this._arrange() } var g = this; var f = f; if (f == null || f == undefined) { f = true } this.tableheight = null; g.virtualsizeinfo = g.virtualsizeinfo || g._calculatevirtualheight(); if (g.pageable && !g.autoheight) { if (g.dataview.totalrows < g.pagesize) { g._requiresupdate = true } } if (f) { g._rendercolumnheaders() } else { if (this._rendersortcolumn) { this._rendersortcolumn() } if (this._renderfiltercolumn) { this._renderfiltercolumn() } } g._renderrows(g.virtualsizeinfo); if (this.gridcontent[0].scrollTop != 0) { this.gridcontent[0].scrollTop = 0 } if (this.gridcontent[0].scrollLeft != 0) { this.gridcontent[0].scrollLeft = 0 } if (h) { var e = this.tableheight; this._arrange(); if (e != this.tableheight && this.autoheight) { g._renderrows(g.virtualsizeinfo) } } if (this.autosavestate) { if (this.initializedcall != null) { if (this.savestate) { this.savestate() } } } return true }, _updatecolumnwidths: function () { var j = this.host.width(); var d = j; var i = ""; if (this.columns == undefined || this.columns.records == undefined) { return } var l = this; b.each(this.columns.records, function (m, n) { if (!(this.hidden && this.hideable)) { if (this.width.toString().indexOf("%") != -1 || this._percentagewidth != undefined) { var n = 0; var o = l.vScrollBar[0].style.visibility == "hidden" ? 0 : l.scrollbarsize + 5; n = parseInt(this.width) * d / 100; if (this._percentagewidth != undefined) { n = parseInt(this._percentagewidth) * (d - o) / 100 } if (n < this.minwidth && this.minwidth != "auto") { n = this.minwidth } if (n > this.maxwidth && this.maxwidth != "auto") { n = this.maxwidth } j -= Math.round(n) } else { if (this.width != "auto" && !this._width) { j -= this.width } else { i += this.text } } } }); var e = this._gettableheight(); if (!this.autoheight) { if (this.virtualsizeinfo && this.virtualsizeinfo.virtualheight > e) { if (this.groupable && this.groups.length > 0) { if (this.dataview && this.dataview.loadedrootgroups && !this.groupsexpandedbydefault) { var k = this.dataview.loadedrootgroups.length * this.rowsheight; if (k > e) { j -= this.scrollbarsize + 5; d -= this.scrollbarsize + 5 } else { if (this.vScrollBar.css("visibility") == "visible") { j -= this.scrollbarsize + 5; d -= this.scrollbarsize + 5 } } } else { j -= this.scrollbarsize + 5; d -= this.scrollbarsize + 5 } } else { j -= this.scrollbarsize + 5; d -= this.scrollbarsize + 5 } } } var g = this.columnsheader.find("#columntable" + this.element.id); if (g.length == 0) { return } var h = g.find(".jqx-grid-column-header"); var f = 0; b.each(this.columns.records, function (n, r) { var p = b(h[n]); var m = false; var q = this.width; if (this.width.toString().indexOf("%") != -1 || this._percentagewidth != undefined) { if (this._percentagewidth != undefined) { q = parseInt(this._percentagewidth) * d / 100 } else { q = parseInt(this.width) * d / 100 } m = true } if (this.width != "auto" && !this._width && !m) { if (parseInt(p[0].style.width) != this.width) { p.width(this.width) } } else { if (m) { if (q < this.minwidth && this.minwidth != "auto") { q = this.minwidth; this.width = q } if (q > this.maxwidth && this.maxwidth != "auto") { q = this.maxwidth; this.width = q } if (parseInt(p[0].style.width) != q) { p.width(q); this.width = q } } else { var o = Math.round(j * (this.text.length / i.length)); if (isNaN(o)) { o = this.minwidth } if (o < 0) { $element = b("<span>" + this.text + "</span>"); b(document.body).append($element); o = 10 + $element.width(); $element.remove() } if (o < this.minwidth) { o = this.minwidth } if (o > this.maxwidth) { o = this.maxwidth } this._width = "auto"; this.width = o; p.width(this.width) } } if (parseInt(p[0].style.left) != f) { p.css("left", f) } if (!(this.hidden && this.hideable)) { f += this.width } this._requirewidthupdate = true }); this.columnsheader.width(2 + f); g.width(this.columnsheader.width()); if (this.showfilterrow && this.filterrow) { this.filterrow.width(this.columnsheader.width()); this._updatefilterrowui() } }, _rendercolumnheaders: function () { var q = this; if (!this.prerenderrequired) { if (this._rendersortcolumn) { this._rendersortcolumn() } if (this._renderfiltercolumn) { this._renderfiltercolumn() } if (this.showfilterrow && this.filterrow) { this.filterrow.width(this.columnsheader.width()); this._updatefilterrowui() } return } this._columnsbydatafield = new Array(); this.columnsheader.find("#columntable" + this.element.id).remove(); var h = b('<div id="columntable' + this.element.id + '" style="height: 100%; position: relative;"></div>'); h[0].cells = new Array(); var t = 0; var e = 0; var n = ""; var y = this.host.width(); var m = y; var d = new Array(); var s = new Array(); b.each(this.columns.records, function (j, k) { if (!(this.hidden && this.hideable)) { if (this.width != "auto" && !this._width) { if (this.width < this.minwidth && this.minwidth != "auto") { y -= this.minwidth } else { if (this.width > this.maxwidth && this.maxwidth != "auto") { y -= this.maxwidth } else { if (this.width.toString().indexOf("%") != -1) { var k = 0; k = parseInt(this.width) * m / 100; if (k < this.minwidth && this.minwidth != "auto") { k = this.minwidth } if (k > this.maxwidth && this.maxwidth != "auto") { k = this.maxwidth } y -= k } else { if (typeof this.width == "string") { this.width = parseInt(this.width) } y -= this.width } } } } else { n += this.text } } if (this.pinned) { d[d.length] = this } else { s[s.length] = this } }); if (!this.rtl) { for (var v = 0; v < d.length; v++) { this.columns.replace(v, d[v]) } for (var u = 0; u < s.length; u++) { this.columns.replace(d.length + u, s[u]) } } else { var r = 0; d.reverse(); for (var v = this.columns.records.length - 1; v >= this.columns.records.length - d.length; v--) { this.columns.replace(v, d[r++]) } for (var u = 0; u < s.length; u++) { this.columns.replace(u, s[u]) } } var g = this.headerZIndex; var l = q.groupable ? q.groups.length : 0; if (this.rowdetails && this.showrowdetailscolumn) { l++ } var f = q.columnsheader.height(); if (this.showfilterrow) { f = this.columnsheight } var o = this._gettableheight(); if (this.virtualsizeinfo && this.virtualsizeinfo.virtualheight > o) { if (this.groupable && this.groups.length > 0) { if (this.dataview && this.dataview.loadedrootgroups && !this.groupsexpandedbydefault) { var w = this.dataview.loadedrootgroups.length * this.rowsheight; if (w > o) { y -= this.scrollbarsize + 5; m -= this.scrollbarsize + 5 } } else { y -= this.scrollbarsize + 5; m -= this.scrollbarsize + 5 } } else { if (!this.autoheight) { y -= this.scrollbarsize + 5; m -= this.scrollbarsize + 5 } } } b.each(this.columns.records, function (Q, N) { var S = q.toTP("jqx-grid-column-header") + " " + q.toTP("jqx-widget-header"); if (q.rtl) { S += " " + q.toTP("jqx-grid-column-header-rtl") } var z = b('<div style="position: absolute; height: 100%;" class="' + S + '"></div>'); this.uielement = z; if (this.classname != "" && this.classname) { z.addClass(this.classname) } if (!q.rtl) { z.css("z-index", g--) } else { z.css("z-index", g++) } var H = this.width; var J = false; if (this.width.toString().indexOf("%") != -1 || this._percentagewidth != undefined) { if (this._percentagewidth != undefined) { H = parseInt(this._percentagewidth) * m / 100 } else { H = parseInt(this.width) * m / 100 } J = true } if (this.width != "auto" && !this._width && !J) { if (H < this.minwidth && this.minwidth != "auto") { H = this.minwidth } if (H > this.maxwidth && this.maxwidth != "auto") { H = this.maxwidth } z.width(H) } else { if (J) { if (H < this.minwidth && this.minwidth != "auto") { H = this.minwidth } if (H > this.maxwidth && this.maxwidth != "auto") { H = this.maxwidth } if (this._percentagewidth == undefined || this.width.toString().indexOf("%") != -1) { this._percentagewidth = this.width } z.width(H); this.width = H } else { var M = Math.round(y * (this.text.length / n.length)); if (isNaN(M)) { M = this.minwidth } if (M < 0) { $element = b("<span>" + this.text + "</span>"); b(document.body).append($element); M = 10 + $element.width(); $element.remove() } if (M < this.minwidth) { M = this.minwidth } if (M > this.maxwidth) { M = this.maxwidth } this._width = "auto"; this.width = M; H = this.width; z.width(this.width) } } if (this.hidden && this.hideable) { z.css("display", "none") } var k = b('<div style="height: 100%; width: 100%;"></div>'); var C = b('<div style="display: none; left: 100%; top: 0%; position: absolute;"></div>'); var G = b('<div style="width: 100%; height:100%;"></div>'); G.addClass(q.toTP("jqx-grid-column-menubutton")); if (q.rtl) { G.addClass(q.toTP("jqx-grid-column-menubutton-rtl")) } G.appendTo(C); C.height(f); if (!q.enableanimations) { C.css("margin-left", -16) } if (q.rtl) { C.css("left", "0px") } var I = b('<div class="sortasc" style="float: right; display: none; width: 16px;"><div style="width: 100%; height:100%;"></div></div>'); var L = b('<div class="sortdesc" style="float: right; display: none; width: 16px;"><div style="width: 100%; height:100%;"></div></div>'); var P = b('<div class="filtericon" style="float: right; display: none; width: 16px;"><div style="width: 100%; height:100%;"></div></div>'); if (!q.autoshowfiltericon && this.filterable) { P.css("display", "block") } I.height(f); L.height(f); P.height(f); I.find("div").addClass(q.toTP("jqx-grid-column-sortascbutton")); L.find("div").addClass(q.toTP("jqx-grid-column-sortdescbutton")); P.find("div").addClass(q.toTP("jqx-grid-column-filterbutton")); this.sortasc = I[0]; this.sortdesc = L[0]; this.filtericon = P[0]; this.columnsmenu = C[0]; h[0].cells[Q] = z[0]; C.width(q.columnsmenuwidth); var B = q.columnsmenu; var p = false; var O = false; var K = (q.groupable && l > 0 && t < l) || (q.rowdetails && t < l); if (q.rtl) { K = (q.groupable && l > 0 && t < l) || (q.rowdetails && t < l); K &= Q > q.columns.records.length - 1 - l } if (K) { t++; B &= false; this.sortable = false; this.editable = false; O = true } else { var D = this.renderer != null ? this.renderer(this.text, this.align) : q._rendercolumnheader(this.text, this.align); if (D == null) { D = q._rendercolumnheader(this.text, this.align) } if (this.renderer != null) { D = b(D) } B &= true; p = true } if (q.WinJS) { MSApp.execUnsafeLocalFunction(function () { k.append(b(D)) }) } else { if (this.renderer) { k.append(b(D)) } else { if (D) { k[0].innerHTML = D } } } if (D != null) { var F = b('<div class="iconscontainer" style="margin-left: -32px; display: block; position: absolute; left: 100%; top: 0%; width: 32px;"></div>'); C.addClass(q.toTP("jqx-widget-header")); F.height(f); k.append(F); F.append(P); F.append(I); F.append(L); L.addClass(q.toTP("jqx-widget-header")); I.addClass(q.toTP("jqx-widget-header")); P.addClass(q.toTP("jqx-widget-header")); this.iconscontainer = F; if (q.rtl) { F.css("margin-left", "0px"); F.css("left", "0px"); I.css("float", "left"); P.css("float", "left"); L.css("float", "left") } } if (B) { q._handlecolumnsmenu(q, k, z, C, this); if (!this.menu) { C.hide() } } z.append(k); h.append(z); if (q.groupable && p) { z[0].id = q.dataview.generatekey(); if (q._handlecolumnstogroupsdragdrop) { q._handlecolumnstogroupsdragdrop(this, z) } else { throw new Error("jqxGrid: Missing reference to jqxgrid.grouping.js.") } } if (q.columnsreorder && this.draggable && q._handlecolumnsdragreorder) { q._handlecolumnsdragreorder(this, z) } var R = this; q.addHandler(z, "click", function (i) { if (q.sorttogglestates > 0 && q._togglesort) { if (!q._loading) { q._togglesort(R) } } i.preventDefault(); q._raiseEvent(7, { column: R.getcolumnproperties(), datafield: R.datafield, originalEvent: i }) }); if (R.resizable && q.columnsresize && !O) { var A = false; var j = "mousemove"; if (q.isTouchDevice()) { A = true; j = b.jqx.mobile.getTouchEventName("touchstart") } q.addHandler(z, j, function (T) { var i = parseInt(T.pageX); var V = 5; var Y = parseInt(z.coord().left); if (q.hasTransform) { Y = b.jqx.utilities.getOffset(z).left } if (q._handlecolumnsresize) { if (A) { var U = q.getTouches(T); var X = U[0]; i = X.pageX; V = 40; if (i >= Y + R.width - V) { q.resizablecolumn = { columnelement: z, column: R }; z.css("cursor", "col-resize") } else { z.css("cursor", ""); q.resizablecolumn = null } return true } var W = R.width; if (q.rtl) { W = 0 } if (i >= Y + W - V) { if (i <= Y + W + V) { q.resizablecolumn = { columnelement: z, column: R }; z.css("cursor", "col-resize"); return false } else { z.css("cursor", ""); q.resizablecolumn = null } } else { z.css("cursor", ""); q.resizablecolumn = null } } }) } z.css("left", e); if (!(this.hidden && this.hideable)) { e += H } if (R.rendered) { var E = R.rendered(D); if (E && F != null) { F.hide() } } }); if (e > 0) { this.columnsheader.width(2 + e) } else { this.columnsheader.width(e) } this.columnsrow = h; q.columnsheader.append(h); if (this.showfilterrow && this._updatefilterrow) { h.height(this.columnsheight); if (!this.filterrow) { var x = b("<div></div>"); x[0].id = "filterrow." + this.element.id; x.height(this.filterrowheight); this.filterrow = x } this.columnsheader.append(this.filterrow); this._updatefilterrow() } h.width(e); if (this._handlecolumnsdragdrop) { this._handlecolumnsdragdrop() } if (this._handlecolumnsreorder) { this._handlecolumnsreorder() } if (this._rendersortcolumn) { this._rendersortcolumn() } if (this._renderfiltercolumn) { this._renderfiltercolumn() } if (this._handlecolumnsresize) { this._handlecolumnsresize() } }, _handlecolumnsmenu: function (o, f, g, j, l) { o.dragmousedown = null; j[0].id = o.dataview.generatekey(); f.append(j); g[0].columnsmenu = j[0]; l.element = g[0]; var k = 16; var n = function () { if (!l.menu) { return false } if (!o.resizing) { if (o.menuitemsarray && o.menuitemsarray.length > 0) { if (!o.enableanimations) { j.css("display", "block"); var p = !o.rtl ? -48 : 16; l.iconscontainer.css("margin-left", p + "px") } else { j.css("display", "block"); j.stop(); l.iconscontainer.stop(); if (!o.rtl) { j.css("margin-left", "0px"); j.animate({ "margin-left": -k }, "fast", function () { j.css("display", "block") }) } else { j.css("margin-left", -k); j.animate({ "margin-left": "0px" }, "fast", function () { j.css("display", "block") }) } var p = !o.rtl ? -48 : 16; l.iconscontainer.animate({ "margin-left": p }, "fast") } } } }; o.addHandler(g, "mouseenter", function (p) { var q = o.vScrollInstance.isScrolling(); if (l.menu && o.autoshowcolumnsmenubutton && !q) { n() } }); if (!o.autoshowcolumnsmenubutton) { j.css("display", "block"); var e = !o.rtl ? -48 : 16; l.iconscontainer.css("margin-left", e + "px"); if (!o.rtl) { j.css({ "margin-left": -k }) } else { j.css({ "margin-left": "0px" }) } } o.addHandler(g, "mouseleave", function (p) { if (o.menuitemsarray && o.menuitemsarray.length > 0 && l.menu) { var r = b.data(document.body, "contextmenu" + o.element.id); if (r != undefined && j[0].id == r.columnsmenu.id) { return } if (o.autoshowcolumnsmenubutton) { if (!o.enableanimations) { j.css("display", "none"); var q = !o.rtl ? -32 : 0; l.iconscontainer.css("margin-left", q + "px") } else { if (!o.rtl) { j.css("margin-left", -k) } else { j.css("margin-left", "0px") } j.stop(); l.iconscontainer.stop(); if (!o.rtl) { j.animate({ "margin-left": 0 }, "fast", function () { j.css("display", "none") }) } else { j.animate({ "margin-left": -k }, "fast", function () { j.css("display", "none") }) } var q = !o.rtl ? -32 : 0; l.iconscontainer.animate({ "margin-left": q }, "fast") } } } }); var i = true; var d = ""; var h = b(l.filtericon); o.addHandler(j, "mousedown", function (p) { if (!o.gridmenu) { o._initmenu() } i = !b.data(o.gridmenu[0], "contextMenuOpened" + o.gridmenu[0].id); d = b.data(document.body, "contextmenu" + o.element.id); if (d != null) { d = d.column.datafield } }); o.addHandler(h, "mousedown", function (p) { if (!o.gridmenu) { o._initmenu() } i = !b.data(o.gridmenu[0], "contextMenuOpened" + o.gridmenu[0].id); d = b.data(document.body, "contextmenu" + o.element.id); if (d != null) { d = d.column.datafield } }); var m = function () { if (!l.menu) { return false } if (!o.gridmenu) { o._initmenu() } var s = j.coord(); var y = j.height(); if (!i) { i = true; if (d == l.datafield) { o._closemenu(); return false } } var v = o.host.coord(); if (o.hasTransform) { v = b.jqx.utilities.getOffset(o.host); s = b.jqx.utilities.getOffset(j) } if (v.left + o.host.width() > parseInt(s.left) + o.gridmenu.width()) { o.gridmenu.jqxMenu("open", s.left, s.top + y) } else { o.gridmenu.jqxMenu("open", j.width() + s.left - o.gridmenu.width(), s.top + y) } if (o.gridmenu.width() < 100) { o._arrangemenu() } o._hasOpenedMenu = true; var w = o._getmenuitembyindex(0); var p = o._getmenuitembyindex(1); var A = o._getmenuitembyindex(2); var x = o._getmenuitembyindex(3); var q = o._getmenuitembyindex(4); var B = o._getmenuitembyindex(5); if (w != null && p != null && A != null) { var t = l.sortable && o.sortable; o.gridmenu.jqxMenu("disable", w.id, !t); o.gridmenu.jqxMenu("disable", p.id, !t); o.gridmenu.jqxMenu("disable", A.id, !t); if (l.datafield) { if (o.sortcolumn == l.datafield) { var u = o.getsortinformation(); if (t) { if (u.sortdirection.ascending) { o.gridmenu.jqxMenu("disable", w.id, true) } else { o.gridmenu.jqxMenu("disable", p.id, true) } } } else { o.gridmenu.jqxMenu("disable", A.id, true) } } } if (x != null && q != null) { if (!o.groupable || !l.groupable) { o.gridmenu.jqxMenu("disable", q.id, true); o.gridmenu.jqxMenu("disable", x.id, true) } else { if (o.groups && o.groups.indexOf(l.datafield) != -1) { o.gridmenu.jqxMenu("disable", x.id, true); o.gridmenu.jqxMenu("disable", q.id, false) } else { o.gridmenu.jqxMenu("disable", x.id, false); o.gridmenu.jqxMenu("disable", q.id, true) } } } if (B != null) { o._updatefilterpanel(o, B, l); var r = 0; if (o.sortable && o._togglesort && o.showsortmenuitems) { r += 3 } if (o.groupable && o.addgroup && o.showgroupmenuitems) { r += 2 } var z = r * 27 + 3; if (b.jqx.browser.msie && b.jqx.browser.version < 8) { z += 20; b(B).height(190) } if (o.filterable && o.showfiltermenuitems) { if (!l.filterable) { o.gridmenu.height(z); b(B).css("display", "none") } else { o.gridmenu.height(z + 176); b(B).css("display", "block") } } } b.data(document.body, "contextmenu" + o.element.id, { column: l, columnsmenu: j[0] }) }; o.addHandler(h, "click", function (p) { if (!l.menu) { return false } if (!o.showfilterrow) { n(); m() } return false }); o.addHandler(j, "click", function (p) { if (!l.menu) { return false } m(); return false }) }, _removecolumnhandlers: function (h) { var e = this; var f = b(h.element); if (f.length > 0) { e.removeHandler(f, "mouseenter"); e.removeHandler(f, "mouseleave"); var g = b(h.filtericon); e.removeHandler(g, "mousedown"); e.removeHandler(g, "click"); e.removeHandler(f, "click"); if (f[0].columnsmenu) { var d = b(f[0].columnsmenu); e.removeHandler(d, "click"); e.removeHandler(d, "mousedown") } } }, _rendercolumnheader: function (f, g) { var e = "4px"; if (this.columnsheight != 25) { e = (this.columnsheight / 2 - this._columnheight / 2) + "px" } if (this.enableellipsis) { return '<div style="overflow: hidden; text-overflow: ellipsis; text-align: ' + g + "; margin-left: 4px; margin-right: 2px; margin-top: " + e + ';"><span style="text-overflow: ellipsis; cursor: default;">' + f + "</span></div>" } if (g == "center" || g == "middle") { return '<div style="text-align: center; margin-top: ' + e + ';"><a href="#">' + f + "</a></div>" } var d = '<a style="margin-top: ' + e + "; float: " + g + ';" href="#">' + f + "</a>"; return d }, _renderrows: function (e) { var l = this; if ((this.pageable || this.groupable) && this.autoheight) { if (this.table != null && this.table[0].rows != null && this.table[0].rows.length < this.dataview.rows.length) { l.prerenderrequired = true } } if (!this.pageable && this.autoheight && (this.virtualmode || this.unboundmode)) { var j = this.source.totalrecords; if (!isNaN(j)) { if (this.table != null && this.table[0].rows != null && this.table[0].rows.length != j) { l.prerenderrequired = true } } } if (this.autoheight && !l.prerenderrequired) { if (this.table && this.table[0].rows) { if (this.table[0].rows.length < this.dataview.records.length) { if (this.pageable && this.table[0].rows.length < this.dataview.pagesize) { l.prerenderrequired = true } else { if (!this.pageable) { l.prerenderrequired = true } } } if (this.table[0].rows.length < this.dataview.cachedrecords.length) { if (this.pageable && this.table[0].rows.length < this.dataview.pagesize) { l.prerenderrequired = true } else { if (!this.pageable) { l.prerenderrequired = true } } } } } l._prerenderrows(e); if (l._requiresupdate) { l._requiresupdate = false; l._updatepageviews() } var k = function () { if (l._loading) { return } if (l.WinJS) { MSApp.execUnsafeLocalFunction(function () { l._rendervisualrows() }) } else { l._rendervisualrows() } if (l.virtualmode && l.showaggregates && l._updateaggregates) { l.refreshaggregates() } }; if (this.virtualmode) { var f = function () { if (l.rendergridrows) { var p = l._startboundindex; if (p == undefined) { p = 0 } var n = p + 1 + l.dataview.pagesize; if (p != null && n != null) { var o = l.source._source ? true : false; var q = !o ? l.source.recordstartindex : l.source._source.recordstartindex; if (q != p) { if (!o) { l.source.recordstartindex = p; l.source.recordendindex = n } else { if (n >= l.source._source.totalrecords) { n = l.source._source.totalrecords; p = n - l.dataview.pagesize - 1; if (p < 0) { p = 0 } if (l.source._source.recordendindex == n && l.source._source.recordstartindex == p) { return } } l.source._source.recordstartindex = p; l.source._source.recordendindex = n } l.updatebounddata() } } } }; if (this.loadondemand) { f(); this.loadondemand = false } var g = this._browser == undefined ? this._isIE10() : this._browser; if (this.editable && this.editcell && !this.vScrollInstance.isScrolling() && !this.hScrollInstance.isScrolling()) { k() } else { if (this.autoheight) { k() } else { if (g || b.jqx.browser.mozilla || (navigator && navigator.userAgent.indexOf("Safari") != -1)) { if (this._scrolltimer != null) { clearTimeout(this._scrolltimer) } this._scrolltimer = setTimeout(function () { k() }, 5) } else { k() } } } } else { if (this.scrollmode == "deferred" && (this.hScrollInstance.isScrolling() || this.vScrollInstance.isScrolling())) { if (this._scrolltimer != null) { clearInterval(this._scrolltimer) } var m = this._getfirstvisualrow(); if (m != null) { var i = function (s) { if (m == null) { return "" } var r = "<table>"; var p = l.deferreddatafields; if (p == null) { if (l.columns.records.length > 0) { p = new Array(); p.push(l.columns.records[0].displayfield) } } for (var o = 0; o < p.length; o++) { var t = p[o]; var q = l._getcolumnbydatafield(t); if (q) { var n = l._getcellvalue(q, m); if (q.cellsformat != "") { if (b.jqx.dataFormat) { if (b.jqx.dataFormat.isDate(n)) { n = b.jqx.dataFormat.formatdate(n, q.cellsformat, l.gridlocalization) } else { if (b.jqx.dataFormat.isNumber(n)) { n = b.jqx.dataFormat.formatnumber(n, q.cellsformat, l.gridlocalization) } } } } r += "<tr><td>" + n + "</td></tr>" } } r += "</table>"; return r }; var h = this.scrollfeedback ? this.scrollfeedback(m.bounddata) : i(m.bounddata); if (h != this._scrollelementcontent) { this._scrollelement[0].innerHTML = h; this._scrollelementcontent = h } } this._scrollelement.css("visibility", "visible"); this._scrollelementoverlay.css("visibility", "visible"); this._scrollelement.css("margin-top", -this._scrollelement.height() / 2); this._scrolltimer = setInterval(function () { if (!l.hScrollInstance.isScrolling() && !l.vScrollInstance.isScrolling()) { k(); l._scrollelement.css("visibility", "hidden"); l._scrollelementoverlay.css("visibility", "hidden"); clearInterval(l._scrolltimer); if (m) { l.ensurerowvisible(m.visibleindex) } } }, 100); return } if (navigator && navigator.userAgent.indexOf("Chrome") == -1 && navigator.userAgent.indexOf("Safari") != -1) { this.updatedelay = 1 } if (this.touchDevice != undefined && this.touchDevice == true) { this.updatedelay = 10 } var g = this._browser == undefined ? this._isIE10() : this._browser; if (g) { this.updatedelay = 5 } if ((g || b.jqx.browser.mozilla) && this.hScrollInstance.isScrolling()) { k(); return } if (b.jqx.browser.mozilla && this.updatedelay == 0 && (this.vScrollInstance.isScrolling() || this.hScrollInstance.isScrolling())) { d = setTimeout(function () { k() }, 0.01); return } if (this.updatedelay == 0) { k() } else { var d = b.data(document.body, "Grid" + this.element.id); if (d != null) { clearTimeout(d) } if (this.vScrollInstance.isScrolling() || this.hScrollInstance.isScrolling()) { d = setTimeout(function () { k() }, this.updatedelay); b.data(document.body, "Grid" + this.element.id, d) } else { b.data(document.body, "Grid" + this.element.id, null); k() } } } }, scrolling: function () { var e = this.vScrollInstance.isScrolling(); var d = this.hScrollInstance.isScrolling(); return { vertical: e, horizontal: d} }, _renderhorizontalscroll: function () { var s = this.hScrollInstance; var t = s.value; var k = parseInt(t); if (this.table == null) { return } var p = this.table[0].rows.length; var o = this.columnsrow; var q = this.groupable && this.groups.length > 0 ? this.groups.length : 0; var l = this.columns.records.length - q; var f = this.columns.records; var n = this.dataview.rows.length == 0; if (this.rtl) { if (this.hScrollBar.css("visibility") != "hidden") { k = s.max - k } } if (n) { for (var v = 0; v < p; v++) { var r = this.table[0].rows[v]; for (var u = 0; u < q + l; u++) { var d = r.cells[u]; if (d != undefined) { var g = f[u]; if (g.pinned) { d.style.marginLeft = k + "px"; if (v == 0) { var e = o[0].cells[u]; e.style.marginLeft = k + "px" } } } } } this.table[0].style.marginLeft = -k + "px"; o[0].style.marginLeft = -k + "px" } else { if (this._haspinned || this._haspinned == undefined) { for (var v = 0; v < p; v++) { var r = this.table[0].rows[v]; for (var u = 0; u < q + l; u++) { var d = r.cells[u]; if (d != undefined) { var g = f[u]; if (g.pinned) { if (k == 0 && d.style.marginLeft == "") { continue } var h = null; var w = null; if (this.showfilterrow && this.filterrow) { if (this.filterrow[0].cells) { w = this.filterrow[0].cells[u] } } if (this.showaggregates) { if (this.statusbar[0].cells) { h = this.statusbar[0].cells[u] } } if (!this.rtl) { d.style.marginLeft = k + "px"; if (v == 0) { var e = o[0].cells[u]; e.style.marginLeft = k + "px"; if (h) { h.style.marginLeft = k + "px" } if (w) { w.style.marginLeft = k + "px" } } } else { d.style.marginLeft = -parseInt(t) + "px"; if (v == 0) { var e = o[0].cells[u]; e.style.marginLeft = -parseInt(t) + "px"; if (h) { h.style.marginLeft = -parseInt(t) + "px" } if (w) { w.style.marginLeft = -parseInt(t) + "px" } } } } } } } this.table[0].style.marginLeft = -k + "px"; o[0].style.marginLeft = -k + "px" } else { if (this._haspinned == false) { this.table[0].style.marginLeft = -k + "px"; o[0].style.marginLeft = -k + "px" } } } if (this.showaggregates) { if (this.statusbar[0].cells) { var m = 0; if (this.rtl) { if (this.vScrollBar.css("visibility") != "hidden") { if (this.hScrollBar.css("visibility") != "hidden") { m = 2 + parseInt(this.hScrollBar.css("left")) } } } this.statusbar[0].style.marginLeft = -k + m + "px" } } if (this.showfilterrow && this.filterrow) { if (this.filterrow[0].cells) { this.filterrow[0].style.marginLeft = -k + "px" } } }, _updaterowdetailsvisibility: function () { if (this.rowdetails) { for (var d = 0; d < this._rowdetailselementscache.length; d++) { b(this._rowdetailselementscache[d]).css("display", "none") } } }, _getvisualcolumnsindexes: function (e, m, i, l, d) { if (this.rowdetails || this.rtl) { return { start: 0, end: i + l} } var f = 0; var k = -1; var g = i + l; var n = false; if (this.autorowheight) { return { start: 0, end: i + l} } if (!d) { for (var h = 0; h < i + l; h++) { var o = h; if (!n) { if (this.columns.records[h].pinned) { n = true } } if (!this.columns.records[h].hidden) { f += this.columns.records[h].width } if (f >= e && k == -1) { k = h } if (f > m + e) { g = h; break } } } g++; if (g > i + l) { g = i + l } if (k == -1 || n) { k = 0 } return { start: k, end: g} }, _getfirstvisualrow: function () { var e = this.vScrollInstance; var g = e.value; var f = parseInt(g); if (this._pagescache.length == 0) { this.dataview.updateview(); this._loadrows() } if (this.vScrollBar[0].style.visibility != "visible") { f = 0 } if (!this.pageable) { var d = this._findvisiblerow(f, this._pageviews); if (d == -1) { return null } if (d != this.dataview.pagenum) { this.dataview.pagenum = d; this.dataview.updateview(); this._loadrows() } else { if (!this._pagescache[this.dataview.pagenum]) { this._loadrows() } } } var h = this._findvisiblerow(f, this._pagescache[this.dataview.pagenum]); var i = this._pagescache[this.dataview.pagenum]; if (i && i[0]) { return i[h] } }, _rendervisualrows: function () { if (!this.virtualsizeinfo) { return } var R = this.vScrollInstance; var o = this.hScrollInstance; var h = R.value; var z = o.value; var n = parseInt(h); var k = parseInt(z); var v = this._gettableheight(); var E = this._hostwidth != undefined ? this._hostwidth : this.host.width(); if (this.hScrollBar[0].style.visibility == "visible") { v += 29 } if (this.scrollmode == "deferred" && this._newmax != 0) { if (n > this._newmax) { n = this._newmax } } var A = this.groupable && this.groups.length > 0; this.visiblerows = new Array(); this.hittestinfo = new Array(); if (this.editcell && this.editrow == undefined) { this._hidecelleditor() } if (this.editrow != undefined) { this._hideeditors() } if (this.virtualmode && !this.pageable) { this._pagescache = new Array() } if (this._pagescache.length == 0) { this.dataview.updateview(); this._loadrows() } if (this.vScrollBar[0].style.visibility == "hidden") { n = 0 } if (!this.pageable) { var G = this._findvisiblerow(n, this._pageviews); if (G == -1) { this._clearvisualrows(); this._renderemptyrow(); this._updaterowdetailsvisibility(); return } if (G != this.dataview.pagenum) { this.dataview.pagenum = G; this.dataview.updateview(); this._loadrows() } else { if (!this._pagescache[this.dataview.pagenum]) { this._loadrows() } } } var ac = this.groupable && this.groups.length > 0 ? this.groups.length : 0; var q = this.columns.records.length - ac; var V = this._findvisiblerow(n, this._pagescache[this.dataview.pagenum]); var H = this._pagescache[this.dataview.pagenum]; var M = V; if (M < 0) { M = 0 } var X = 0; var U = 0; var L = 0; var e = 0; var N = this.virtualsizeinfo.visiblerecords; var K = this.groupable ? this.groups.length : 0; var x = this.toTP("jqx-grid-cell"); if (this.rtl) { x += " " + this.toTP("jqx-grid-cell-rtl") } if (this.autoheight && this.pageable) { if (!this.groupable) { N = this.dataview.pagesize } } if (A) { x = " " + this.toTP("jqx-grid-group-cell") } if (this.isTouchDevice()) { x += " " + this.toTP("jqx-touch") } if (this.autorowheight) { x += " jqx-grid-cell-wrap" } var J = this.rowsheight; var D = M; var ab = this._rendercell; var r = true; var p = this._getvisualcolumnsindexes(k, E, ac, q, A); var d = p.start; var T = p.end; if (this.autoheight && this.autorowheight) { if (this._pageviews[0]) { this._oldpageviewheight = this._pageviews[0].height } } if (M >= 0) { this._updaterowdetailsvisibility(); this._startboundindex = H != null ? H[M].bounddata.boundindex : 0; this._startvisibleindex = H != null ? H[M].bounddata.visibleindex : 0; for (var m = 0; m < N && U < N; m++) { var W = H != undefined ? H[M + m] : null; if (W == null) { M = -m; if (this._pagescache[this.dataview.pagenum + 1]) { H = this._pagescache[this.dataview.pagenum + 1]; this.dataview.pagenum++ } else { var s = this._pageviews.length; do { if (this.dataview.pagenum < this._pageviews.length - 1) { this.dataview.pagenum++; H = undefined; if (this._pageviews[this.dataview.pagenum].height > 0) { this.dataview.updateview(); this._loadrows(); H = this._pagescache[this.dataview.pagenum] } } else { H = undefined; break } } while (H == undefined && this.dataview.pagenum < s) } if (H != undefined) { W = H[M + m] } } if (W != null) { if (W.hidden) { continue } this._endboundindex = this._startboundindex + m; this._endvisibleindex = this._startvisibleindex + m; if (m == 0) { var l = Math.abs(n - W.top); this.table[0].style.top = -l + "px"; e = -l } var j = this.table[0].rows[U]; if (!j) { continue } if (parseInt(j.style.height) != W.height) { j.style.height = parseInt(W.height) + "px" } L += W.height; var Q = this.rowdetails && W.rowdetails; var u = !W.rowdetailshidden; if (Q && u) { j.style.height = parseInt(W.height - W.rowdetailsheight) + "px"; N++ } var F = this._isrowselected(r, W); for (var O = d; O < T; O++) { var Z = O; this._rendervisualcell(ab, x, F, Q, u, A, K, j, W, Z, U) } if (W.group != undefined && this._rendergroup) { this._rendergroup(K, j, W, ac, q, U, E) } if (this.autorowheight && this.autoheight) { var J = this.rowsheight; for (var O = d; O < T; O++) { if (this.editable && this.editcell && this.editcell.column == this.columns.records[O].datafield && this.editcell.row == W.boundindex) { continue } J = Math.max(J, 8 + b(j.cells[O].firstChild).height()) } j.style.height = parseInt(J) + "px"; this.heights[this._startboundindex + m] = J; if (Q && u) { J += W.rowdetailsheight } W.height = J } this.visiblerows[this.visiblerows.length] = W; this.hittestinfo[this.hittestinfo.length] = { row: W, visualrow: j, details: false }; if (Q && u) { U++; var j = this.table[0].rows[U]; this._renderrowdetails(x, j, W, ac, q, U); this.visiblerows[this.visiblerows.length] = W; this.hittestinfo[this.hittestinfo.length] = { row: W, visualrow: j, details: true} } if (L + e >= v) { break } } else { cansetheight = true; this._clearvisualrow(k, A, U, ac, q); if (L + X + e <= v) { X += J } } U++ } this._horizontalvalue = k; if (X > 0) { if (this.vScrollBar[0].style.visibility == "visible") { var aa = parseInt(this.table.css("top")); var C = this._pageviews[this._pageviews.length - 1]; var t = R.max; var B = C.top + C.height - v; if (this.hScrollBar.css("visibility") == "visible") { B += this.scrollbarsize + 20 } if (t != B) { if (B >= 0) { if (this.scrollmode != "deferred") { R.max = B; R.setPosition(R.max) } else { if (this._newmax != B) { this._newmax = B; this._rendervisualrows() } } } } } } } if (this.autoheight && this.autorowheight) { this._pagescache = new Array(); var P = 0; var g = 0; for (var Y = 0; Y < this.visiblerows.length; Y++) { var w = this.visiblerows[Y]; w.top = P; P += w.height; g += w.height; var Q = this.rowdetails && w.rowdetails; var u = !w.rowdetailshidden; var j = this.table[0].rows[Y]; for (var O = d; O < T; O++) { var S = this.columns.records[O]; if (!S.hidden) { if (!S.cellsrenderer) { var I = j.cells[O]; var f = (w.height - b(I.firstChild).height() - 8) / 2; if (f > 0) { f = parseInt(f) + 4; if (I.firstChild) { if (I.firstChild.className.indexOf("jqx-grid-groups-row") == -1) { if (S.columntype != "checkbox" && S.columntype != "button") { if (this.editable && this.editcell && this.editcell.column == S.datafield && this.editcell.row == w.boundindex) { continue } I.firstChild.style.marginTop = f + "px" } } } } } } } } if (this._pageviews[0]) { this._pageviews[0].height = g } this._arrange() } this._renderemptyrow() }, _hideemptyrow: function () { if (!this.showemptyrow) { return } if (!this.table) { return } if (!this.table[0].rows) { return } var f = this.table[0].rows[0]; if (!f) { return } var g = false; for (var e = 0; e < f.cells.length; e++) { var d = b(f.cells[e]); if (d.css("display") != "none" && !g) { if (d.width() == this.host.width() || d.text() == this.gridlocalization.emptydatastring) { d[0].checkbox = null; d[0].button = null; g = true; d[0].innerHTML = "" } } } }, _renderemptyrow: function () { if (this._loading) { return } if (this.dataview.records.length == 0 && this.showemptyrow) { var l = false; var e = this.toTP("jqx-grid-cell"); if (this.table && this.table.length > 0 && this.table[0].rows && this.table[0].rows.length > 0) { var k = this.table[0].rows[0]; this.table[0].style.top = "0px"; for (var f = 0; f < k.cells.length; f++) { var d = b(k.cells[f]); if (d.css("display") != "none" && !l) { d[0].checkbox = null; d[0].button = null; d[0].className = e; l = true; d[0].innerHTML = ""; var g = b("<span style='white-space: nowrap; float: left; margin-left: 50%; position: relative;'></span>"); g.text(this.gridlocalization.emptydatastring); d.append(g); var j = 0; if (!this.oldhscroll) { j = parseInt(this.table[0].style.marginLeft); if (this.rtl) { d.css("z-index", 999); d.css("overflow", "visible") } } g.css("left", -j - (g.width() / 2)); g.css("top", this._gettableheight() / 2 - g.height() / 2); if (b.jqx.browser.msie && b.jqx.browser.version < 8) { g.css("margin-left", "0px"); g.css("left", this.host.width() / 2 - g.width() / 2) } var h = Math.abs(parseInt(this.table[0].style.top)); if (isNaN(h)) { h = 0 } b(k).height(this._gettableheight() + h); d.css("margin-left", "0px"); d.width(this.host.width()) } d.addClass(this.toThemeProperty("jqx-grid-empty-cell")) } } } }, _clearvisualrows: function () { var e = this.virtualsizeinfo.visiblerecords; var f = this.hScrollInstance; var d = f.value; var g = parseInt(d); var i = this.groupable && this.groups.length > 0; for (var h = 0; h < e; h++) { this._clearvisualrow(g, i, h, 0, this.columns.records.length) } }, _isrowselected: function (f, e) { var d = false; if (f && e.bounddata != null) { if (this.selectionmode != "singlerow") { if (this.selectedrowindexes.indexOf(e.bounddata.boundindex) != -1) { d = true } } else { if (e.bounddata.boundindex == this.selectedrowindex) { d = true } } } return d }, _rendervisualcell: function (w, i, n, k, q, u, j, o, d, h, p) { var f = null; var g = this.columns.records[h]; if (g.hidden) { var e = o.cells[h]; e.innerHTML = ""; return } cellvalue = this._getcellvalue(g, d); var e = o.cells[h]; var t = i; if (g.cellclassname != "" && g.cellclassname) { t += " " + g.cellclassname } if (this.selectionmode.indexOf("cell") != -1) { if (this.selectedcells[d.boundindex + "_" + g.datafield]) { n = true } else { n = false } } var m = this.showsortcolumnbackground && this.sortcolumn && g.displayfield == this.sortcolumn; if (m) { t += " " + this.toTP("jqx-grid-cell-sort") } if (g.filter && this.showfiltercolumnbackground) { t += " " + this.toTP("jqx-grid-cell-filter") } if (g.pinned && this.showpinnedcolumnbackground) { if (u) { t += " " + this.toTP("jqx-grid-cell-pinned") } else { t += " " + this.toTP("jqx-grid-cell-pinned") } } if (this.altrows && d.group == undefined) { var v = d.visibleindex; if (v >= this.altstart) { if ((this.altstart + v) % (1 + this.altstep) == 0) { if (!m) { t += " " + this.toTP("jqx-grid-cell-alt") } else { t += " " + this.toTP("jqx-grid-cell-sort-alt") } if (g.filter && this.showfiltercolumnbackground) { t += " " + this.toTP("jqx-grid-cell-filter-alt") } if (g.pinned && this.showpinnedcolumnbackground) { t += " " + this.toTP("jqx-grid-cell-pinned-alt") } } } } if (h <= j) { if (u || this.rowdetails) { var r = b(e); var l = this.columns.records[h].width; if (parseInt(e.style.width) != l) { r.width(l) } } } var s = true; if (this.rowdetails && k) { if (q && !u) { t += " " + this.toTP("jqx-grid-details-cell") } else { if (u) { t += " " + this.toTP("jqx-grid-group-details-cell") } } if (this.showrowdetailscolumn) { if (!this.rtl) { if (d.group == undefined && h == j) { if (q) { t += " " + this.toTP("jqx-grid-group-expand") } else { t += " " + this.toTP("jqx-grid-group-collapse") } s = false; e.title = ""; e.innerHTML = ""; if (e.className != t) { e.className = t } return } } else { if (d.group == undefined && h == o.cells.length - j - 1) { if (q) { t += " " + this.toTP("jqx-grid-group-expand-rtl") } else { t += " " + this.toTP("jqx-grid-group-collapse-rtl") } s = false; e.title = ""; e.innerHTML = ""; if (e.className != t) { e.className = t } return } } } } if (n && s) { t += " " + this.toTP("jqx-grid-cell-selected"); t += " " + this.toTP("jqx-fill-state-pressed") } if (e.className != t) { e.className = t } if (d.group != undefined) { cellvalue = ""; e.title = ""; e.innerHTML = ""; return } w(this, g, d, cellvalue, e) }, _rendercell: function (k, f, n, m, e) { var g = m + "_" + f.visibleindex; if (f.columntype == "number" || f.cellsrenderer != null) { var g = n.uniqueid + "_" + f.visibleindex } if (k.editcell && k.editrow == undefined) { if (k.editcell.row == n.boundindex && k.editcell.column == f.datafield) { k.editcell.element = e; if (k.editcell.editing) { if (k._showcelleditor) { if (!k.hScrollInstance.isScrolling() && !k.vScrollInstance.isScrolling()) { k._showcelleditor(k.editcell.row, f, k.editcell.element, k.editcell.init) } else { k._showcelleditor(k.editcell.row, f, k.editcell.element, k.editcell.init, false) } return } } } } else { if (k.editrow != undefined) { if (k.editrow == n.boundindex) { k.editcells[f.datafield].element = e; if (k.editcells[f.datafield].editing) { if (k._showcelleditor) { k._showcelleditor(k.editcells[f.datafield].row, f, e, k.editcells[f.datafield].init); return } } } } } var j = k._cellscache[g]; if (j) { if (f.columntype == "checkbox") { if (k.host.jqxCheckBox) { if (m === "") { m = null } var i = e.innerHTML.toString().length == 0; if (e.checkbox && !k.groupable && !i) { e.checkboxrow = n.boundindex; if (m == "") { m = false } if (m == "1") { m = true } if (m == "0") { m = false } if (m == 1) { m = true } if (m == 0) { m = false } if (m == "true") { m = true } if (m == "false") { m = false } if (m == null && !f.threestatecheckbox) { m = false } if (e.checkboxinstance) { e.checkboxinstance._setState(m) } else { e.checkbox.jqxCheckBox("_setState", m) } } else { k._rendercheckboxcell(k, e, f, n, m) } if (f.cellsrenderer != null) { var h = f.cellsrenderer(n.boundindex, f.datafield, m, l, f.getcolumnproperties()); if (h != undefined) { e.innerHTML = h } } return } } else { if (f.columntype == "button") { if (k.host.jqxButton) { if (m == "") { m = false } if (f.cellsrenderer != null) { m = f.cellsrenderer(n.boundindex, f.datafield, m, l, f.getcolumnproperties()) } if (e.innerHTML == "") { e.buttonrow = n.boundindex; e.button = null; k._renderbuttoncell(k, e, f, n, m) } if (e.button && !k.groupable) { e.buttonrow = n.boundindex; e.button.val(m) } else { k._renderbuttoncell(k, e, f, n, m) } return } } } var d = j.element; if (e.innerHTML != d) { e.innerHTML = d; if (k.enabletooltips) { e.title = j.title } } return } if (k.enabletooltips) { if (f.cellsformat != "") { if (b.jqx.dataFormat) { if (b.jqx.dataFormat.isNumber(m)) { m = b.jqx.dataFormat.formatnumber(m, f.cellsformat, k.gridlocalization) } else { if (b.jqx.dataFormat.isDate(m)) { m = b.jqx.dataFormat.formatdate(m, f.cellsformat, k.gridlocalization) } } } } e.title = m } if (f.columntype == "checkbox") { k._rendercheckboxcell(k, e, f, n, m); k._cellscache[g] = { element: "", title: m }; return } else { if (f.columntype == "button") { if (f.cellsrenderer != null) { m = f.cellsrenderer(n.boundindex, f.datafield, m, l, f.getcolumnproperties()) } k._renderbuttoncell(k, e, f, n, m); k._cellscache[g] = { element: "", title: m }; return } else { if (f.columntype == "number") { m = n.visibleindex } } } var l = k._defaultcellsrenderer(m, f); var d = null; if (f.cellsrenderer != null) { d = f.cellsrenderer(n.boundindex, f.datafield, m, l, f.getcolumnproperties()) } else { d = l } if (d == null) { d = l } if (k.WinJS) { WinJS.Utilities.setInnerHTMLUnsafe(e, d) } else { e.innerHTML = d } k._cellscache[g] = { element: e.innerHTML, title: m }; return true }, _isIE10: function () { if (this._browser == undefined) { var e = b.jqx.utilities.getBrowser(); if (e.browser == "msie" && parseInt(e.version) > 9) { this._browser = true } else { this._browser = false; if (e.browser == "msie") { var d = "Browser CodeName: " + navigator.appCodeName + ""; d += "Browser Name: " + navigator.appName + ""; d += "Browser Version: " + navigator.appVersion + ""; d += "Platform: " + navigator.platform + ""; d += "User-agent header: " + navigator.userAgent + ""; if (d.indexOf("Zune 4.7") != -1) { this._browser = true } } } } return this._browser }, _rendercheckboxcell: function (f, d, e, j, g) { if (f.host.jqxCheckBox) { var i = b(d); if (g === "") { if (e.threestatecheckbox) { g = null } else { g = false } } if (g == "1") { g = true } if (g == "0") { g = false } if (g == 1) { g = true } if (g == 0) { g = false } if (g == "true") { g = true } if (g == "false") { g = false } if (i.find(".jqx-checkbox").length == 0) { d.innerHTML = '<div tabIndex=0 style="position: absolute; top: 50%; left: 50%; margin-top: -7px; margin-left: -10px;"></div>'; b(d.firstChild).jqxCheckBox({ hasInput: false, hasThreeStates: e.threestatecheckbox, enableContainerClick: false, animationShowDelay: 0, animationHideDelay: 0, locked: true, theme: f.theme, checked: g }); if (this.editable && e.editable) { b(d.firstChild).jqxCheckBox({ locked: false }) } d.checkbox = b(d.firstChild); d.checkboxinstance = d.checkbox.data().jqxCheckBox.instance; d.checkboxrow = j.boundindex; var h = b.data(d.firstChild, "jqxCheckBox").instance; h.updated = function (n, m, p) { if (e.editable) { var o = f.table[0].rows.length; var r = f._getcolumnindex(e.datafield); if (f.editrow == undefined) { if (e.cellbeginedit) { var q = e.cellbeginedit(j.boundindex, e.datafield, e.columntype, !m); if (q == false) { f.setcellvalue(d.checkboxrow, e.datafield, !m, true); return } } for (var l = 0; l < o; l++) { var k = f.table[0].rows[l].cells[r].firstChild; b(k).jqxCheckBox("destroy") } if (f.editcell && f.editcell.validated == false) { f.setcellvalue(d.checkboxrow, e.datafield, !m, true) } else { f._raiseEvent(17, { rowindex: d.checkboxrow, datafield: e.datafield, value: p, columntype: e.columntype }); f.setcellvalue(d.checkboxrow, e.datafield, m, true); f._raiseEvent(18, { rowindex: d.checkboxrow, datafield: e.datafield, oldvalue: p, value: m, columntype: e.columntype }) } } } } } else { d.checkboxrow = j.boundindex; b(d.firstChild).jqxCheckBox("_setState", g) } } }, _renderbuttoncell: function (h, e, g, k, i) { if (h.host.jqxButton) { var j = b(e); if (i == "") { i = false } if (j.find(".jqx-button").length == 0) { e.innerHTML = '<input type="button" style="opacity: 0.99; position: absolute; top: 0%; left: 0%; padding: 0px; margin-top: 2px; margin-left: 2px;"/>'; b(e.firstChild).val(i); b(e.firstChild).attr("hideFocus", "true"); b(e.firstChild).jqxButton({ theme: h.theme, height: h.rowsheight - 4, width: g.width - 4 }); e.button = b(e.firstChild); e.buttonrow = k.boundindex; var d = this.isTouchDevice(); if (d) { var f = b.jqx.mobile.getTouchEventName("touchend"); h.addHandler(b(e.firstChild), f, function (l) { if (g.buttonclick) { g.buttonclick(e.buttonrow, l) } }) } else { h.addHandler(b(e.firstChild), "click", function (l) { if (g.buttonclick) { g.buttonclick(e.buttonrow, l) } }) } } else { e.buttonrow = k.boundindex; b(e.firstChild).val(i) } } }, _clearvisualrow: function (g, f, o, i, n) { var m = this.toTP("jqx-grid-cell"); if (f) { m = " " + this.toTP("jqx-grid-group-cell") } m += " " + this.toTP("jqx-grid-cleared-cell"); var p = this.table[0].rows; for (var k = 0; k < i + n; k++) { if (p[o]) { var e = p[o].cells[k]; if (e.className != m) { e.className = m } var d = this.columns.records[k]; if (this._horizontalvalue != g && !d.pinned) { if (this.oldhscroll == true) { var h = -g; e.style.marginLeft = -g + "px" } } var l = d.width; if (l < d.minwidth) { l = d.minwidth } if (l > d.maxwidth) { l = d.maxwidth } if (parseInt(e.style.width) != l) { b(e).width(l) } if (e.title != "") { e.title = "" } if (e.innerHTML != "") { e.innerHTML = "" } } } if (p[o]) { if (parseInt(p[o].style.height) != this.rowsheight) { b(p[o]).height(this.rowsheight) } } }, _findgroupstate: function (e) { var d = this._findgroup(e); if (d == null) { return false } return d.expanded }, _findgroup: function (e) { var d = null; if (this.expandedgroups[e]) { return this.expandedgroups[e] } return d }, _clearcaches: function () { this._columnsbydatafield = new Array(); this._pagescache = new Array(); this._pageviews = new Array(); this._cellscache = new Array(); this.heights = new Array(); this.hiddens = new Array(); this.hiddenboundrows = new Array(); this.heightboundrows = new Array(); this.detailboundrows = new Array(); this.details = new Array(); this.expandedgroups = new Array(); this._rowdetailscache = new Array(); this._rowdetailselementscache = new Array(); if (b.jqx.dataFormat) { b.jqx.dataFormat.cleardatescache() } this.tableheight = null }, _getColumnText: function (d) { if (this._columnsbydatafield == undefined) { this._columnsbydatafield = new Array() } if (this._columnsbydatafield[d]) { return this._columnsbydatafield[d] } var f = d; var e = null; b.each(this.columns.records, function () { if (this.datafield == d) { f = this.text; e = this; return false } }); this._columnsbydatafield[d] = { label: f, column: e }; return this._columnsbydatafield[d] }, _getcolumnbydatafield: function (d) { if (this.__columnsbydatafield == undefined) { this.__columnsbydatafield = new Array() } if (this.__columnsbydatafield[d]) { return this.__columnsbydatafield[d] } var f = d; var e = null; b.each(this.columns.records, function () { if (this.datafield == d || this.displayfield == d) { f = this.text; e = this; return false } }); this.__columnsbydatafield[d] = e; return this.__columnsbydatafield[d] }, isscrollingvertically: function () { var d = (this.vScrollBar.jqxScrollBar("isScrolling")); return d }, _renderrowdetails: function (q, y, d, x, n, A) { var D = b(y); var g = 0; var t = this.rowdetails && this.showrowdetailscolumn ? (1 + this.groups.length) * this.groupindentwidth : (this.groups.length) * this.groupindentwidth; if (this.groupable && this.groups.length > 0) { for (var r = 0; r <= n; r++) { var e = b(y.cells[r]); e[0].innerHTML = ""; e[0].className = "jqx-grid-details-cell" } } var e = b(y.cells[g]); if (e[0].style.display == "none") { var o = y.cells[g]; var B = 2; var l = g; while (o != undefined && o.style.display == "none" && B < 10) { o = y.cells[l + B - 1]; B++ } e = b(o) } if (this.rtl) { for (var v = x; v < n; v++) { y.cells[v].innerHTML = ""; y.cells[v].className = "jqx-grid-details-cell" } } e.css("width", "100%"); D.height(d.rowdetailsheight); e[0].className = q; var p = d.bounddata.boundindex; var j = p + "_"; if (this._rowdetailscache[j]) { var u = this._rowdetailscache[j]; var C = u.html; if (this.initrowdetails) { if (this._rowdetailscache[j].element) { var f = this._rowdetailscache[j].element; var i = e.coord(); var z = this.gridcontent.coord(); var w = parseInt(i.top) - parseInt(z.top); var k = parseInt(i.left) - parseInt(z.left); if (this.rtl) { k = 0 } b(f).css("top", w); b(f).css("left", k); b(f).css("display", "block"); b(f).width(this.host.width() - t); if (this.layoutrowdetails) { this.layoutrowdetails(p, f, this.element, this.getrowdata(p)) } } } else { e[0].innerHTML = C } return } e[0].innerHTML = ""; if (!this.enablerowdetailsindent) { t = 0 } var h = '<div role="rowgroup" style="overflow: hidden; width: 100%; height: 100%; margin-left: ' + t + 'px;">' + d.rowdetails + "</div>"; if (this.rtl) { var h = '<div role="rowgroup" style="overflow: hidden; width: 100%; height: 100%; margin-left: ' + 0 + "px; margin-right: " + t + 'px;">' + d.rowdetails + "</div>" } this._rowdetailscache[j] = { id: y.id, html: h }; if (this.initrowdetails) { var f = b(h)[0]; b(this.gridcontent).prepend(b(f)); b(f).css("position", "absolute"); b(f).width(this.host.width() - t); b(f).height(e.height()); var i = e.coord(); b(f).css("z-index", 2000); if (this.isTouchDevice()) { b(f).css("z-index", 99999) } var i = e.coord(); var z = this.gridcontent.coord(); var w = parseInt(i.top) - parseInt(z.top); var k = parseInt(i.left) - parseInt(z.left); b(f).css("top", w); b(f).css("left", k); this.content[0].scrollTop = 0; this.content[0].scrollLeft = 0; this.initrowdetails(p, f, this.element, this.getrowdata(p)); this._rowdetailscache[j].element = f; this._rowdetailselementscache[p] = f } else { e[0].innerHTML = h } }, _defaultcellsrenderer: function (f, d) { if (d.cellsformat != "") { if (!this.enabletooltips) { if (b.jqx.dataFormat) { if (b.jqx.dataFormat.isDate(f)) { f = b.jqx.dataFormat.formatdate(f, d.cellsformat, this.gridlocalization) } else { if (b.jqx.dataFormat.isNumber(f)) { f = b.jqx.dataFormat.formatnumber(f, d.cellsformat, this.gridlocalization) } } } } } var e = "4px"; if (this.rowsheight != 25) { e = (this.rowsheight / 2 - this._cellheight / 2) + "px" } if (this.enableellipsis) { if (d.cellsalign == "center" || d.cellsalign == "middle") { e = "5px"; return '<div style="text-overflow: ellipsis; overflow: hidden; padding-bottom: 2px; text-align: center; margin-top: ' + e + ';">' + f + "</div>" } if (d.cellsalign == "left") { return '<div style="overflow: hidden; text-overflow: ellipsis; padding-bottom: 2px; text-align: left; margin-right: 2px; margin-left: 4px; margin-top: ' + e + ';">' + f + "</div>" } if (d.cellsalign == "right") { return '<div style="overflow: hidden; text-overflow: ellipsis; padding-bottom: 2px; text-align: right; margin-right: 2px; margin-left: 4px; margin-top: ' + e + ';">' + f + "</div>" } } if (d.cellsalign == "center" || d.cellsalign == "middle") { e = "5px"; return '<div style="text-align: center; margin-top: ' + e + ';">' + f + "</div>" } return '<span style="margin-left: 4px; margin-right: 2px; margin-top: ' + e + "; float: " + d.cellsalign + ';">' + f + "</span>" }, getcelltext: function (g, e) { if (g == null || e == null) { return null } var d = this.getcellvalue(g, e); var f = this.getcolumn(e); if (f && f.cellsformat != "") { if (b.jqx.dataFormat) { if (b.jqx.dataFormat.isDate(d)) { d = b.jqx.dataFormat.formatdate(d, f.cellsformat, this.gridlocalization) } else { if (b.jqx.dataFormat.isNumber(d)) { d = b.jqx.dataFormat.formatnumber(d, f.cellsformat, this.gridlocalization) } } } } return d }, _getcellvalue: function (d, f) { var e = null; e = f.bounddata[d.datafield]; if (d.displayfield != null) { e = f.bounddata[d.displayfield] } if (e == null) { e = "" } return e }, getcell: function (h, d) { if (h == null || d == null) { return null } var e = parseInt(h); var g = h; var f = ""; if (!isNaN(e)) { g = this.getrowdata(e) } if (g != null) { f = g[d] } return this._getcellresult(f, h, d) }, getrenderedcell: function (h, d) { if (h == null || d == null) { return null } var e = parseInt(h); var g = h; var f = ""; if (!isNaN(e)) { g = this.getrenderedrowdata(e) } if (g != null) { f = g[d] } return this._getcellresult(f, h, d) }, _getcellresult: function (k, n, e) { var f = this.getcolumn(e); if (f == null || f == undefined) { return null } var i = f.getcolumnproperties(); var g = i.hidden; var d = i.width; var m = i.pinned; var h = i.cellsalign; var j = i.cellsformat; var l = this.getrowheight(n); if (l == false) { return null } return { value: k, row: n, column: e, datafield: e, width: d, height: l, hidden: g, pinned: m, align: h, format: j} }, setcellvalue: function (o, u, y, i, s) { if (o == null || u == null) { return false } var g = parseInt(o); var l = g; var j = o; if (!isNaN(g)) { j = this.getrowdata(g) } var v = false; if (this.filterable && this._initfilterpanel && this.dataview.filters.length) { v = true } if (this.virtualmode) { this._pagescache = new Array() } var q = ""; if (j != null && j[u] != y) { var f = this._getcolumnbydatafield(u); var h = "string"; var C = this.source.datafields || ((this.source._source) ? this.source._source.datafields : null); if (C) { var w = ""; b.each(C, function () { if (this.name == f.displayfield) { if (this.type) { w = this.type } return false } }); if (w) { h = w } } q = j[u]; if (y == null || y.label == null) { if (!f.nullable || (y != null && f.nullable)) { if (b.jqx.dataFormat.isNumber(q) || h == "number" || h == "float" || h == "int" || h == "decimal" && h != "date") { y = new Number(y); y = parseFloat(y); if (isNaN(y)) { y = 0 } } else { if (b.jqx.dataFormat.isDate(q) || h == "date") { if (y != "") { var B = y; B = new Date(B); if (B != "Invalid Date" && B != null) { y = B } else { if (B == "Invalid Date") { B = new Date(); y = B } } } } } } } j[u] = y; var E = this.getrenderedrowdata(g, true); E[u] = y; if (y != null && y.label != null) { var f = this._getcolumnbydatafield(u); j[f.displayfield] = y.label; E[f.displayfield] = y.label; j[u] = y.value; E[u] = y.value } if (v) { if (j.dataindex != undefined) { l = j.dataindex; this.dataview.cachedrecords[j.dataindex][u] = y } } } else { if (!this._updating && i != false) { this._renderrows(this.virtualsizeinfo) } return false } if (this.source && this.source._knockoutdatasource && !this._updateFromAdapter && this.autokoupdates) { if (this.source._source._localdata) { var x = this.source._source._localdata()[g]; this.source.suspendKO = true; var n = x; if (n[u] && n[u].subscribe) { if (y != null && y.label != null) { n[f.displayfield](y.label); n[u](y.value) } else { n[u](y) } } else { if (y != null && y.label != null) { n[u] = y.value; n[f.displayfield] = y.label } else { n[u] = y } this.source._source._localdata.replace(x, b.extend({}, n)) } this.source.suspendKO = false } } if (this.sortcolumn && this.dataview.sortby) { var r = this.getsortinformation(); this.dataview.clearsortdata(); this.dataview.sortby(r.sortcolumn, r.sortdirection.ascending) } this._cellscache = new Array(); if (this.source.updaterow && (s == undefined || s == true)) { var p = false; var D = this; var t = function (F) { if (false == F) { D.setcellvalue(o, u, q, true, false) } }; try { var m = this.getrowid(l); p = this.source.updaterow(m, j, t); if (p == undefined) { p = true } } catch (z) { p = false; D.setcellvalue(o, u, q, true, false); return } } var k = this.vScrollInstance.value; if (this._updating && i != true) { i = false } if (i == true || i == undefined) { var D = this; var e = function () { if (D.pageable && D.updatepagerdetails) { D.updatepagerdetails(); if (D.autoheight) { D._updatepageviews() } } }; var A = this.groupable && this.groups.length > 0; if (v && !A) { if (this.autoheight) { this.prerenderrequired = true } this.dataview.refresh(); this.rendergridcontent(true, false); e(); this._renderrows(this.virtualsizeinfo) } else { if (this.sortcolumn && !A) { if (this.autoheight) { this.prerenderrequired = true } this.dataview.reloaddata(); this.rendergridcontent(true, false); e(); this._renderrows(this.virtualsizeinfo) } else { if (this.groupable && this.groups.length > 0) { if (this.autoheight) { this.prerenderrequired = true } if (this.pageable) { if (this.groups.indexOf(u) != -1) { this.dataview.refresh(); this.render(true, true, false, false) } else { this._pagescache = new Array(); this._cellscache = new Array(); this.dataview.updateview(); this._renderrows(this.virtualsizeinfo) } } else { this._pagescache = new Array(); this._cellscache = new Array(); this.dataview.updateview(); this._renderrows(this.virtualsizeinfo) } } else { this.dataview.updateview(); this._renderrows(this.virtualsizeinfo) } } } } this.vScrollInstance.setPosition(k); if (this.showaggregates && this._updatecolumnsaggregates) { this._updatecolumnsaggregates() } if (this.showfilterrow && this.filterable && this.filterrow) { var d = this.getcolumn(u).filtertype; if (d == "list" || d == "checkedlist") { this._updatelistfilters(true) } } this._raiseEvent(19, { rowindex: o, datafield: u, newvalue: y, oldvalue: q }); return true }, getcellvalue: function (h, d) { if (h == null || d == null) { return null } var e = parseInt(h); var g = h; if (!isNaN(e)) { g = this.getrowdata(e) } if (g != null) { var f = g[d]; return f } return null }, getrows: function () { var f = this.dataview.records.length; if (this.dataview.sortdata) { var g = new Array(); for (var d = 0; d < f; d++) { var e = {}; e = b.extend({}, this.dataview.sortdata[d].value); g[d] = e } return g } else { return this.dataview.records } }, getrowdata: function (d) { if (d == undefined) { d = 0 } if (this.virtualmode) { var e = this.dataview.records[d]; return e } else { if (d >= 0 && d < this.dataview.bounditems.length) { var e = this.dataview.records[d]; return e } } return null }, getrenderedrowdata: function (d, f) { if (d == undefined) { d = 0 } if (this.virtualmode) { var g = this.getrowvisibleindex(d); var e = this.dataview.loadedrecords[g]; return e } if (d >= 0 && d < this.dataview.bounditems.length) { if (this.groupable && this.groups.length > 0) { var g = this.getrowvisibleindex(d); var e = this.dataview.loadedrecords[g] } else { var e = this.dataview.loadedrecords[d]; if (this.pageable && (f == undefined || f == false)) { var e = this.dataview.loadedrecords[this.dataview.pagesize * this.dataview.pagenum + d] } } return e } return null }, getloadedrows: function () { return this.dataview.loadedrecords }, getvisiblerowdata: function (e) { var d = this.getvisiblerows(); if (d) { return d[e] } return null }, getrowboundindex: function (d) { var e = this.getvisiblerowdata(); if (e) { return e.boundindex } return -1 }, getvisiblerows: function () { if (this.virtualmode) { return this.dataview.loadedrecords } if (this.pageable) { var f = []; for (var e = 0; e < this.dataview.pagesize; e++) { var d = this.dataview.loadedrecords[e + (this.dataview.pagesize * this.dataview.pagenum)]; if (d == undefined) { break } f.push(d) } return f } else { if (this._startboundindex != undefined && this._endboundindex != undefined) { var f = []; for (var e = this._startvisibleindex; e <= this._endvisibleindex; e++) { var d = this.dataview.loadedrecords[e]; if (d == undefined) { break } f.push(d) } return f } } return this.dataview.loadedrecords }, getrowid: function (d) { if (d == undefined) { d = 0 } if (this.virtualmode) { var g = this.getrowvisibleindex(d); var f = this.dataview.loadedrecords[g]; if (f) { return f.uid } } else { var f = null; var e = this.dataview.filters.length > 0; if (d >= 0 && d < this.dataview.bounditems.length && !e) { if (this.groupable && this.groups.length > 0) { var g = this.getrowvisibleindex(d); var f = this.dataview.loadedrecords[g] } else { var g = this.getrowvisibleindex(d); var f = this.dataview.loadedrecords[g] } if (f) { return f.uid } } if (this.dataview.filters.length > 0) { if (this.groupable && this.groups.length > 0) { var g = this.getrowvisibleindex(d); var f = this.dataview.cachedrecords[g] } else { var g = this.getrowvisibleindex(d); var f = this.dataview.loadedrecords[g] } if (f) { if (f.uid != null) { return f.uid } } return null } } return null }, _updateGridData: function (e) { var d = false; if (this.filterable && this._initfilterpanel && this.dataview.filters.length) { d = true } if (d) { this.dataview.refresh(); if (e == "updaterow") { this._render(true, true, false, false, false); this.invalidate() } else { this.render() } } else { if (this.sortcolumn || (this.groupable && this.groups.length > 0)) { this.dataview.reloaddata(); this.render() } else { this._cellscache = new Array(); this._pagescache = new Array(); this._renderrows(this.virtualsizeinfo) } } if (this.showfilterrow && this.filterable && this.filterrow) { this._updatelistfilters() } }, updaterow: function (i, k, g) { if (i != undefined && k != undefined) { var h = this; var j = false; h._datachanged = true; var e = function (o, n, s) { if (o._loading) { throw new Error("jqxGrid: " + o.loadingerrormessage); return false } var q = false; if (!b.isArray(n)) { q = o.dataview.updaterow(n, s) } else { b.each(n, function (t, u) { q = o.dataview.updaterow(this, s[t], false) }); o.dataview.refresh() } var r = o.vScrollInstance.value; if (g == undefined || g == true) { if (o._updating == undefined || o._updating == false) { o._updateGridData("updaterow") } } if (o.showaggregates && o._updatecolumnsaggregates) { o._updatecolumnsaggregates() } if (o.source && o.source._knockoutdatasource && !o._updateFromAdapter && o.autokoupdates) { if (o.source._source._localdata) { var m = o.dataview.recordsbyid["id" + n]; var p = o.dataview.records.indexOf(m); var l = o.source._source._localdata()[p]; o.source.suspendKO = true; o.source._source._localdata.replace(l, b.extend({}, m)); o.source.suspendKO = false } } o.vScrollInstance.setPosition(r); return q }; if (this.source.updaterow) { var d = function (l) { if (l == true || l == undefined) { e(h, i, k) } }; try { j = this.source.updaterow(i, k, d); if (j == undefined) { j = true } } catch (f) { j = false } } else { j = e(h, i, k) } return j } return false }, deleterow: function (h) { if (h != undefined) { this._datachanged = true; var i = false; var g = this; var e = function (k, j) { if (k._loading) { throw new Error("jqxGrid: " + k.loadingerrormessage); return false } var l = false; var m = k.vScrollInstance.value; if (!b.isArray(j)) { var l = k.dataview.deleterow(j) } else { b.each(j, function () { l = k.dataview.deleterow(this, false) }); k.dataview.refresh() } if (k._updating == undefined || k._updating == false) { k._render(true, true, false, false); if (k.vScrollBar.css("visibility") != "visible") { k._arrange(); k._updatecolumnwidths(); k._updatecellwidths(); k._renderrows(k.virtualsizeinfo) } } if (k.source && k.source._knockoutdatasource && !k._updateFromAdapter && k.autokoupdates) { if (k.source._source._localdata) { k.source.suspendKO = true; k.source._source._localdata.pop(rowdata); k.source.suspendKO = false } } k.vScrollInstance.setPosition(m); return l }; if (this.source.deleterow) { var d = function (j) { if (j == true || j == undefined) { e(g, h) } }; try { this.source.deleterow(h, d); if (i == undefined) { i = true } } catch (f) { i = false } } else { i = e(g, h) } return i } return false }, addrow: function (f, m, i) { if (m != undefined) { this._datachanged = true; if (i == undefined) { i = "last" } var l = false; var k = this; if (f == null) { if (!b.isArray(m)) { f = this.dataview.getid(this.dataview.source.id, m, this.dataview.totalrecords) } else { var d = new Array(); b.each(m, function (e, n) { var o = k.dataview.getid(k.dataview.source.id, m[e], k.dataview.totalrecords + e); d.push(o) }); f = d } } var g = function (o, n, r, e) { if (o._loading) { throw new Error("jqxGrid: " + o.loadingerrormessage); return false } var q = o.vScrollInstance.value; var p = false; if (!b.isArray(r)) { p = o.dataview.addrow(n, r, e) } else { b.each(r, function (s, t) { var u = null; if (n != null && n[s] != null) { u = n[s] } p = o.dataview.addrow(u, this, e, false) }); o.dataview.refresh() } if (o._updating == undefined || o._updating == false) { o._render(true, true, false, false); o.invalidate() } if (o.source && o.source._knockoutdatasource && !o._updateFromAdapter && o.autokoupdates) { if (o.source._source._localdata) { o.source.suspendKO = true; o.source._source._localdata.push(r); o.source.suspendKO = false } } o.vScrollInstance.setPosition(q); return p }; if (this.source.addrow) { var h = function (e, n) { if (e == true || e == undefined) { if (n != undefined) { f = n } g(k, f, m, i) } }; try { l = this.source.addrow(f, m, i, h); if (l == undefined) { l = true } } catch (j) { l = false } if (l == false) { return false } } else { g(this, f, m, i) } return l } return false }, _findvisiblerow: function (g, h) { if (g == undefined) { g = parseInt(this.vScrollInstance.value) } var e = 0; if (h == undefined || h == null) { h = this.rows.records } var d = h.length; while (e <= d) { mid = parseInt((e + d) / 2); var f = h[mid]; if (f == undefined) { break } if (f.top > g && f.top + f.height > g) { d = mid - 1 } else { if (f.top < g && f.top + f.height < g) { e = mid + 1 } else { return mid; break } } } return -1 }, _updatecellwidths: function () { var f = this.virtualsizeinfo; var p = this; if (this.gridcontent == undefined) { return } if (this.table == undefined) { this.table = this.gridcontent.find("#contenttable" + this.element.id) } var k = this.groupable && this.groups.length > 0; var q = 0; var l = f.visiblerecords; if (this.pageable && this.autoheight) { l = this.dataview.pagesize; if (this.groupable) { this.dataview.updateview(); l = this.dataview.rows.length } } if (!this.pageable && this.autoheight) { l = this.dataview.totalrecords } if (this.rowdetails) { l += this.dataview.pagesize } var r = this.columns.records.length; var t = this.table[0].rows; for (var n = 0; n < l; n++) { var d = t[n]; if (!d) { break } var s = d.cells; var h = 0; for (var m = 0; m < r; m++) { var g = this.columns.records[m]; var e = g.width; var o = s[m]; if (parseInt(o.style.left) != h) { o.style.left = h + "px" } if (parseInt(o.style.width) != e) { o.style.width = e + "px" } if (!(g.hidden && g.hideable)) { h += e } else { o.style.display = "none" } } if (q == 0) { this.table.width(parseInt(h) + 2); q = h } } if (this.showaggregates && this._updateaggregates) { this._updateaggregates() } if (this.showfilterrow && this.filterable && this._updatefilterrowui) { this._updatefilterrowui() } this._updatescrollbarsafterrowsprerender() }, _updatescrollbarsafterrowsprerender: function () { var d = this.hScrollBar.css("visibility"); var f = 0; if (this.vScrollBar.css("visibility") == "visible") { f = this.scrollbarsize + 3 } if (this.table.width() - 2 > this.host.width() - f) { if (d != "visible") { this.hScrollBar.css("visibility", "visible"); this._arrange() } if (this.vScrollBar.css("visibility") == "visible") { if (this.scrollmode != "deferred" && !this.virtualmode) { var e = this.vScrollBar.jqxScrollBar("max"); this.vScrollBar.jqxScrollBar("max", e + this.scrollbarsize + 4) } else { this._updatevscrollbarmax() } } this.hScrollBar.jqxScrollBar("max", f + this.table.width() - this.host.width()) } else { if (d != "hidden") { this.hScrollBar.css("visibility", "hidden"); this._arrange() } } this._renderhorizontalscroll() }, _prerenderrows: function (o) { var B = this; if (this.prerenderrequired == true) { this.prerenderrequired = false; if (this.editable && this._destroyeditors) { this._destroyeditors() } if (this.gridcontent == undefined) { return } this.gridcontent.find("#contenttable" + this.element.id).remove(); if (this.table != null) { this.table.remove(); this.table = null } this.table = b('<div id="contenttable' + this.element.id + '" style="overflow: hidden; position: relative;" height="100%"></div>'); this.gridcontent.addClass(this.toTP("jqx-grid-content")); this.gridcontent.addClass(this.toTP("jqx-widget-content")); this.gridcontent.append(this.table); var A = this.groupable && this.groups.length > 0; var p = 0; this.table[0].rows = new Array(); var l = this.toTP("jqx-grid-cell"); if (A) { l = " " + this.toTP("jqx-grid-group-cell") } var u = o.visiblerecords; if (this.pageable && this.autoheight) { u = this.dataview.pagesize; if (this.groupable) { this.dataview.updateview(); u = this.dataview.rows.length } } if (!this.pageable && this.autoheight) { u = this.dataview.totalrecords } if (this.groupable && this.autoheight && !this.pageable) { u = this.dataview.rows.length } if (this.rowdetails) { u += this.dataview.pagesize } var z = this.columns.records.length; if (b.jqx.browser.msie && b.jqx.browser.version > 8) { this.table.css("opacity", "0.99") } if (b.jqx.browser.mozilla) { this.table.css("opacity", "0.99") } if (navigator.userAgent.indexOf("Safari") != -1) { this.table.css("opacity", "0.99") } var r = b.jqx.browser.msie && b.jqx.browser.version < 8; if (r) { this.host.attr("hideFocus", "true") } var k = this.tableZIndex; if (u * z > k) { k = u * z } var g = this.dataview.records.length == 0; var n = this.isTouchDevice(); var v = ""; this._hiddencolumns = false; for (var y = 0; y < u; y++) { var s = '<div role="row" style="position: relative; height=' + this.rowsheight + 'px;" id="row' + y + this.element.id + '">'; if (r) { var s = '<div role="row" style="position: relative; z-index: ' + k + "; height:" + this.rowsheight + 'px;" id="row' + y + this.element.id + '">'; k-- } var f = 0; for (var w = 0; w < z; w++) { var x = this.columns.records[w]; var t = x.width; if (t < x.minwidth) { t = x.minwidth } if (t > x.maxwidth) { t = x.maxwidth } if (this.rtl) { var q = k - z + 2 * w; var d = '<div role="gridcell" style="overflow: hidden; position: absolute; height: 100%; left: ' + f + "px; z-index: " + q + "; width:" + t + "px;"; k-- } else { var d = '<div role="gridcell" style="overflow: hidden; position: absolute; height: 100%; left: ' + f + "px; z-index: " + k-- + "; width:" + t + "px;" } if (!(x.hidden && x.hideable)) { f += t } else { d += "display: none;"; this._hiddencolumns = true; k++ } d += '" class="' + l + '"></div>'; s += d } if (p == 0) { this.table.width(parseInt(f) + 2); p = f } s += "</div>"; v += s } if (B.WinJS) { MSApp.execUnsafeLocalFunction(function () { B.table.html(v) }) } else { B.table[0].innerHTML = v } this.table[0].rows = new Array(); var m = this.table.children(); for (var y = 0; y < u; y++) { var h = m[y]; this.table[0].rows.push(h); h.cells = new Array(); var e = b(h).children(); for (var w = 0; w < z; w++) { h.cells.push(e[w]) } } if (u == 0) { var f = 0; if (this.showemptyrow) { var s = b('<div style="position: relative;" id="row0' + this.element.id + '"></div>'); this.table.append(s); s.height(this.rowsheight); this.table[0].rows[0] = s[0]; this.table[0].rows[0].cells = new Array() } for (var w = 0; w < z; w++) { var x = this.columns.records[w]; var t = x.width; if (this.showemptyrow) { var d = b('<div style="position: absolute; height: 100%; left: ' + f + "px; z-index: " + k-- + "; width:" + t + 'px;" class="' + l + '"></div>'); d.height(this.rowsheight); s.append(d); this.table[0].rows[0].cells[w] = d[0] } if (t < x.minwidth) { t = x.minwidth } if (t > x.maxwidth) { t = x.maxwidth } if (!(x.hidden && x.hideable)) { f += t } } this.table.width(parseInt(f) + 2); p = f } this._updatescrollbarsafterrowsprerender(); if (this.rendered) { this.rendered("rows") } this._addoverlayelement() } }, _groupsheader: function () { return this.groupable && this.showgroupsheader }, _arrange: function () { var t = null; var q = null; this.tableheight = null; var w = this; var j = false; var i = false; if (this.width != null && this.width.toString().indexOf("px") != -1) { t = this.width } else { if (this.width != undefined && !isNaN(this.width)) { t = this.width } } if (this.width != null && this.width.toString().indexOf("%") != -1) { t = this.width; j = true } if (this.height != null && this.height.toString().indexOf("px") != -1) { q = this.height } else { if (this.height != undefined && !isNaN(this.height)) { q = this.height } } if (this.height != null && this.height.toString().indexOf("%") != -1) { q = this.height; i = true } var h = function () { var x = 0; var y = w.showheader ? w.columnsheader != null ? w.columnsheader.height() + 2 : 0 : 0; x += y; if (w.pageable) { x += w.pagerheight } if (w._groupsheader()) { x += w.groupsheaderheight } if (w.showtoolbar) { x += w.toolbarheight } if (w.showstatusbar) { x += w.statusbarheight } if (w.hScrollBar[0].style.visibility == "visible") { x += 20 } return x }; if (this.autoheight && this.virtualsizeinfo) { if (this.pageable && this.gotopage) { var u = 0; q = u + (this._pageviews[0] ? this._pageviews[0].height : 0); q += h(); if (this.showemptyrow && this.dataview.totalrecords == 0) { q += this.rowsheight } } else { var u = this.host.height() - this._gettableheight(); if (this._pageviews.length > 0) { q = u + this._pageviews[this._pageviews.length - 1].height + this._pageviews[this._pageviews.length - 1].top; this.vScrollBar[0].style.visibility = "hidden" } else { q = h(); if (this.showemptyrow) { q += this.rowsheight } } } } else { if (this.autoheight) { q = this.dataview.totalrecords * this.rowsheight; if (this._loading) { q = 250; this.dataloadelement.height(q) } q += h(); if (q > 10000) { q = 10000 } } } if (t != null) { t = parseInt(t); this.host.width(this.width); if (j) { t = this.host.width(); if (t <= 2) { t = 600; this.host.width(t) } if (!this._oldWidth) { this._oldWidth = t } } } else { this.host.width(250) } if (q != null) { if (!i) { q = parseInt(q) } this.host.height(q); if (i && !this.autoheight) { q = this.host.height(); if (q == 0) { q = 400; this.host.height(q) } if (!this._oldHeight) { this._oldHeight = q } } } else { this.host.height(250) } if (this.autoheight) { this.tableheight = null; this._gettableheight() } var p = 0; if (this.showtoolbar) { this.toolbar.width(t); this.toolbar.height(this.toolbarheight - 1); this.toolbar.css("top", 0); p += this.toolbarheight; q -= parseInt(this.toolbarheight) } else { this.toolbar.height(0) } if (this.showstatusbar) { this.statusbar.width(!this.table ? t : Math.max(t, this.table.width())); this.statusbar.height(this.statusbarheight - 1) } else { this.statusbar.height(0) } if (this._groupsheader()) { this.groupsheader.width(t); this.groupsheader.height(this.groupsheaderheight); this.groupsheader.css("top", p); var r = this.groupsheader.height() + 1; p += r; if (q > r) { q -= parseInt(r) } } else { this.groupsheader.width(t); this.groupsheader.height(this.groupsheaderheight); this.groupsheader.css("top", p); this.content.css("top", p + this.groupsheader.height()) } var d = this.scrollbarsize; if (isNaN(d)) { d = parseInt(d); if (isNaN(d)) { d = "17px" } else { d = d + "px" } } d = parseInt(d); var l = 4; var f = 2; var g = 0; if (this.vScrollBar[0].style.visibility == "visible") { g = d + l } if (this.hScrollBar[0].style.visibility == "visible") { f = d + l + 2 } var m = 0; if (this.pageable) { m = this.pagerheight; f += this.pagerheight } if (this.showstatusbar) { f += this.statusbarheight; m += this.statusbarheight } if (this.hScrollBar[0].style.height != d + "px") { this.hScrollBar.height(d) } if (this.hScrollBar[0].style.top != p + q - l - d - m + "px" || this.hScrollBar[0].style.left != "0px") { this.hScrollBar.css({ top: p + q - l - d - m + "px", left: "0px" }) } if (g == 0) { this.hScrollBar.width(t - 2) } else { this.hScrollBar.width(t - d - l + "px") } if (!this.autoheight) { this.vScrollBar.width(d); this.vScrollBar.height(parseInt(q) - f + "px"); this.vScrollBar.css({ left: parseInt(t) - parseInt(d) - l + "px", top: p }) } if (this.rtl) { this.vScrollBar.css({ left: "0px", top: p }); if (this.vScrollBar.css("visibility") != "hidden") { this.hScrollBar.css({ left: d + 2 }) } } var k = this.vScrollInstance; k.disabled = this.disabled; if (!this.autoheight) { k.refresh() } var s = this.hScrollInstance; s.disabled = this.disabled; s.refresh(); var n = function (x) { if ((x.vScrollBar[0].style.visibility == "visible") && (x.hScrollBar[0].style.visibility == "visible")) { x.bottomRight[0].style.visibility = "visible"; x.bottomRight.css({ left: 1 + parseInt(x.vScrollBar.css("left")), top: parseInt(x.hScrollBar.css("top")) }); if (x.rtl) { x.bottomRight.css("left", "0px") } x.bottomRight.width(parseInt(d) + 3); x.bottomRight.height(parseInt(d) + 4); if (x.showaggregates) { x.bottomRight.css("z-index", 99); x.bottomRight.height(parseInt(d) + 4 + x.statusbarheight); x.bottomRight.css({ top: parseInt(x.hScrollBar.css("top")) - x.statusbarheight }) } } else { x.bottomRight[0].style.visibility = "hidden" } }; n(this); this.content.width(t - g); this.content.height(q - f + 3); this.content.css("top", p); if (this.rtl) { this.content.css("left", g); if (this.table) { var o = this.table.width(); if (o < t - g) { this.content.css("left", t - o) } } } if (this.showstatusbar) { this.statusbar.css("top", p + q - this.statusbarheight - (this.pageable ? this.pagerheight : 0)); if (this.showaggregates) { if (this.hScrollBar.css("visibility") == "visible") { this.hScrollBar.css({ top: p + q - l - d - m + this.statusbarheight + "px" }); this.statusbar.css("top", 1 + p + q - d - 5 - this.statusbarheight - (this.pageable ? this.pagerheight : 0)) } n(this) } if (this.rtl) { if (this.hScrollBar.css("visibility") != "visible") { this.statusbar.css("left", this.content.css("left")) } else { this.statusbar.css("left", "0px") } } } if (this.pageable) { this.pager.width(t); this.pager.height(this.pagerheight); this.pager.css("top", p + q - this.pagerheight - 1) } else { this.pager.height(0) } if (this.table != null) { var e = 0; if (this.vScrollBar[0].style.visibility == "visible") { e = this.scrollbarsize + 3 } var v = e + this.table.width() - this.host.width(); this.hScrollBar.jqxScrollBar("max", v); if (this.hScrollBar[0].style.visibility == "visible" && v == 0) { this.hScrollBar[0].style.visibility = "hidden"; this._arrange() } } this.dataloadelement.width(this.host.width()); this.dataloadelement.height(this.host.height()); this._hostwidth = this.host.width() }, destroy: function () { if (this.host.jqxDropDownList) { var g = b(b.find("#filterclearbutton" + this.element.id)); var f = b(b.find("#filterbutton" + this.element.id)); var j = b(b.find("#filter1" + this.element.id)); var e = b(b.find("#filter2" + this.element.id)); var i = b(b.find("#filter3" + this.element.id)); var h = b(b.find(".filtertext1" + this.element.id)); var d = b(b.find(".filtertext2" + this.element.id)); if (h.length > 0 && d.length > 0) { h.removeClass(); d.removeClass(); h.remove(); d.remove() } this.removeHandler(g, "click"); this.removeHandler(f, "click"); j.jqxDropDownList("destroy"); e.jqxDropDownList("destroy"); i.jqxDropDownList("destroy") } if (this.editable && this._destroyeditors) { this._destroyeditors() } if (this.filterable && this._destroyedfilters && this.showfilterrow) { this._destroyedfilters() } if (this.host.jqxMenu) { if (this.gridmenu) { this.removeHandler(b(document), "click.menu" + this.element.id); this.removeHandler(this.gridmenu, "keydown"); this.removeHandler(this.gridmenu, "closed"); this.removeHandler(this.gridmenu, "itemclick"); this.gridmenu.jqxMenu("destroy") } } if (this.pagershowrowscombo) { this.pagershowrowscombo.jqxDropDownList("destroy") } if (this.pagerrightbutton) { this.removeHandler(this.pagerrightbutton, "mousedown"); this.removeHandler(this.pagerrightbutton, "mouseup"); this.removeHandler(this.pagerrightbutton, "click"); this.pagerrightbutton.jqxButton("destroy") } if (this.pagerleftbutton) { this.removeHandler(this.pagerleftbutton, "mousedown"); this.removeHandler(this.pagerleftbutton, "mouseup"); this.removeHandler(this.pagerleftbutton, "click"); this.pagerleftbutton.jqxButton("destroy"); this.removeHandler(b(document), "mouseup.pagerbuttons" + this.element.id) } this.removeHandler(b(document), "mousedown.resize" + this.element.id); this.removeHandler(b(document), "mouseup.resize" + this.element.id); this.removeHandler(b(document), "mousemove.resize" + this.element.id); this.removeHandler(b(document), "mousedown.reorder" + this.element.id); this.removeHandler(b(document), "mouseup.reorder" + this.element.id); this.removeHandler(b(document), "mousemove.reorder" + this.element.id); this.columns = new b.jqx.collection(this.element); this.rows = new b.jqx.collection(this.element); this.hScrollInstance.destroy(); this.vScrollInstance.destroy(); this.hScrollBar.remove(); this.vScrollBar.remove(); this._removeHandlers(); this._clearcaches(); this.dataview._clearcaches(); this.content.removeClass(); this.content.remove(); this.content = null; this.vScrollBar = null; this.hScrollBar = null; if (this.gridmenu) { this.gridmenu = null } this.host.removeData(); this.host.removeClass(); this.host.remove(); this.host = null }, _initializeColumns: function () { if (this.autogeneratecolumns) { var l = new Array(); var e = this.source.datafields; if (e == null && this.source._source) { e = this.source._source.datafields } b.each(e, function () { var i = { datafield: this.name, text: this.text || this.name, cellsformat: this.format || "" }; l.push(i) }); this.columns = l } if (this.columns && this.columns.records) { for (var f = 0; f < this.columns.records.length; f++) { this._removecolumnhandlers(this.columns.records[f]) } } var k = this; var d = new b.jqx.collection(this.element); var j = 0; this._haspinned = false; if (!this._columns) { this._columns = this.columns } else { this.columns = this._columns } if (this.groupable) { b.each(this.groups, function (i) { var m = new c(k, this); m.visibleindex = j++; m.width = k.groupindentwidth; d.add(m); m.pinned = true }); k._haspinned = true } if (this.rowdetails && this.showrowdetailscolumn) { var g = new c(k, this); g.visibleindex = j++; g.width = k.groupindentwidth; g.pinned = true; d.add(g); k._haspinned = true } var h = new Array(); b.each(this.columns, function (i) { if (k.columns[i] != undefined) { var m = new c(k, this); m.visibleindex = j++; if (this.dataField != undefined) { this.datafield = this.dataField } if (this.pinned) { k._haspinned = true } if (this.datafield == null) { if (k.source && k.source._source && (k.source._source.datatype == "array")) { this.datafield = i.toString(); m.datafield = this.datafield } } else { if (h[this.datafield]) { throw new Error("jqxGrid: Invalid column 'datafield' setting. jqxGrid's columns should be initialized with unique data fields."); k.host.remove(); return false } else { h[this.datafield] = true } } d.add(m) } }); if (this.rtl) { d.records.reverse() } this.columns = d }, _initializeRows: function () { var d = new b.jqx.collection(this.element); if (this.rows) { this.rows.clear() } this.rows = d }, _raiseEvent: function (h, e) { if (e == undefined) { e = { owner: null} } var f = this.events[h]; args = e; args.owner = this; var g = new jQuery.Event(f); g.owner = this; g.args = args; var d = this.host.trigger(g); e = g.args; return d }, wheel: function (f, e) { if (e.autoheight && e.hScrollBar.css("visibility") != "visible") { f.returnValue = true; return true } var g = 0; if (!f) { f = window.event } if (f.originalEvent && f.originalEvent.wheelDelta) { f.wheelDelta = f.originalEvent.wheelDelta } if (f.wheelDelta) { g = f.wheelDelta / 120 } else { if (f.detail) { g = -f.detail / 3 } } if (g) { var d = e._handleDelta(g); if (d) { if (f.preventDefault) { f.preventDefault() } if (f.originalEvent != null) { f.originalEvent.mouseHandled = true } if (f.stopPropagation != undefined) { f.stopPropagation() } } if (d) { d = false; f.returnValue = d; return d } else { return false } } if (f.preventDefault) { f.preventDefault() } f.returnValue = false }, _handleDelta: function (f) { if (this.vScrollBar.css("visibility") != "hidden") { var e = this.vScrollInstance.value; if (f < 0) { this.scrollDown() } else { this.scrollUp() } var d = this.vScrollInstance.value; if (e != d) { return true } } else { if (this.hScrollBar.css("visibility") != "hidden") { var e = this.hScrollInstance.value; if (f > 0) { if (this.hScrollInstance.value > 2 * this.horizontalscrollbarstep) { this.hScrollInstance.setPosition(this.hScrollInstance.value - 2 * this.horizontalscrollbarstep) } else { this.hScrollInstance.setPosition(0) } } else { if (this.hScrollInstance.value < this.hScrollInstance.max) { this.hScrollInstance.setPosition(this.hScrollInstance.value + 2 * this.horizontalscrollbarstep) } else { this.hScrollInstance.setPosition(this.hScrollInstance.max) } } var d = this.hScrollInstance.value; if (e != d) { return true } } } return false }, scrollDown: function () { if (this.vScrollBar.css("visibility") == "hidden") { return } var d = this.vScrollInstance; if (d.value + this.rowsheight <= d.max) { d.setPosition(parseInt(d.value) + this.rowsheight) } else { d.setPosition(d.max) } }, scrollUp: function () { if (this.vScrollBar.css("visibility") == "hidden") { return } var d = this.vScrollInstance; if (d.value - this.rowsheight >= d.min) { d.setPosition(parseInt(d.value) - this.rowsheight) } else { d.setPosition(d.min) } }, _removeHandlers: function () { var d = this; this.removeHandler(this.vScrollBar, "valuechanged"); this.removeHandler(this.hScrollBar, "valuechanged"); this.vScrollInstance.valuechanged = null; this.hScrollInstance.valuechanged = null; var e = "mousedown"; if (this.isTouchDevice()) { e = b.jqx.mobile.getTouchEventName("touchend") } this.removeHandler(this.host, "dblclick"); this.removeHandler(this.host, e); this.removeHandler(this.content, "mousemove", this._mousemovefunc); this.removeHandler(this.host, "mouseleave"); this.removeHandler(this.content, "mouseenter"); this.removeHandler(this.content, "mouseleave"); this.removeHandler(this.content, "selectstart." + this.element.id); this.removeHandler(this.host, "dragstart." + this.element.id); this.removeHandler(this.host, "keydown.edit" + this.element.id); this.removeHandler(b(document), "keydown.edit" + this.element.id); this.removeHandler(b(document), "mousemove.selection" + this.element.id); this.removeHandler(b(document), "mouseup.selection" + this.element.id); if (this.editable) { this.removeHandler(b(document), "mousedown.gridedit" + this.element.id) } }, _addHandlers: function () { var e = this; var d = e.isTouchDevice(); if (!d) { this.addHandler(this.host, "dragstart." + this.element.id, function (j) { return false }) } if (this.editable) { this.addHandler(b(document), "mousedown.gridedit" + this.element.id, function (l) { if (e.editable && e.begincelledit) { if (e.editcell) { if (!e.vScrollInstance.isScrolling() && !e.vScrollInstance.isScrolling()) { var o = e.host.coord(); var n = e.host.width(); var m = e.host.height(); var s = false; var k = false; var q = false; if (l.pageY < o.top || l.pageY > o.top + m) { s = true; k = true } if (l.pageX < o.left || l.pageX > o.left + n) { s = true; q = true } if (s) { var r = false; if (e.editcell && e.editcell.editor) { switch (e.editcell.columntype) { case "datetimeinput": if (e.editcell.editor.jqxDateTimeInput && e.editcell.editor.jqxDateTimeInput("container")[0].style.display == "block") { var p = e.editcell.editor.jqxDateTimeInput("container").coord().top; var j = e.editcell.editor.jqxDateTimeInput("container").coord().top + e.editcell.editor.jqxDateTimeInput("container").height(); if (k && (l.pageY < p || l.pageY > j)) { s = true; e.editcell.editor.jqxDateTimeInput("close") } else { return } } break; case "combobox": if (e.editcell.editor.jqxComboBox && e.editcell.editor.jqxComboBox("container")[0].style.display == "block") { var p = e.editcell.editor.jqxComboBox("container").coord().top; var j = e.editcell.editor.jqxComboBox("container").coord().top + e.editcell.editor.jqxComboBox("container").height(); if (k && (l.pageY < p || l.pageY > j)) { s = true; e.editcell.editor.jqxComboBox("close") } else { return } } break; case "dropdownlist": if (e.editcell.editor.jqxDropDownList && e.editcell.editor.jqxDropDownList("container")[0].style.display == "block") { var p = e.editcell.editor.jqxDropDownList("container").coord().top; var j = e.editcell.editor.jqxDropDownList("container").coord().top + e.editcell.editor.jqxDropDownList("container").height(); if (k && (l.pageY < p || l.pageY > j)) { s = true; e.editcell.editor.jqxDropDownList("close") } else { return } } break } } e.endcelledit(e.editcell.row, e.editcell.column, false, true) } } } } }) } this.vScrollInstance.valuechanged = function (j) { if (e.virtualsizeinfo) { e._closemenu(); if (e.scrollmode != "physical") { e._renderrows(e.virtualsizeinfo); e.currentScrollValue = j.currentValue } else { if (e.currentScrollValue != undefined && Math.abs(e.currentScrollValue - j.currentValue) >= 5) { e._renderrows(e.virtualsizeinfo); e.currentScrollValue = j.currentValue } else { e._renderrows(e.virtualsizeinfo); e.currentScrollValue = j.currentValue } } if (!e.pageable && !e.groupable && e.dataview.virtualmode) { if (e.loadondemandupdate) { clearTimeout(e.loadondemandupdate) } e.loadondemandupdate = setTimeout(function () { e.loadondemand = true; e._renderrows(e.virtualsizeinfo) }, 100) } if (d) { e._lastScroll = new Date() } } }; this.hScrollInstance.valuechanged = function (l) { if (e.virtualsizeinfo) { e._closemenu(); var k = function () { e._renderhorizontalscroll(); e._renderrows(e.virtualsizeinfo); if (e.editcell && !e.editrow) { if (e._showcelleditor && e.editcell.editing) { if (!e.hScrollInstance.isScrolling()) { e._showcelleditor(e.editcell.row, e.getcolumn(e.editcell.column), e.editcell.element, e.editcell.init) } } } }; var j = e._browser == undefined ? e._isIE10() : e._browser; if (navigator && navigator.userAgent.indexOf("Safari") != -1) { if (e._hScrollTimer) { clearTimeout(e._hScrollTimer) } e._hScrollTimer = setTimeout(function () { k() }, 1) } else { if (b.jqx.browser.mozilla || b.jqx.browser.msie) { if (e._hScrollTimer) { clearTimeout(e._hScrollTimer) } e._hScrollTimer = setTimeout(function () { k() }, 0.01) } else { k() } } if (d) { e._lastScroll = new Date() } } }; this._mousewheelfunc = this._mousewheelfunc || function (j) { if (!e.editcell && e.enablemousewheel) { e.wheel(j, e); return false } }; this.removeHandler(this.host, "mousewheel", this._mousewheelfunc); this.addHandler(this.host, "mousewheel", this._mousewheelfunc); var h = "mousedown"; if (d) { h = b.jqx.mobile.getTouchEventName("touchend") } this.addHandler(this.host, h, function (k) { if (e.isTouchDevice()) { e._newScroll = new Date(); if (e._newScroll - e._lastScroll < 500) { return false } if (b(k.target).ischildof(e.vScrollBar)) { return false } if (b(k.target).ischildof(e.hScrollBar)) { return false } } e._mousedown = new Date(); var j = e._handlemousedown(k, e); if (e.isNestedGrid) { if (!e.resizablecolumn && !e.columnsreorder) { k.stopPropagation() } } e._lastmousedown = new Date(); return j }); if (!d) { this.addHandler(this.host, "dblclick", function (k) { if (e.editable && e.begincelledit && e.editmode == "dblclick") { e._handledblclick(k, e) } else { if (b.jqx.browser.msie && b.jqx.browser.version < 9) { var j = e._handlemousedown(k, e) } } e.mousecaptured = false; e._lastmousedown = new Date(); return true }); this._mousemovefunc = function (j) { if (e._handlemousemove) { return e._handlemousemove(j, e) } }; this.addHandler(this.content, "mousemove", this._mousemovefunc); this.addHandler(b(document), "mousemove.selection" + this.element.id, function (j) { if (e._handlemousemoveselection) { return e._handlemousemoveselection(j, e) } }); this.addHandler(b(document), "mouseup.selection" + this.element.id, function (j) { if (e._handlemouseupselection) { e._handlemouseupselection(j, e) } }) } try { if (document.referrer != "" || window.frameElement) { if (window.top != null && window.top != window.self) { var i = null; if (window.parent && document.referrer) { i = document.referrer } if (i && i.indexOf(document.location.host) != -1) { var g = function (j) { if (e._handlemouseupselection) { e._handlemouseupselection(j, e) } }; if (window.top.document.addEventListener) { window.top.document.addEventListener("mouseup", g, false) } else { if (window.top.document.attachEvent) { window.top.document.attachEvent("onmouseup", g) } } } } } } catch (f) { } this.focused = false; if (!d) { this.addHandler(this.content, "mouseenter", function (j) { e.focused = true; if (e._overlayElement) { if (e.vScrollInstance.isScrolling() || e.hScrollInstance.isScrolling()) { e._overlayElement[0].style.visibility = "visible" } else { e._overlayElement[0].style.visibility = "hidden" } } }); this.addHandler(this.content, "mouseleave", function (j) { if (e._handlemousemove) { if (e.enablehover) { e._clearhoverstyle() } } if (e._overlayElement) { e._overlayElement[0].style.visibility = "hidden" } e.focused = false }); this.addHandler(this.content, "selectstart." + this.element.id, function (j) { if (e.enablebrowserselection) { return true } if (!e.editcell && !e.showfilterrow) { return false } }); this.addHandler(b(document), "keydown.edit" + this.element.id, function (l) { var k = l.charCode ? l.charCode : l.keyCode ? l.keyCode : 0; if (e.handlekeyboardnavigation) { var m = e.handlekeyboardnavigation(l); if (m == true) { return false } } if (e.editable && e.editcell) { if (k == 13 || k == 27) { if (e._handleeditkeydown) { j = e._handleeditkeydown(l, e) } } } if (k == 27) { e.mousecaptured = false; if (e.selectionarea.css("visibility") == "visible") { e.selectionarea.css("visibility", "hidden") } } if (b.jqx.browser.msie && e.focused && !e.isNestedGrid) { if (k == 13 && j == false) { return j } var j = true; var k = l.charCode ? l.charCode : l.keyCode ? l.keyCode : 0; if (!e.editcell && e.editable && e.editmode != "programmatic") { if (e._handleeditkeydown) { j = e._handleeditkeydown(l, e) } } if (j && e.keyboardnavigation && e._handlekeydown) { j = e._handlekeydown(l, e); if (!j) { if (l.preventDefault) { l.preventDefault() } if (l.stopPropagation != undefined) { l.stopPropagation() } } return j } } return true }); this.addHandler(this.host, "keydown.edit" + this.element.id, function (k) { var j = true; if (e.handlekeyboardnavigation) { var l = e.handlekeyboardnavigation(k); if (l == true) { return false } } if (e.editable && e.editmode != "programmatic") { if (e._handleeditkeydown) { j = e._handleeditkeydown(k, e) } } if (!b.jqx.browser.msie) { if (j && e.keyboardnavigation && e._handlekeydown) { j = e._handlekeydown(k, e); if (e.isNestedGrid) { k.stopPropagation() } } } else { if (e.isNestedGrid) { if (j && e.keyboardnavigation && e._handlekeydown) { j = e._handlekeydown(k, e); k.stopPropagation() } } } if (!j) { if (k.preventDefault) { k.preventDefault() } if (k.stopPropagation != undefined) { k.stopPropagation() } } return j }) } }, _hittestrow: function (s, q) { if (this.vScrollInstance == null || this.hScrollInstance == null) { return } if (s == undefined) { s = 0 } if (q == undefined) { q == 0 } var l = this.vScrollInstance; var k = this.hScrollInstance; var f = l.value; if (this.vScrollBar.css("visibility") != "visible") { f = 0 } var m = k.value; if (this.hScrollBar.css("visibility") != "visible") { m = 0 } if (this.scrollmode == "deferred" && this._newmax != null) { if (f > this._newmax) { f = this._newmax } } var r = parseInt(f) + q; var j = parseInt(m) + s; if (this.visiblerows == null) { return } var e = false; var i = this._findvisiblerow(r, this.visiblerows); if (i >= 0) { var o = this.visiblerows[i]; var d = this.rowdetails && o.rowdetails; var n = !o.rowdetailshidden; if (d) { var g = this.visiblerows[i - 1]; if (g == o) { o = g; i-- } if (n) { var h = b(this.hittestinfo[i].visualrow).position().top + parseInt(this.table.css("top")); var p = b(this.hittestinfo[i].visualrow).height(); if (!(q >= h && q <= h + p)) { i++; o = this.visiblerows[i]; e = true } } } } return { index: i, row: o, details: e} }, getcellatposition: function (j, q) { var r = this; var z = this.showheader ? this.columnsheader.height() + 2 : 0; var s = this._groupsheader() ? this.groupsheader.height() : 0; var B = this.showtoolbar ? this.toolbarheight : 0; s += B; var g = this.host.coord(); if (this.hasTransform) { g = b.jqx.utilities.getOffset(this.host) } var p = j - g.left; var n = q - z - g.top - s; var d = this._hittestrow(p, n); var k = d.row; var l = d.index; var t = this.table[0].rows[l]; if (this.dataview && this.dataview.records.length == 0) { var o = this.table[0].rows; var C = 0; for (var w = 0; w < o.length; w++) { if (n >= C && n < C + this.rowsheight) { t = o[w]; break } C += this.rowsheight } k = { boundindex: w} } if (t == null) { return true } var u = this.hScrollInstance; var v = u.value; var f = 0; var m = this.groupable ? this.groups.length : 0; for (var w = 0; w < t.cells.length; w++) { var h = parseInt(b(this.columnsrow[0].cells[w]).css("left")); var j = h - v; if (r.columns.records[w].pinned) { j = h } var A = j + b(this.columnsrow[0].cells[w]).width(); if (A >= p && p >= j) { f = w; break } } if (k != null) { var e = this._getcolumnat(f); return { row: k.boundindex, column: e.datafield, value: this.getcellvalue(k.boundindex, e.datafield)} } return null }, _handlemousedown: function (G, z) { if (G.target == null) { return true } if (z.disabled) { return true } if (b(G.target).ischildof(this.columnsheader)) { return true } var J; if (G.which) { J = (G.which == 3) } else { if (G.button) { J = (G.button == 2) } } var O; if (G.which) { O = (G.which == 2) } else { if (G.button) { O = (G.button == 1) } } if (O) { return true } if (this.showstatusbar) { if (b(G.target).ischildof(this.statusbar)) { return true } if (G.target == this.statusbar[0]) { return true } } var I = this.showheader ? this.columnsheader.height() + 2 : 0; var A = this._groupsheader() ? this.groupsheader.height() : 0; var N = this.showtoolbar ? this.toolbarheight : 0; A += N; var h = this.host.coord(); if (this.hasTransform) { h = b.jqx.utilities.getOffset(this.host); var p = this._getBodyOffset(); h.left -= p.left; h.top -= p.top } var k = parseInt(G.pageX); var w = parseInt(G.pageY); if (this.isTouchDevice()) { var v = z.getTouches(G); var o = v[0]; k = parseInt(o.pageX); w = parseInt(o.pageY); if (z.touchmode == true) { k = parseInt(o._pageX); w = parseInt(o._pageY) } } var s = k - h.left; var r = w - I - h.top - A; var d = this._hittestrow(s, r); if (!d) { return } if (d.details) { return } var n = d.row; var m = d.index; var D = G.target.className; var B = this.table[0].rows[m]; if (B == null) { if (z.editable && z.begincelledit) { if (z.editcell) { z.endcelledit(z.editcell.row, z.editcell.column, false, true) } } return true } z.mousecaptured = true; z.mousecaptureposition = { left: G.pageX, top: G.pageY - A, clickedrow: B }; var C = this.hScrollInstance; var F = C.value; if (this.rtl) { if (this.hScrollBar.css("visibility") != "hidden") { F = C.max - C.value } } var g = -1; var q = this.groupable ? this.groups.length : 0; if (this.rtl) { if (this.vScrollBar[0].style.visibility != "hidden") { F -= this.scrollbarsize + 4 } } for (var H = 0; H < B.cells.length; H++) { var j = parseInt(b(this.columnsrow[0].cells[H]).css("left")); var k = j - F; if (z.columns.records[H].pinned && !z.rtl) { k = j } var f = this._getcolumnat(H); if (f != null && f.hidden) { continue } var M = k + b(this.columnsrow[0].cells[H]).width(); if (M >= s && s >= k) { g = H; z.mousecaptureposition.clickedcell = H; break } } if (this.rtl && this._haspinned) { for (var H = B.cells.length - 1; H >= 0; H--) { if (!z.columns.records[H].pinned) { break } var j = b(this.columnsrow[0].cells[H]).coord().left - this.host.coord().left; var k = j; var f = this._getcolumnat(H); if (f != null && f.hidden) { continue } var M = k + b(this.columnsrow[0].cells[H]).width(); if (M >= s && s >= k) { g = H; z.mousecaptureposition.clickedcell = H; break } } } if (n != null && g >= 0) { this._raiseEvent(1, { rowindex: n.boundindex, visibleindex: n.visibleindex, group: n.group, rightclick: J, originalEvent: G }); var f = this._getcolumnat(g); var u = this.getcellvalue(n.boundindex, f.datafield); if (this.editable && this.editcell) { if (f.datafield == this.editcell.column) { if (n.boundindex == this.editcell.row) { this.mousecaptured = false } } } this._raiseEvent(8, { rowindex: n.boundindex, column: f ? f.getcolumnproperties() : null, datafield: f ? f.datafield : null, columnindex: g, value: u, rightclick: J, originalEvent: G }); if (this.isTouchDevice()) { if (f.columntype == "checkbox" && this.editable && this._overlayElement) { if (!this.editcell) { this._overlayElement.css("visibility", "hidden"); this.editcell = this.getcell(m, f.datafield); return true } } else { if (f.columntype == "button" && this._overlayElement) { if (f.buttonclick) { f.buttonclick(B.cells[g].buttonrow, G) } return true } } } var L = false; if (this._lastmousedown != null) { if (this._mousedown - this._lastmousedown < 300) { if (this._clickedrowindex == n.boundindex) { this._raiseEvent(22, { rowindex: n.boundindex, visibleindex: n.visibleindex, group: n.group, rightclick: J, originalEvent: G }); if (this._clickedcolumn == f.datafield) { this._raiseEvent(23, { rowindex: n.boundindex, column: f ? f.getcolumnproperties() : null, datafield: f ? f.datafield : null, columnindex: g, value: u, rightclick: J, originalEvent: G }) } L = true; this._clickedrowindex = -1; this._clickedcolumn = null; if (G.isPropagationStopped && G.isPropagationStopped()) { return false } } } } if (J) { return true } if (!L) { this._clickedrowindex = n.boundindex; this._clickedcolumn = f.datafield } var E = b.jqx.utilities.getBrowser(); if (E.browser == "msie" && parseInt(E.version) <= 7) { if (g == 0 && this.rowdetails) { D = "jqx-grid-group-collapse" } if (q > 0) { if (g <= q) { D = "jqx-grid-group-collapse" } } } if (D.indexOf("jqx-grid-group-expand") != -1 || D.indexOf("jqx-grid-group-collapse") != -1) { if (!this.rtl) { if (q > 0 && g < q && this._togglegroupstate) { this._togglegroupstate(n.bounddata, true) } else { if (g == q && this.rowdetails && this.showrowdetailscolumn) { this._togglerowdetails(n.bounddata, true); this.gridcontent[0].scrollTop = 0; this.gridcontent[0].scrollLeft = 0 } } } else { if (q > 0 && g > B.cells.length - q - 1 && this._togglegroupstate) { this._togglegroupstate(n.bounddata, true) } else { if (g == B.cells.length - 1 - q && this.rowdetails && this.showrowdetailscolumn) { this._togglerowdetails(n.bounddata, true); this.gridcontent[0].scrollTop = 0; this.gridcontent[0].scrollLeft = 0 } } } } else { if (n.boundindex != -1) { var K = this.selectedrowindexes.slice(0); var l = false; if (z.selectionmode != "none" && this._selectrowwithmouse) { if (z.selectionmode == "multiplecellsadvanced" || z.selectionmode == "multiplecellsextended" || z.selectionmode == "multiplerowsextended") { if (!G.ctrlKey && !G.shiftKey) { z.selectedrowindexes = new Array(); z.selectedcells = new Array() } } if (z.selectionmode.indexOf("cell") == -1) { if ((z.selectionmode != "singlerow") || (z.selectedrowindex != n.boundindex && z.selectionmode == "singlerow")) { this._applyrowselection(n.boundindex, true, false, null, f.datafield); this._selectrowwithmouse(z, d, K, f.datafield, G.ctrlKey, G.shiftKey) } } else { if (f.datafield != null) { this._selectrowwithmouse(z, d, K, f.datafield, G.ctrlKey, G.shiftKey); this._applycellselection(n.boundindex, f.datafield, true, false) } } if (z._oldselectedcell) { if (z._oldselectedcell.datafield == z.selectedcell.datafield && z._oldselectedcell.rowindex == z.selectedcell.rowindex) { l = true } } z._oldselectedcell = z.selectedcell } if (z.autosavestate) { if (z.savestate) { z.savestate() } } if (z.editable && z.begincelledit) { var e = z.editmode == "click" || (l && z.editmode == "selectedcell"); if (z.selectionmode.indexOf("cell") == -1) { if (z.editmode != "dblclick") { e = true } } if (e) { if (n.boundindex != undefined && f.editable) { var t = z.begincelledit(n.boundindex, f.datafield, f.defaulteditorvalue) } } if (z.selectionmode.indexOf("cell") != -1) { if (z.editmode == "selectedcell" && !l && z.editcell) { z.endcelledit(z.editcell.row, z.editcell.column, false, true) } } return true } } } } return true }, _columnPropertyChanged: function (e, d, g, f) { }, _rowPropertyChanged: function (g, d, f, e) { }, _serializeObject: function (d) { if (d == null) { return "" } var e = ""; b.each(d, function (g) { var h = this; if (g > 0) { e += ", " } e += "["; var f = 0; for (obj in h) { if (f > 0) { e += ", " } e += "{" + obj + ":" + h[obj] + "}"; f++ } e += "]" }); return e }, propertyChangedHandler: function (d, e, h, g) { if (this.isInitialized == undefined || this.isInitialized == false) { return } switch (e) { case "columnsheight": if (d.columnsheight != 25) { d._measureElement("column") } d._render(true, true, true, false, false); break; case "rowsheight": if (g != h) { if (d.rowsheight != 25) { d._measureElement("cell") } d.virtualsizeinfo = null; d.rendergridcontent(true, false); d.refresh() } break; case "scrollMode": d.vScrollInstance.thumbStep = d.rowsheight; break; case "showdefaultloadelement": d._builddataloadelement(); break; case "showfiltermenuitems": case "showsortmenuitems": case "showgroupmenuitems": d._initmenu(); break; case "touchmode": if (h != g) { d._removeHandlers(); d.touchDevice = null; d.vScrollBar.jqxScrollBar({ touchMode: g }); d.hScrollBar.jqxScrollBar({ touchMode: g }); d._updateTouchScrolling(); d._addHandlers() } break; case "autoshowcolumnsmenubutton": if (h != g) { d._rendercolumnheaders() } break; case "rendergridrows": if (h != g) { d.updatebounddata() } break; case "editmode": if (h != g) { d._removeHandlers(); d._addHandlers() } break; case "source": d.virtualsizeinfo = null; if (d.showfilterrow && d.filterable && d.filterrow) { d.filterrow.remove(); d._filterrowcache = new Array(); d.filterrow = null } if (d.pageable) { d.pagenum = 0; d.dataview.pagenum = 0 } d.updatebounddata(); if (d.virtualmode && !d._loading) { d.loadondemand = true; d._renderrows(d.virtualsizeinfo) } break; case "horizontalscrollbarstep": case "verticalscrollbarstep": case "horizontalscrollbarlargestep": case "verticalscrollbarlargestep": this.vScrollBar.jqxScrollBar({ step: this.verticalscrollbarstep, largestep: this.verticalscrollbarlargestep }); this.hScrollBar.jqxScrollBar({ step: this.horizontalscrollbarstep, largestep: this.horizontalscrollbarlargestep }); break; case "closeablegroups": if (d._initgroupsheader) { d._initgroupsheader() } break; case "showgroupsheader": if (h != g) { d.rendergridcontent() } break; case "theme": if (g != h) { if (d.pager) { d.pager.removeClass(); d.pager.addClass(d.toTP("jqx-grid-pager")); d.pager.addClass(d.toTP("jqx-widget-header")); if (d.pageable && d._updatepagertheme) { d._updatepagertheme() } } if (d.groupsheader) { d.groupsheader.removeClass(); d.groupsheader.addClass(d.toTP("jqx-grid-groups-header")); d.groupsheader.addClass(d.toTP("jqx-widget-header")) } d.toolbar.removeClass(); d.toolbar.addClass(d.toTP("jqx-grid-toolbar")); d.toolbar.addClass(d.toTP("jqx-widget-header")); d.statusbar.removeClass(); d.statusbar.addClass(d.toTP("jqx-grid-statusbar")); d.statusbar.addClass(d.toTP("jqx-widget-content")); d.vScrollBar.jqxScrollBar({ theme: d.theme }); d.hScrollBar.jqxScrollBar({ theme: d.theme }); d.host.removeClass(); d.host.addClass(d.toTP("jqx-grid")); d.host.addClass(d.toTP("jqx-reset")); d.host.addClass(d.toTP("jqx-rc-all")); d.host.addClass(d.toTP("jqx-widget")); d.host.addClass(d.toTP("jqx-widget-content")); d.bottomRight.removeClass(); d.bottomRight.addClass(d.toTP("jqx-grid-bottomright")); d.toolbar.addClass(d.toTP("jqx-grid-toolbar")); d.toolbar.addClass(d.toTP("jqx-widget-header")); d.statusbar.addClass(d.toTP("jqx-grid-statusbar")); d.statusbar.addClass(d.toTP("jqx-widget-header")); d.render() } break; case "showtoolbar": case "toolbarheight": if (h != g) { d._arrange(); d.refresh() } break; case "showstatusbar": if (h != g) { if (d.statusbar) { if (g) { d.statusbar.show() } else { d.statusbar.hide() } } d._arrange(); d.refresh() } break; case "statusbarheight": if (h != g) { d._arrange(); d.refresh() } break; case "filterable": if (h != g) { d.render() } break; case "autoshowfiltericon": case "showfiltercolumnbackground": case "showpinnedcolumnbackground": case "showsortcolumnbackground": if (h != g) { d.rendergridcontent() } break; case "showrowdetailscolumn": if (h != g) { d.render() } break; case "scrollbarsize": if (h != g) { d._arrange() } break; case "width": case "height": if (h != g) { d._updatesize(true, true) } break; case "altrows": case "altstart": case "altstep": if (h != g) { d._renderrows(d.virtualsizeinfo) } break; case "groupsheaderheight": if (h != g) { d._arrange(); if (d._initgroupsheader) { d._initgroupsheader() } } break; case "pagerheight": if (h != g) { d._initpager() } break; case "selectedrowindex": d.selectrow(g); break; case "selectionmode": if (h != g) { if (g == "none") { d.selectedrowindexes = new Array(); d.selectedcells = new Array(); d.selectedrowindex = -1 } d._renderrows(d.virtualsizeinfo) } break; case "showheader": if (g) { d.columnsheader.css("display", "block") } else { d.columnsheader.css("display", "none") } break; case "virtualmode": if (h != g) { d.dataview.virtualmode = d.virtualmode; d.dataview.refresh(false); d._render(false, false, false) } break; case "columnsmenu": if (h != g) { d.render() } break; case "columns": if (d._serializeObject(d._cachedcolumns) !== d._serializeObject(g)) { d._columns = null; d._filterrowcache = []; d.render(); d._cachedcolumns = d.columns } else { d._initializeColumns() } break; case "autoheight": if (h != g) { d._render(false, false, true) } break; case "pagesizeoptions": case "pageable": case "pagesize": if (h != g) { if (d._loading) { throw new Error("jqxGrid: " + d.loadingerrormessage); return } if (d._initpager) { if (e != "pageable") { if (typeof (g) == "string") { var f = "The expected value type is: Int."; if (e != "pagesize") { var f = "The expected value type is: Array of Int values." } throw new Error("Invalid Value for: " + e + ". " + f) } } d.dataview.pageable = d.pageable; d.dataview.pagenum = 0; d.dataview.pagesize = d._getpagesize(); if (d.virtualmode) { d.updatebounddata() } d.dataview.refresh(true); d._initpager(); if (e == "pagesizeoptions") { if (g != null && g.length > 0) { d.pagesize = parseInt(g[0]); d.dataview.pagesize = parseInt(g[0]); d.prerenderrequired = true; d._requiresupdate = true; d.dataview.pagenum = -1; d.gotopage(0) } } } d._render(false, false, false) } break; case "groups": if (d._serializeObject(h) !== d._serializeObject(g)) { d.dataview.groups = g; d._refreshdataview(); d._render(true, true, true, false) } break; case "groupable": if (h != g) { d.dataview.groupable = d.groupable; d.dataview.pagenum = 0; d.dataview.refresh(false); d._render(false, false, true) } break; case "disabled": if (g) { d.host.addClass(d.toThemeProperty("jqx-fill-state-disabled")) } else { d.host.removeClass(d.toThemeProperty("jqx-fill-state-disabled")) } break } } }); function c(d, e) { this.owner = d; this.datafield = null; this.displayfield = null; this.text = ""; this.sortable = true; this.hideable = true; this.editable = true; this.hidden = false; this.groupable = true; this.renderer = null; this.cellsrenderer = null; this.checkchange = null, this.threestatecheckbox = false; this.buttonclick = null, this.columntype = null; this.cellsformat = ""; this.align = "left"; this.cellsalign = "left"; this.width = "auto"; this.minwidth = 25; this.maxwidth = "auto"; this.pinned = false; this.visibleindex = -1; this.filterable = true; this.filter = null; this.filteritems = []; this.resizable = true; this.initeditor = null; this.createeditor = null; this.validation = null; this.classname = ""; this.cellclassname = ""; this.cellendedit = null; this.cellbeginedit = null; this.cellvaluechanging = null; this.aggregates = null; this.aggregatesrenderer = null; this.menu = true; this.createfilterwidget = null; this.filtertype = "default"; this.filtercondition = null; this.rendered = null; this.exportable = true; this.draggable = true; this.nullable = true; this.getcolumnproperties = function () { return { nullable: this.nullable, sortable: this.sortable, hideable: this.hideable, hidden: this.hidden, groupable: this.groupable, width: this.width, align: this.align, editable: this.editable, minwidth: this.minwidth, maxwidth: this.maxwidth, resizable: this.resizable, datafield: this.datafield, text: this.text, exportable: this.exportable, cellsalign: this.cellsalign, pinned: this.pinned, cellsformat: this.cellsformat, columntype: this.columntype, classname: this.classname, cellclassname: this.cellclassname, menu: this.menu} }, this.setproperty = function (f, g) { if (this[f]) { var h = this[f]; this[f] = g; this.owner._columnPropertyChanged(this, f, g, h) } }; this._initfields = function (f) { if (f != null) { if (f.datafield != undefined) { this.datafield = f.datafield } if (f.dataField != undefined) { this.datafield = f.dataField } if (f.displayfield != undefined) { this.displayfield = f.displayfield } else { this.displayfield = this.datafield } if (f.text != undefined) { this.text = f.text } if (f.sortable != undefined) { this.sortable = f.sortable } if (f.hideable != undefined) { this.hideable = f.hideable } if (f.hidden != undefined) { this.hidden = f.hidden } if (f.groupable != undefined) { this.groupable = f.groupable } if (f.renderer != undefined) { this.renderer = f.renderer } if (f.align != undefined) { this.align = f.align } if (f.cellsalign != undefined) { this.cellsalign = f.cellsalign } if (f.cellsformat != undefined) { this.cellsformat = f.cellsformat } if (f.width != undefined) { this.width = f.width } if (f.minwidth != undefined) { this.minwidth = f.minwidth } if (f.maxwidth != undefined) { this.maxwidth = f.maxwidth } if (f.cellsrenderer != undefined) { this.cellsrenderer = f.cellsrenderer } if (f.columntype != undefined) { this.columntype = f.columntype } if (f.checkchange != undefined) { this.checkchange = f.checkchange } if (f.buttonclick != undefined) { this.buttonclick = f.buttonclick } if (f.pinned != undefined) { this.pinned = f.pinned } if (f.visibleindex != undefined) { this.visibleindex = f.visibleindex } if (f.filterable != undefined) { this.filterable = f.filterable } if (f.filter != undefined) { this.filter = f.filter } if (f.resizable != undefined) { this.resizable = f.resizable } if (f.editable != undefined) { this.editable = f.editable } if (f.initeditor != undefined) { this.initeditor = f.initeditor } if (f.createeditor != undefined) { this.createeditor = f.createeditor } if (f.validation != undefined) { this.validation = f.validation } if (f.cellbeginedit != undefined) { this.cellbeginedit = f.cellbeginedit } if (f.cellendedit != undefined) { this.cellendedit = f.cellendedit } if (f.classname != undefined) { this.classname = f.classname } if (f.cellclassname != undefined) { this.cellclassname = f.cellclassname } if (f.menu != undefined) { this.menu = f.menu } if (f.aggregates != undefined) { this.aggregates = f.aggregates } if (f.aggregatesrenderer != undefined) { this.aggregatesrenderer = f.aggregatesrenderer } if (f.createfilterwidget != undefined) { this.createfilterwidget = f.createfilterwidget } if (f.filtertype != undefined) { this.filtertype = f.filtertype } if (f.rendered != undefined) { this.rendered = f.rendered } if (f.exportable != undefined) { this.exportable = f.exportable } if (f.filteritems != undefined) { this.filteritems = f.filteritems } if (f.cellvaluechanging != undefined) { this.cellvaluechanging = f.cellvaluechanging } if (f.draggable != undefined) { this.draggable = f.draggable } if (f.filtercondition != undefined) { this.filtercondition = f.filtercondition } if (f.threestatecheckbox != undefined) { this.threestatecheckbox = f.threestatecheckbox } if (f.nullable != undefined) { this.nullable = f.nullable } } }; this._initfields(e); return this } function a(d, e) { this.setdata = function (f) { if (f != null) { this.bounddata = f; this.boundindex = f.boundindex; this.visibleindex = f.visibleindex; this.group = f.group; this.parentbounddata = f.parentItem; this.uniqueid = f.uniqueid; this.level = f.level } }; this.setdata(e); this.parentrow = null; this.subrows = new Array(); this.owner = d; this.height = 25; this.hidden = false; this.rowdetails = null; this.rowdetailsheight = 100; this.rowdetailshidden = true; this.top = -1; this.setrowinfo = function (f) { this.hidden = f.hidden; this.rowdetails = f.rowdetails; this.rowdetailsheight = f.rowdetailsheight; this.rowdetailshidden = !f.showdetails; this.height = f.height }; return this } b.jqx.collection = function (d) { this.records = new Array(); this.owner = d; this.updating = false; this.beginupdate = function () { this.updating = true }; this.resumeupdate = function () { this.updating = false }; this._raiseEvent = function (e) { }; this.clear = function () { this.records = new Array() }; this.replace = function (f, e) { this.records[f] = e; if (!this.updating) { this._raiseEvent({ type: "replace", element: e }) } }; this.isempty = function (e) { if (this.records[e] == undefined) { return true } return false }; this.initialize = function (e) { if (e < 1) { e = 1 } this.records[e - 1] = -1 }; this.length = function () { return this.records.length }; this.indexOf = function (e) { return this.records.indexOf(e) }; this.add = function (e) { if (e == null) { return false } this.records[this.records.length] = e; if (!this.updating) { this._raiseEvent({ type: "add", element: e }) } return true }; this.insertAt = function (f, e) { if (f == null || f == undefined) { return false } if (e == null) { return false } if (f >= 0) { if (f < this.records.length) { this.records.splice(f, 0, e); if (!this.updating) { this._raiseEvent({ type: "insert", index: f, element: e }) } return true } else { return this.add(e) } } return false }; this.remove = function (f) { if (f == null || f == undefined) { return false } var e = this.records.indexOf(f); if (e != -1) { this.records.splice(e, 1); if (!this.updating) { this._raiseEvent({ type: "remove", element: f }) } return true } return false }; this.removeAt = function (f) { if (f == null || f == undefined) { return false } if (f < 0) { return false } if (f < this.records.length) { var e = this.records[f]; this.records.splice(f, 1); if (!this.updating) { this._raiseEvent({ type: "removeAt", index: f, element: e }) } return true } return false }; return this }; b.jqx.dataview = function () { this.self = this; this.grid = null; this.uniqueId = "id"; this.records = []; this.rows = []; this.columns = []; this.groups = []; this.filters = new Array(); this.updated = null; this.update = null; this.suspend = false; this.pagesize = 0; this.pagenum = 0; this.totalrows = 0; this.totalrecords = 0; this.groupable = true; this.loadedrecords = []; this.loadedrootgroups = []; this.loadedgroups = []; this.loadedgroupsByKey = []; this.virtualmode = true; this._cachegrouppages = new Array(); this.source = null; this.changedrecords = new Array(); this.rowschangecallback = null; this.suspendupdate = function () { this.suspend = true }, this.isupdating = function () { return this.suspend }, this.resumeupdate = function (d) { this.suspend = false; if (d == undefined) { d = true } this.refresh(d) }, this.getrecords = function () { return this.records }, this.clearrecords = function () { this.recordids = new Array() }; this.databind = function (d, n) { var o = d._source ? true : false; var e = null; if (o) { e = d; d = d._source } else { e = new b.jqx.dataAdapter(d, { autoBind: false }) } var g = function (m) { e.recordids = []; e.records = new Array(); e.cachedrecords = new Array(); e.originaldata = new Array(); e._options.virtualmode = m.virtualmode; e._options.totalrecords = m.totalrecords; e._options.originaldata = m.originaldata; e._options.recordids = m.recordids; e._options.cachedrecords = new Array(); e._options.pagenum = m.pagenum; e._options.pageable = m.pageable; if (d.type != undefined) { e._options.type = d.type } if (d.formatdata != undefined) { e._options.formatData = d.formatdata } if (d.contenttype != undefined) { e._options.contentType = d.contenttype } if (d.async != undefined) { e._options.async = d.async } if (d.updaterow != undefined) { e._options.updaterow = d.updaterow } if (d.addrow != undefined) { e._options.addrow = d.addrow } if (d.deleterow != undefined) { e._options.deleterow = d.deleterow } if (m.pagesize == 0) { m.pagesize = 10 } e._options.pagesize = m.pagesize }; var q = function (v) { v.totalrecords = e.totalrecords; if (!v.virtualmode) { v.originaldata = e.originaldata; v.records = e.records; v.recordids = e.recordids; v.cachedrecords = e.cachedrecords } else { var m = { startindex: v.pagenum * v.pagesize, endindex: (v.pagenum * v.pagesize + v.pagesize) }; if (d.recordstartindex) { m.startindex = d.recordstartindex } if (d.recordendindex) { m.endindex = d.recordendindex } else { if (!v.grid.pageable) { m.endindex = m.startindex + 100; if (v.grid.autoheight) { m.endindex = m.startindex + v.totalrecords } } } m.data = e.records; if (v.grid.rendergridrows && v.totalrecords > 0) { d.records = v.grid.rendergridrows(m) } if (!d.records || v.totalrecords == 0) { d.records = new Array() } v.originaldata = d.records; v.records = d.records; v.cachedrecords = d.records } }; g(this); this.source = d; if (n !== undefined) { uniqueId = n } var r = this; switch (d.datatype) { case "local": case "array": default: if (d.localdata == null) { d.localdata = [] } if (d.localdata != null) { e.unbindBindingUpdate(r.grid.element.id); e.dataBind(); var p = function (v) { if (v != undefined) { var w = e._changedrecords[0]; if (w) { b.each(e._changedrecords, function () { var x = this.index; var y = this.record; r.grid._updateFromAdapter = true; switch (v) { case "update": var z = r.grid.getrowid(x); r.grid.updaterow(z, y); r.grid._updateFromAdapter = false; return; case "add": r.grid.addrow(null, y); r.grid._updateFromAdapter = false; return; case "remove": var z = r.grid.getrowid(x); r.grid.deleterow(z); r.grid._updateFromAdapter = false; return } }) } } var m = r.totalrecords; q(r, v); if (v == "updateData") { r.refresh(); r.grid._updateGridData() } else { if (d.recordstartindex && this.virtualmode) { r.updateview(d.recordstartindex, d.recordstartindex + r.pagesize) } else { r.refresh() } r.update(m != r.totalrecords) } }; p(); e.bindBindingUpdate(r.grid.element.id, p) } break; case "json": case "jsonp": case "xml": case "xhtml": case "script": case "text": case "csv": case "tab": if (d.localdata != null) { e.unbindBindingUpdate(r.grid.element.id); e.dataBind(); var p = function (v) { var m = r.totalrecords; q(r); if (v == "updateData") { r.refresh(); r.grid._updateGridData() } else { if (d.recordstartindex) { r.updateview(d.recordstartindex, d.recordstartindex + r.pagesize) } else { r.refresh() } r.update(m != r.totalrecords) } }; p(); e.bindBindingUpdate(r.grid.element.id, p); return } var l = {}; var i = 0; var t = {}; for (var s = 0; s < this.filters.length; s++) { var j = this.filters[s].datafield; var f = this.filters[s].filter; var h = f.getfilters(); t[j + "operator"] = f.operator; for (var k = 0; k < h.length; k++) { h[k].datafield = j; var u = h[k].value; t["filtervalue" + i] = u.toString(); t["filtercondition" + i] = h[k].condition; t["filteroperator" + i] = h[k].operator; t["filterdatafield" + i] = j; i++ } } t.filterscount = i; t.groupscount = r.groups.length; for (var s = 0; s < r.groups.length; s++) { t["group" + s] = r.groups[s] } if (d.recordstartindex == undefined) { d.recordstartindex = 0 } if (d.recordendindex == undefined || d.recordendindex == 0) { if (r.grid.height && r.grid.height.toString().indexOf("%") == -1) { d.recordendindex = parseInt(r.grid.height) / r.grid.rowsheight; d.recordendindex += 2 } else { d.recordendindex = b(window).height() / r.grid.rowsheight } } b.extend(t, { sortdatafield: r.sortfield, sortorder: r.sortfielddirection, pagenum: r.pagenum, pagesize: r.grid.pagesize, recordstartindex: d.recordstartindex, recordendindex: d.recordendindex }); if (e._options.data) { b.extend(e._options.data, t) } else { if (d.data) { b.extend(t, d.data) } e._options.data = t } var p = function () { var v = b.jqx.browser.msie && b.jqx.browser.version < 9; var w = function () { var x = r.totalrecords; q(r); if (d.recordstartindex) { r.updateview(d.recordstartindex, d.recordstartindex + r.pagesize) } else { r.refresh() } r.update(x != r.totalrecords) }; if (v) { try { w() } catch (m) { } } else { w() } }; e.unbindDownloadComplete(r.grid.element.id); e.bindDownloadComplete(r.grid.element.id, p); e.dataBind() } }; this.getid = function (g, e, f) { if (b(g, e).length > 0) { return b(g, e).text() } if (g) { if (g.toString().length > 0) { var d = b(e).attr(g); if (d != null && d.toString().length > 0) { return d } } } return f }; this.getvaluebytype = function (g, d) { var e = g; if (d.type == "date") { var f = new Date(g); if (f.toString() == "NaN" || f.toString() == "Invalid Date") { if (b.jqx.dataFormat) { g = b.jqx.dataFormat.tryparsedate(g) } else { g = f } } else { g = f } if (g == null) { g = e } } else { if (d.type == "float") { var g = parseFloat(g); if (isNaN(g)) { g = e } } else { if (d.type == "int") { var g = parseInt(g); if (isNaN(g)) { g = e } } else { if (d.type == "bool") { if (g != null) { if (g.toLowerCase() == "false") { g = false } else { if (g.toLowerCase() == "true") { g = true } } } if (g == 1) { g = true } else { if (g == 0) { g = false } else { g = "" } } } } } } return g }; this.setpaging = function (d) { if (d.pageSize != undefined) { this.pagesize = d.pageSize } if (d.pageNum != undefined) { this.pagenum = Math.min(d.pageNum, Math.ceil(this.totalrows / this.pagesize)) } this.refresh() }; this.getpagingdetails = function () { return { pageSize: this.pagesize, pageNum: this.pagenum, totalrows: this.totalrows} }; this._clearcaches = function () { this.sortcache = {}; this.sortdata = null; this.changedrecords = new Array(); this.records = new Array(); this.rows = new Array(); this.cacheddata = new Array(); this.originaldata = new Array(); this.bounditems = new Array(); this.loadedrecords = new Array(); this.loadedrootgroups = new Array(); this.loadedgroups = new Array(); this.loadedgroupsByKey = new Array(); this._cachegrouppages = new Array(); this.recordsbyid = new Array(); this.cachedrecords = new Array(); this.recordids = new Array() }; this.addfilter = function (g, f) { var e = -1; for (var d = 0; d < this.filters.length; d++) { if (this.filters[d].datafield == g) { e = d; break } } if (e == -1) { this.filters[this.filters.length] = { filter: f, datafield: g} } else { this.filters[e] = { filter: f, datafield: g} } }; this.removefilter = function (e) { for (var d = 0; d < this.filters.length; d++) { if (this.filters[d].datafield == e) { this.filters.splice(d, 1); break } } }; this.getItemFromIndex = function (d) { return this.records[d] }; this.updaterow = function (j, l, h) { var d = this.filters && this.filters.length > 0; if (!d && l != undefined && j != undefined) { l.uid = j; if (!(l[this.source.id])) { l[this.source.id] = l.uid } var e = this.recordsbyid["id" + j]; var k = this.records.indexOf(e); if (k == -1) { return false } this.records[k] = l; if (this.cachedrecords) { this.cachedrecords[k] = l } if (h == true || h == undefined) { this.refresh() } this.changedrecords[l.uid] = { Type: "Update", OldData: e, Data: l }; return true } else { if (this.filters && this.filters.length > 0) { var f = this.cachedrecords; var e = null; var k = -1; for (var g = 0; g < f.length; g++) { if (f[g].uid == j) { e = f[g]; k = g; break } } if (e) { this.cachedrecords[k] = l; if (h == true || h == undefined) { this.refresh() } return true } } } return false }; this.addrow = function (h, i, d, g) { if (i != undefined) { if (!h) { i.uid = this.getid(this.source.id, i, this.totalrecords); var e = this.recordsbyid["id" + i.uid]; while (e != null) { var f = Math.floor(Math.random() * 10000).toString(); i.uid = f; e = this.recordsbyid["id" + f] } } else { i.uid = h } if (!(i[this.source.id])) { if (this.source.id != undefined) { i[this.source.id] = i.uid } } if (d == "last") { this.records.push(i) } else { if (typeof d === "number" && isFinite(d)) { this.records.splice(d, 0, i) } else { this.records.splice(0, 0, i) } } if (this.filters && this.filters.length > 0) { if (d == "last") { this.cachedrecords.push(i) } else { if (typeof d === "number" && isFinite(d)) { this.cachedrecords.splice(d, 0, i) } else { this.cachedrecords.splice(0, 0, i) } } } this.totalrecords++; if (g == true || g == undefined) { this.refresh() } this.changedrecords[i.uid] = { Type: "New", Data: i }; return true } return false }; this.deleterow = function (j, h) { if (j != undefined) { var d = this.filters && this.filters.length > 0; if (this.recordsbyid["id" + j] && !d) { var e = this.recordsbyid["id" + j]; var k = this.records.indexOf(e); this.changedrecords[j] = { Type: "Delete", Data: this.records[k] }; this.records.splice(k, 1); this.totalrecords--; if (h == true || h == undefined) { this.refresh() } return true } else { if (this.filters && this.filters.length > 0) { var f = this.cachedrecords; var e = null; var k = -1; for (var g = 0; g < f.length; g++) { if (f[g].uid == j) { e = f[g]; k = g; break } } if (e) { this.cachedrecords.splice(k, 1); if (h == true || h == undefined) { this.totalrecords = 0; this.records = this.cachedrecords; this.refresh() } return true } } } return false } return false }; this.reload = function (f, d, r, g, h, u, t) { var m = this; var l = new Array(); var o = f; var i = d; var j = r; var p = g; var k = i.length; var w = 0; var e = 0; var s, n; this.columns = []; this.bounditems = new Array(); this.loadedrecords = new Array(); this.loadedrootgroups = new Array(); this.loadedgroups = new Array(); this.loadedgroupsByKey = new Array(); this._cachegrouppages = new Array(); this.recordsbyid = {}; if (this.totalrecords == 0) { Object.size = function (z) { var y = 0, x; for (x in z) { if (z.hasOwnProperty(x)) { y++ } } return y }; var v = Object.size(o); this.totalrecords = v; b.each(this.records, function (y) { var z = this; var x = 0; b.each(z, function (A, B) { m.columns[x++] = A }); return false }) } if (this.virtualmode) { if (this.pageable) { this.updateview(); return } var u = 0; if (!this.groupable) { this.updateview(); return } else { var t = this.totalrecords } } else { var u = 0; var t = this.totalrecords } if (this.groupable && this.groups.length > 0 && this.loadgrouprecords) { var q = u; q = this.loadgrouprecords(0, u, t, j, e, p, i, k, l) } else { w = this.loadflatrecords(u, t, j, e, p, i, k, l) } if (k > e) { i.splice(e, k - e) } if (this.groups.length > 0 && this.groupable) { this.totalrows = q } else { this.totalrows = w } return l }; this.loadflatrecords = function (d, o, e, p, l, u, n, q) { var t = this; var k = d; var m = d; o = Math.min(o, this.totalrecords); var g = this.sortdata != null; var f = this.source.id && (this.source.datatype == "local" || this.source.datatype == "array" || this.source.datatype == ""); var j = g ? this.sortdata : this.records; for (var h = d; h < o; h++) { var s = {}; if (!g) { s = b.extend({}, j[h]); id = s[t.uniqueId]; s.boundindex = k; t.loadedrecords[k] = s; if (s.uid == undefined) { s.uid = t.getid(t.source.id, s, k) } t.recordsbyid["id" + s.uid] = j[h]; s.uniqueid = t.generatekey(); t.bounditems[this.bounditems.length] = s } else { s = b.extend({}, j[h].value); id = s[t.uniqueId]; s.boundindex = j[h].index; if (s.uid == undefined) { s.uid = t.getid(t.source.id, s, s.boundindex) } t.recordsbyid["id" + s.uid] = j[h].value; t.loadedrecords[k] = s; s.uniqueid = t.generatekey(); t.bounditems[s.boundindex] = s } if (p >= n || id != u[p][t.uniqueId] || (l && l[id])) { q[q.length] = p } u[p] = s; p++; s.visibleindex = m; m++; k++ } if (t.grid.summaryrows) { var r = k; b.each(t.grid.summaryrows, function () { var i = b.extend({}, this); i.boundindex = o++; t.loadedrecords[r] = i; i.uniqueid = t.generatekey(); t.bounditems[t.bounditems.length] = i; u[p] = i; p++; i.visibleindex = m; m++; r++ }) } return m }, this.updateview = function (n, o) { var q = this; var k = this.pagesize * this.pagenum; var m = 0; var r = new Array(); var e = this.filters; var j = this.updated; var l = r.length; if (this.pageable) { if (this.virtualmode) { if (!this.groupable || this.groups.length == 0) { this.loadflatrecords(this.pagesize * this.pagenum, this.pagesize * (1 + this.pagenum), e, m, j, r, l, []); this.totalrows = r.length } else { if (this.groupable && this.groups.length > 0 && this.loadgrouprecords) { if (this._cachegrouppages[this.pagenum + "_" + this.pagesize] != undefined) { this.rows = this._cachegrouppages[this.pagenum + "_" + this.pagesize]; this.totalrows = this.rows.length; return } this.loadgrouprecords(0, this.pagesize * this.pagenum, this.pagesize * (1 + this.pagenum), e, m, j, r, l, []); this._cachegrouppages[this.pagenum + "_" + this.pagesize] = this.rows; this.totalrows = this.rows.length; return } } } } else { if (this.virtualmode && (!this.groupable || this.groups.length == 0)) { var g = this.pagesize; if (g == 0) { g = Math.min(100, this.totalrecords) } var d = g * this.pagenum; if (this.loadedrecords.length == 0) { d = 0 } if (n != null && o != null) { this.loadflatrecords(n, o, e, m, j, r, l, []) } else { this.loadflatrecords(this.pagesize * this.pagenum, this.pagesize * (1 + this.pagenum), e, m, j, r, l, []) } this.totalrows = this.loadedrecords.length; this.rows = r; if (r.length >= g) { return } } } if (this.groupable && this.pageable && this.groups.length > 0 && this._updategroupsinpage) { r = this._updategroupsinpage(q, e, k, m, l, this.pagesize * this.pagenum, this.pagesize * (1 + this.pagenum)) } else { for (var h = this.pagesize * this.pagenum; h < this.pagesize * (1 + this.pagenum); h++) { var p = h < this.loadedrecords.length ? this.loadedrecords[h] : null; if (p == null) { continue } if (!this.pagesize || (k >= this.pagesize * this.pagenum && k <= this.pagesize * (this.pagenum + 1))) { r[m] = p; m++ } k++ } } if ((r.length == 0 || r.length < this.pagesize) && !this.pageable && this.virtualmode) { m = r.length; var f = r.length; for (var h = this.pagesize * this.pagenum; h < this.pagesize * (1 + this.pagenum) - f; h++) { var p = {}; p.boundindex = h + f; p.visibleindex = h + f; p.uniqueid = q.generatekey(); p.empty = true; q.bounditems[h + f] = p; r[m] = p; m++ } } this.rows = r }; this.generatekey = function () { var d = function () { return (((1 + Math.random()) * 16) | 0) }; return ("" + d() + d() + "-" + d() + "-" + d() + "-" + d() + "-" + d() + d() + d()) }; this.reloaddata = function () { this.reload(this.records, this.rows, this.filter, this.updated, true) }; this.refresh = function (h) { if (this.suspend) { return } if (h == undefined) { h = true } var l = this.rows.length; var k = this.totalrows; if (this.filters.length > 0 && !this.virtualmode) { var e = ""; var g = this.cachedrecords.length; var s = new Array(); this.totalrecords = 0; var n = this.cachedrecords; this._dataIndexToBoundIndex = new Array(); var f = this.filters.length; if (this.source != null && this.source.filter != undefined && this.source.localdata != undefined) { s = this.source.filter(this.filters, n, g); if (s == undefined) { s = new Array() } this.records = s } else { if (this.source.filter == null || this.source.filter == undefined) { for (var u = 0; u < g; u++) { var o = n[u]; var d = undefined; for (var m = 0; m < f; m++) { var e = this.filters[m].filter; var r = o[this.filters[m].datafield]; var t = e.evaluate(r); if (d == undefined) { d = t } else { if (e.operator == "or") { d = d || t } else { d = d && t } } } if (d) { s[s.length] = b.extend({ dataindex: u }, o); this._dataIndexToBoundIndex[u] = { boundindex: s.length - 1} } else { this._dataIndexToBoundIndex[u] = null } } this.records = s } } if (this.sortdata) { var i = this.sortfield; if (this.sortcache[i]) { this.sortdata = null; var p = this.sortcache[i].direction; this.sortcache[i] = null; this.sortby(this.sortfield, p); return } } } else { if (this.filters.length == 0 && !this.virtualmode) { if (this.cachedrecords) { this.totalrecords = 0; var n = this.cachedrecords; this.records = n; if (this.sortdata) { var i = this.sortfield; if (this.sortcache[i]) { this.sortdata = null; var p = this.sortcache[i].direction; this.sortcache[i] = null; this.sortby(this.sortfield, p); return } } } } } var q = this.reload(this.records, this.rows, this.filter, this.updated, h); this.updated = null; if (this.rowschangecallback != null) { if (k != totalrows) { this.rowschangecallback({ type: "PagingChanged", data: getpagingdetails() }) } if (l != rows.length) { this.rowschangecallback({ type: "RowsCountChanged", data: { previous: l, current: rows.length} }) } if (q.length > 0 || l != rows.length) { this.rowschangecallback({ type: "RowsChanged", data: { previous: l, current: rows.length, diff: q} }) } } }; return this } })(jQuery);
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function(a){a.extend(a.jqx._jqxGrid.prototype,{autoresizecolumns:function(t){if(t!="cells"&&t!="all"&&t!="column"){t="all"}var u=this;var k=this.getrows();if(this.pageable){k=this.dataview.rows}var e=k.length;if(e==undefined&&k!=undefined){var o=new Array();a.each(k,function(i){o.push(this)});k=o;e=k.length}var q=a("<span></span>");q.addClass("jqx-grid-cell");a(document.body).append(q);var c=[];var f=[];var b=[];var l=u.host.width();if(u.vScrollBar[0].style.visibility!="hidden"){l-=this.scrollbarsize+5}if(l<0){l=0}for(var r=0;r<e;r++){var h=k[r];for(var p=0;p<this.columns.records.length;p++){var d=this.columns.records[p];if(d.hidden){continue}if(f[d.displayfield]==undefined){f[d.displayfield]=0}if(b[d.displayfield]==undefined){b[d.displayfield]=""}var n=h[d.displayfield];if(d.cellsformat!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(n)){n=a.jqx.dataFormat.formatdate(n,d.cellsformat,this.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(n)){n=a.jqx.dataFormat.formatnumber(n,d.cellsformat,this.gridlocalization)}}}}else{if(d.cellsrenderer){var m=d.cellsrenderer(r,d,n);if(m!=undefined){n=m.toString()}}}if(t==undefined||t=="cells"||t=="all"){if(n!=null){var c=n.toString().length;if(c>f[d.displayfield]){f[d.displayfield]=c;b[d.displayfield]=n}}}if(t=="column"||t=="all"){if(d.text.toString().length>f[d.displayfield]){b[d.displayfield]=d.text}}}}for(var p=0;p<this.columns.records.length;p++){var d=this.columns.records[p];if(b[d.displayfield]==undefined){b[d.displayfield]=d.text}q[0].innerHTML=b[d.displayfield];var s=q.outerWidth()+10;if(q.children().length>0){s=q.children().outerWidth()+10}if(a.jqx.browser.msie&&a.jqx.browser.version<8){s+=10}if(s>d.maxwidth){s=d.maxwidth}if(d._width!=undefined){d.__width=d._width}d._width=null;if(d.maxwidth=="auto"||s<=d.maxwidth){var g=d.width;d.width=s;if(d._percentagewidth!=undefined){d._percentagewidth=(d.width/l)*100}this._raiseEvent(14,{columntext:d.text,column:d.getcolumnproperties(),datafield:d.datafield,displayfield:d.displayfield,oldwidth:g,newwidth:s})}}q.remove();this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);for(var p=0;p<this.columns.records.length;p++){var d=this.columns.records[p];if(d.__width!=undefined){d._width=d.__width}}},autoresizecolumn:function(f,b){if(b!="cells"&&b!="all"&&b!="column"){b="all"}if(f==undefined){return false}var r=this.getrows();if(this.pageable){r=this.dataview.rows}var g=this.getcolumn(f);if(g==undefined){return false}var e=r.length;var m=a("<span></span>");m.addClass("jqx-grid-cell");a(document.body).append(m);var d=0;var l="";var k=this;var c=k.host.width();if(k.vScrollBar[0].style.visibility!="hidden"){c-=this.scrollbarsize+5}if(c<0){c=0}if(b==undefined||b=="cells"||b=="all"){for(var h=0;h<e;h++){var o=r[h][g.displayfield];if(g.cellsformat!=""){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(o)){o=a.jqx.dataFormat.formatdate(o,g.cellsformat,this.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(o)){o=a.jqx.dataFormat.formatnumber(o,g.cellsformat,this.gridlocalization)}}}}else{if(g.cellsrenderer){var q=g.cellsrenderer(h,g,o);if(q!=undefined){o=q.toString()}}}if(o!=null){var p=o.toString().length;if(p>d){d=p;l=o}}}}if(b=="column"||b=="all"){if(g.text.toString().length>d){l=g.text}}if(l==undefined){l=g.text}m[0].innerHTML=l;var n=m.outerWidth()+10;if(a.jqx.browser.msie&&a.jqx.browser.version<8){n+=5}m.remove();if(n>g.maxwidth){n=g.maxwidth}if(g.maxwidth=="auto"||n<=g.maxwidth){var j=g.width;g.width=n;if(g._width!=undefined){g.__width=g._width}g._width=null;if(g._percentagewidth!=undefined){g._percentagewidth=(g.width/c)*100}this._updatecolumnwidths();this._updatecellwidths();this._raiseEvent(14,{columntext:g.text,column:g.getcolumnproperties(),datafield:f,displayfield:g.displayfield,oldwidth:j,newwidth:n});this._renderrows(this.virtualsizeinfo);if(g._width!=undefined){g._width=g.__width}}},_handlecolumnsresize:function(){var j=this;if(this.columnsresize){var i=false;if(j.isTouchDevice()){i=true}var f="mousemove.resize"+this.element.id;var c="mousedown.resize"+this.element.id;var d="mouseup.resize"+this.element.id;if(i){var f=a.jqx.mobile.getTouchEventName("touchmove")+".resize"+this.element.id;var c=a.jqx.mobile.getTouchEventName("touchstart")+".resize"+this.element.id;var d=a.jqx.mobile.getTouchEventName("touchend")+".resize"+this.element.id}this.removeHandler(a(document),f);this.addHandler(a(document),f,function(m){var n=a.data(document.body,"contextmenu"+j.element.id);if(n!=null){return true}if(j.resizablecolumn!=null&&!j.disabled&&j.resizing){if(j.resizeline!=null){var s=j.resizablecolumn.columnelement;if(s.coord().top-5>m.pageY){j.resizing=false;if(j._resizecolumn!=null&&j.resizeline!=null&&j.resizeline.css("display")=="block"){j._resizecolumn=null;j.resizeline.hide();j.resizestartline.hide();j.resizebackground.remove()}return}var p=j.host.coord();var v=parseInt(j.resizestartline.coord().left);var k=v-j._startcolumnwidth;var w=j.resizablecolumn.column.minwidth;if(w=="auto"){w=0}else{w=parseInt(w)}var l=j.resizablecolumn.column.maxwidth;if(l=="auto"){l=0}else{l=parseInt(l)}var q=m.pageX;if(i){var t=j.getTouches(m);var r=t[0];q=r.pageX}k+=w;var u=l>0?v+l:0;var o=l==0?true:j._startcolumnwidth+q-v<l?true:false;if(j.rtl){var o=true}if(o){if(!j.rtl){if(q>=p.left&&q>=k&&q<=p.left+j.host.width()){if(u!=0&&m.pageX<u){j.resizeline.css("left",q)}else{if(u==0){j.resizeline.css("left",q)}}if(i){return false}}}else{if(q>=p.left&&q<=p.left+j.host.width()){j.resizeline.css("left",q);if(i){return false}}}}}}if(!i&&j.resizablecolumn!=null){return false}});this.removeHandler(a(document),c);this.addHandler(a(document),c,function(m){var l=a.data(document.body,"contextmenu"+j.element.id);if(l!=null){return true}if(j.resizablecolumn!=null&&!j.disabled){var k=j.resizablecolumn.columnelement;if(k.coord().top+k.height()+5<m.pageY){j.resizablecolumn=null;return}if(k.coord().top-5>m.pageY){j.resizablecolumn=null;return}j._startcolumnwidth=j.resizablecolumn.column.width;j.resizablecolumn.column._width=null;a(document.body).addClass("jqx-disableselect");j._mouseDownResize=new Date();j.resizing=true;j._resizecolumn=j.resizablecolumn.column;j.resizeline=j.resizeline||a('<div style="position: absolute;"></div>');j.resizestartline=j.resizestartline||a('<div style="position: absolute;"></div>');j.resizebackground=j.resizebackground||a('<div style="position: absolute; left: 0; top: 0; background: #000;"></div>');j.resizebackground.css("opacity",0.01);j.resizebackground.css("cursor","col-resize");j.resizeline.css("cursor","col-resize");j.resizestartline.css("cursor","col-resize");j.resizeline.addClass(j.toThemeProperty("jqx-grid-column-resizeline"));j.resizestartline.addClass(j.toThemeProperty("jqx-grid-column-resizestartline"));a(document.body).append(j.resizeline);a(document.body).append(j.resizestartline);a(document.body).append(j.resizebackground);var n=j.resizablecolumn.columnelement.coord();j.resizebackground.css("left",j.host.coord().left);j.resizebackground.css("top",j.host.coord().top);j.resizebackground.width(j.host.width());j.resizebackground.height(j.host.height());j.resizebackground.css("z-index",999999999);var o=function(q){if(!j.rtl){q.css("left",parseInt(n.left)+j._startcolumnwidth)}else{q.css("left",parseInt(n.left))}var t=j._groupsheader();var s=t?j.groupsheader.height():0;var v=j.showtoolbar?j.toolbarheight:0;s+=v;var p=j.showstatusbar?j.statusbarheight:0;s+=p;var r=0;if(j.pageable){r=j.pagerheight}var u=j.hScrollBar.css("visibility")=="visible"?17:0;q.css("top",parseInt(n.top));q.css("z-index",9999999999);q.height(j.host.height()-r-s-u);if(j.enableanimations){q.show("fast")}else{q.show()}};o(j.resizeline);o(j.resizestartline);j.dragmousedown=null}});var e=function(){a(document.body).removeClass("jqx-disableselect");if(!j.resizing){return}j._mouseUpResize=new Date();var o=j._mouseUpResize-j._mouseDownResize;if(o<200){j.resizing=false;if(j._resizecolumn!=null&&j.resizeline!=null&&j.resizeline.css("display")=="block"){j._resizecolumn=null;j.resizeline.hide();j.resizestartline.hide();j.resizebackground.remove()}return}j.resizing=false;if(j.disabled){return}var m=j.host.width();if(j.vScrollBar[0].style.visibility!="hidden"){m-=20}if(m<0){m=0}if(j._resizecolumn!=null&&j.resizeline!=null&&j.resizeline.css("display")=="block"){var p=parseInt(j.resizeline.css("left"));var l=parseInt(j.resizestartline.css("left"));var k=j._startcolumnwidth+p-l;if(j.rtl){var k=j._startcolumnwidth-p+l}var n=j._resizecolumn.width;j._closemenu();j._resizecolumn.width=k;if(j._resizecolumn._percentagewidth!=undefined){j._resizecolumn._percentagewidth=(k/m)*100}j._updatecolumnwidths();j._updatecellwidths();j._raiseEvent(14,{columntext:j._resizecolumn.text,column:j._resizecolumn.getcolumnproperties(),datafield:j._resizecolumn.datafield,oldwidth:n,newwidth:k});j._renderrows(j.virtualsizeinfo);if(j.autosavestate){if(j.savestate){j.savestate()}}j._resizecolumn=null;j.resizeline.hide();j.resizestartline.hide();j.resizebackground.remove();j.resizablecolumn=null}else{j.resizablecolumn=null}};try{if(document.referrer!=""||window.frameElement){var b=null;if(window.top!=null&&window.top!=window.self){if(window.parent&&document.referrer){b=document.referrer}}if(b&&b.indexOf(document.location.host)!=-1){var g=function(k){e()};if(window.top.document.addEventListener){window.top.document.addEventListener("mouseup",g,false)}else{if(window.top.document.attachEvent){window.top.document.attachEvent("onmouseup",g)}}}}}catch(h){}this.removeHandler(a(document),d);this.addHandler(a(document),d,function(l){var k=a.data(document.body,"contextmenu"+j.element.id);if(k!=null){return true}e()})}}})})(jQuery);
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function(a){a.extend(a.jqx._jqxGrid.prototype,{_updatefilterrowui:function(f){var l=this.columns.records.length;var e=0;for(var h=0;h<l;h++){var g=this.columns.records[h];var c=g.width;if(c<g.minwidth){c=g.minwidth}if(c>g.maxwidth){c=g.maxwidth}var k=a(this.filterrow[0].cells[h]);k.css("left",e);var i=true;if(k.width()==c){i=false}if(f){i=true}k.width(c);k[0].left=e;if(!(g.hidden&&g.hideable)){e+=c}else{k.css("display","none")}if(!i){continue}if(g.createfilterwidget&&g.filtertype=="custom"){g.createfilterwidget(g,k)}else{if(g.filterable){var d=function(m,n){var j=a(n.children()[0]);j.width(c-10)};switch(g.filtertype){case"number":a(k.children()[0]).width(c);k.find("input").width(c-30);break;case"date":if(this.host.jqxDateTimeInput){a(k.children()[0]).jqxDateTimeInput({width:c-10})}else{d(this,k)}break;case"textbox":case"default":d(this,k);break;case"list":case"checkedlist":if(this.host.jqxDropDownList){a(k.children()[0]).jqxDropDownList({width:c-10})}else{d(this,k)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){d(this,k)}break}}}}var b=a(this.filterrow.children()[0]);b.width(parseInt(e)+2);b.height(this.filterrowheight)},clearfilterrow:function(){this._disablefilterrow=true;var b=this.columns.records.length;var f=0;for(var d=0;d<b;d++){var c=this.columns.records[d];var g=a(this.filterrow[0].cells[d]);if(c.filterable){var e=function(i,j){var h=a(j.children()[0]);h.val("");if(h[0]){i["_oldWriteText"+h[0].id]=""}};switch(c.filtertype){case"number":g.find("input").val("");break;case"date":if(this.host.jqxDateTimeInput){a(g.children()[0]).jqxDateTimeInput("setDate",null)}else{e(this,g)}break;case"textbox":case"default":e(this,g);break;case"list":if(this.host.jqxDropDownList){a(g.children()[0]).jqxDropDownList("clearSelection")}else{e(this,g)}break;case"checkedlist":if(this.host.jqxDropDownList){a(g.children()[0]).jqxDropDownList("checkAll",false)}else{e(this,g)}break;case"bool":case"boolean":if(!this.host.jqxCheckBox){e(this,g)}else{a(g.children()[0]).jqxCheckBox({checked:null})}break}}}this._disablefilterrow=false},_applyfilterfromfilterrow:function(){if(this._disablefilterrow==true){return}var z=this.columns.records.length;var C=this;for(var t=0;t<z;t++){var k=new a.jqx.filter();var u=this.columns.records[t];if(!u.filterable){continue}var f=C._getcolumntypebydatafield(u);var d=C._getfiltertype(f);var l=1;var D=true;var e=u.filtertype;var A=function(j,K,H){var i=true;if(j._filterwidget){var F=j._filterwidget.val();if(F!=""){var I="equal";if(K=="stringfilter"){var I="contains"}if(K!="stringfilter"){var J=0;if(F.indexOf(">")!=-1){I="greater_than";J=1}if(F.indexOf("<")!=-1){I="less_than";J=1}if(F.indexOf("=")!=-1){if(I=="greater_than"){I="greater_than_or_equal";J=2}else{if(I=="less_than"){I="less_than_or_equal";J=2}else{I="equal";J=1}}}if(J!=0){F=F.substring(J);if(F.length<1){return false}}}if(j.filtercondition!=undefined){I=j.filtercondition}var G=H.createfilter(K,F,I);H.addfilter(l,G)}else{i=false}}return i};switch(u.filtertype){case"date":if(u._filterwidget.jqxDateTimeInput){var p=u._filterwidget.jqxDateTimeInput("getRange");if(p!=null&&p.from!=null&&p.to!=null){var o="GREATER_THAN_OR_EQUAL";var r=new Date(0);r.setHours(0);r.setFullYear(p.from.getFullYear(),p.from.getMonth(),p.from.getDate());var q=new Date(0);q.setHours(0);q.setFullYear(p.to.getFullYear(),p.to.getMonth(),p.to.getDate());q.setHours(p.to.getHours());q.setMinutes(p.to.getMinutes());q.setSeconds(p.to.getSeconds());var y=k.createfilter(d,r,o);k.addfilter(0,y);var c="LESS_THAN_OR_EQUAL";var x=k.createfilter(d,q,c);k.addfilter(0,x)}else{D=false}}else{D=A(u,d,k)}break;case"number":if(u._filterwidget){var p=u._filterwidget.find("input").val();var h=u._filterwidget.find(".filter").jqxDropDownList("selectedIndex");var w=k.getoperatorsbyfiltertype(d)[h];if(C.updatefilterconditions){var E=C.updatefilterconditions(d,k.getoperatorsbyfiltertype(d));if(E!=undefined){k.setoperatorsbyfiltertype(d,E)}var w=k.getoperatorsbyfiltertype(d)[h]}var n=w=="NULL"||w=="NOT_NULL";var s=w=="EMPTY"||w=="NOT_EMPTY";if(p!=undefined&&p.length>0||n||s){y=k.createfilter(d,p,w,null,u.cellsformat,C.gridlocalization);k.addfilter(0,y)}else{D=false}}else{D=false}break;case"textbox":case"default":D=A(u,d,k);break;case"bool":case"boolean":if(u._filterwidget.jqxCheckBox){var p=u._filterwidget.jqxCheckBox("checked");if(p!=null){var o="equal";var m=k.createfilter(d,p,o);k.addfilter(l,m)}else{D=false}}else{D=A(u,d,k)}break;case"list":var g=u._filterwidget.jqxDropDownList("listBox");if(g.selectedIndex>0){var b=g.getItem(g.selectedIndex);var p=b.value;var o="equal";var m=k.createfilter(d,p,o);k.addfilter(l,m)}else{D=false}break;case"checkedlist":if(u._filterwidget.jqxDropDownList){var g=u._filterwidget.jqxDropDownList("listBox");var B=g.getCheckedItems();if(B.length==0){for(var v=1;v<g.items.length;v++){var p=g.items[v].value;var o="not_equal";var m=k.createfilter(d,p,o);k.addfilter(0,m)}D=true}else{if(B.length!=g.items.length){for(var v=0;v<B.length;v++){var p=B[v].value;var o="equal";var m=k.createfilter(d,p,o);k.addfilter(l,m)}}else{D=false}}}else{D=A(u,d,k)}break}if(!this._loading){if(D){this.addfilter(u.displayfield,k,false)}else{this.removefilter(u.displayfield,false)}}}if(!this._loading){this.applyfilters("filterrow")}},_updatefilterrow:function(){var b=a('<div style="position: relative;" id="row00'+this.element.id+'"></div>');var f=0;var o=this.columns.records.length;var m=this.toThemeProperty("jqx-grid-cell");m+=" "+this.toThemeProperty("jqx-grid-cell-pinned");var q=o+10;var r=new Array();var n=this;this.filterrow[0].cells=r;b.height(this.filterrowheight);this.filterrow.children().detach();this.filterrow.append(b);if(!this._filterrowcache){this._filterrowcache=new Array()}var g=false;var d=new Array();for(var h=0;h<o;h++){var e=this.columns.records[h];var c=e.width;if(c<e.minwidth){c=e.minwidth}if(c>e.maxwidth){c=e.maxwidth}var l=a('<div style="overflow: hidden; position: absolute; height: 100%;" class="'+m+'"></div>');b.append(l);l.css("left",f);if(this.rtl){l.css("z-index",q++);l.css("border-left-width","1px")}else{l.css("z-index",q--)}l.width(c);l[0].left=f;if(!(e.hidden&&e.hideable)){f+=c}else{l.css("display","none")}r[r.length]=l[0];var k=true;if(this.groupable){var p=this.rowdetails?1:0;if(this.groups.length+p>h){k=false}}if(this.rowdetails&&h==0){k=false}if(k){if(e.filtertype=="custom"&&e.createfilterwidget){var i=function(){n._applyfilterfromfilterrow()};e.createfilterwidget(e,l,i)}else{if(e.filterable){if(this._filterrowcache[e.datafield]){g=true;l.append(this._filterrowcache[e.datafield]);e._filterwidget=this._filterrowcache[e.datafield]}else{this._addfilterwidget(e,l,c);d[e.datafield]=e._filterwidget}}}}}this._filterrowcache=d;if(a.jqx.browser.msie&&a.jqx.browser.version<8){b.css("z-index",q--)}b.width(parseInt(f)+2);this.filterrow.addClass(m);this.filterrow.css("border-top-width","1px");if(g){this._updatefilterrowui(true)}},_addfilterwidget:function(z,d,x){var C=this;var w="";for(var A=0;A<C.dataview.filters.length;A++){var u=C.dataview.filters[A];if(u.datafield&&u.datafield==z.datafield){w=u.filter.getfilters()[0].value;break}}var g=function(D,E){var f=a('<input autocomplete="off" type="textarea"/>');f[0].id=a.jqx.utilities.createId();f.addClass(D.toThemeProperty("jqx-input"));f.addClass(D.toThemeProperty("jqx-widget-content"));if(D.rtl){f.css("direction","rtl")}f.appendTo(E);f.width(x-10);f.height(D.filterrowheight-10);f.css("margin","4px");if(z.createfilterwidget){z.createfilterwidget(z,E,f)}z._filterwidget=f;f.focus(function(){D.focusedfilter=f});f.keydown(function(F){if(F.keyCode=="13"){D._applyfilterfromfilterrow()}if(f[0]._writeTimer){clearTimeout(f[0]._writeTimer)}f[0]._writeTimer=setTimeout(function(){if(!D._loading){if(D["_oldWriteText"+f[0].id]!=f.val()){D._applyfilterfromfilterrow();D["_oldWriteText"+f[0].id]=f.val()}}},400);D.focusedfilter=f});D.host.removeClass("jqx-disableselect");D.content.removeClass("jqx-disableselect");f.val(w)};switch(z.filtertype){case"number":var k=a("<div></div>");k.width(d.width());k.height(this.filterrowheight);d.append(k);var x=d.width()-20;var p=function(E,F,f){var D=a('<input style="float: left;" autocomplete="off" type="textarea"/>');if(C.rtl){D.css("float","right");D.css("direction","rtl")}D[0].id=a.jqx.utilities.createId();D.addClass(C.toThemeProperty("jqx-input"));D.addClass(C.toThemeProperty("jqx-widget-content"));D.appendTo(E);D.width(F-10);D.height(C.filterrowheight-10);D.css("margin","4px");D.css("margin-right","2px");D.keydown(function(G){if(G.keyCode=="13"){C._applyfilterfromfilterrow()}if(D[0]._writeTimer){clearTimeout(D[0]._writeTimer)}D[0]._writeTimer=setTimeout(function(){if(!C._loading){if(C["_oldWriteText"+D[0].id]!=D.val()){C._applyfilterfromfilterrow();C["_oldWriteText"+D[0].id]=D.val()}}},400);C.focusedfilter=D});D.val(w);return D};p(k,x);var y=C._getfiltersbytype("number");var q=a("<div class='filter' style='float: left;'></div>");q.css("margin-top","4px");q.appendTo(k);if(C.rtl){q.css("float","right")}var h=2;if(z.filtercondition!=null){var e=y.indexOf(z.filtercondition);if(e!=-1){h=e}}q.jqxDropDownList({rtl:C.rtl,dropDownHorizontalAlignment:"right",enableBrowserBoundsDetection:true,selectedIndex:h,width:18,height:20,dropDownHeight:150,dropDownWidth:170,source:y,theme:C.theme});q.jqxDropDownList({selectionRenderer:function(f){return""}});q.jqxDropDownList("setContent","");q.find(".jqx-dropdownlist-content").hide();if(z.createfilterwidget){z.createfilterwidget(z,d,k)}z._filterwidget=k;this.addHandler(q,"select",function(){if(z._filterwidget.find("input").val().length>0){C._applyfilterfromfilterrow()}});break;case"textbox":case"default":default:g(this,d);break;case"date":if(this.host.jqxDateTimeInput){var b=a("<div></div>");b.css("margin","4px");b.appendTo(d);var l={calendar:this.gridlocalization,todayString:this.gridlocalization.todaystring,clearString:this.gridlocalization.clearstring};b.jqxDateTimeInput({localization:l,rtl:C.rtl,showFooter:true,formatString:z.cellsformat,selectionMode:"range",value:null,theme:this.theme,width:x-10,height:this.filterrowheight-10});if(z.createfilterwidget){z.createfilterwidget(z,d,b)}z._filterwidget=b;this.addHandler(b,"valuechanged",function(f){C._applyfilterfromfilterrow();C.focusedfilter=null})}else{g(this,d)}break;case"list":case"checkedlist":if(this.host.jqxDropDownList){var o=this._getfilterdataadapter(z);var j=true;var q=a("<div></div>");q.css("margin","4px");var r=z.datafield;var s=z.filtertype=="checkedlist"?true:false;q.jqxDropDownList({rtl:C.rtl,checkboxes:s,source:o,autoDropDownHeight:j,theme:this.theme,width:x-10,height:this.filterrowheight-10,displayMember:z.displayfield,valueMember:r});q.appendTo(d);var n=q.jqxDropDownList("getItems");var c=q.jqxDropDownList("listBox");if(n.length<8){q.jqxDropDownList("autoDropDownHeight",true)}else{q.jqxDropDownList("autoDropDownHeight",false);j=false}if(s){q.jqxDropDownList({selectionRenderer:function(){return C.gridlocalization.filterselectstring}});var v=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+C.gridlocalization.filterselectstring+"</span>");v.addClass(this.toThemeProperty("jqx-item"));if(c!=undefined){if(!j){c.host.height(200)}c.insertAt(C.gridlocalization.filterselectallstring,0);q.jqxDropDownList("setContent",v);var i=true;var B=new Array();c.checkAll(false);C.addHandler(c.host,"checkChange",function(E){q[0]._selectionChanged=true;if(!i){return}if(E.args.label!=C.gridlocalization.filterselectallstring){i=false;c.host.jqxListBox("checkIndex",0,true,false);var f=c.host.jqxListBox("getCheckedItems");var D=c.host.jqxListBox("getItems");if(f.length==1){c.host.jqxListBox("uncheckIndex",0,true,false)}else{if(D.length!=f.length){c.host.jqxListBox("indeterminateIndex",0,true,false)}}i=true}else{i=false;if(E.args.checked){c.host.jqxListBox("checkAll",false)}else{c.host.jqxListBox("uncheckAll",false)}i=true}})}}else{c.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0);q.jqxDropDownList({selectedIndex:0})}if(z.createfilterwidget){z.createfilterwidget(z,d,q)}z._filterwidget=q;var m=q.jqxDropDownList("dropdownlistWrapper");if(z.filtertype=="list"){this.addHandler(q,"select",function(f){if(f.args&&f.args.type!="none"){C._applyfilterfromfilterrow();C.focusedfilter=null}})}else{this.addHandler(q,"close",function(f){if(q[0]._selectionChanged){C._applyfilterfromfilterrow();C.focusedfilter=null;q[0]._selectionChanged=false}})}}else{g(this,d)}break;case"bool":case"boolean":if(this.host.jqxCheckBox){var t=a('<div tabIndex=0 style="opacity: 0.99; position: absolute; top: 50%; left: 50%; margin-top: -7px; margin-left: -10px;"></div>');t.appendTo(d);t.jqxCheckBox({enableContainerClick:false,animationShowDelay:0,animationHideDelay:0,hasThreeStates:true,theme:this.theme,checked:null});if(z.createfilterwidget){z.createfilterwidget(z,d,t)}if(w===true||w=="true"){t.jqxCheckBox({checked:true})}else{if(w===false||w=="false"){t.jqxCheckBox({checked:false})}}z._filterwidget=t;this.addHandler(t,"change",function(f){if(f.args){C.focusedfilter=null;C._applyfilterfromfilterrow()}})}else{g(this,d)}break}},_getfilterdataadapter:function(b){var c=this.source._source?true:false;if(!c){dataadapter=new a.jqx.dataAdapter(this.source,{autoBind:false,uniqueDataFields:[b.displayfield],autoSort:true,autoSortField:b.displayfield,async:false})}else{var d={localdata:this.source.records,datatype:this.source.datatype,async:false};dataadapter=new a.jqx.dataAdapter(d,{autoBind:false,autoSort:true,autoSortField:b.displayfield,async:false,uniqueDataFields:[b.displayfield]})}if(b.filteritems&&b.filteritems.length>0){var d={localdata:b.filteritems,datatype:this.source.datatype,async:false};dataadapter=new a.jqx.dataAdapter(d,{autoBind:false,async:false})}return dataadapter},refreshfilterrow:function(){if(!this.showfilterrow){return}this._updatefilterrowui();this._updatelistfilters();var h=this;var l=this.columns.records.length;for(var d=0;d<l;d++){var c=this.columns.records[d];if(c.filterable){if(c.filter){var b=c.filter.getfilters();if(b.length>0){var k=b[0].value;var e=c._filterwidget;var f=c._filterwidget.parent();if(e!=null){switch(c.filtertype){case"number":f.find("input").val(k);if(this.host.jqxDropDownList){var i=c.filter.getoperatorsbyfiltertype("numericfilter");e.find(".filter").jqxDropDownList("selectIndex",i.indexOf(b[0].condition))}break;case"date":if(this.host.jqxDateTimeInput){var k=c.filter.getfilterat(0).filtervalue;var g=c.filter.getfilterat(1).filtervalue;a(f.children()[0]).jqxDateTimeInput("setRange",new Date(k),new Date(g))}else{e.val(k)}break;case"textbox":case"default":e.val(k);h["_oldWriteText"+e[0].id]=k;break;case"bool":case"boolean":if(!this.host.jqxCheckBox){e.val(k)}else{a(f.children()[0]).jqxCheckBox({checked:k})}break}}}}}}},_destroyedfilters:function(){var g=this;var b=this.columns.records.length;for(var f=0;f<b;f++){var c=this.columns.records[f];if(c.filterable){var h=c._filterwidget;if(c.filtertype=="list"||c.filtertype=="checkedlist"){this.removeHandler(h,"select");this.removeHandler(h,"close");h.jqxDropDownList("destroy")}else{if(c.filtertype=="date"){this.removeHandler(h,"valuechanged");h.jqxDateTimeInput("destroy")}else{if(c.filtertype=="bool"){this.removeHandler(h,"change");h.jqxCheckBox("destroy")}else{if(c.filtertype=="number"){var d=h.find(".jqx-input");this.removeHandler(d,"keydown");var e=a(h.children()[1]);e.jqxDropDownList("destroy")}else{this.removeHandler(h,"keydown")}}}}h.remove()}}},_updatelistfilters:function(n){var o=this;var r=this.columns.records.length;for(var h=0;h<r;h++){var f=this.columns.records[h];if(f.filterable){if(f.filtertype=="list"||f.filtertype=="checkedlist"){var m=f._filterwidget;if(!n){if(f.filter==undefined){m.jqxDropDownList("renderSelection");continue}}else{var b=this._getfilterdataadapter(f);b.dataBind();var g=m.jqxDropDownList("getItems");var s=true;if(g.length!=b.records.length+1){s=false}if(s){for(var k=1;k<g.length;k++){if(g[k].label!=b.records[k-1][f.displayfield]){s=false;break}}}if(s){continue}}m.jqxDropDownList("dataBind");var l=f.filtertype=="checkedlist"?true:false;var g=m.jqxDropDownList("getItems");var c=m.jqxDropDownList("listBox");if(l){m.jqxDropDownList({selectionRenderer:function(){return o.gridlocalization.filterselectstring}});var e=a('<span style="top: 2px; position: relative; color: inherit; border: none; background-color: transparent;">'+this.gridlocalization.filterselectstring+"</span>");e.addClass(this.toThemeProperty("jqx-item"));c.insertAt(this.gridlocalization.filterselectallstring,0);m.jqxDropDownList("setContent",e);c.checkAll(false);if(f.filter){c.uncheckAll(false);var d=f.filter.getfilters();for(var k=0;k<c.items.length;k++){var q=c.items[k].label;a.each(d,function(){if(this.condition=="NOT_EQUAL"){return true}if(q==this.value){c.checkIndex(k,false,false)}})}c._updateCheckedItems();var p=c.getCheckedItems().length;if(c.items.length!=p&&p>0){c.host.jqxListBox("indeterminateIndex",0,true,false)}}}else{c.insertAt({label:this.gridlocalization.filterchoosestring,value:""},0);m.jqxDropDownList({selectedIndex:0})}if(g.length<8){m.jqxDropDownList("autoDropDownHeight",true)}else{m.jqxDropDownList("autoDropDownHeight",false)}}}}},_renderfiltercolumn:function(){var b=this;if(this.filterable){a.each(this.columns.records,function(c,d){if(b.autoshowfiltericon){if(this.filter){a(this.filtericon).show()}else{a(this.filtericon).hide()}}else{if(this.filterable){a(this.filtericon).show()}}})}},_getcolumntypebydatafield:function(e){var f=this;var d="string";var c=f.source.datafields||((f.source._source)?f.source._source.datafields:null);if(c){var h="";a.each(c,function(){if(this.name==e.displayfield){if(this.type){h=this.type}return false}});if(h){return h}}if(e!=null){if(this.dataview.cachedrecords==undefined){return d}var b=null;if(!this.virtualmode){if(this.dataview.cachedrecords.length==0){return d}b=this.dataview.cachedrecords[0][e.displayfield];if(b!=null&&b.toString()==""){return"string"}}else{a.each(this.dataview.cachedrecords,function(){b=this[e.displayfield];return false})}if(b!=null){if(typeof b=="boolean"){d="boolean"}else{if(a.jqx.dataFormat.isNumber(b)){d="number"}else{var g=new Date(b);if(g.toString()=="NaN"||g.toString()=="Invalid Date"){if(a.jqx.dataFormat){g=a.jqx.dataFormat.tryparsedate(b);if(g!=null){return"date"}else{d="string"}}else{d="string"}}else{d="date"}}}}}return d},_getfiltersbytype:function(b){var c=this;var d="";switch(b){case"number":case"float":case"int":d=c.gridlocalization.filternumericcomparisonoperators;break;case"date":d=c.gridlocalization.filterdatecomparisonoperators;break;case"boolean":case"bool":d=c.gridlocalization.filterbooleancomparisonoperators;break;case"string":default:d=c.gridlocalization.filterstringcomparisonoperators;break}return d},_updatefilterpanel:function(z,c,d){if(z==null||z==undefined){z=this}var e=z._getcolumntypebydatafield(d);var u=z._getfiltersbytype(e);if(!z.host.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}var s=a(c);var o=s.find("#filterclearbutton"+z.element.id);var i=s.find("#filterbutton"+z.element.id);var w=s.find("#filter1"+z.element.id);var t=s.find("#filter2"+z.element.id);var v=s.find("#filter3"+z.element.id);var r=s.find(".filtertext1"+z.element.id);var q=s.find(".filtertext2"+z.element.id);r.val("");q.val("");this.removeHandler(i,"click");this.addHandler(i,"click",function(){z._buildfilter(z,c,d);z._closemenu()});this.removeHandler(o,"click");this.addHandler(o,"click",function(){z._clearfilter(z,c,d);z._closemenu()});if(w.jqxDropDownList("source")!=u){w.jqxDropDownList({enableBrowserBoundsDetection:false,source:u});v.jqxDropDownList({enableBrowserBoundsDetection:false,source:u})}if(e=="boolean"||e=="bool"){w.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0});v.jqxDropDownList({autoDropDownHeight:true,selectedIndex:0})}else{var f=false;if(u&&u.length){if(u.length<5){f=true}}w.jqxDropDownList({autoDropDownHeight:f,selectedIndex:2});v.jqxDropDownList({autoDropDownHeight:f,selectedIndex:2})}t.jqxDropDownList({selectedIndex:0});var m=d.filter;if(m!=null){var y=m.getfilterat(0);var x=m.getfilterat(1);var l=m.getoperatorat(0);var j=[];var b="";switch(e){case"number":case"int":case"float":case"decimal":b="numericfilter";j=m.getoperatorsbyfiltertype("numericfilter");break;case"boolean":case"bool":b="booleanfilter";j=m.getoperatorsbyfiltertype("booleanfilter");break;case"date":case"time":b="datefilter";j=m.getoperatorsbyfiltertype("datefilter");break;case"string":b="stringfilter";j=m.getoperatorsbyfiltertype("stringfilter");break}if(z.updatefilterconditions){var A=z.updatefilterconditions(b,j);if(A!=undefined){m.setoperatorsbyfiltertype(b,A);j=A}}var k=this.enableanimations?"default":"none";if(y!=null){var h=j.indexOf(y.comparisonoperator);var p=y.filtervalue;r.val(p);w.jqxDropDownList({selectedIndex:h,animationType:k})}if(x!=null){var g=j.indexOf(x.comparisonoperator);var n=x.filtervalue;q.val(n);v.jqxDropDownList({selectedIndex:g,animationType:k})}if(m.getoperatorat(0)==undefined){t.jqxDropDownList({selectedIndex:0,animationType:k})}else{if(m.getoperatorat(0)=="and"||m.getoperatorat(0)==0){t.jqxDropDownList({selectedIndex:0})}else{t.jqxDropDownList({selectedIndex:1})}}}if(z.updatefilterpanel){z.updatefilterpanel(w,v,t,r,q,i,o,m,b,j)}r.focus();setTimeout(function(){r.focus()},10)},_getfiltertype:function(b){var c="stringfilter";switch(b){case"number":case"int":case"float":case"decimal":c="numericfilter";break;case"boolean":case"bool":c="booleanfilter";break;case"date":case"time":c="datefilter";break;case"string":c="stringfilter";break}return c},_buildfilter:function(A,d,e){var x=a(d).find("#filter1"+A.element.id);var j=a(d).find("#filter2"+A.element.id);var u=a(d).find("#filter3"+A.element.id);var q=a(d).find(".filtertext1"+A.element.id);var p=a(d).find(".filtertext2"+A.element.id);var o=q.val();var m=p.val();var f=A._getcolumntypebydatafield(e);var r=A._getfiltersbytype(f);var h=x.jqxDropDownList("selectedIndex");var w=j.jqxDropDownList("selectedIndex");var g=u.jqxDropDownList("selectedIndex");var i=new a.jqx.filter();var z=null;var y=null;var c=A._getfiltertype(f);if(A.updatefilterconditions){var B=A.updatefilterconditions(c,i.getoperatorsbyfiltertype(c));if(B!=undefined){i.setoperatorsbyfiltertype(c,B)}}var b=false;var v=i.getoperatorsbyfiltertype(c)[h];var u=i.getoperatorsbyfiltertype(c)[g];var n=v=="NULL"||v=="NOT_NULL";var t=v=="EMPTY"||v=="NOT_EMPTY";if(v==undefined){v=i.getoperatorsbyfiltertype(c)[0]}if(u==undefined){u=i.getoperatorsbyfiltertype(c)[0]}if(o.length>0||n||t){z=i.createfilter(c,o,v,null,e.cellsformat,A.gridlocalization);i.addfilter(w,z);b=true}var l=u=="NULL"||u=="NOT_NULL";var s=u=="EMPTY"||u=="NOT_EMPTY";if(m.length>0||l||s){y=i.createfilter(c,m,u,null,e.cellsformat,A.gridlocalization);i.addfilter(w,y);b=true}if(b){var k=e.displayfield;this.addfilter(k,i,true)}else{this._clearfilter(A,d,e)}},_clearfilter:function(e,c,d){var b=d.displayfield;this.removefilter(b,true)},addfilter:function(d,e,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var f=this.getcolumn(d);var b=this._getcolumn(d);if(f==undefined||f==null){return}f.filter=e;b.filter=e;this.dataview.addfilter(d,e);if(c==true&&c!=undefined){this.applyfilters("add")}},removefilter:function(d,c){if(this._loading){throw new Error("jqxGrid: "+this.loadingerrormessage);return false}var e=this.getcolumn(d);var b=this._getcolumn(d);if(e==undefined||e==null){return}if(e.filter==null){return}this.dataview.removefilter(d,e.filter);e.filter=null;b.filter=null;if(c==true||c!=undefined){this.applyfilters("remove")}},applyfilters:function(f){var c=false;if(this.dataview.filters.length>=0&&(this.virtualmode||!this.source.localdata)){if(this.source!=null&&this.source.filter){var g=-1;if(this.pageable){g=this.dataview.pagenum;this.dataview.pagenum=0}else{this.vScrollInstance.setPosition(0)}this.source.filter(this.dataview.filters,this.dataview.records,this.dataview.records.length);if(this.pageable){this.dataview.pagenum=g}}}if(this.dataview.clearsortdata){this.dataview.clearsortdata()}if(!this.virtualmode){var b=this.selectedrowindexes;var d=this;if(b.length>0){if(this.dataview.filters&&this.dataview.filters.length==0){var e=new Array();a.each(b,function(){var h=d.getrowdata(this);if(h&&h.dataindex){e[e.length]=h.dataindex}});this.selectedrowindexes=e;this.selectedrowindex=this.selectedrowindexes.length>0?this.selectedrowindexes[0]:-1}}this.dataview.refresh();if(b.length>0){if(this.dataview.filters&&this.dataview.filters.length>0){var e=new Array();a.each(b,function(){var h=d.dataview._dataIndexToBoundIndex[this];if(h!=null){e[e.length]=h.boundindex}});this.selectedrowindexes=e;this.selectedrowindex=this.selectedrowindexes.length>0?this.selectedrowindexes[0]:-1}}}else{if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0)}}this.rendergridcontent(false,false);this._raiseEvent(13,{filters:this.dataview.filters});return}if(this.pageable){this.dataview.updateview();if(this.gotopage){this.gotopage(0);this.updatepagerdetails()}}this._updaterowsproperties();if(!this.groupable||(this.groupable&&this.groups.length==0)){this._rowdetailscache=new Array();this.virtualsizeinfo=null;this._pagescache=new Array();this.rendergridcontent(true,true);this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo);if(this.showaggregates&&this._updatecolumnsaggregates){this._updatecolumnsaggregates()}}else{this._rowdetailscache=new Array();this._render(true,true,false,false,false);if(this.showfilterrow){this._updatefocusedfilter()}this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}if(this.showfilterrow){if(typeof f!="string"&&a.isEmptyObject(f)){this.refreshfilterrow()}}this._raiseEvent(13,{filters:this.dataview.filters})},getfilterinformation:function(){var d=new Array();for(var b=0;b<this.dataview.filters.length;b++){var c=this.getcolumn(this.dataview.filters[b].datafield);d[b]={filter:this.dataview.filters[b].filter,filtercolumn:c.datafield,filtercolumntext:c.text}}return d},clearfilters:function(b){var c=this;if(this.showfilterrow){this.clearfilterrow()}if(this.columns.records){a.each(this.columns.records,function(){c.removefilter(this.displayfield)})}if(b==true||b!=undefined){this.applyfilters("clear")}},_destroyfilterpanel:function(){var e=a(a.find("#filterclearbutton"+this.element.id));var d=a(a.find("#filterbutton"+this.element.id));var h=a(a.find("#filter1"+this.element.id));var c=a(a.find("#filter2"+this.element.id));var g=a(a.find("#filter3"+this.element.id));var f=a(a.find(".filtertext1"+this.element.id));var b=a(a.find(".filtertext2"+this.element.id));if(f.length>0&&b.length>0){f.removeClass();b.removeClass();f.remove();b.remove()}if(e.length>0){e.jqxButton("destroy");d.jqxButton("destroy");this.removeHandler(e,"click");this.removeHandler(d,"click")}if(h.length>0){h.jqxDropDownList("destroy")}if(c.length>0){c.jqxDropDownList("destroy")}if(g>0){g.jqxDropDownList("destroy")}},_initfilterpanel:function(u,b,c,m){if(u==null||u==undefined){u=this}b[0].innerHTML="";var q=a("<div class='filter' style='margin-left: 7px;'></div>");b.append(q);var l=a("<div class='filter' style='margin-top: 3px; margin-bottom: 3px;'></div>");l.text(u.gridlocalization.filtershowrowstring);var r=a("<div class='filter' id='filter1"+u.element.id+"'></div>");var g=a("<div class='filter' id='filter2"+u.element.id+"' style='margin-bottom: 3px;'></div>");var p=a("<div class='filter' id='filter3"+u.element.id+"'></div>");var d=u._getcolumntypebydatafield(c);if(!r.jqxDropDownList){throw new Error("jqxGrid: jqxdropdownlist.js is not loaded.");return}var n=u._getfiltersbytype(d);var i=a("<div class='filter'><input class='filtertext1"+u.element.id+"' style='height: 20px; margin-top: 3px; margin-bottom: 3px;' type='text'></input></div>");var k=i.find("input");k.addClass(this.toThemeProperty("jqx-input"));k.addClass(this.toThemeProperty("jqx-widget-content"));k.addClass(this.toThemeProperty("jqx-rc-all"));k.width(m-15);var j=a("<div class='filter'><input class='filtertext2"+u.element.id+"' style='height: 20px; margin-top: 3px;' type='text'></input></div>");var h=j.find("input");h.addClass(this.toThemeProperty("jqx-input"));h.addClass(this.toThemeProperty("jqx-widget-content"));h.addClass(this.toThemeProperty("jqx-rc-all"));h.width(m-15);if(u.rtl){k.css("direction","rtl");h.css("direction","rtl")}var f=a("<div class='filter' style='height: 25px; margin-left: 20px; margin-top: 7px;'></div>");var e=a('<span tabIndex=0 id="filterbutton'+u.element.id+'" class="filterbutton" style="padding: 4px 12px; margin-left: 2px;">'+u.gridlocalization.filterstring+"</span>");f.append(e);var s=a('<span tabIndex=0 id="filterclearbutton'+u.element.id+'" class="filterclearbutton" style="padding: 4px 12px; margin-left: 5px;">'+u.gridlocalization.filterclearstring+"</span>");f.append(s);e.jqxButton({height:20,theme:u.theme});s.jqxButton({height:20,theme:u.theme});var t=function(w){if(w){if(w.text().indexOf("case sensitive")!=-1){var v=w.text();v=v.replace("case sensitive","match case");w.text(v)}w.css("font-family",u.host.css("font-family"));w.css("font-size",u.host.css("font-size"));return w}return""};q.append(l);q.append(r);r.jqxDropDownList({rtl:u.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:m-15,height:20,dropDownHeight:150,dropDownWidth:m-15,selectionRenderer:t,source:n,theme:u.theme});q.append(i);var o=new Array();o[0]=u.gridlocalization.filterandconditionstring;o[1]=u.gridlocalization.filterorconditionstring;g.jqxDropDownList({rtl:u.rtl,enableBrowserBoundsDetection:false,autoDropDownHeight:true,selectedIndex:0,width:60,height:20,source:o,selectionRenderer:t,theme:u.theme});q.append(g);p.jqxDropDownList({rtl:u.rtl,enableBrowserBoundsDetection:false,selectedIndex:2,width:m-15,height:20,dropDownHeight:150,dropDownWidth:m-15,selectionRenderer:t,source:n,theme:u.theme});q.append(p);q.append(j);q.append(f);if(u.updatefilterpanel){u.updatefilterpanel(r,p,g,i,j,e,s,null,null,n)}}});a.jqx.filter=function(){this.operator="and";var h=0;var e=1;var k=["EMPTY","NOT_EMPTY","CONTAINS","CONTAINS_CASE_SENSITIVE","DOES_NOT_CONTAIN","DOES_NOT_CONTAIN_CASE_SENSITIVE","STARTS_WITH","STARTS_WITH_CASE_SENSITIVE","ENDS_WITH","ENDS_WITH_CASE_SENSITIVE","EQUAL","EQUAL_CASE_SENSITIVE","NULL","NOT_NULL"];var m=["EQUAL","NOT_EQUAL","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","NULL","NOT_NULL"];var n=["EQUAL","NOT_EQUAL","LESS_THAN","LESS_THAN_OR_EQUAL","GREATER_THAN","GREATER_THAN_OR_EQUAL","NULL","NOT_NULL"];var g=["EQUAL","NOT_EQUAL"];var f=new Array();var l=new Array();this.evaluate=function(s){var q=true;for(var r=0;r<f.length;r++){var p=f[r].evaluate(s);if(r==0){q=p}else{if(l[r]==e||l[r]=="or"){q=q||p}else{q=q&&p}}}return q};this.getfilterscount=function(){return f.length};this.setoperatorsbyfiltertype=function(p,q){switch(p){case"numericfilter":m=q;break;case"stringfilter":k=q;break;case"datefilter":n=q;break;case"booleanfilter":g=q;break}};this.getoperatorsbyfiltertype=function(p){var q=new Array();switch(p){case"numericfilter":q=m.slice(0);break;case"stringfilter":q=k.slice(0);break;case"datefilter":q=n.slice(0);break;case"booleanfilter":q=g.slice(0);break}return q};var j=function(){var p=function(){return(((1+Math.random())*65536)|0).toString(16).substring(1)};return(p()+"-"+p()+"-"+p())};this.createfilter=function(t,q,s,r,p,u){if(t==null||t==undefined){return null}switch(t){case"numericfilter":return new i(q,s.toUpperCase());case"stringfilter":return new o(q,s.toUpperCase());case"datefilter":return new c(q,s.toUpperCase(),p,u);case"booleanfilter":return new d(q,s.toUpperCase());case"custom":return new b(q,s.toUpperCase(),r)}return null};this.getfilters=function(){var p=new Array();for(var q=0;q<f.length;q++){var r={value:f[q].filtervalue,condition:f[q].comparisonoperator,operator:l[q],type:f[q].type};p[q]=r}return p};this.addfilter=function(p,q){f[f.length]=q;q.key=j();l[l.length]=p};this.removefilter=function(q){for(var p=0;p<f.length;p++){if(f[p].key==q.key){f.splice(p,1);l.splice(p,1);break}}};this.getoperatorat=function(p){if(p==undefined||p==null){return null}if(p<0||p>f.length){return null}return l[p]};this.setoperatorat=function(q,p){if(q==undefined||q==null){return null}if(q<0||q>f.length){return null}l[p]=p};this.getfilterat=function(p){if(p==undefined||p==null){return null}if(p<0||p>f.length){return null}return f[p]};this.setfilterat=function(p,q){if(p==undefined||p==null){return null}if(p<0||p>f.length){return null}q.key=j();f[p]=q};this.clear=function(){f=new Array();l=new Array()};var o=function(q,p){this.filtervalue=q;this.comparisonoperator=p;this.type="stringfilter";this.evaluate=function(u){var t=this.filtervalue;var r=this.comparisonoperator;if(u==null||u==undefined){if(r=="NULL"){return true}return false}var v="";try{v=u.toString()}catch(s){return true}switch(r){case"EQUAL":return a.jqx.string.equalsIgnoreCase(v,t);case"EQUAL_CASE_SENSITIVE":return a.jqx.string.equals(v,t);case"NOT_EQUAL":return !a.jqx.string.equalsIgnoreCase(v,t);case"NOT_EQUAL_CASE_SENSITIVE":return !a.jqx.string.equals(v,t);case"CONTAINS":return a.jqx.string.containsIgnoreCase(v,t);case"CONTAINS_CASE_SENSITIVE":return a.jqx.string.contains(v,t);case"DOES_NOT_CONTAIN":return !a.jqx.string.containsIgnoreCase(v,t);case"DOES_NOT_CONTAIN_CASE_SENSITIVE":return !a.jqx.string.contains(v,t);case"EMPTY":return v=="";case"NOT_EMPTY":return v!="";case"NOT_NULL":return v!=null;case"STARTS_WITH":return a.jqx.string.startsWithIgnoreCase(v,t);case"ENDS_WITH":return a.jqx.string.endsWithIgnoreCase(v,t);case"ENDS_WITH_CASE_SENSITIVE":return a.jqx.string.endsWith(v,t);case"STARTS_WITH_CASE_SENSITIVE":return a.jqx.string.startsWith(v,t);default:return false}}};var d=function(q,p){this.filtervalue=q;this.comparisonoperator=p;this.type="booleanfilter";this.evaluate=function(t){var s=this.filtervalue;var r=this.comparisonoperator;if(t==null||t==undefined){if(r=="NULL"){return true}return false}var u=t;switch(r){case"EQUAL":return u==s||u.toString()==s.toString();case"NOT_EQUAL":return u!=s&&u.toString()!=s.toString();default:return false}}};var i=function(q,p){this.filtervalue=q;this.comparisonoperator=p;this.type="numericfilter";this.evaluate=function(u){var t=this.filtervalue;var r=this.comparisonoperator;if(u==null||u==undefined){if(r=="NOT_NULL"){return false}if(r=="NULL"){return true}else{return false}}else{if(r=="NULL"){return false}if(r=="NOT_NULL"){return true}}var v=u;try{v=parseFloat(v)}catch(s){if(u.toString()!=""){return false}}switch(r){case"EQUAL":return v==t;case"NOT_EQUAL":return v!=t;case"GREATER_THAN":return v>t;case"GREATER_THAN_OR_EQUAL":return v>=t;case"LESS_THAN":return v<t;case"LESS_THAN_OR_EQUAL":return v<=t;case"STARTS_WITH":return a.jqx.string.startsWithIgnoreCase(v.toString(),t.toString());case"ENDS_WITH":return a.jqx.string.endsWithIgnoreCase(v.toString(),t.toString());case"ENDS_WITH_CASE_SENSITIVE":return a.jqx.string.endsWith(v.toString(),t.toString());case"STARTS_WITH_CASE_SENSITIVE":return a.jqx.string.startsWith(v.toString(),t.toString());case"CONTAINS":return a.jqx.string.containsIgnoreCase(v.toString(),t.toString());case"CONTAINS_CASE_SENSITIVE":return a.jqx.string.contains(v.toString(),t.toString());case"DOES_NOT_CONTAIN":return !a.jqx.string.containsIgnoreCase(v.toString(),t.toString());case"DOES_NOT_CONTAIN_CASE_SENSITIVE":return !a.jqx.string.contains(v.toString(),t.toString());default:return true}}};var c=function(s,q,r,v){this.filtervalue=s;this.type="datefilter";if(r!=undefined&&v!=undefined){var t=a.jqx.dataFormat.parsedate(s,r,v);if(t!=null){this.filterdate=t}else{var p=a.jqx.dataFormat.tryparsedate(s,v);if(p!=null){this.filterdate=p}}}else{var u=new Date(s);if(u.toString()=="NaN"||u.toString()=="Invalid Date"){this.filterdate=a.jqx.dataFormat.tryparsedate(s)}else{this.filterdate=u}}this.comparisonoperator=q;this.evaluate=function(D){var E=this.filtervalue;var B=this.comparisonoperator;if(D==null||D==undefined){if(B=="NOT_NULL"){return false}if(B=="NULL"){return true}else{return false}}else{if(B=="NULL"){return false}if(B=="NOT_NULL"){return true}}var w=new Date();w.setFullYear(1900,0,1);w.setHours(12,0,0,0);try{var z=new Date(D);if(z.toString()=="NaN"||z.toString()=="Invalid Date"){D=a.jqx.dataFormat.tryparsedate(D)}else{D=z}w=D}catch(A){if(D.toString()!=""){return false}}if(this.filterdate!=null){E=this.filterdate}else{if(E.indexOf(":")!=-1||!isNaN(parseInt(E))){var C=new Date(w);C.setHours(12,0,0,0);var x=E.split(":");for(var y=0;y<x.length;y++){if(y==0){C.setHours(x[y])}if(y==1){C.setMinutes(x[y])}if(y==2){C.setSeconds(x[y])}}E=C}}if(w==null){w=""}switch(B){case"EQUAL":return w.toString()==E.toString();case"NOT_EQUAL":return w.toString()!=E.toString();case"GREATER_THAN":return w>E;case"GREATER_THAN_OR_EQUAL":return w>=E;case"LESS_THAN":return w<E;case"LESS_THAN_OR_EQUAL":return w<=E;case"STARTS_WITH":return a.jqx.string.startsWithIgnoreCase(w.toString(),E.toString());case"ENDS_WITH":return a.jqx.string.endsWithIgnoreCase(w.toString(),E.toString());case"ENDS_WITH_CASE_SENSITIVE":return a.jqx.string.endsWith(w.toString(),E.toString());case"STARTS_WITH_CASE_SENSITIVE":return a.jqx.string.startsWith(w.toString(),E.toString());case"CONTAINS":return a.jqx.string.containsIgnoreCase(w.toString(),E.toString());case"CONTAINS_CASE_SENSITIVE":return a.jqx.string.contains(w.toString(),E.toString());case"DOES_NOT_CONTAIN":return !a.jqx.string.containsIgnoreCase(w.toString(),E.toString());case"DOES_NOT_CONTAIN_CASE_SENSITIVE":return !a.jqx.string.contains(w.toString(),E.toString());default:return true}}};var b=function(q,p,r){this.filtervalue=q;this.comparisonoperator=p;this.evaluate=function(t,s){return r(this.filtervalue,t,this.comparisonoperator)}}}})(jQuery);
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function(a){a.jqx.dataview.grouping=function(){this.loadgrouprecords=function(z,C,p,A,D,e,M,B,u){var H=z;var h=this;var L=new Array();for(var l=0;l<h.groups.length;l++){L[l]=h.generatekey()}var F=new Array();var b=0;var L=L;var x=new Array();var K=C;var d=C;var y=h.groups.length;this.loadedrecords=new Array();this.bounditems=new Array();this.loadedrecords=new Array();this.loadedrootgroups=new Array();this.loadedgroups=new Array();this.loadedgroupsByKey=new Array();this.sortedgroups=new Array();var J=this.sortdata!=null;var N=J?this.sortdata:this.records;for(var c=C;c<p;c++){var v={};if(!J){v=a.extend({},N[c])}else{v=a.extend({},N[c].value)}id=v[h.uniqueId];if(D>=B||id!=M[D][h.uniqueId]||(e&&e[id])){u[u.length]=D}var G=new Array();var t=0;for(var l=0;l<y;l++){var r=h.groups[l];var E=v[r];if(E==null){E=""}G[t++]={value:E,hash:L[l]}}if(G.length!=y){break}var j=null;var k="";var f=-1;for(var I=0;I<G.length;I++){f++;var n=G[I].value;var s=G[I].hash;k=k+"_"+s+"_"+n;if(x[k]!=undefined&&x[k]!=null){j=x[k];continue}if(j==null){j={group:n,subItems:new Array(),subGroups:new Array(),level:0};F[b++]=j;j.uniqueid=h.generatekey();h.loadedgroupsByKey[n]=j}else{var m={group:n,subItems:new Array(),subGroups:new Array(),parentItem:j,level:j.level+1};h.loadedgroupsByKey[j.uniqueid+"_"+n]=m;m.uniqueid=h.generatekey();j.subGroups[j.subGroups.length++]=m;j=m}x[k]=j}if(j!=null){if(!v.uid){v.uid=this.getid(this.source.id,v,K)}if(!J){v.boundindex=K;this.recordsbyid["id"+v.uid]=N[c]}else{v.boundindex=N[c].index;this.recordsbyid["id"+v.uid]=N[c].value}this.bounditems[v.boundindex]=v;this.sortedgroups[K]=v;v.uniqueid=h.generatekey();v.parentItem=j;v.level=j.level+1;j.subItems[j.subItems.length++]=v}else{if(!v.uid){v.uid=this.getid(this.source.id,v,K)}if(!J){v.boundindex=K;this.recordsbyid["id"+v.uid]=N[c]}else{v.boundindex=N[c].index;this.recordsbyid["id"+v.uid]=N[c].value}this.sortedgroups[K]=v;this.bounditems[v.boundindex]=v;v.uniqueid=h.generatekey()}D++;K++;d++}var g=function(q,O,P){for(var i=0;i<O.subItems.length;i++){O.subItems[i].visibleindex=z+P;q.rows[P]=O.subItems[i];q.loadedrecords[P]=O.subItems[i];P++}return P};var o=function(i,P,Q){var q=function(T){if(i.aggregates==true){var R=T;var S={};if(R!=null){S.level=R.level;S.visibleindex=z+Q;S.uniqueid=i.generatekey();i.rows[Q]=S;i.loadedrecords[Q++]=S;S.totalsrow=true;if(T.subItems.length>0){R=T.subItems[T.subItems.length-1];S.parentItem=R.parentItem;if(S.parentItem.subItems){S.parentItem.subItems[S.parentItem.subItems.length]=S}}else{if(T.subGroups.length>0){R=T.subGroups[T.subGroups.length-1];S.level=R.level;S.parentItem=T;T.subGroups[T.subGroups.length]=S}}}}};for(subGroup in P.subGroups){var O=P.subGroups[subGroup];if(O.subGroups){i.loadedgroups[i.loadedgroups.length]=O;O.visibleindex=z+Q;i.rows[Q]=O;i.loadedrecords[Q]=O;Q++;if(O.subGroups.length>0){Q=o(i,O,Q)}else{if(O.subItems.length>0){Q=g(i,O,Q)}}q(O)}}if(P.subItems.length>0){Q=g(i,P,Q)}q(P);return Q};var w=F.length;this.loadedgroups=new Array();this.rows=new Array();var H=0;for(var K=0;K<w;K++){var r=F[K];this.loadedrootgroups[K]=r;this.loadedgroups[this.loadedgroups.length]=r;r.visibleindex=z+H;this.rows[H]=r;this.loadedrecords[H]=r;H++;H=o(this,r,H)}return H};this._updategroupsinpage=function(C,r,K,d,u,j,f){var p=new Array();var w=[];if(this.groupable&&this.groups.length>0){var B=0;var h=new Array();var g=new Array();for(var m=0;m<C.groups.length;m++){g[m]=C.generatekey()}var F=0;var o=new Array();var k=0;if(f>this.totalrecords){f=this.totalrecords}for(var v=j;v<f;v++){var H=a.extend({},C.sortedgroups[v]);id=H[C.uniqueId];if(!C.pagesize||(K>=C.pagesize*C.pagenum&&K<C.pagesize*(C.pagenum+1))){if(d>=u||id!=p[d][C.uniqueId]||(updated&&updated[id])){w[w.length]=d}var e=new Array();var y=0;for(var m=0;m<C.groups.length;m++){var n=C.groups[m];var D=H[n];if(null==D){D=""}e[y++]={value:D,hash:g[m]}}if(e.length!=C.groups.length){break}var z=null;var s="";var c=-1;for(var A=0;A<e.length;A++){c++;var G=e[A].value;var l=e[A].hash;s=s+"_"+l+"_"+G;if(h[s]!=undefined&&h[s]!=null){z=h[s];continue}if(z==null){z={group:G,subItems:new Array(),subGroups:new Array(),level:0};o[k++]=z;var E=C.loadedgroupsByKey[G];if(E!=undefined){z.visibleindex=E.visibleindex;z.uniqueid=E.uniqueid}}else{var t={group:G,subItems:new Array(),subGroups:new Array(),parentItem:z,level:z.level+1};var E=C.loadedgroupsByKey[z.uniqueid+"_"+G];t.visibleindex=E.visibleindex;t.uniqueid=E.uniqueid;z.subGroups[z.subGroups.length++]=t;z=t}h[s]=z}if(z!=null){H.parentItem=z;H.level=z.level+1;z.subItems[z.subItems.length++]=H}d++}F++;K++}var x=function(L,M,q){for(var i=0;i<M.subItems.length;i++){p[q]=a.extend({},M.subItems[i]);q++}return q};var I=function(M){var q=false;for(subGroup in M.subGroups){var L=M.subGroups[subGroup];if(L.subGroups){if(L.subGroups.length>0){var i=I(L);if(i){q=true;return true}}if(L.subItems.length>0){q=true;return true}}}if(M.subItems.length>0){q=true;return true}return q};var b=function(q,M,i){for(subGroup in M.subGroups){var L=M.subGroups[subGroup];if(L.subGroups){if(I(L)){p[i]=L;i++;if(L.subGroups.length>0){i=b(q,L,i)}else{if(L.subItems.length>0){i=x(q,L,i)}}}}}if(M.subItems.length>0){i=x(q,M,i)}return i};var J=0;for(var F=0;F<o.length;F++){var n=o[F];if(I(n)){p[B]=n;B++;B=b(this,n,B)}}}return p}};a.extend(a.jqx._jqxGrid.prototype,{_initgroupsheader:function(){this.groupsheader.css("visibility","hidden");if(this._groupsheader()){this.groupsheader.css("visibility","inherit");var e=this;var c=this.gridlocalization.groupsheaderstring;this.groupsheaderdiv=this.groupsheaderdiv||a('<div style="width: 100%; position: relative;"></div>');this.groupsheaderdiv.height(this.groupsheaderheight);this.groupsheaderdiv.css("top",0);this.groupsheader.append(this.groupsheaderdiv);this.groupheadersbounds=new Array();var d=this.groups.length;this.groupsheaderdiv.children().remove();this.groupsheaderdiv[0].innerHTML="";var b=new Array();if(d>0){a.each(this.groups,function(i){var n=this;var m=e._getColumnText(this);var l=m.label;var k=e._rendergroupcolumn(l,n);k.addClass(e.toThemeProperty("jqx-grid-group-column"));e.groupsheaderdiv.append(k);if(e.closeablegroups){var j=a(k.find(".icon-close"));if(e.isTouchDevice()){e.addHandler(j,"touchstart",function(){e.removegroupat(i);return false})}else{e.addHandler(j,"click",function(){e.removegroupat(i);return false})}}if(e.sortable){e.addHandler(k,"click",function(){var o=e.getcolumn(n);if(o!=null){e._togglesort(o)}return false})}b[b.length]=k;e._handlegroupstocolumnsdragdrop(this,k);if(i<d-1){var g=k.height();var h=a('<div style="float: left; position: relative;"></div>');if(e.rtl){h.css("float","right")}h.width(e.groupindentwidth/3);h.height(1);h.css("top",g/2);h.addClass(e.toThemeProperty("jqx-grid-group-column-line"));e.groupsheaderdiv.append(h)}})}else{var f=a('<div style="position: relative;">'+c+"</div>");this.groupsheaderdiv.append(f);if(this.rtl){f.addClass(this.toThemeProperty("jqx-rtl"))}}this._groupheaders=b;this._updategroupheadersbounds()}},_updategroupheadersbounds:function(){var c=this;var b=this.groupsheaderdiv.children().outerHeight();var d=(this.groupsheader.height()-b)/2;this.groupsheaderdiv.css("top",d);if(!this.rtl){this.groupsheaderdiv.css("left",d)}else{this.groupsheaderdiv.css("right",d)}if(this.rtl){this._groupheaders.reverse()}a.each(this._groupheaders,function(f){var e=this.coord();c.groupheadersbounds[f]={left:e.left,top:e.top,width:this.outerWidth(),height:this.outerHeight(),index:f}})},addgroup:function(c){if(c){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups[b.groups.length]=c;b.refreshgroups();this._raiseEvent(12,{type:"Add",index:b.groups[b.groups.length],groups:b.groups})}},insertgroup:function(d,c){if(d!=undefined&&d!=null&&d>=0&&d<=this.groups.length){if(c){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups.splice(d,0,c);b.refreshgroups();this._raiseEvent(12,{type:"Insert",index:d,groups:b.groups})}}},refreshgroups:function(){this._refreshdataview();this._render(true,true,true,false)},_insertaftergroup:function(d,c){var b=this._getGroupIndexByDataField(d);this.insertgroup(b+1,c)},_insertbeforegroup:function(d,c){var b=this._getGroupIndexByDataField(d);this.insertgroup(b,c)},removegroupat:function(c){if(c>=0&&c!=null&&c!=undefined){var b=this;if(b.groups!==b.dataview.groups){b.dataview.groups=b.groups}b.groups.splice(c,1);b.refreshgroups();this._raiseEvent(12,{type:"Remove",index:c,groups:b.groups});return true}return false},cleargroups:function(){var b=this;b.groups=[];b.dataview.groups=b.groups;b.refreshgroups();this._raiseEvent(12,{type:"Clear",groups:b.groups});return true},removegroup:function(c){if(c==null){return false}var b=this.groups.indexOf(c.toString());return this.removegroupat(b)},getrootgroupscount:function(){var b=this.dataview.loadedrootgroups.length;return b},collapsegroup:function(b){return this._setrootgroupstate(b,false)},expandgroup:function(b){return this._setrootgroupstate(b,true)},collapseallgroups:function(b){this._setbatchgroupstate(false,b)},expandallgroups:function(b){this._setbatchgroupstate(true,b)},getgroup:function(e){var j=this.dataview.loadedrootgroups[e];if(j==null){return null}var f=this.expandedgroups[j.uniqueid].expanded;var g=j.group;var b=j.level;var c=new Array();this._getsubgroups(c,j);var i=this;var d={group:g,level:b,expanded:f,subgroups:c};if(j.subItems){var h=new Array();a.each(j.subItems,function(){var k=this.boundindex;h[h.length]=i.getrowdata(k)});if(h.length>0){d.subrows=h}}return d},getrootgroups:function(){var d=this.dataview.loadedrootgroups.length;var c=new Array();for(var b=0;b<d;b++){c[b]=this.getgroup(b)}return c},_getsubgroups:function(c,j){var i=this;for(obj in j.subGroups){var g=j.subGroups[obj];var e=i.expandedgroups[g.uniqueid].expanded;var f=g.group;var b=g.level;c[c.length]={group:f,level:b,expanded:e};if(g.subItems){var h=new Array();a.each(g.subItems,function(){var k=this.boundindex;h[h.length]=i.getrowdata(k)});c[c.length-1].subrows=h}if(g.subGroups){var d=new Array();i._getsubgroups(d,g)}}return c},_setbatchgroupstate:function(b,e){var c=this;for(obj in this.dataview.loadedrootgroups){c._setrootgroupstate(obj,b,false,true)}if(e==false){c._requiresupdate=true;c._renderrows(c.virtualsizeinfo);return true}var d=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(d!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}return true},_setrootgroupstate:function(d,b,e,c){if(d==undefined||d==null||d<0){return false}if(!this.groupable||this.groups.length==0){return false}var g=e!=undefined?e:true;if(d>=0&&d<this.dataview.loadedrootgroups.length){var f=this.dataview.loadedrootgroups[d];return this._setgroupstate(f,b,g,c)}return false},_togglegroupstate:function(c,d){if(c==null||c==undefined){return false}var b=this.expandedgroups[c.uniqueid];if(b==undefined){b=false}else{b=b.expanded}b=!b;return this._setgroupstate(c,b,d)},_setgroupstate:function(f,b,h,c){if(f==null||f==undefined){return false}var e=false;var d=this.expandedgroups[f.uniqueid];if(d==undefined){d={expanded:false};e=true}if(d.expanded!=b){e=true}if(e){this.expandedgroups[f.uniqueid]={expanded:b,group:f};this._setsubgroupsvisibility(this,f,!b,c);if(h){var g=this.vScrollBar[0].style.visibility;this.rendergridcontent(true,false);if(g!=this.vScrollBar[0].style.visibility||this._hiddencolumns){this._updatecolumnwidths();this._updatecellwidths();this._renderrows(this.virtualsizeinfo)}}if(undefined==this.suspendgroupevents||this.suspendgroupevents==false){if(b){this._raiseEvent(4,{group:f.group,parentgroup:f.parentItem?f.parentItem.group:null,level:f.level,visibleindex:f.visibleindex})}else{this._raiseEvent(5,{group:f.group,parentgroup:f.parentItem?f.parentItem.group:null,level:f.level,visibleindex:f.visibleindex})}}return true}return false},_setgroupitemsvisibility:function(c,e,d){for(var b=0;b<e.subItems.length;b++){c._setrowvisibility(e.subItems[b].visibleindex,d,false)}},_setsubgroupsvisibility:function(c,g,f,d){if(g.parentItem!=null){if(this.hiddens[g.parentItem.visibleindex]){return}}else{if(g.parentItem==null){if(this.hiddens[g.visibleindex]){return}}}for(subGroup in g.subGroups){var e=g.subGroups[subGroup];if(!f){c._setrowvisibility(e.visibleindex,f,false)}var b=!f;if(!d){if(c.expandedgroups[e.uniqueid]==undefined){b=false}else{b=c.expandedgroups[e.uniqueid].expanded}}else{this.expandedgroups[e.uniqueid]={expanded:b,group:e}}if(e.subGroups){if(e.subGroups.length>0){c._setsubgroupsvisibility(c,e,!b||f,d)}else{if(e.subItems.length>0){c._setgroupitemsvisibility(c,e,!b||f)}}}if(f){c._setrowvisibility(e.visibleindex,f,false)}}if(g.subItems&&g.subItems.length>0){c._setgroupitemsvisibility(c,g,f)}},_handlecolumnsdragdrop:function(){var d=this;var g=-1;var c=false;if(!d.groupable){return}var f="mousemove.grouping"+this.element.id;var e="mousedown.grouping"+this.element.id;var h="mouseup.grouping"+this.element.id;var b=false;if(this.isTouchDevice()){b=true;f=a.jqx.mobile.getTouchEventName("touchmove")+".grouping"+this.element.id;e=a.jqx.mobile.getTouchEventName("touchstart")+".grouping"+this.element.id;h=a.jqx.mobile.getTouchEventName("touchend")+".grouping"+this.element.id}this.removeHandler(a(document),f);this.addHandler(a(document),f,function(j){if(d.dragcolumn!=null){var l=parseInt(j.pageX);var t=parseInt(j.pageY);if(b){var q=d.getTouches(j);var p=q[0];l=parseInt(p.pageX);t=parseInt(p.pageY)}var n=d.host.coord();var u=parseInt(n.left);var v=parseInt(n.top);if(d.dragmousedownoffset==undefined||d.dragmousedownoffset==null){d.dragmousedownoffset={left:0,top:0}}var s=parseInt(l)-parseInt(d.dragmousedownoffset.left);var i=parseInt(t)-parseInt(d.dragmousedownoffset.top);d.dragcolumn.css({left:s+"px",top:i+"px"});c=false;if(l>=u&&l<=u+d.host.width()){if(t>=v&&t<=v+d.host.height()){c=true}}g=-1;if(c){d.dragcolumnicon.removeClass(d.toThemeProperty("jqx-grid-dragcancel-icon"));d.dragcolumnicon.addClass(d.toThemeProperty("jqx-grid-drag-icon"));var r=d.groupsheader.coord();var m=r.top+d.groupsheader.height();var k=d.groups.indexOf(a.data(d.dragcolumn[0],"datarecord").toString());var o=(k==-1)||(d.groups.length>1&&k>-1);if(d.dropline!=null){if(t>=r.top&&t<=m){if(o){g=d._handlegroupdroplines(l)}}else{d.dropline.fadeOut("slow")}}}else{if(d.dropline!=null){d.dropline.fadeOut("slow")}d.dragcolumnicon.removeClass(d.toThemeProperty("jqx-grid-drag-icon"));d.dragcolumnicon.addClass(d.toThemeProperty("jqx-grid-dragcancel-icon"))}if(b){j.preventDefault();j.stopPropagation();return false}}});this.removeHandler(a(document),h);this.addHandler(a(document),h,function(i){a(document.body).removeClass("jqx-disableselect");var m=parseInt(i.pageX);var s=parseInt(i.pageY);if(b){var p=d.getTouches(i);var o=p[0];m=parseInt(o.pageX);s=parseInt(o.pageY)}var n=d.host.coord();var t=parseInt(n.left);var u=parseInt(n.top);var k=d.groupsheader.height();if(d.showtoolbar){u+=d.toolbarheight}d.dragstarted=false;d.dragmousedown=null;if(d.dragcolumn!=null){var l=a.data(d.dragcolumn[0],"datarecord");d.dragcolumn.remove();d.dragcolumn=null;if(l!=null){if(c){if(g!=-1){var q=g.index;var r=d.groups[q];var j=d._getGroupIndexByDataField(l);if(j!=q){if(j!=undefined&&j>=0){d.groups.splice(j,1)}if(g.position=="before"){if(!d.rtl){d._insertbeforegroup(r,l)}else{d._insertaftergroup(r,l)}}else{if(!d.rtl){d._insertaftergroup(r,l)}else{d._insertbeforegroup(r,l)}}}}else{if(d.groups.length==0){if(s>u&&s<=u+k){d.addgroup(l)}}else{if(s>u+k){var j=d._getGroupIndexByDataField(l);d.removegroupat(j)}}}}if(d.dropline!=null){d.dropline.remove();d.dropline=null}}}})},_getGroupIndexByDataField:function(b){for(var c=0;c<this.groups.length;c++){if(this.groups[c]==b){return c}}return -1},_isColumnInGroups:function(c){for(var b=0;b<this.groups.length;b++){if(this.groups[b]==c){return true}}return false},_handlegroupdroplines:function(d){var b=this;var c=-1;a.each(b.groupheadersbounds,function(e){if(d<=this.left+this.width/2){var f=this.left-3;if(e>0){f=this.left-1-b.groupindentwidth/6}b.dropline.css("left",f);b.dropline.css("top",this.top);b.dropline.height(this.height);b.dropline.fadeIn("slow");c={index:e,position:"before"};if(b.rtl){c={index:b.groupheadersbounds.length-1-e,position:"before"}}return false}else{if(d>=this.left+this.width/2){b.dropline.css("left",1+this.left+this.width);b.dropline.css("top",this.top);b.dropline.height(this.height);b.dropline.fadeIn("slow");c={index:e,position:"after"};if(b.rtl){c={index:b.groupheadersbounds.length-1-e,position:"after"}}}}});return c},_handlegroupstocolumnsdragdrop:function(c,e){this.dragmousedown=null;this.dragmousedownoffset=null;this.dragstarted=false;this.dragcolumn=null;var f=this;var d;var h="mousedown";var g="mousemove";var b=false;if(this.isTouchDevice()){b=true;h=a.jqx.mobile.getTouchEventName("touchstart");g=a.jqx.mobile.getTouchEventName("touchmove")}this.addHandler(e,"dragstart",function(i){return false});this.addHandler(e,h,function(i){var l=i.pageX;var k=i.pageY;f.dragmousedown={left:l,top:k};if(b){var j=f.getTouches(i);var n=j[0];l=n.pageX;k=n.pageY;f.dragmousedown={left:l,top:k};if(i.preventDefault){i.preventDefault()}}var m=a(i.target).coord();f.dragmousedownoffset={left:parseInt(l)-parseInt(m.left),top:parseInt(k-m.top)}});this.addHandler(e,g,function(i){if(f.dragmousedown){d={left:i.pageX,top:i.pageY};if(b){var k=f.getTouches(i);var m=k[0];d={left:m.pageX,top:m.pageY}}if(!f.dragstarted&&f.dragcolumn==null){var j=Math.abs(d.left-f.dragmousedown.left);var l=Math.abs(d.top-f.dragmousedown.top);if(j>3||l>3){f._createdragcolumn(e,d,true);a(document.body).addClass("jqx-disableselect");a.data(f.dragcolumn[0],"datarecord",c);if(i.preventDefault){i.preventDefault()}}}}})},_createdragcolumn:function(c,e,g){var h=this;var f=e;h.dragcolumn=a("<div></div>");var j=c.clone();h.dragcolumn.css("z-index",999999);j.css("border-width","1px");j.css("opacity","0.4");var i=a(j.find("."+h.toThemeProperty("jqx-grid-column-menubutton")));if(i.length>0){i.css("display","none")}var b=a(j.find(".icon-close"));if(b.length>0){b.css("display","none")}h.dragcolumnicon=a('<div style="z-index: 9999; position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -7px;"></div>');h.dragcolumnicon.addClass(h.toThemeProperty("jqx-grid-drag-icon"));h.dragcolumn.css("float","left");h.dragcolumn.css("position","absolute");var d=h.host.coord();j.width(c.width()+16);h.dragcolumn.append(j);h.dragcolumn.height(c.height());h.dragcolumn.width(j.width());h.dragcolumn.append(h.dragcolumnicon);a(document.body).append(h.dragcolumn);j.css("margin-left",0);j.css("left",0);j.css("top",0);h.dragcolumn.css("left",f.left+h.dragmousedown.left);h.dragcolumn.css("top",f.top+h.dragmousedown.top);if(g!=undefined&&g){h.dropline=a('<div style="display: none; position: absolute;"></div>');h.dropline.width(2);h.dropline.addClass(h.toThemeProperty("jqx-grid-group-drag-line"));a(document.body).append(h.dropline)}},iscolumngroupable:function(b){return this._getcolumnproperty(b,"groupable")},_handlecolumnstogroupsdragdrop:function(c,f){this.dragmousedown=null;this.dragmousedownoffset=null;this.dragstarted=false;this.dragcolumn=null;var g=this;var e;var b=false;if(this.isTouchDevice()){b=true}var d="mousedown.drag";var e="mousemove.drag";if(b){d=a.jqx.mobile.getTouchEventName("touchstart")+".drag";e=a.jqx.mobile.getTouchEventName("touchmove")+".drag"}else{this.addHandler(f,"dragstart",function(h){return false})}this.addHandler(f,d,function(j){if(g._isColumnInGroups(c.displayfield)){if(f.css("cursor")!="col-resize"){return true}else{return true}}if(false==c.groupable){return true}var i=j.pageX;var h=j.pageY;if(b){var k=g.getTouches(j);var m=k[0];i=m.pageX;h=m.pageY}g.dragmousedown={left:i,top:h};if(b){if(j.preventDefault){j.preventDefault()}}var l=a(j.target).coord();g.dragmousedownoffset={left:parseInt(i)-parseInt(l.left),top:parseInt(h-l.top)}});this.addHandler(f,e,function(j){if(g._isColumnInGroups(c.displayfield)){if(f.css("cursor")!="col-resize"){return true}else{return true}}if(g.dragmousedown){var i=j.pageX;var h=j.pageY;if(b){var l=g.getTouches(j);var n=l[0];i=n.pageX;h=n.pageY}e={left:i,top:h};if(!g.dragstarted&&g.dragcolumn==null){var k=Math.abs(e.left-g.dragmousedown.left);var m=Math.abs(e.top-g.dragmousedown.top);if(k>3||m>3){g._createdragcolumn(f,e,true);a.data(g.dragcolumn[0],"datarecord",c.displayfield);if(j.preventDefault){j.preventDefault()}}}}})},_rendergroupcolumn:function(g,h){var e=a('<div style="float: left; position: relative;"></div>');if(this.rtl){e.css("float","right")}if(this.groupcolumnrenderer!=null){e[0].innerHTML=this.groupcolumnrenderer(g);e.addClass(this.toThemeProperty("jqx-grid-group-column"));e.addClass(this.toThemeProperty("jqx-fill-state-normal"))}if(this.closeablegroups){if(e[0].innerHTML==""){e[0].innerHTML='<a style="float: left;" href="#">'+g+"</a>"}if(this.rtl){e[0].innerHTML='<a style="float: right;" href="#">'+g+"</a>"}var d=!this.rtl?"right":"left";var c='<div style="float: '+d+'; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("icon-close")+'"></div></div>';if(a.jqx.browser.msie&&a.jqx.browser.version<8){c='<div style="float: left; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -18px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("icon-close")+'"></div></div>'}if(this.rtl){var c='<div style="float: '+d+'; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("icon-close")+'"></div></div>';if(a.jqx.browser.msie&&a.jqx.browser.version<8){c='<div style="float: left; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("icon-close")+'"></div></div>'}}e[0].innerHTML+=c}else{if(e[0].innerHTML==""){e[0].innerHTML='<a href="#">'+g+"</a>"}}if(this.sortable){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>');if(this.closeablegroups){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -32px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 100%; top: 50%; margin-left: -32px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>')}if(this.rtl){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 0px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 0px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>');if(this.closeablegroups){var f=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortascbutton")+'"></div></div>');var b=a('<div style="float: right; min-height: 16px; min-width: 18px;"><div style="position: absolute; left: 0px; top: 50%; margin-left: 16px; margin-top: -8px; float: none; width: 16px; height: 16px;" class="'+this.toThemeProperty("jqx-grid-column-sortdescbutton")+'"></div></div>')}}f.css("display","none");b.css("display","none");if(a.jqx.browser.msie&&a.jqx.browser.version<8){f.css("float","left");b.css("float","left")}e.append(f);e.append(b);a.data(document.body,"groupsortelements"+h,{sortasc:f,sortdesc:b})}e.addClass(this.toThemeProperty("jqx-fill-state-normal"));e.addClass(this.toThemeProperty("jqx-grid-group-column"));return e},_rendergroup:function(n,v,b,t,j,z,s){var D=v;var c=v.cells[b.level];if(this.rtl){c=v.cells[v.cells.length-1-b.level]}var C=this._findgroupstate(b.uniqueid);if(b.bounddata.subGroups.length>0||b.bounddata.subItems.length>0){var i=this.rtl?"-rtl":"";if(C){c.className+=" "+this.toThemeProperty("jqx-grid-group-expand"+i)}else{c.className+=" "+this.toThemeProperty("jqx-grid-group-collapse"+i)}}var r=this._getColumnText(this.groups[b.level]).label;var d=this.groupindentwidth;var p=this.rowdetails&&this.showrowdetailscolumn?(1+n)*d:(n)*d;var w=s-p;var g=b.level+1;if(this.rtl){g=0}var l=D.cells[g];var y=2;while(l!=undefined&&l.style.display=="none"&&y<10){l=D.cells[g+y-1];y++}var f=a(l);l.style.width=parseInt(w)+"px";if(l.className.indexOf("jqx-grid-cell-filter")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-filter"))}if(l.className.indexOf("jqx-grid-cell-sort")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-sort"))}if(l.className.indexOf("jqx-grid-cell-pinned")!=-1){f.removeClass(this.toThemeProperty("jqx-grid-cell-pinned"))}if(this.groupsrenderer!=null){var h={group:b.group,level:b.level,parent:b.bounddata.parentItem,subGroups:b.bounddata.subGroups,subItems:b.bounddata.subItems,groupcolumn:this._getColumnText(this.groups[b.level]).column};var o=this.groupsrenderer(r+": "+b.group,b.group,C,h);if(o){l.innerHTML=o}else{var k=b.bounddata.subItems.length>0?b.bounddata.subItems.length:b.bounddata.subGroups.length;l.innerHTML='<div class="'+this.toThemeProperty("jqx-grid-groups-row")+'" style="position: absolute;"><span>'+r+': </span><span class="'+this.toThemeProperty("jqx-grid-groups-row-details")+'">'+b.group+" ("+k+")</span></div>"}}else{var e=this._getcolumnbydatafield(this.groups[b.level]);var x=b.group;if(e!=null){if(e.cellsformat){if(a.jqx.dataFormat){if(a.jqx.dataFormat.isDate(x)){x=a.jqx.dataFormat.formatdate(x,e.cellsformat,this.gridlocalization)}else{if(a.jqx.dataFormat.isNumber(x)){x=a.jqx.dataFormat.formatnumber(x,e.cellsformat,this.gridlocalization)}}}}var k=b.bounddata.subItems.length>0?b.bounddata.subItems.length:b.bounddata.subGroups.length;l.innerHTML='<div class="'+this.toThemeProperty("jqx-grid-groups-row")+'" style="position: absolute;"><span>'+r+': </span><span class="'+this.toThemeProperty("jqx-grid-groups-row-details")+'">'+x+" ("+k+")</span></div>"}else{throw new Error("jqxGrid: Unable to find '"+this.groups[b.level]+"' group in the Grid's columns collection.")}}if(this.rtl){var q=this.hScrollBar.css("visibility")=="hidden"?0:this.hScrollInstance.max-this.hScrollInstance.value;var A=this.vScrollBar.css("visibility")=="hidden"?0:this.scrollbarsize+6;var p=this.rowdetails&&this.showrowdetailscolumn?(2+b.level)*d:(1+b.level)*d;l.style.width=s+parseInt(q)-p-A+"px";f.addClass(this.toThemeProperty("jqx-rtl"));var u=a(v.cells[v.cells.length-1]).css("z-index");f.css("z-index",u);var B=f.find("div");var w=B.width();B.css("left","100%");B.css("margin-left",-w)}}})})(jQuery);
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function(a){a.extend(a.jqx._jqxGrid.prototype,{selectrow:function(b,c){this._applyrowselection(b,true,c)},selectallrows:function(){this.clearselection(false);var c=this.dataview.records.length;if(c>0){for(var b=0;b<c;b++){if(b<c-1){this.selectrow(b,false)}else{this.selectrow(b,true)}}}},unselectrow:function(b,c){this._applyrowselection(b,false,c)},selectcell:function(c,b){this._applycellselection(c,b,true)},unselectcell:function(c,b){this._applycellselection(c,b,false)},clearselection:function(c){this.selectedrowindex=-1;for(var b=0;b<this.selectedrowindexes.length;b++){this._raiseEvent(3,{rowindex:this.selectedrowindexes[b]})}this.selectedrowindexes=new Array();this.selectedcells=new Array();if(!c){return}this._renderrows(this.virtualsizeinfo)},getselectedrowindex:function(){return this.selectedrowindex},getselectedrowindexes:function(){return this.selectedrowindexes},getselectedcell:function(){return this.selectedcell},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 f="";var l=this;this.clipboardselection={};this._clipboardselection=[];var k=l.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){k=this._getcellsforcopypaste()}if(k!=null&&k.length>0){var m=999999999999999;var j=-1;for(var d=0;d<k.length;d++){var g=k[d];var b=l.getcolumn(g.datafield);if(b!=null){var h=l.getcellvalue(g.rowindex,g.datafield);if(!this.clipboardselection[g.rowindex]){this.clipboardselection[g.rowindex]={}}this.clipboardselection[g.rowindex][g.datafield]=h;m=Math.min(m,g.rowindex);j=Math.max(j,g.rowindex)}}for(var c=m;c<=j;c++){var e=0;this._clipboardselection[this._clipboardselection.length]=new Array();if(this.clipboardselection[c]!=undefined){a.each(this.clipboardselection[c],function(i,n){if(e>0){f+="\t"}var o=n;if(n==null){o=""}l._clipboardselection[l._clipboardselection.length-1][e]=o;e++;f+=o})}if(c<j){f+="\n"}}}this.clipboardselectedtext=f;return f},pasteselection:function(){var k=this.getselectedcells();if(this.selectionmode.indexOf("cell")==-1){k=this._getcellsforcopypaste()}if(k!=null&&k.length>0){var j=k[0].rowindex;var d=k[0].datafield;var h=this._getcolumnindex(d);var g=0;if(!this._clipboardselection){return}for(var l=0;l<this._clipboardselection.length;l++){for(var f=0;f<this._clipboardselection[l].length;f++){var e=this.getcolumnat(h+f);if(!e){continue}var i=this.getcell(j+l,e.datafield);var b=null;b=this._clipboardselection[l][f];if(b!=null){this._raiseEvent(17,{rowindex:j+l,datafield:i.datafield,value:b});this.setcellvalue(i.row,i.column,b,false);this._raiseEvent(18,{rowindex:j+l,datafield:i.datafield,oldvalue:this.getcellvalue(i.rowindex,i.datafield),value:b});this._applycellselection(j+l,i.datafield,true,false)}}}this.dataview.updateview();this._renderrows(this.virtualsizeinfo)}},_applyrowselection:function(c,b,g,e,f){if(c==null){return false}var d=this.selectedrowindex;if(this.selectionmode=="singlerow"){if(b){this._raiseEvent(2,{rowindex:c,row:this.getrowdata(c)})}else{this._raiseEvent(3,{rowindex:c,row:this.getrowdata(c)})}this._raiseEvent(3,{rowindex:d});this.selectedrowindexes=new Array();this.selectedcells=new Array()}if(e==true){this.selectedrowindexes=new Array()}var h=this.selectedrowindexes.indexOf(c);if(b){this.selectedrowindex=c;if(this.selectedrowindexes.indexOf(c)==-1){this.selectedrowindexes.push(c);if(this.selectionmode!="singlerow"){this._raiseEvent(2,{rowindex:c,row:this.getrowdata(c)})}}else{if(this.selectionmode=="multiplerows"){this.selectedrowindexes.splice(h,1);this._raiseEvent(3,{rowindex:this.selectedrowindex,row:this.getrowdata(c)});this.selectedrowindex=this.selectedrowindexes.length>0?this.selectedrowindexes[this.selectedrowindexes.length-1]:-1}}}else{if(h>=0||this.selectionmode=="singlerow"||this.selectionmode=="multiplerowsextended"){this.selectedrowindexes.splice(h,1);this._raiseEvent(3,{rowindex:this.selectedrowindex,row:this.getrowdata(c)});this.selectedrowindex=-1}}if(g==undefined||g){this._rendervisualrows()}return true},_applycellselection:function(d,i,c,h){if(d==null){return false}if(i==null){return false}var e=this.selectedrowindex;if(this.selectionmode=="singlecell"){var g=this.selectedcell;if(g!=null){this._raiseEvent(16,{rowindex:g.rowindex,datafield:g.datafield})}this.selectedcells=new Array()}if(this.selectionmode=="multiplecellsextended"||this.selectionmode=="multiplecellsadvanced"){var g=this.selectedcell;if(g!=null){this._raiseEvent(16,{rowindex:g.rowindex,datafield:g.datafield})}}var f=d+"_"+i;var b={rowindex:d,datafield:i};if(c){this.selectedcell=b;if(!this.selectedcells[f]){this.selectedcells[f]=b;this.selectedcells.length++;this._raiseEvent(15,b)}else{if(this.selectionmode=="multiplecells"){this.selectedcells[f]=undefined;this.selectedcells.length--;this._raiseEvent(16,b)}}}else{this.selectedcells[f]=undefined;this.selectedcells.length--;this._raiseEvent(16,b)}if(h==undefined||h){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(n.boundindex,l._getcolumnat(j).datafield,true,false)}}this._rendervisualrows()}},_selectrowpath:function(f){if(this.selectionmode=="multiplerowsextended"){var c=this;var b=this._lastClickedCell?Math.min(this._lastClickedCell.row,f):0;var g=this._lastClickedCell?Math.max(this._lastClickedCell.row,f):0;var e=this.dataview.loadedrecords;if(b<=g){this.selectedrowindexes=new Array();for(var d=b;d<=g;d++){var f=e[d];this._applyrowselection(d,true,false)}this._rendervisualrows()}}},_selectrowwithmouse:function(o,b,c,f,d,q){var j=b.row;if(j==undefined){return}var k=b.index;var s=this.hittestinfo[k].visualrow;if(this.hittestinfo[k].details){return}var l=s.cells[0].className;if(j.group){return}if(this.selectionmode=="multiplerows"||this.selectionmode=="multiplecells"||(this.selectionmode.indexOf("multiple")!=-1&&(q==true||d==true))){var p=c.indexOf(j.boundindex)!=-1;var u=j.boundindex+"_"+f;if(this.selectionmode.indexOf("cell")!=-1){var h=this.selectedcells[u]!=undefined;if(this.selectedcells[u]!=undefined&&h){this._selectcellwithstyle(o,false,k,f,s)}else{this._selectcellwithstyle(o,true,k,f,s)}if(q&&this._lastClickedCell==undefined){var g=this.getselectedcells();if(g&&g.length>0){this._lastClickedCell={row:g[0].rowindex,column:g[0].datafield}}}if(q&&this._lastClickedCell){this._selectpath(j.visibleindex,f);this.mousecaptured=false;if(this.selectionarea.css("visibility")=="visible"){this.selectionarea.css("visibility","hidden")}}}else{if(p){if(d){this._applyrowselection(j.boundindex,false)}else{this._selectrowwithstyle(o,s,false,f)}}else{this._selectrowwithstyle(o,s,true,f)}if(q&&this._lastClickedCell==undefined){var i=this.getselectedrowindexes();if(i&&i.length>0){this._lastClickedCell={row:i[0],column:f}}}if(q&&this._lastClickedCell){this.selectedrowindexes=new Array();var e=this._lastClickedCell?Math.min(this._lastClickedCell.row,j.visibleindex):0;var t=this._lastClickedCell?Math.max(this._lastClickedCell.row,j.visibleindex):0;var m=this.dataview.loadedrecords;for(var n=e;n<=t;n++){var j=m[n];this._applyrowselection(j.boundindex,true,false,false)}this._rendervisualrows()}}}else{this._clearselectstyle();this._selectrowwithstyle(o,s,true,f);if(this.selectionmode.indexOf("cell")!=-1){this._selectcellwithstyle(o,true,k,f,s)}}if(!q){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}else{c-=1}}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(aa,n){if((n.selectionmode=="multiplerowsextended"||n.selectionmode=="multiplecellsextended"||n.selectionmode=="multiplecellsadvanced")&&n.mousecaptured){var Z=this.showheader?this.columnsheader.height()+2:0;var H=this._groupsheader()?this.groupsheader.height():0;var J=this.showtoolbar?this.toolbarheight:0;H+=J;var Y=this.host.coord();if(this.hasTransform){Y=a.jqx.utilities.getOffset(this.host);var ac=this._getBodyOffset();Y.left-=ac.left;Y.top-=ac.top}var L=aa.pageX;var K=aa.pageY-H;if(Math.abs(this.mousecaptureposition.left-L)>3||Math.abs(this.mousecaptureposition.top-K)>3){var e=parseInt(this.columnsheader.coord().top);if(this.hasTransform){e=a.jqx.utilities.getOffset(this.columnsheader).top}if(L<Y.left){L=Y.left}if(L>Y.left+this.host.width()){L=Y.left+this.host.width()}var W=Y.top+Z;if(K<W){K=W+5}var I=parseInt(Math.min(n.mousecaptureposition.left,L));var f=-5+parseInt(Math.min(n.mousecaptureposition.top,K));var G=parseInt(Math.abs(n.mousecaptureposition.left-L));var O=parseInt(Math.abs(n.mousecaptureposition.top-K));I-=Y.left;f-=Y.top;this.selectionarea.css("visibility","visible");if(n.selectionmode=="multiplecellsadvanced"){var L=I;var s=L+G;var F=L;var m=n.hScrollInstance;var u=m.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){u=m.max-m.value}if(this.vScrollBar[0].style.visibility!="hidden"){}}var g=n.table[0].rows[0];var S=0;var A=n.mousecaptureposition.clickedcell;var z=A;var l=false;var o=0;var ab=g.cells.length;if(n.mousecaptureposition.left<=aa.pageX){o=A}for(var V=o;V<ab;V++){var X=parseInt(a(this.columnsrow[0].cells[V]).css("left"));var h=X-u;if(n.columns.records[V].pinned){h=X;continue}var N=this._getcolumnat(V);if(N!=null&&N.hidden){continue}if(n.groupable&&n.groups.length>0){if(V<n.groups.length){continue}}var R=h+a(this.columnsrow[0].cells[V]).width();if(n.mousecaptureposition.left>aa.pageX){if(R>=L&&L>=h){z=V;l=true;break}}else{if(R>=s&&s>=h){z=V;l=true;break}}}if(!l){if(n.mousecaptureposition.left>aa.pageX){a.each(this.columns.records,function(i,k){if(n.groupable&&n.groups.length>0){if(i<n.groups.length){return true}}if(!this.pinned&&!this.hidden){z=i;return false}})}else{if(!n.groupable||(n.groupable&&!n.groups.length>0)){z=g.cells.length-1}}}var M=A;A=Math.min(A,z);z=Math.max(M,z);f+=5;f+=H;var Q=n.table[0].rows.indexOf(n.mousecaptureposition.clickedrow);var v=0;var d=-1;var t=-1;var c=0;for(var V=0;V<n.table[0].rows.length;V++){var r=a(n.table[0].rows[V]);if(V==0){c=r.coord().top}var E=r.height();var w=c-Y.top;if(d==-1&&w+E>=f){var b=false;for(var P=0;P<n.groups.length;P++){var U=r[0].cells[P].className;if(U.indexOf("jqx-grid-group-collapse")!=-1||U.indexOf("jqx-grid-group-expand")!=-1){b=true;break}}if(b){continue}d=V}c+=E;if(n.groupable&&n.groups.length>0){var b=false;for(var P=0;P<n.groups.length;P++){var U=r[0].cells[P].className;if(U.indexOf("jqx-grid-group-collapse")!=-1||U.indexOf("jqx-grid-group-expand")!=-1){b=true;break}}if(b){continue}var S=0;for(var T=n.groups.length;T<r[0].cells.length;T++){var D=r[0].cells[T];if(a(D).html()==""){S++}}if(S==r[0].cells.length-n.groups.length){continue}}if(d!=-1){v+=E}if(w+E>f+O){t=V;break}}if(d!=-1){f=a(n.table[0].rows[d]).coord().top-Y.top-H-2;var C=0;if(this.filterable&&this.showfilterrow){C=this.filterrowheight}if(parseInt(n.table[0].style.top)<0&&f<this.rowsheight+C){f-=parseInt(n.table[0].style.top);v+=parseInt(n.table[0].style.top)}O=v;var j=a(this.columnsrow[0].cells[A]);var B=a(this.columnsrow[0].cells[z]);I=parseInt(j.css("left"));G=parseInt(B.css("left"))-parseInt(I)+B.width()-2;I-=u;if(n.editcell&&n.editable&&n.endcelledit&&(A!=z||d!=t)){if(n.editcell.validated==false){return}n.endcelledit(n.editcell.row,n.editcell.column,true,true)}}}this.selectionarea.width(G);this.selectionarea.height(O);this.selectionarea.css("left",I);this.selectionarea.css("top",f)}}},_handlemouseupselection:function(u,o){if(this.selectionarea.css("visibility")!="visible"){o.mousecaptured=false;return true}if(o.mousecaptured&&(o.selectionmode=="multiplerowsextended"||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;var B=this.showtoolbar?this.toolbarheight: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)}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){o._applyrowselection(m.boundindex,true,false,false)}else{if(s==0){o._applyrowselection(m.boundindex,true,false,true)}else{o._applyrowselection(m.boundindex,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&&j>0){o.selectedcells=new Array()}var A=j;while(k<s+A){var b=o._hittestrow(n,k);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(f.boundindex,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(v,o){var A=v.charCode?v.charCode:v.keyCode?v.keyCode:0;if(o.editcell&&o.selectionmode!="multiplecellsadvanced"){return true}else{if(o.editcell&&o.selectionmode=="multiplecellsadvanced"){if(A>=33&&A<=40){if(!v.altKey){if(o._cancelkeydown==undefined||o._cancelkeydown==false){o.endcelledit(o.editcell.row,o.editcell.column,false,true);o._cancelkeydown=false;if(o.editcell&&!o.editcell.validated){o._rendervisualrows();o.endcelledit(o.editcell.row,o.editcell.column,false,true);return false}}else{o._cancelkeydown=false;return true}}else{o._cancelkeydown=false;return true}}else{return true}}}if(o.selectionmode=="none"){return true}if(o.showfilterrow&&o.filterable){if(this.filterrow){if(a(v.target).ischildof(this.filterrow)){return true}}}if(o.pageable){if(a(v.target).ischildof(this.pager)){return true}}if(this.showtoolbar){if(a(v.target).ischildof(this.toolbar)){return true}}if(this.showstatusbar){if(a(v.target).ischildof(this.statusbar)){return true}}var n=false;if(v.altKey){return true}if(v.ctrlKey){if(this.clipboard){var b=String.fromCharCode(A).toLowerCase();if(b=="c"||b=="x"){var m=this.copyselection();if(window.clipboardData){window.clipboardData.setData("Text",m)}}else{if(b=="v"){this.pasteselection()}}if(b=="x"){this.deleteselection()}}}var j=Math.round(o._gettableheight());var t=Math.round(j/o.rowsheight);var f=o.getdatainformation();switch(o.selectionmode){case"singlecell":case"multiplecells":case"multiplecellsextended":case"multiplecellsadvanced":var B=o.getselectedcell();if(B!=null){var e=this.getrowvisibleindex(B.rowindex);var h=e;var l=B.datafield;var q=o._getcolumnindex(l);var c=o.columns.records.length;var r=function(F,D,E){var C=function(J,G){var I=o.dataview.loadedrecords[J];if(I!=undefined&&G!=null){if(E||E==undefined){o.clearselection()}var H=I.boundindex;o.selectcell(H,G);o._oldselectedcell=o.selectedcell;n=true;o.ensurecellvisible(J,G);return true}return false};if(!C(F,D)){o.ensurecellvisible(F,D);C(F,D);if(o.virtualmode){o.host.focus()}}if(v.shiftKey&&A!=9){if(o.selectionmode=="multiplecellsextended"||o.selectionmode=="multiplecellsadvanced"){if(o._lastClickedCell){o._selectpath(F,D);o.selectedcell={rowindex:F,datafield:D};return}}}else{if(!v.shiftKey){o._lastClickedCell={row:F,column:D}}}};var w=v.shiftKey&&o.selectionmode!="singlecell"&&o.selectionmode!="multiplecells";var x=function(){r(0,l,!w)};var g=function(){var C=f.rowscount-1;r(C,l,!w)};var d=A==9&&!v.shiftKey;var i=A==9&&v.shiftKey;if(d||i){w=false}var k=v.ctrlKey;if(k&&A==37){var z=o._getfirstvisiblecolumn(q);if(z!=null){r(h,z.datafield)}}else{if(k&&A==39){var p=o._getlastvisiblecolumn(q);if(p!=null){r(h,p.datafield)}}else{if(A==39||d){var s=o._getnextvisiblecolumn(q);if(s!=null){r(h,s.datafield,!w)}else{if(!d){n=true}}}else{if(A==37||i){var z=o._getprevvisiblecolumn(q);if(z!=null){r(h,z.datafield,!w)}else{if(!i){n=true}}}else{if(A==36){x()}else{if(A==35){g()}else{if(A==33){if(h-t>=0){var y=h-t;r(y,l,!w)}else{x()}}else{if(A==34){if(f.rowscount>h+t){var y=h+t;r(y,l,!w)}else{g()}}else{if(A==38){if(k){x()}else{if(h>0){r(h-1,l,!w)}else{n=true}}}else{if(A==40){if(k){g()}else{if(f.rowscount>h+1){r(h+1,l,!w)}else{n=true}}}}}}}}}}}}}break;case"singlerow":case"multiplerows":case"multiplerowsextended":var h=o.getselectedrowindex();if(h==null||h==-1){return true}h=this.getrowvisibleindex(h);var u=function(D,E){var C=function(H){var J=o.dataview.loadedrecords[H];if(J!=undefined){var I=J.boundindex;var G=o.selectedrowindex;if(E||E==undefined){o.clearselection()}o.selectedrowindex=G;o.selectrow(I,false);var F=o.ensurerowvisible(H);if(!F){o._rendervisualrows()}n=true;return true}return false};if(!C(D)){o.ensurerowvisible(D);C(D,E);if(o.virtualmode){o.host.focus()}}if(v.shiftKey&&A!=9){if(o.selectionmode=="multiplerowsextended"){if(o._lastClickedCell){o._selectrowpath(D);o.selectedrowindex=D;return}}}else{if(!v.shiftKey){o._lastClickedCell={row:D}}}};var w=v.shiftKey&&o.selectionmode!="singlerow"&&o.selectionmode!="multiplerows";var x=function(){u(0,!w)};var g=function(){var C=f.rowscount-1;u(C,!w)};var k=v.ctrlKey;if(A==36||(k&&A==38)){x()}else{if(A==35||(k&&A==40)){g()}else{if(A==33){if(h-t>=0){var y=h-t;u(y,!w)}else{x()}}else{if(A==34){if(f.rowscount>h+t){var y=h+t;u(y,!w)}else{g()}}else{if(A==38){if(h>0){u(h-1,!w)}else{n=true}}else{if(A==40){if(f.rowscount>h+1){u(h+1,!w)}else{n=true}}}}}}}break}if(n){if(o.autosavestate){if(o.savestate){o.savestate()}}return false}return true},_handlemousemove:function(s,n){if(n.vScrollInstance.isScrolling()){return}if(n.hScrollInstance.isScrolling()){return}var u;var o;var e;var m;var l;if(n.enablehover||n.selectionmode=="multiplerows"){u=this.showheader?this.columnsheader.height()+2:0;o=this._groupsheader()?this.groupsheader.height():0;var w=this.showtoolbar?this.toolbarheight:0;o+=w;e=this.host.coord();if(this.hasTransform){e=a.jqx.utilities.getOffset(this.host);var j=this._getBodyOffset();e.left-=j.left;e.top-=j.top}m=s.pageX-e.left;l=s.pageY-u-e.top-o}if(n.selectionmode=="multiplerowsextended"||n.selectionmode=="multiplecellsextended"||n.selectionmode=="multiplecellsadvanced"){if(n.mousecaptured==true){return}}if(n.enablehover){if(n.disabled){return}if(this.vScrollInstance.isScrolling()||this.hScrollInstance.isScrolling()){return}var c=this._hittestrow(m,l);if(!c){return}var g=c.row;var h=c.index;if(this.hoveredrow!=-1&&h!=-1&&this.hoveredrow==h&&this.selectionmode.indexOf("cell")==-1){return}this._clearhoverstyle();if(h==-1||g==undefined){return}var p=this.hittestinfo[h].visualrow;if(p==null){return}if(this.hittestinfo[h].details){return}if(s.clientX>a(p).width()+a(p).coord().left){return}var z=0;if(n.rowdetails&&n.showrowdetailscolumn){z=1}if(p.cells.length==0){return}var k=p.cells[z].className;if(g.group||k.indexOf("jqx-grid-cell-selected")!=-1){return}this.hoveredrow=h;if(this.selectionmode.indexOf("cell")!=-1){var d=-1;var q=this.hScrollInstance;var r=q.value;if(this.rtl){if(this.hScrollBar.css("visibility")!="hidden"){r=q.max-q.value}}for(var t=0;t<p.cells.length;t++){var f=parseInt(a(this.columnsrow[0].cells[t]).css("left"))-r;var v=f+a(this.columnsrow[0].cells[t]).width();if(v>=m&&m>=f){d=t;break}}if(d!=-1){var b=p.cells[d];if(b.className.indexOf("jqx-grid-cell-selected")==-1){if(b.className.indexOf("jqx-grid-group")==-1){a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"))}}}return}for(var t=z;t<p.cells.length;t++){var b=p.cells[t];if(b.className.indexOf("jqx-grid-group")==-1){a(b).addClass(this.toTP("jqx-grid-cell-hover"));a(b).addClass(this.toTP("jqx-fill-state-hover"))}}}else{return true}}})})(jQuery);
|
|
|
|
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function (a) { a.extend(a.jqx._jqxGrid.prototype, { _handledblclick: function (t, n) { if (t.target == null) { return } if (n.disabled) { return } if (a(t.target).ischildof(this.columnsheader)) { return } var w; if (t.which) { w = (t.which == 3) } else { if (t.button) { w = (t.button == 2) } } if (w) { return } var B; if (t.which) { B = (t.which == 2) } else { if (t.button) { B = (t.button == 1) } } if (B) { return } var v = this.showheader ? this.columnsheader.height() + 2 : 0; var o = this._groupsheader() ? this.groupsheader.height() : 0; var A = this.showtoolbar ? this.toolbarheight : 0; o += A; var e = this.host.offset(); var m = t.pageX - e.left; var l = t.pageY - v - e.top - o; var b = this._hittestrow(m, l); var h = b.row; var j = b.index; var q = t.target.className; var p = this.table[0].rows[j]; if (p == null) { return } n.mousecaptured = true; n.mousecaptureposition = { left: t.pageX, top: t.pageY - o }; var r = this.hScrollInstance; var s = r.value; var d = 0; var k = this.groupable ? this.groups.length : 0; for (var u = 0; u < p.cells.length; u++) { var f = parseInt(a(this.columnsrow[0].cells[u]).css("left")); var g = f - s; if (n.columns.records[u].pinned) { g = f } var c = this._getcolumnat(u); if (c != null && c.hidden) { continue } var z = g + a(this.columnsrow[0].cells[u]).width(); if (z >= m && m >= g) { d = u; break } } if (h != null) { var c = this._getcolumnat(d); if (!(q.indexOf("jqx-grid-group-expand") != -1 || q.indexOf("jqx-grid-group-collapse") != -1)) { if (h.boundindex != -1) { n.begincelledit(h.boundindex, c.datafield, c.defaulteditorvalue) } } } }, _getpreveditablecolumn: function (c) { var b = this; while (c > 0) { c--; var d = b.getcolumnat(c); if (!d) { return null } if (!d.editable) { continue } if (!d.hidden) { return d } } return null }, _getnexteditablecolumn: function (c) { var b = this; while (c < this.columns.records.length) { c++; var d = b.getcolumnat(c); if (!d) { return null } if (!d.editable) { continue } if (!d.hidden) { return d } } return null }, _handleeditkeydown: function (v, q) { var z = v.charCode ? v.charCode : v.keyCode ? v.keyCode : 0; if (q.showfilterrow && q.filterable) { if (this.filterrow) { if (a(v.target).ischildof(this.filterrow)) { return true } } } if (q.pageable) { if (a(v.target).ischildof(this.pager)) { return true } } if (this.showtoolbar) { if (a(v.target).ischildof(this.toolbar)) { return true } } if (this.showstatusbar) { if (a(v.target).ischildof(this.statusbar)) { return true } } if (this.rowdetails) { if (a(v.target).ischildof(this.content.find("[role='rowgroup']"))) { return true } } if (this.editcell) { if (this.editcell.columntype == null || this.editcell.columntype == "textbox" || this.editcell.columntype == "numberinput" || this.editcell.columntype == "combobox" || this.editcell.columntype == "datetimeinput") { if (z >= 33 && z <= 40 && q.selectionmode == "multiplecellsadvanced") { var g = this.editcell.columntype == "textbox" || this.editcell.columntype == null ? this.editcell.editor : this.editcell.editor.find("input"); var A = q._selection(g); var r = g.val().length; if (A.length > 0 && this.editcell.columntype != "datetimeinput") { q._cancelkeydown = true } if (A.start > 0 && z == 37) { q._cancelkeydown = true } if (A.start < r && z == 39 && this.editcell.columntype != "datetimeinput") { q._cancelkeydown = true } if (this.editcell.columntype == "datetimeinput" && z == 39) { if (A.start + A.length < r) { q._cancelkeydown = true } } } } else { if (this.editcell.columntype == "dropdownlist") { if (z == 37 || z == 39 && q.selectionmode == "multiplecellsadvanced") { q._cancelkeydown = false } } else { if (this.selectionmode == "multiplecellsadvanced" && this.editcell.columntype != "textbox" && this.editcell.columntype != "numberinput") { q._cancelkeydown = true } } } if (z == 32) { if (q.editcell.columntype == "checkbox") { var j = !q.getcellvalue(q.editcell.row, q.editcell.column); q.setcellvalue(q.editcell.row, q.editcell.column, j, true); q._raiseEvent(18, { rowindex: q.editcell.row, datafield: q.editcell.column, oldvalue: !j, value: j, columntype: "checkbox" }); return false } } if (z == 9) { var f = this.editcell.row; var o = this.editcell.column; var i = o; var t = q._getcolumnindex(o); var n = false; var c = q.getrowvisibleindex(f); this.editchar = ""; if (this.editcell.validated != false) { if (v.shiftKey) { var d = q._getpreveditablecolumn(t); if (d) { o = d.datafield; n = true; if (q.selectionmode.indexOf("cell") != -1) { q.selectprevcell(f, i); setTimeout(function () { q.ensurecellvisible(c, o) }, 10) } } } else { var d = q._getnexteditablecolumn(t); if (d) { o = d.datafield; n = true; if (q.selectionmode.indexOf("cell") != -1) { q.selectnextcell(f, i); q._oldselectedcell = q.selectedcell; setTimeout(function () { q.ensurecellvisible(c, o) }, 10) } } } if (n) { q.begincelledit(f, o); if (this.editcell != null && this.editcell.columntype == "checkbox") { this._renderrows(this.virtualsizeinfo) } } } return false } else { if (z == 13) { var l = this.selectedcell; if (l) { var p = this.getrowvisibleindex(l.rowindex) } this.endcelledit(this.editcell.row, this.editcell.column, false, true); if (this.selectionmode == "multiplecellsadvanced") { var b = q.getselectedcell(); if (b != null) { if (q.selectcell) { if (this.editcell == null) { if (b.rowindex + 1 < this.dataview.totalrecords) { if (this.sortcolumn != b.datafield) { var c = this.getrowvisibleindex(b.rowindex); var y = this.dataview.loadedrecords[c + 1]; if (y) { if (!this.pageable || (this.pageable && c + 1 < this.pagesize)) { this.clearselection(false); this.selectcell(y.boundindex, b.datafield); var b = this.getselectedcell(); this.ensurecellvisible(y.visibleindex, b.datafield) } } } else { if (l != null) { var x = this.dataview.loadedrecords[p + 1]; if (x) { if (!this.pageable || (this.pageable && p + 1 < this.pagesize)) { this.clearselection(false); this.selectcell(x.boundindex, b.datafield) } else { if (this.pageable && p + 1 >= this.pagesize) { this.clearselection(false); var x = this.dataview.loadedrecords[p]; this.selectcell(x.boundindex, b.datafield) } } } } } } } } } } return false } else { if (z == 27) { this.endcelledit(this.editcell.row, this.editcell.column, true, true); return false } } } } else { var s = false; if (z == 113) { s = true } if (!v.ctrlKey && !v.altKey) { if (z >= 48 && z <= 57) { this.editchar = String.fromCharCode(z); s = true } if (z >= 65 && z <= 90) { this.editchar = String.fromCharCode(z); if (!v.shiftKey) { this.editchar = this.editchar.toLowerCase() } s = true } else { if (z >= 96 && z <= 105) { this.editchar = z - 96; this.editchar = this.editchar.toString(); s = true } } } if (z == 13 || s) { if (q.getselectedrowindex) { var f = q.getselectedrowindex(); switch (q.selectionmode) { case "singlerow": case "multiplerows": case "multiplerowsextended": if (f >= 0) { var o = ""; for (var u = 0; u < q.columns.records.length; u++) { var d = q.getcolumnat(u); if (d.editable) { o = d.datafield; break } } q.begincelledit(f, o) } break; case "singlecell": case "multiplecells": case "multiplecellsextended": var b = q.getselectedcell(); if (b != null) { var d = q._getcolumnbydatafield(b.datafield); if (d.columntype != "checkbox") { q.begincelledit(b.rowindex, b.datafield) } } break; case "multiplecellsadvanced": var b = q.getselectedcell(); if (b != null) { if (z == 13) { if (q.selectcell) { if (b.rowindex + 1 < q.dataview.totalrecords) { var c = this.getrowvisibleindex(b.rowindex); var y = this.dataview.loadedrecords[c + 1]; if (y) { this.clearselection(false); this.selectcell(y.boundindex, b.datafield); var b = this.getselectedcell(); this.ensurecellvisible(y.visibleindex, b.datafield) } } } } else { q.begincelledit(b.rowindex, b.datafield) } } break } return false } } if (z == 46) { var e = q.getselectedcells(); if (q.selectionmode.indexOf("cell") == -1) { if (q._getcellsforcopypaste) { e = q._getcellsforcopypaste() } } if (e != null && e.length > 0) { for (var k = 0; k < e.length; k++) { var b = e[k]; if (!b.datafield) { continue } var d = q.getcolumn(b.datafield); var w = q.getcellvalue(b.rowindex, b.datafield); if (w !== "") { var h = null; if (d.columntype == "checkbox") { if (!d.threestatecheckbox) { h = false } } q._raiseEvent(17, { rowindex: b.rowindex, datafield: b.datafield, value: w }); if (k == e.length - 1) { q.setcellvalue(b.rowindex, b.datafield, h, true); if (d.displayfield != d.datafield) { q.setcellvalue(b.rowindex, d.displayfield, h, true) } } else { q.setcellvalue(b.rowindex, b.datafield, h, false); if (d.displayfield != d.datafield) { q.setcellvalue(b.rowindex, d.displayfield, h, true) } } q._raiseEvent(18, { rowindex: b.rowindex, datafield: b.datafield, oldvalue: w, value: h }) } } this.dataview.updateview(); this._renderrows(this.virtualsizeinfo); return false } } if (z == 32) { var b = q.getselectedcell(); if (b != null) { var d = q.getcolumn(b.datafield); if (d.columntype == "checkbox") { var j = !q.getcellvalue(b.rowindex, b.datafield); q._raiseEvent(17, { rowindex: b.rowindex, datafield: b.datafield, value: !j, columntype: "checkbox" }); q.setcellvalue(b.rowindex, b.datafield, j, true); q._raiseEvent(18, { rowindex: b.rowindex, datafield: b.datafield, oldvalue: !j, value: j, columntype: "checkbox" }); return false } } } } return true }, begincelledit: function (k, d, i) { var e = this.getcolumn(d); if (d == null) { return } if (e.columntype == "number" || e.columntype == "button") { return } if (this.editrow != undefined) { return } if (this.editcell) { if (this.editcell.row == k && this.editcell.column == d) { return true } var c = this.endcelledit(this.editcell.row, this.editcell.column, false, true); if (false == c) { return } } var f = e.columntype == "checkbox" || e.columntype == "button"; this.host.removeClass("jqx-disableselect"); this.content.removeClass("jqx-disableselect"); if (e.editable) { if (e.cellbeginedit) { var h = this.getcell(k, d); var j = e.cellbeginedit(k, d, e.columntype, h != null ? h.value : null); if (j == false) { return } } var g = this.getrowvisibleindex(k); this.editcell = this.getcell(k, d); this.editcell.visiblerowindex = g; if (!this.editcell.editing) { if (!f) { this.editcell.editing = true } this.editcell.columntype = e.columntype; this.editcell.defaultvalue = i; if (e.defaultvalue != undefined) { this.editcell.defaultvalue = e.defaultvalue } this.editcell.init = true; if (e.columntype != "checkbox") { this._raiseEvent(17, { rowindex: k, datafield: e.datafield, value: this.editcell.value, columntype: e.columntype }) } if (!f) { var b = this.getrowvisibleindex(k); this.ensurecellvisible(b, e.datafield); this._renderrows(this.virtualsizeinfo) } if (this.editcell) { this.editcell.init = false; return true } } } else { if (!this.editcell) { return } this.editcell.editor = null; this.editcell.editing = false; this._renderrows(this.virtualsizeinfo); this.editcell = null } }, endcelledit: function (g, m, i, e) { var d = this.getcolumn(m); var s = this; if (s.editrow != undefined) { return } var r = function () { if (!s.isNestedGrid) { s.element.focus(); s.content.focus(); setTimeout(function () { s.element.focus(); s.content.focus() }, 10) } }; if (d.columntype == "checkbox" || d.columntype == "button") { this.editcell.editor = null; this.editcell.editing = false; this.editcell = null; return true } var h = this._geteditorvalue(d); var f = function (t) { t._hidecelleditor(); t.editcell.editor = null; t.editcell.editing = false; t.editcell = null; if (e || e == undefined) { t._renderrows(t.virtualsizeinfo) } r(); if (!t.enablebrowserselection) { t.host.addClass("jqx-disableselect"); t.content.addClass("jqx-disableselect") } }; if (i) { f(this); return false } if (this.validationpopup) { this.validationpopup.hide(); this.validationpopuparrow.hide() } if (d.cellvaluechanging) { var b = d.cellvaluechanging(g, m, d.columntype, this.editcell.value, h); if (b != undefined) { h = b } } if (d.validation) { var c = this.getcell(g, m); try { var n = d.validation(c, h); var k = this.gridlocalization.validationstring; if (n.message != undefined) { k = n.message } var l = typeof n == "boolean" ? n : n.result; if (!l) { if (n.showmessage == undefined || n.showmessage == true) { this._showvalidationpopup(g, m, k) } this.editcell.validated = false; return false } } catch (p) { this._showvalidationpopup(g, m, this.gridlocalization.validationstring); this.editcell.validated = false; return false } } if (d.displayfield != d.datafield) { var j = this.getcellvalue(this.editcell.row, d.displayfield); var o = this.editcell.value; oldvalue = { value: o, label: j} } else { oldvalue = this.editcell.value } if (d.cellendedit) { var q = d.cellendedit(g, m, d.columntype, this.editcell.value, h); if (q == false) { this._raiseEvent(18, { rowindex: g, datafield: m, displayfield: d.displayfield, oldvalue: oldvalue, value: oldvalue, columntype: d.columntype }); f(this); return false } } this._raiseEvent(18, { rowindex: g, datafield: m, displayfield: d.displayfield, oldvalue: oldvalue, value: h, columntype: d.columntype }); this._hidecelleditor(); if (this.editcell != undefined) { this.editcell.editor = null; this.editcell.editing = false } this.editcell = null; this.setcellvalue(g, m, h, e); if (!this.enablebrowserselection) { this.host.addClass("jqx-disableselect"); this.content.addClass("jqx-disableselect") } r(); return true }, beginrowedit: function (d) { if (!this.editcells) { this.editcells = new Array() } if (this.editcells.length > 0) { if (this.editcells[0].row == d) { return } var c = this.endrowedit(this.editcells[0].row, false, true); if (false == c) { return } } this.host.removeClass("jqx-disableselect"); this.content.removeClass("jqx-disableselect"); var b = this; this.editcells = new Array(); a.each(this.columns.records, function () { if (b.editable) { var e = b.getcell(d, this.datafield); e.editing = true; if (this.defaultvalue != undefined) { e.defaultvalue = column.defaultvalue } e.init = true; b.editcells[this.datafield] = e } }); b.editrow = d; b._renderrows(this.virtualsizeinfo); a.each(this.columns.records, function () { b.editcells[this.datafield].init = false }) }, endrowedit: function (b) { if (this.editcell.editor == undefined) { return false } return true }, _selection: function (b) { if ("selectionStart" in b[0]) { var g = b[0]; var h = g.selectionEnd - g.selectionStart; return { start: g.selectionStart, end: g.selectionEnd, length: h, text: g.value} } else { var d = document.selection.createRange(); if (d == null) { return { start: 0, end: g.value.length, length: 0} } var c = b[0].createTextRange(); var f = c.duplicate(); c.moveToBookmark(d.getBookmark()); f.setEndPoint("EndToStart", c); var h = d.text.length; return { start: f.text.length, end: f.text.length + d.text.length, length: h, text: d.text} } }, _setSelection: function (e, b, d) { if ("selectionStart" in d[0]) { d[0].focus(); d[0].setSelectionRange(e, b) } else { var c = d[0].createTextRange(); c.collapse(true); c.moveEnd("character", b); c.moveStart("character", e); c.select() } }, findRecordIndex: function (g, c, b) { var b = b; if (c) { var e = b.length; for (var h = 0; h < e; h++) { var f = b[h]; var d = f.label; if (g == d) { return h } } } return -1 }, _destroyeditors: function () { var b = this; a.each(this.columns.records, function (f, g) { var j = a.trim(this.datafield).split(" ").join(""); switch (this.columntype) { case "dropdownlist": var d = b.editors["dropdownlist_" + j]; if (d) { d.jqxDropDownList("destroy"); b.editors["dropdownlist_" + j] = null } break; case "combobox": var c = b.editors["combobox_" + j]; if (c) { c.jqxComboBox("destroy"); b.editors["combobox_" + j] = null } break; case "datetimeinput": var e = b.editors["datetimeinput_" + this.datafield]; if (e) { e.jqxDateTimeInput("destroy"); b.editors["datetimeinput_" + j] = null } break; case "numberinput": var h = b.editors["numberinput_" + j]; if (h) { h.jqxNumberInput("destroy"); b.editors["numberinput_" + j] = null } break } }); b.editors = new Array() }, _showcelleditor: function (l, d, b, B, z) { if (this.editrow != undefined) { this.editcell = this.editcells[d.datafield] } if (b == undefined) { return } if (this.editcell == null) { return } if (d.columntype == "checkbox" && d.editable) { return } if (z == undefined) { z = true } var r = d.datafield; var u = a(b); var H = this; var g = this.editcell.editor; var s = this.getcellvalue(l, r); var x = this.hScrollInstance; var A = x.value; var h = parseInt(A); this.editcell.element = b; if (this.editcell.validated == false) { this._showvalidationpopup() } var E = function (I) { if (H.hScrollInstance.isScrolling() || H.vScrollInstance.isScrolling()) { return } if (!z) { return } if (!H.isNestedGrid) { I.focus() } if (H.gridcontent[0].scrollTop != 0) { H.scrolltop(Math.abs(H.gridcontent[0].scrollTop)); H.gridcontent[0].scrollTop = 0 } if (H.gridcontent[0].scrollLeft != 0) { H.gridcontent[0].scrollLeft = 0 } }; switch (d.columntype) { case "dropdownlist": if (this.host.jqxDropDownList) { b.innerHTML = ""; var C = a.trim(d.datafield).split(" ").join(""); var q = a.trim(d.displayfield).split(" ").join(""); if (C.indexOf(".") != -1) { C = C.replace(".", "") } if (q.indexOf(".") != -1) { q = q.replace(".", "") } var o = this.editors["dropdownlist_" + C]; g = o == undefined ? a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;' id='dropdownlisteditor'></div>") : o; g.css("top", a(b).parent().position().top); if (this.oldhscroll) { g.css("left", -h + parseInt(a(b).position().left)) } else { g.css("left", parseInt(a(b).position().left)) } if (o == undefined) { g.prependTo(this.table); g[0].id = "dropdownlisteditor" + this.element.id + C; var w = this.source._source ? true : false; var n = null; if (!w) { n = new a.jqx.dataAdapter(this.source, { autoBind: false, uniqueDataFields: [q], async: false, autoSort: true, autoSortField: q }) } else { var D = { localdata: this.source.records, datatype: this.source.datatype, async: false }; n = new a.jqx.dataAdapter(D, { autoBind: false, async: false, uniqueDataFields: [q], autoSort: true, autoSortField: q }) } var j = true; g.jqxDropDownList({ keyboardSelection: false, source: n, rtl: this.rtl, autoDropDownHeight: j, theme: this.theme, width: u.width() - 2, height: u.height() - 2, displayMember: q, valueMember: r }); this.editors["dropdownlist_" + C] = g; if (d.createeditor) { d.createeditor(l, s, g) } } if (d._requirewidthupdate) { g.jqxDropDownList({ width: u.width() - 2 }) } var m = g.jqxDropDownList("listBox").visibleItems; if (m.length < 8) { g.jqxDropDownList("autoDropDownHeight", true) } else { g.jqxDropDownList("autoDropDownHeight", false) } var s = this.getcellvalue(l, q); var e = this.findRecordIndex(s, q, m); if (B) { if (s != "") { g.jqxDropDownList("selectIndex", e, true) } else { g.jqxDropDownList("selectIndex", -1) } } if (this.editcell.defaultvalue != undefined) { g.jqxDropDownList("selectIndex", this.editcell.defaultvalue, true) } if (z) { g.jqxDropDownList("focus") } } break; case "combobox": if (this.host.jqxComboBox) { b.innerHTML = ""; var C = a.trim(d.datafield).split(" ").join(""); var q = a.trim(d.displayfield).split(" ").join(""); if (C.indexOf(".") != -1) { C = C.replace(".", "") } if (q.indexOf(".") != -1) { q = q.replace(".", "") } var G = this.editors["combobox_" + C]; g = G == undefined ? a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;' id='comboboxeditor'></div>") : G; g.css("top", a(b).parent().position().top); if (this.oldhscroll) { g.css("left", -h + parseInt(a(b).position().left)) } else { g.css("left", parseInt(a(b).position().left)) } if (G == undefined) { g.prependTo(this.table); g[0].id = "comboboxeditor" + this.element.id + C; var w = this.source._source ? true : false; var n = null; if (!w) { n = new a.jqx.dataAdapter(this.source, { autoBind: false, uniqueDataFields: [q], async: false, autoSort: true, autoSortField: q }) } else { var D = { localdata: this.source.records, datatype: this.source.datatype, async: false }; n = new a.jqx.dataAdapter(D, { autoBind: false, async: false, uniqueDataFields: [q], autoSort: true, autoSortField: q }) } var j = true; g.jqxComboBox({ keyboardSelection: false, source: n, rtl: this.rtl, autoDropDownHeight: j, theme: this.theme, width: u.width() - 2, height: u.height() - 2, displayMember: q, valueMember: r }); this.editors["combobox_" + C] = g; if (d.createeditor) { d.createeditor(l, s, g) } } if (d._requirewidthupdate) { g.jqxComboBox({ width: u.width() - 2 }) } var m = g.jqxComboBox("listBox").visibleItems; if (!d.createeditor) { if (m.length < 8) { g.jqxComboBox("autoDropDownHeight", true) } else { g.jqxComboBox("autoDropDownHeight", false) } } var s = this.getcellvalue(l, q); var e = this.findRecordIndex(s, q, m); if (B) { if (s != "") { g.jqxComboBox("selectIndex", e, true); g.jqxComboBox("val", s) } else { g.jqxComboBox("selectIndex", -1); g.jqxComboBox("val", s) } } if (this.editcell.defaultvalue != undefined) { g.jqxComboBox("selectIndex", this.editcell.defaultvalue, true) } if (this.editchar && this.editchar.length > 0) { g.jqxComboBox("input").val(this.editchar) } if (z) { setTimeout(function () { E(g.jqxComboBox("input")); g.jqxComboBox("_setSelection", 0, 0); if (H.editchar) { g.jqxComboBox("_setSelection", 1, 1); H.editchar = null } else { var I = g.jqxComboBox("input").val(); g.jqxComboBox("_setSelection", 0, I.length) } }, 10) } } break; case "datetimeinput": if (this.host.jqxDateTimeInput) { b.innerHTML = ""; var C = a.trim(d.datafield).split(" ").join(""); if (C.indexOf(".") != -1) { C = C.replace(".", "") } var f = this.editors["datetimeinput_" + C]; g = f == undefined ? a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;' id='datetimeeditor'></div>") : f; g.show(); g.css("top", a(b).parent().position().top); if (this.oldhscroll) { g.css("left", -h + parseInt(a(b).position().left)) } else { g.css("left", parseInt(a(b).position().left)) } if (f == undefined) { g.prependTo(this.table); g[0].id = "datetimeeditor" + this.element.id + C; var k = { calendar: this.gridlocalization }; g.jqxDateTimeInput({ localization: k, _editor: true, theme: this.theme, rtl: this.rtl, width: u.width(), height: u.height(), formatString: d.cellsformat }); this.editors["datetimeinput_" + C] = g; if (d.createeditor) { d.createeditor(l, s, g) } } if (d._requirewidthupdate) { g.jqxDateTimeInput({ width: u.width() - 2 }) } if (B) { if (s != "" && s != null) { var F = new Date(s); if (F == "Invalid Date") { if (this.source.getvaluebytype) { F = this.source.getvaluebytype(s, { name: d.datafield, type: "date" }) } } g.jqxDateTimeInput("setDate", F) } else { g.jqxDateTimeInput("setDate", null) } if (this.editcell.defaultvalue != undefined) { g.jqxDateTimeInput("setDate", this.editcell.defaultvalue) } } if (z) { setTimeout(function () { E(g.jqxDateTimeInput("dateTimeInput")) }, 10) } } break; case "numberinput": if (this.host.jqxNumberInput) { b.innerHTML = ""; var C = a.trim(d.datafield).split(" ").join(""); if (C.indexOf(".") != -1) { C = C.replace(".", "") } var i = this.editors["numberinput_" + C]; g = i == undefined ? a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;' id='numbereditor'></div>") : i; g.show(); g.css("top", a(b).parent().position().top); if (this.oldhscroll) { g.css("left", -h + parseInt(a(b).position().left)) } else { g.css("left", parseInt(a(b).position().left)) } if (i == undefined) { g.prependTo(this.table); g[0].id = "numbereditor" + this.element.id + C; var y = ""; var v = "left"; var p = 2; if (d.cellsformat) { if (d.cellsformat.indexOf("c") != -1) { y = this.gridlocalization.currencysymbol; v = this.gridlocalization.currencysymbolposition; if (v == "before") { v = "left" } else { v = "right" } if (d.cellsformat.length > 1) { p = parseInt(d.cellsformat.substring(1), 10) } } else { if (d.cellsformat.indexOf("p") != -1) { y = this.gridlocalization.percentsymbol; v = "right"; if (d.cellsformat.length > 1) { p = parseInt(d.cellsformat.substring(1), 10) } } } } else { p = 0 } g.jqxNumberInput({ decimalDigits: p, inputMode: "simple", theme: this.theme, rtl: this.rtl, width: u.width() - 1, height: u.height() - 1, spinButtons: true, symbol: y, symbolPosition: v }); this.editors["numberinput_" + C] = g; if (d.createeditor) { d.createeditor(l, s, g) } } if (d._requirewidthupdate) { g.jqxNumberInput({ width: u.width() - 2 }) } if (B) { if (s != "" && s != null) { var c = s; g.jqxNumberInput("setDecimal", c) } else { g.jqxNumberInput("setDecimal", 0) } if (this.editcell.defaultvalue != undefined) { g.jqxNumberInput("setDecimal", this.editcell.defaultvalue) } if (this.editchar && this.editchar.length > 0) { var t = parseInt(this.editchar); if (!isNaN(t)) { g.jqxNumberInput("setDecimal", t) } } if (z) { setTimeout(function () { E(g.jqxNumberInput("numberInput")); g.jqxNumberInput("_setSelectionStart", 0); if (H.editchar) { if (d.cellsformat.length > 0) { g.jqxNumberInput("_setSelectionStart", 2) } else { g.jqxNumberInput("_setSelectionStart", 1) } H.editchar = null } else { var I = g.jqxNumberInput("spinButtons"); if (I) { var J = g.jqxNumberInput("numberInput").val(); H._setSelection(g.jqxNumberInput("numberInput")[0], J.length, J.length) } else { var J = g.jqxNumberInput("numberInput").val(); H._setSelection(g.jqxNumberInput("numberInput")[0], 0, J.length) } } }, 10) } } } break; case "textbox": default: b.innerHTML = ""; g = this.editors["textboxeditor_" + d.datafield] || a("<input 'type='textbox' id='textboxeditor'/>"); g[0].id = "textboxeditor" + this.element.id + d.datafield; g.appendTo(u); if (this.rtl) { g.css("direction", "rtl") } if (B) { g.addClass(this.toThemeProperty("jqx-input")); g.addClass(this.toThemeProperty("jqx-widget-content")); if (this.editchar && this.editchar.length > 0) { g.val(this.editchar) } else { if (d.cellsformat != "") { s = this.getcelltext(l, r) } g.val(s) } if (this.editcell.defaultvalue != undefined) { g.val(this.editcell.defaultvalue) } g.width(u.width()); g.height(u.height()); if (d.createeditor) { d.createeditor(l, s, g) } } this.editors["textboxeditor_" + d.datafield] = g; if (B) { if (z) { setTimeout(function () { E(g); if (H.editchar) { H._setSelection(g[0], 1, 1); H.editchar = null } else { H._setSelection(g[0], 0, g.val().length) } }, 10) } } break } if (B) { if (d.initeditor) { d.initeditor(l, s, g) } } if (g) { g.css("display", "block"); this.editcell.editor = g } }, _setSelection: function (d, g, b) { try { if ("selectionStart" in d) { d.setSelectionRange(g, b) } else { var c = d.createTextRange(); c.collapse(true); c.moveEnd("character", b); c.moveStart("character", g); c.select() } } catch (e) { var f = e } }, _hideeditors: function () { if (this.editcells != null) { var b = this; for (var c in this.editcells) { b.editcell = b.editcells[c]; b._hidecelleditor() } } }, _hidecelleditor: function () { if (!this.editcell) { return } if (this.editcell.columntype == "checkbox") { return } if (this.editcell.editor) { this.editcell.editor.hide(); switch (this.editcell.columntype) { case "dropdownlist": this.editcell.editor.jqxDropDownList({ closeDelay: 0 }); this.editcell.editor.jqxDropDownList("hideListBox"); this.editcell.editor.jqxDropDownList({ closeDelay: 400 }); break; case "combobox": this.editcell.editor.jqxComboBox({ closeDelay: 0 }); this.editcell.editor.jqxComboBox("hideListBox"); this.editcell.editor.jqxComboBox({ closeDelay: 400 }); break; case "datetimeinput": var b = this.editcell.editor; if (b.jqxDateTimeInput("isOpened")) { b.jqxDateTimeInput({ closeDelay: 0 }); b.jqxDateTimeInput("hideCalendar"); b.jqxDateTimeInput({ closeDelay: 400 }) } break } } if (this.validationpopup) { this.validationpopup.hide(); this.validationpopuparrow.hide() } if (!this.isNestedGrid) { this.element.focus() } }, _geteditorvalue: function (e) { var g = new String(); if (this.editcell.editor) { switch (e.columntype) { case "textbox": default: g = this.editcell.editor.val(); if (e.cellsformat != "") { if (e.cellsformat.indexOf("p") != -1 || e.cellsformat.indexOf("c") != -1 || e.cellsformat.indexOf("n") != -1 || e.cellsformat.indexOf("f") != -1) { if (g.indexOf(this.gridlocalization.currencysymbol) > -1) { g = g.replace(this.gridlocalization.currencysymbol, "") } g = g.replace(this.gridlocalization.decimalseparator, "."); if (g.indexOf(this.gridlocalization.percentsymbol) > -1) { g = g.replace(this.gridlocalization.percentsymbol, "") } g = g.replace(/ /g, ""); g = parseFloat(g); if (isNaN(g)) { g = "" } } if (e.cellsformat.indexOf("H") != -1 || e.cellsformat.indexOf("m") != -1 || e.cellsformat.indexOf("M") != -1 || e.cellsformat.indexOf("y") != -1 || e.cellsformat.indexOf("h") != -1 || e.cellsformat.indexOf("d") != -1) { var d = g; g = new Date(g); if (g == "Invalid Date" || g == null) { if (a.jqx.dataFormat) { g = a.jqx.dataFormat.tryparsedate(d) } if (g == "Invalid Date" || g == null) { g = "" } } } } if (e.displayfield != e.datafield) { g = { label: g, value: g} } break; case "datetimeinput": if (this.editcell.editor.jqxDateTimeInput) { this.editcell.editor.jqxDateTimeInput({ isEditing: false }); g = this.editcell.editor.jqxDateTimeInput("getDate"); if (g == null) { return null } g = new Date(g.toString()); if (e.displayfield != e.datafield) { g = { label: g, value: g} } } break; case "dropdownlist": if (this.editcell.editor.jqxDropDownList) { var b = this.editcell.editor.jqxDropDownList("selectedIndex"); var f = this.editcell.editor.jqxDropDownList("listBox").getVisibleItem(b); if (e.displayfield != e.datafield) { if (f) { g = { label: f.label, value: f.value} } else { g = "" } } else { if (f) { g = f.label } else { g = "" } } if (g == null) { g = "" } } break; case "combobox": if (this.editcell.editor.jqxComboBox) { g = this.editcell.editor.jqxComboBox("val"); if (e.displayfield != e.datafield) { var f = this.editcell.editor.jqxComboBox("getSelectedItem"); if (f != null) { g = { label: g, value: f.value} } } if (g == null) { g = "" } } break; case "numberinput": if (this.editcell.editor.jqxNumberInput) { var c = this.editcell.editor.jqxNumberInput("getDecimal"); g = new Number(c); g = parseFloat(g); if (isNaN(g)) { g = 0 } if (e.displayfield != e.datafield) { g = { label: g, value: g} } } break } } return g }, hidevalidationpopups: function () { if (this.popups) { a.each(this.popups, function () { this.validation.remove(); this.validationrow.remove() }); this.popups = new Array() } if (this.validationpopup) { this.validationpopuparrow.hide(); this.validationpopup.hide() } }, showvalidationpopup: function (n, d, o) { if (o == undefined) { var o = this.gridlocalization.validationstring } var m = a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>"); var l = a("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>"); m.html(o); l.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up")); m.addClass(this.toThemeProperty("jqx-grid-validation")); m.addClass(this.toThemeProperty("jqx-rc-all")); m.prependTo(this.table); l.prependTo(this.table); var f = this.hScrollInstance; var h = f.value; var e = parseInt(h); var j = this.getcolumn(d).uielement; var i = a(this.hittestinfo[n].visualrow); m.css("top", parseInt(i.position().top) + 30 + "px"); var b = parseInt(m.css("top")); l.css("top", b - 12); l.removeClass(); l.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up")); if (b > this._gettableheight()) { l.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up")); l.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down")); b = parseInt(a(j).parent().position().top) - 30; m.css("top", b + "px"); l.css("top", b + m.outerHeight() - 9) } var k = -e + parseInt(a(j).position().left); l.css("left", e + k + 30); var c = m.width(); if (c + k > this.host.width() - 20) { var g = c + k - this.host.width() + 40; k -= g } m.css("left", e + k); m.show(); l.show(); if (!this.popups) { this.popups = new Array() } this.popups[this.popups.length] = { validation: m, validationrow: l} }, _showvalidationpopup: function (m, d, n) { var i = this.editcell.editor; if (!i) { return } if (!this.validationpopup) { var l = a("<div style='z-index: 99999; top: 0px; left: 0px; position: absolute;'></div>"); var k = a("<div style='width: 20px; height: 20px; z-index: 999999; top: 0px; left: 0px; position: absolute;'></div>"); l.html(n); k.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up")); l.addClass(this.toThemeProperty("jqx-grid-validation")); l.addClass(this.toThemeProperty("jqx-rc-all")); l.prependTo(this.table); k.prependTo(this.table); this.validationpopup = l; this.validationpopuparrow = k } else { this.validationpopup.html(n) } var f = this.hScrollInstance; var h = f.value; var e = parseInt(h); this.validationpopup.css("top", parseInt(a(this.editcell.element).parent().position().top) + (this.rowsheight + 5) + "px"); var b = parseInt(this.validationpopup.css("top")); this.validationpopuparrow.css("top", b - 12); this.validationpopuparrow.removeClass(); this.validationpopuparrow.addClass(this.toThemeProperty("jqx-grid-validation-arrow-up")); if (b > this._gettableheight()) { this.validationpopuparrow.removeClass(this.toThemeProperty("jqx-grid-validation-arrow-up")); this.validationpopuparrow.addClass(this.toThemeProperty("jqx-grid-validation-arrow-down")); b = parseInt(a(this.editcell.element).parent().position().top) - this.rowsheight - 5; this.validationpopup.css("top", b + "px"); this.validationpopuparrow.css("top", b + this.validationpopup.outerHeight() - 9) } var j = -e + parseInt(a(this.editcell.element).position().left); this.validationpopuparrow.css("left", e + j + 30); var c = this.validationpopup.width(); if (c + j > this.host.width() - 20) { var g = c + j - this.host.width() + 40; j -= g } this.validationpopup.css("left", e + j); this.validationpopup.show(); this.validationpopuparrow.show() } }) })(jQuery);
|
|
|
|
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function (a) { a.extend(a.jqx._jqxGrid.prototype, { _initpager: function () { var k = this; var c = this.gridlocalization.pagergotopagestring; var j = this.gridlocalization.pagerrangestring; var n = this.gridlocalization.pagershowrowsstring; var l = (this.pagerheight - 17) / 2; this.pagerdiv = this.pagerdiv || a('<div style="width: 100%; height: 100%; position: relative;"></div>'); if (!this.pageable) { this.pagerdiv.remove(); this.vScrollBar.jqxScrollBar({ thumbSize: 0 }); return } if (!this.pagerrenderer) { this.pagerdiv.css("top", l); this.pagergotoinput = this.pagergotoinput || a('<div style="margin-right: 7px; width: 27px; height: 17px; float: right;"><input style="margin-top: 0px; text-align: right; width: 27px;" type="text"/></div>'); this.pagergoto = this.pagergoto || a('<div style="float: right; margin-right: 7px;"></div>'); this.pagerrightbutton = this.pagerrightbutton || a('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>'); this.pagerleftbutton = this.pagerleftbutton || a('<div type="button" style="padding: 0px; margin-top: 0px; margin-right: 3px; width: 27px; float: right;"></div>'); this.pagerdetails = this.pagerdetails || a('<div style="margin-right: 7px; float: right;"></div>'); this.pagershowrows = this.pagershowrows || a('<div style="margin-right: 7px; float: right;"></div>'); if (this.pagershowrowscombo && this.pagershowrowscombo.jqxDropDownList) { this.pagershowrowscombo.remove(); this.pagershowrowscombo = null } this.pagershowrowscombo = this.pagershowrowscombo || a('<div id="gridpagerlist" style="margin-top: 0px; margin-right: 7px; float: right;"></div>'); this.pagerdiv.children().remove(); this.pagershowrowscombo[0].id = "gridpagerlist" + this.element.id; this.removeHandler(this.pagerrightbutton, "mousedown"); this.removeHandler(this.pagerrightbutton, "mouseup"); this.removeHandler(this.pagerrightbutton, "click"); this.removeHandler(this.pagerleftbutton, "mousedown"); this.removeHandler(this.pagerleftbutton, "mouseup"); this.removeHandler(this.pagerleftbutton, "click"); this.pagerleftbutton.attr("title", this.gridlocalization.pagerpreviousbuttonstring); this.pagerrightbutton.attr("title", this.gridlocalization.pagernextbuttonstring); this.pagerdiv.append(this.pagerrightbutton); this.pagerdiv.append(this.pagerleftbutton); this.pagerrightbutton.jqxButton({ cursor: "pointer", theme: this.theme }); this.pagerleftbutton.jqxButton({ cursor: "pointer", theme: this.theme }); this.pagerleftbutton.find(".jqx-icon-arrow-left").remove(); this.pagerrightbutton.find(".jqx-icon-arrow-right").remove(); var d = a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>"); d.addClass(this.toThemeProperty("jqx-icon-arrow-left")); this.pagerleftbutton.wrapInner(d); var h = a("<div style='margin-left: 6px; width: 15px; height: 15px;'></div>"); h.addClass(this.toThemeProperty("jqx-icon-arrow-right")); this.pagerrightbutton.wrapInner(h); this.pagerdiv.append(this.pagerdetails); this.pagerdiv.append(this.pagershowrowscombo); this.pagerdiv.append(this.pagershowrows); this.pagerdiv.append(this.pagergotoinput); this.pagerdiv.append(this.pagergoto); var b = this.pagesizeoptions; if (!this.pagershowrowscombo.jqxDropDownList) { throw new Error("jqxGrid: jqxdropdownlist.js is not loaded."); return } this.pagershowrowscombo.jqxDropDownList({ rtl: this.rtl, source: b, enableBrowserBoundsDetection: true, keyboardSelection: false, autoDropDownHeight: true, width: 44, height: 16, theme: this.theme }); var g = 0; for (var f = 0; f < b.length; f++) { if (this.pagesize >= b[f]) { g = f } } this.pagershowrows[0].innerHTML = n; this.pagergoto[0].innerHTML = c; this.updatepagerdetails(); this.pager.append(this.pagerdiv); this.pagershowrowscombo.jqxDropDownList({ selectedIndex: g }); this.pagerpageinput = this.pagergotoinput.find("input"); this.pagerpageinput.addClass(this.toThemeProperty("jqx-input")); this.pagerpageinput.addClass(this.toThemeProperty("jqx-widget-content")); if (this.rtl) { this.pagerpageinput.css("direction", "rtl") } var k = this; this.removeHandler(this.pagershowrowscombo, "select"); this.addHandler(this.pagershowrowscombo, "select", function (q) { if (q.args) { if (k.editcell != null && k.endcelledit) { k.endcelledit(k.editcell.row, k.editcell.column, true, false) } var o = q.args.index; var r = k.dataview.pagenum * k.dataview.pagesize; var p = b[o]; var s = k.pagesize; k.pagesize = parseInt(p); if (isNaN(k.pagesize)) { k.pagesize = 10 } if (p >= 100) { k.pagershowrowscombo.jqxDropDownList({ width: 55 }) } else { k.pagershowrowscombo.jqxDropDownList({ width: 44 }) } k.dataview.pagesize = k.pagesize; var i = Math.floor(r / k.dataview.pagesize); k.prerenderrequired = true; k._requiresupdate = true; k._raiseEvent(10, { pagenum: i, oldpagesize: s, pagesize: k.dataview.pagesize }); k.gotopage(i); if (k.autoheight && k._updatesizeonwindowresize) { k._updatesize(true); setTimeout(function () { k._updatesize(true) }, 500) } } }); var m = this.pagergotoinput.find("input"); m.addClass(this.toThemeProperty("jqx-grid-pager-input")); m.addClass(this.toThemeProperty("jqx-rc-all")); this.removeHandler(m, "keydown"); this.removeHandler(m, "change"); this.addHandler(m, "keydown", function (i) { if (i.keyCode >= 65 && i.keyCode <= 90) { return false } if (i.keyCode == "13") { var o = m.val(); o = parseInt(o); if (!isNaN(o)) { k.gotopage(o - 1) } return false } }); this.addHandler(m, "change", function () { var i = m.val(); i = parseInt(i); if (!isNaN(i)) { k.gotopage(i - 1) } }); this.addHandler(this.pagerrightbutton, "mouseenter", function () { h.addClass(k.toThemeProperty("jqx-icon-arrow-right-hover")) }); this.addHandler(this.pagerleftbutton, "mouseenter", function () { d.addClass(k.toThemeProperty("jqx-icon-arrow-left-hover")) }); this.addHandler(this.pagerrightbutton, "mouseleave", function () { h.removeClass(k.toThemeProperty("jqx-icon-arrow-right-hover")) }); this.addHandler(this.pagerleftbutton, "mouseleave", function () { d.removeClass(k.toThemeProperty("jqx-icon-arrow-left-hover")) }); this.addHandler(this.pagerrightbutton, "mousedown", function () { h.addClass(k.toThemeProperty("jqx-icon-arrow-right-selected")) }); this.addHandler(this.pagerrightbutton, "mouseup", function () { h.removeClass(k.toThemeProperty("jqx-icon-arrow-right-selected")) }); this.addHandler(this.pagerleftbutton, "mousedown", function () { d.addClass(k.toThemeProperty("jqx-icon-arrow-left-selected")) }); this.addHandler(this.pagerleftbutton, "mouseup", function () { d.removeClass(k.toThemeProperty("jqx-icon-arrow-left-selected")) }); this.addHandler(a(document), "mouseup.pagerbuttons" + this.element.id, function () { h.removeClass(k.toThemeProperty("jqx-icon-arrow-right-selected")); d.removeClass(k.toThemeProperty("jqx-icon-arrow-left-selected")) }); this.addHandler(this.pagerrightbutton, "click", function () { if (!k.pagerrightbutton.jqxButton("disabled")) { k.gotonextpage() } }); this.addHandler(this.pagerleftbutton, "click", function () { if (!k.pagerrightbutton.jqxButton("disabled")) { k.gotoprevpage() } }) } else { this.pagerdiv.children().remove(); var e = this.pagerrenderer(); if (e != null) { this.pagerdiv.append(a(e)) } this.pager.append(this.pagerdiv) } this.vScrollBar.jqxScrollBar({ thumbSize: this.host.height() / 5 }); this.vScrollBar.jqxScrollBar("refresh"); this._arrange() }, _updatepagertheme: function () { if (this.pagershowrowscombo == null) { return } this.pagershowrowscombo.jqxDropDownList({ theme: this.theme }); this.pagerrightbutton.jqxButton({ theme: this.theme }); this.pagerleftbutton.jqxButton({ theme: this.theme }); this.pagerpageinput.removeClass(); var c = this.pagergotoinput.find("input"); c.removeClass(); c.addClass(this.toThemeProperty("jqx-grid-pager-input")); c.addClass(this.toThemeProperty("jqx-rc-all")); this.pagerpageinput.addClass(this.toThemeProperty("jqx-input")); this.pagerpageinput.addClass(this.toThemeProperty("jqx-widget-content")); this.pagerleftbutton.find(".jqx-icon-arrow-left").remove(); this.pagerrightbutton.find(".jqx-icon-arrow-right").remove(); var d = a("<div style='width: 27px; height: 15px;'></div>"); d.addClass(this.toThemeProperty("jqx-icon-arrow-left")); this.pagerleftbutton.wrapInner(d); var e = a("<div style='width: 27px; height: 15px;'></div>"); e.addClass(this.toThemeProperty("jqx-icon-arrow-right")); this.pagerrightbutton.wrapInner(e); var b = function (h, g) { h.removeHandler(g, "mouseenter"); h.removeHandler(g, "mouseleave"); h.removeHandler(g, "mousedown"); h.removeHandler(g, "mouseup") }; b(this, this.pagerrightbutton); b(this, this.pagerleftbutton); var f = this; this.addHandler(this.pagerrightbutton, "mouseenter", function () { e.addClass(f.toThemeProperty("jqx-icon-arrow-right-hover")) }); this.addHandler(this.pagerleftbutton, "mouseenter", function () { d.addClass(f.toThemeProperty("jqx-icon-arrow-left-hover")) }); this.addHandler(this.pagerrightbutton, "mouseleave", function () { e.removeClass(f.toThemeProperty("jqx-icon-arrow-right-hover")) }); this.addHandler(this.pagerleftbutton, "mouseleave", function () { d.removeClass(f.toThemeProperty("jqx-icon-arrow-left-hover")) }); this.addHandler(this.pagerrightbutton, "mousedown", function () { e.addClass(f.toThemeProperty("jqx-icon-arrow-right-selected")) }); this.addHandler(this.pagerrightbutton, "mouseup", function () { e.removeClass(f.toThemeProperty("jqx-icon-arrow-right-selected")) }); this.addHandler(this.pagerleftbutton, "mousedown", function () { d.addClass(f.toThemeProperty("jqx-icon-arrow-left-selected")) }); this.addHandler(this.pagerleftbutton, "mouseup", function () { d.removeClass(f.toThemeProperty("jqx-icon-arrow-left-selected")) }) }, gotopage: function (d) { if (d == null || d == undefined) { d = 0 } if (d == -1) { d = 0 } if (d < 0) { return } var c = this.dataview.totalrecords; if (this.summaryrows) { c += this.summaryrows.length } var b = Math.ceil(c / this.pagesize); if (d >= b) { if (this.dataview.totalrecords == 0) { this.dataview.pagenum = 0; this.updatepagerdetails() } if (d > 0) { d = b - 1 } } if (this.dataview.pagenum != d || this._requiresupdate) { if (this.pageable) { if (this.source.pager) { this.source.pager(d, this.dataview.pagesize, this.dataview.pagenum) } this.dataview.pagenum = d; if (this.virtualmode) { this.hiddens = new Array(); this.expandedgroups = new Array(); if (this.rendergridrows) { var g = d * this.dataview.pagesize; var f = g + this.dataview.pagesize; if (g != null && f != null) { if (this.pagerrightbutton) { this.pagerrightbutton.jqxButton({ disabled: true }); this.pagerleftbutton.jqxButton({ disabled: true }); this.pagershowrowscombo.jqxDropDownList({ disabled: true }) } this.updatebounddata("pagechanged"); this._raiseEvent(9, { pagenum: d, pagesize: this.dataview.pagesize }); this.updatepagerdetails(); if (this.autosavestate) { if (this.savestate) { this.savestate() } } return } } } else { this.dataview.updateview() } this._loadrows(); this._updatepageviews(); this.tableheight = null; this._updatecolumnwidths(); this._updatecellwidths(); this._renderrows(this.virtualsizeinfo); this.updatepagerdetails(); if (this.autoheight) { var e = this.host.height() - this._gettableheight(); height = e + this._pageviews[0].height; if (height != this.host.height()) { this._arrange(); this._updatepageviews(); if (this.autorowheight) { this._renderrows(this.virtualsizeinfo) } } } if (this.editcell != null && this.endcelledit) { this.endcelledit(this.editcell.row, this.editcell.column, true, false) } this._raiseEvent(9, { pagenum: d, pagesize: this.dataview.pagesize }); if (this.autosavestate) { if (this.savestate) { this.savestate() } } } } }, gotoprevpage: function () { if (this.dataview.pagenum > 0) { this.gotopage(this.dataview.pagenum - 1) } else { var c = this.dataview.totalrecords; if (this.summaryrows) { c += this.summaryrows.length } var b = Math.ceil(c / this.pagesize); this.gotopage(b - 1) } }, gotonextpage: function () { var c = this.dataview.totalrecords; if (this.summaryrows) { c += this.summaryrows.length } var b = Math.ceil(c / this.pagesize); if (this.dataview.pagenum < b - 1) { this.gotopage(this.dataview.pagenum + 1) } else { this.gotopage(0) } }, updatepagerdetails: function () { if (this.pagerdetails != null && this.pagerdetails.length > 0) { var f = this.dataview.pagenum * this.pagesize; var c = (this.dataview.pagenum + 1) * this.pagesize; if (c >= this.dataview.totalrecords) { c = this.dataview.totalrecords } var b = this.dataview.totalrecords; if (this.summaryrows) { b += this.summaryrows.length; if ((this.dataview.pagenum + 1) * this.pagesize > this.dataview.totalrecords) { c = b } } f++; var e = this.pagergotoinput.find("input"); e.val(this.dataview.pagenum + 1); var d = Math.round(b / this.dataview.pagesize); if (d > 1) { d-- } d++; this.pagergotoinput.attr("title", "1 - " + d); if (c == 0 && c < f) { f = 0 } this.pagerdetails[0].innerHTML = f + "-" + c + this.gridlocalization.pagerrangestring + b; if (f > c) { this.gotoprevpage() } } }, _updatepagedview: function (e, g, b) { var j = this; if (this.dataview.rows.length != this.dataview.pagesize) { this.dataview.updateview() } var k = this.dataview.rows.length; for (var d = 0; d < k; d++) { var f = this.dataview.rows[d].visibleindex; var h = { index: f, height: this.heights[f], hidden: this.hiddens[f], details: this.details[f] }; if (this.heights[f] == undefined) { this.heights[f] = this.rowsheight; h.height = this.rowsheight } if (this.hiddens[f] == undefined) { this.hiddens[f] = false; h.hidden = false } if (this.details[f] == undefined) { this.details[f] = null } if (h.height != j.rowsheight) { g -= j.rowsheight; g += h.height } if (h.hidden) { g -= h.height } else { b += h.height; var c = 0; if (this.rowdetails) { if (h.details && h.details.rowdetails && !h.details.rowdetailshidden) { c = h.details.rowdetailsheight; b += c; g += c } } } } this._pageviews[0] = { top: 0, height: b }; return g } }) })(jQuery);
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
|
|
(function (a) { a.extend(a.jqx._jqxGrid.prototype, { savestate: function (b) { var b = this.getstate(); if (window.localStorage) { window.localStorage["jqxGrid" + this.element.id] = this._stringify(b) } this._savedstate = b; return b }, loadstate: function (d) { var g = ""; if (d != undefined && d.width != undefined) { g = d } else { if (window.localStorage) { var c = window.localStorage["jqxGrid" + this.element.id]; if (c) { var g = a.parseJSON(window.localStorage["jqxGrid" + this.element.id]) } } else { if (this._savedstate) { var g = this._savedstate } } } if (g != null && g !== "") { var f = g; this.width = f.width; this.height = f.height; if (this.pageable) { if (f.pagesize != undefined) { this.pagesize = f.pagesize } if (f.pagenum != undefined) { this.dataview.pagenum = f.pagenum } if (f.pagesizeoptions != undefined) { this.pagesizeoptions = f.pagesizeoptions } var e = 0; for (var b = 0; b < this.pagesizeoptions.length; b++) { if (this.pagesize >= this.pagesizeoptions[b]) { e = b } } if (this.pagershowrowscombo) { this.pagershowrowscombo.jqxDropDownList({ selectedIndex: e }) } } if (this.sortable) { if (f.sortdirection) { if (f.sortdirection.ascending || f.sortdirection.descending) { this.dataview.sortfield = f.sortcolumn; var h = f.sortdirection.ascending ? "asc" : "desc"; this.dataview.sortfielddirection = h; this.source.sortcolumn = f.sortcolumn; this.source.sortdirection = h; if (!this.autoloadstate) { this.sortby(f.sortcolumn, h) } } } else { if (this.dataview.sortfield != null && (this.dataview.sortfielddirection == "asc" || this.dataview.sortfielddirection == "desc")) { this.sortby(this.dataview.sortfield, null) } } } if (this.groupable) { this.dataview.groups = f.groups; this.groups = f.groups } if (this.virtualsizeinfo) { this._loadselectionandcolumnwidths(f) } } }, _loadselectionandcolumnwidths: function (g) { var k = ""; if (g != undefined && g.width != undefined) { k = g } else { if (window.localStorage) { var k = a.parseJSON(window.localStorage["jqxGrid" + this.element.id]) } else { if (this._savedstate) { var k = this._savedstate } } } if (k != null) { var z = k; var y = this; var f = false; var d = []; d.length = 0; var x = []; a.each(this.columns.records, function (A) { var i = z.columns[this.datafield]; if (i != undefined) { if (this.text != i.text) { f = true } if (this.hidden != i.hidden) { f = true } this.width = i.width; this.hidden = i.hidden; this.pinned = i.pinned; this.groupable = i.groupable; this.resizable = i.resizable; this.draggable = i.draggable; this.text = i.text; this.align = i.align; this.cellsalign = i.cellsalign; d[this.datafield] = i.index; d.length++ } }); if (d.length > 0) { if (this.setcolumnindex) { var s = new Array(); for (var v = 0; v < this.columns.records.length; v++) { s.push(this.columns.records[v]) } for (var v = 0; v < s.length; v++) { var h = s[v]; var l = d[h.datafield]; y.setcolumnindex(h.datafield, l, false) } } this.prerenderrequired = true; this.rendergridcontent(true); if (this._updatefilterrowui && this.filterable && this.showfilterrow) { this._updatefilterrowui() } this._renderrows(this.virtualsizeinfo) } if (this.filterable) { if (this.clearfilters) { this.clearfilters(false) } var c = ""; var n = new a.jqx.filter(); for (var v = 0; v < z.filters.filterscount; v++) { var w = z.filters["filtercondition" + v]; var r = z.filters["filterdatafield" + v]; var h = this.getcolumn(r); if (r != c) { n = new a.jqx.filter() } c = r; if (h && h.filterable) { var u = z.filters["filtervalue" + v]; var o = z.filters["filteroperator" + v]; var b = z.filters["filtertype" + v]; var p = n.createfilter(b, u, w); n.addfilter(o, p); if (this.showfilterrow) { var j = h._filterwidget; var e = h._filterwidget.parent(); if (j != null) { switch (h.filtertype) { case "number": e.find("input").val(u); if (this.host.jqxDropDownList) { var m = n.getoperatorsbyfiltertype("numericfilter"); j.find(".filter").jqxDropDownList("selectIndex", m.indexOf(w)) } break; case "date": if (this.host.jqxDateTimeInput) { var q = z.filters["filtervalue" + (v + 1)]; var b = z.filters["filtertype" + v]; var p = n.createfilter(b, q, "LESS_THAN_OR_EQUAL"); n.addfilter(o, p); a(e.children()[0]).jqxDateTimeInput("setRange", new Date(u), new Date(q)); v++ } else { j.val(u) } break; case "textbox": case "default": j.val(u); y["_oldWriteText" + j[0].id] = u; break; case "list": if (this.host.jqxDropDownList) { var t = a(e.children()[0]).jqxDropDownList("getItems"); var l = -1; a.each(t, function (A) { if (this.value == u) { l = A; return false } }); a(e.children()[0]).jqxDropDownList("selectIndex", l) } else { j.val(u) } break; case "checkedlist": if (!this.host.jqxDropDownList) { j.val(u) } break; case "bool": case "boolean": if (!this.host.jqxCheckBox) { j.val(u) } else { a(e.children()[0]).jqxCheckBox({ checked: u }) } break } } } this.addfilter(r, n) } } if (z.filters.filterscount > 0) { this.applyfilters(); if (this.showfilterrow) { a.each(this.columns.records, function () { if (this.filtertype == "checkedlist" && this.filterable) { if (y.host.jqxDropDownList) { var E = this; var C = E._filterwidget; var H = C.jqxDropDownList("getItems"); var A = C.jqxDropDownList("listBox"); A.checkAll(false); if (E.filter) { A.uncheckAll(false); var G = E.filter.getfilters(); for (var D = 0; D < A.items.length; D++) { var B = A.items[D].label; a.each(G, function () { if (this.condition == "NOT_EQUAL") { return true } if (B == this.value) { A.checkIndex(D, false, false) } }) } A._updateCheckedItems(); var F = A.getCheckedItems().length; if (A.items.length != F && F > 0) { A.host.jqxListBox("indeterminateIndex", 0, true, false) } } } } }) } } if (this.pageable) { if (this.gotopage) { this.dataview.pagenum = -1; this.gotopage(z.pagenum) } } } if (z.selectedrowindexes && z.selectedrowindexes.length > 0) { this.selectedrowindexes = z.selectedrowindexes; this.selectedrowindex = z.selectedrowindex } if (z.selectedcells) { if (this._applycellselection) { a.each(z.selectedcells, function () { y._applycellselection(this.rowindex, this.datafield, true, false) }) } } if (this.groupable) { this._refreshdataview(); this.render(); return } if (f) { this.prerenderrequired = true; this.rendergridcontent(true); if (this.updating()) { return false } } else { this._updatecolumnwidths(); this._updatecellwidths() } this._renderrows(this.virtualsizeinfo) } }, getstate: function () { var l = this.getdatainformation(); var g = {}; g.width = this.width; g.height = this.height; g.pagenum = l.paginginformation.pagenum; g.pagesize = l.paginginformation.pagesize; g.pagesizeoptions = this.pagesizeoptions; g.sortcolumn = l.sortinformation.sortcolumn; g.sortdirection = l.sortinformation.sortdirection; if (this.selectionmode != null) { if (this.getselectedcells) { if (this.selectionmode.toString().indexOf("cell") != -1) { var k = this.getselectedcells(); var n = new Array(); a.each(k, function () { n.push({ datafield: this.datafield, rowindex: this.rowindex }) }); g.selectedcells = n } else { var j = this.getselectedrowindexes(); g.selectedrowindexes = j; g.selectedrowindex = this.selectedrowindex } } } var h = {}; var d = 0; if (this.dataview.filters) { for (var i = 0; i < this.dataview.filters.length; i++) { var e = this.dataview.filters[i].datafield; var b = this.dataview.filters[i].filter; var c = b.getfilters(); h[e + "operator"] = b.operator; for (var f = 0; f < c.length; f++) { c[f].datafield = e; h["filtervalue" + d] = c[f].value; h["filtercondition" + d] = c[f].condition; h["filteroperator" + d] = c[f].operator; h["filterdatafield" + d] = e; h["filtertype" + d] = c[f].type; d++ } } } h.filterscount = d; g.filters = h; g.groups = this.groups; g.columns = {}; a.each(this.columns.records, function (m, o) { var p = {}; p.width = this.width; p.hidden = this.hidden; p.pinned = this.pinned; p.groupable = this.groupable; p.resizable = this.resizable; p.draggable = this.draggable; p.text = this.text; p.align = this.align; p.cellsalign = this.cellsalign; p.index = m; g.columns[this.datafield] = p }); return g }, _stringify: function (e) { if (window.JSON && typeof window.JSON.stringify === "function") { var d = this; var c = ""; try { c = window.JSON.stringify(e) } catch (b) { return d._str("", { "": e }) } return c } var c = this._str("", { "": e }); return c }, _quote: function (b) { var d = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, c = { "\b": "\\b", "\t": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\" }; return '"' + b.replace(d, function (e) { var f = c[e]; return typeof f === "string" ? f : "\\u" + ("0000" + e.charCodeAt(0).toString(16)).slice(-4) }) + '"' }, _stringifyArray: function (e) { var b = e.length, c = [], d; for (var d = 0; d < b; d++) { c.push(this._str(d, e) || "null") } return "[" + c.join(",") + "]" }, _stringifyObject: function (f) { var c = [], d, b; var e = this; for (d in f) { if (Object.prototype.hasOwnProperty.call(f, d)) { b = e._str(d, f); if (b) { c.push(e._quote(d) + ":" + b) } } } return "{" + c.join(",") + "}" }, _stringifyReference: function (b) { switch (Object.prototype.toString.call(b)) { case "[object Array]": return this._stringifyArray(b) } return this._stringifyObject(b) }, _stringifyPrimitive: function (c, b) { switch (b) { case "string": return this._quote(c); case "number": return isFinite(c) ? c : "null"; case "boolean": return c } return "null" }, _str: function (c, b) { var e = b[c], d = typeof e; if (e && typeof e === "object" && typeof e.toJSON === "function") { e = e.toJSON(c); d = typeof e } if (/(number|string|boolean)/.test(d) || (!e && d === "object")) { return this._stringifyPrimitive(e, d) } else { return this._stringifyReference(e) } } }) })(jQuery);
|
|
/*
|
|
jQWidgets v2.8.0 (2013-Mar-22)
|
|
Copyright (c) 2011-2013 jQWidgets.
|
|
License: http://jqwidgets.com/license/
|
|
*/
|
|
(function (a) { a.jqx.dataview.sort = function () { this.sortby = function (d, f, p) { var m = Object.prototype.toString; if (f == null) { this.sortdata = null; this.refresh(); return } if (f == undefined) { f = true } if (f == "a" || f == "asc" || f == "ascending" || f == true) { f = true } else { f = false } var g = d; this.sortfield = d; this.sortfielddirection = f ? "asc" : "desc"; if (this.sortcache == undefined) { this.sortcache = {} } this.sortdata = []; var b = []; var c = false; if (g == "constructor") { g = "" } if (!this.virtualmode && this.sortcache[g] != null) { var o = this.sortcache[g]; b = o._sortdata; if (o.direction == f) { b.reverse() } else { if (!o.direction && f) { b.reverse() } c = true } if (b.length < this.totalrecords) { this.sortcache = {}; c = false; b = [] } } Object.prototype.toString = (typeof d == "function") ? d : function () { return this[d] }; var r = this.records; var t = this; var n = ""; if (this.source.datafields) { a.each(this.source.datafields, function () { if (this.name == d) { if (this.type) { n = this.type } return false } }) } if (b.length == 0) { if (r.length) { var h = r.length; for (var q = 0; q < h; q++) { var e = r[q]; if (e != null) { var j = e; var s = j.toString(); b.push({ sortkey: s, value: j, index: q }) } } } else { var l = false; for (obj in r) { var e = r[obj]; if (e == undefined) { l = true; break } var j = e; b.push({ sortkey: j.toString(), value: j, index: obj }) } if (l) { a.each(r, function (u, v) { b.push({ sortkey: v.toString(), value: v, index: u }) }) } } } if (!c) { if (p == null) { this._sortcolumntype = n; var k = this; b.sort(function (u, i) { return k._compare(u, i, n) }) } else { b.sort(p) } } if (!f) { b.reverse() } Object.prototype.toString = m; this.sortdata = b; this.sortcache[g] = { _sortdata: b, direction: f }; this.reload(this.records, this.rows, this.filters, this.updated, true) }, this.clearsortdata = function () { this.sortcache = {}; this.sortdata = null }; this._compare = function (c, b, e) { var c = c.sortkey; var b = b.sortkey; if (c === undefined) { c = null } if (b === undefined) { b = null } if (c === null && b === null) { return 0 } if (c === null && b !== null) { return 1 } if (c !== null && b === null) { return -1 } if (a.jqx.dataFormat) { if (e && e != "") { switch (e) { case "number": case "int": case "float": if (c < b) { return -1 } if (c > b) { return 1 } return 0; case "date": case "time": if (c < b) { return -1 } if (c > b) { return 1 } return 0; case "string": case "text": c = String(c).toLowerCase(); b = String(b).toLowerCase(); break } } else { if (a.jqx.dataFormat.isNumber(c) && a.jqx.dataFormat.isNumber(b)) { if (c < b) { return -1 } if (c > b) { return 1 } return 0 } else { if (a.jqx.dataFormat.isDate(c) && a.jqx.dataFormat.isDate(b)) { if (c < b) { return -1 } if (c > b) { return 1 } return 0 } else { if (!a.jqx.dataFormat.isNumber(c) && !a.jqx.dataFormat.isNumber(b)) { c = String(c).toLowerCase(); b = String(b).toLowerCase() } } } } } try { if (c < b) { return -1 } if (c > b) { return 1 } } catch (d) { var f = d } return 0 }; this._equals = function (c, b) { return (this._compare(c, b) === 0) } }; a.extend(a.jqx._jqxGrid.prototype, { _rendersortcolumn: function () { var b = this; var c = this.getsortcolumn(); if (this.sortdirection) { a.each(this.columns.records, function (e, f) { var d = a.data(document.body, "groupsortelements" + this.displayfield); if (c == null || this.displayfield != c) { a(this.sortasc).hide(); a(this.sortdesc).hide(); if (d != null) { d.sortasc.hide(); d.sortdesc.hide() } } else { if (b.sortdirection.ascending) { a(this.sortasc).show(); a(this.sortdesc).hide(); if (d != null) { d.sortasc.show(); d.sortdesc.hide() } } else { a(this.sortasc).hide(); a(this.sortdesc).show(); if (d != null) { d.sortasc.hide(); d.sortdesc.show() } } } }) } }, getsortcolumn: function () { if (this.sortcolumn) { return this.sortcolumn } return null }, removesort: function () { this.sortby(null) }, sortby: function (c, e, d) { if (this._loading) { throw new Error("jqxGrid: " + this.loadingerrormessage); return false } if (c == null) { e = null; c = this.sortcolumn } if (c) { var b = this; if (d == undefined && b.source.sortcomparer != null) { d = b.source.sortcomparer } if (e == "a" || e == "asc" || e == "ascending" || e == true) { ascending = true } else { ascending = false } if (e != null) { b.sortdirection = { ascending: ascending, descending: !ascending } } else { b.sortdirection = { ascending: false, descending: false } } if (e != null) { b.sortcolumn = c } else { b.sortcolumn = null } if (b.source.sort || b.virtualmode) { b.dataview.sortfield = c; if (e == null) { b.dataview.sortfielddirection = "" } else { b.dataview.sortfielddirection = ascending ? "asc" : "desc" } if (b.source.sort) { b.source.sort(c, e); b._raiseEvent(6, { sortinformation: b.getsortinformation() }); return } } else { b.dataview.sortby(c, e, d) } if (b.groupable && b.groups.length > 0) { b._render(true, false, false); if (b._updategroupheadersbounds && b.showgroupsheader) { b._updategroupheadersbounds() } } else { if (b.pageable) { b.dataview.updateview() } b._updaterowsproperties(); b.rendergridcontent(true) } b._raiseEvent(6, { sortinformation: b.getsortinformation() }) } }, _togglesort: function (d) { var b = this; if (d.sortable && b.sortable) { var c = b.getsortinformation(); var e = null; if (c.sortcolumn != null && c.sortcolumn == d.displayfield) { e = c.sortdirection.ascending; if (b.sorttogglestates > 1) { if (e == true) { e = false } else { e = null } } else { e = !e } } else { e = true } b.sortby(d.displayfield, e, null) } } }) })(jQuery);
|