util.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. define("dojox/grid/util", [
  2. "../main",
  3. "dojo/_base/lang",
  4. "dojo/dom"
  5. ], function(dojox, lang, dom){
  6. // summary: grid utility library
  7. var dgu = lang.getObject("grid.util", true, dojox);
  8. dgu.na = '...';
  9. dgu.rowIndexTag = "gridRowIndex";
  10. dgu.gridViewTag = "gridView";
  11. dgu.fire = function(ob, ev, args){
  12. var fn = ob && ev && ob[ev];
  13. return fn && (args ? fn.apply(ob, args) : ob[ev]());
  14. };
  15. dgu.setStyleHeightPx = function(inElement, inHeight){
  16. if(inHeight >= 0){
  17. var s = inElement.style;
  18. var v = inHeight + 'px';
  19. if(inElement && s['height'] != v){
  20. s['height'] = v;
  21. }
  22. }
  23. };
  24. dgu.mouseEvents = [ 'mouseover', 'mouseout', /*'mousemove',*/ 'mousedown', 'mouseup', 'click', 'dblclick', 'contextmenu' ];
  25. dgu.keyEvents = [ 'keyup', 'keydown', 'keypress' ];
  26. dgu.funnelEvents = function(inNode, inObject, inMethod, inEvents){
  27. var evts = (inEvents ? inEvents : dgu.mouseEvents.concat(dgu.keyEvents));
  28. for (var i=0, l=evts.length; i<l; i++){
  29. inObject.connect(inNode, 'on' + evts[i], inMethod);
  30. }
  31. };
  32. dgu.removeNode = function(inNode){
  33. inNode = dom.byId(inNode);
  34. inNode && inNode.parentNode && inNode.parentNode.removeChild(inNode);
  35. return inNode;
  36. };
  37. dgu.arrayCompare = function(inA, inB){
  38. for(var i=0,l=inA.length; i<l; i++){
  39. if(inA[i] != inB[i]){return false;}
  40. }
  41. return (inA.length == inB.length);
  42. };
  43. dgu.arrayInsert = function(inArray, inIndex, inValue){
  44. if(inArray.length <= inIndex){
  45. inArray[inIndex] = inValue;
  46. }else{
  47. inArray.splice(inIndex, 0, inValue);
  48. }
  49. };
  50. dgu.arrayRemove = function(inArray, inIndex){
  51. inArray.splice(inIndex, 1);
  52. };
  53. dgu.arraySwap = function(inArray, inI, inJ){
  54. var cache = inArray[inI];
  55. inArray[inI] = inArray[inJ];
  56. inArray[inJ] = cache;
  57. };
  58. return dojox.grid.util;
  59. });