Blame | Last modification | View Log | RSS feed
if(!dojo._hasResource["dojox.grid._grid.lib"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.grid._grid.lib"] = true;dojo.provide("dojox.grid._grid.lib");dojo.isNumber = function(v){return (typeof v == 'number') || (v instanceof Number);}// summary:// grid utility librarydojo.mixin(dojox.grid, {na: '...',nop: function() {},getTdIndex: function(td){return td.cellIndex >=0 ? td.cellIndex : dojo.indexOf(td.parentNode.cells, td);},getTrIndex: function(tr){return tr.rowIndex >=0 ? tr.rowIndex : dojo.indexOf(tr.parentNode.childNodes, tr);},getTr: function(rowOwner, index){return rowOwner && ((rowOwner.rows||0)[index] || rowOwner.childNodes[index]);},getTd: function(rowOwner, rowIndex, cellIndex){return (dojox.grid.getTr(inTable, rowIndex)||0)[cellIndex];},findTable: function(node){for (var n=node; n && n.tagName!='TABLE'; n=n.parentNode);return n;},ascendDom: function(inNode, inWhile){for (var n=inNode; n && inWhile(n); n=n.parentNode);return n;},makeNotTagName: function(inTagName){var name = inTagName.toUpperCase();return function(node){ return node.tagName != name; };},fire: function(ob, ev, args){var fn = ob && ev && ob[ev];return fn && (args ? fn.apply(ob, args) : ob[ev]());},// from lib.jssetStyleText: function(inNode, inStyleText){if(inNode.style.cssText == undefined){inNode.setAttribute("style", inStyleText);}else{inNode.style.cssText = inStyleText;}},getStyleText: function(inNode, inStyleText){return (inNode.style.cssText == undefined ? inNode.getAttribute("style") : inNode.style.cssText);},setStyle: function(inElement, inStyle, inValue){if(inElement && inElement.style[inStyle] != inValue){inElement.style[inStyle] = inValue;}},setStyleHeightPx: function(inElement, inHeight){if(inHeight >= 0){dojox.grid.setStyle(inElement, 'height', inHeight + 'px');}},mouseEvents: [ 'mouseover', 'mouseout', /*'mousemove',*/ 'mousedown', 'mouseup', 'click', 'dblclick', 'contextmenu' ],keyEvents: [ 'keyup', 'keydown', 'keypress' ],funnelEvents: function(inNode, inObject, inMethod, inEvents){var evts = (inEvents ? inEvents : dojox.grid.mouseEvents.concat(dojox.grid.keyEvents));for (var i=0, l=evts.length; i<l; i++){dojo.connect(inNode, 'on' + evts[i], inObject, inMethod);}},removeNode: function(inNode){inNode = dojo.byId(inNode);inNode && inNode.parentNode && inNode.parentNode.removeChild(inNode);return inNode;},getScrollbarWidth: function(){if(this._scrollBarWidth){return this._scrollBarWidth;}this._scrollBarWidth = 18;try{var e = document.createElement("div");e.style.cssText = "top:0;left:0;width:100px;height:100px;overflow:scroll;position:absolute;visibility:hidden;";document.body.appendChild(e);this._scrollBarWidth = e.offsetWidth - e.clientWidth;document.body.removeChild(e);delete e;}catch (ex){}return this._scrollBarWidth;},// needed? dojo has _getPropgetRef: function(name, create, context){var obj=context||dojo.global, parts=name.split("."), prop=parts.pop();for(var i=0, p; obj&&(p=parts[i]); i++){obj = (p in obj ? obj[p] : (create ? obj[p]={} : undefined));}return { obj: obj, prop: prop };},getProp: function(name, create, context){with(dojox.grid.getRef(name, create, context)){return (obj)&&(prop)&&(prop in obj ? obj[prop] : (create ? obj[prop]={} : undefined));}},indexInParent: function(inNode){var i=0, n, p=inNode.parentNode;while(n = p.childNodes[i++]){if(n == inNode){return i - 1;}}return -1;},cleanNode: function(inNode){if(!inNode){return;}var filter = function(inW){return inW.domNode && dojo.isDescendant(inW.domNode, inNode, true);}var ws = dijit.registry.filter(filter);for(var i=0, w; (w=ws[i]); i++){w.destroy();}delete ws;},getTagName: function(inNodeOrId){var node = dojo.byId(inNodeOrId);return (node && node.tagName ? node.tagName.toLowerCase() : '');},nodeKids: function(inNode, inTag){var result = [];var i=0, n;while(n = inNode.childNodes[i++]){if(dojox.grid.getTagName(n) == inTag){result.push(n);}}return result;},divkids: function(inNode){return dojox.grid.nodeKids(inNode, 'div');},focusSelectNode: function(inNode){try{dojox.grid.fire(inNode, "focus");dojox.grid.fire(inNode, "select");}catch(e){// IE sux bad}},whenIdle: function(/*inContext, inMethod, args ...*/){setTimeout(dojo.hitch.apply(dojo, arguments), 0);},arrayCompare: function(inA, inB){for(var i=0,l=inA.length; i<l; i++){if(inA[i] != inB[i]){return false;}}return (inA.length == inB.length);},arrayInsert: function(inArray, inIndex, inValue){if(inArray.length <= inIndex){inArray[inIndex] = inValue;}else{inArray.splice(inIndex, 0, inValue);}},arrayRemove: function(inArray, inIndex){inArray.splice(inIndex, 1);},arraySwap: function(inArray, inI, inJ){var cache = inArray[inI];inArray[inI] = inArray[inJ];inArray[inJ] = cache;},initTextSizePoll: function(inInterval) {var f = document.createElement("div");with (f.style) {top = "0px";left = "0px";position = "absolute";visibility = "hidden";}f.innerHTML = "TheQuickBrownFoxJumpedOverTheLazyDog";document.body.appendChild(f);var fw = f.offsetWidth;var job = function() {if (f.offsetWidth != fw) {fw = f.offsetWidth;dojox.grid.textSizeChanged();}}window.setInterval(job, inInterval||200);dojox.grid.initTextSizePoll = dojox.grid.nop;},textSizeChanged: function() {}});dojox.grid.jobs = {cancel: function(inHandle){if(inHandle){window.clearTimeout(inHandle);}},jobs: [],job: function(inName, inDelay, inJob){dojox.grid.jobs.cancelJob(inName);var job = function(){delete dojox.grid.jobs.jobs[inName];inJob();}dojox.grid.jobs.jobs[inName] = setTimeout(job, inDelay);},cancelJob: function(inName){dojox.grid.jobs.cancel(dojox.grid.jobs.jobs[inName]);}}}