You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2009/03/19 11:37:20 UTC

svn commit: r755904 [28/40] - in /camel/trunk/components/camel-web/src/main/webapp/js/dojox: ./ analytics/ analytics/logger/ analytics/plugins/ analytics/profiles/ atom/ atom/io/ atom/widget/ atom/widget/nls/ atom/widget/nls/cs/ atom/widget/nls/de/ ato...

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/DataGrid.js.uncompressed.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/DataSelection.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/DataSelection.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/DataSelection.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/DataSelection.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,68 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid.DataSelection"]){
+dojo._hasResource["dojox.grid.DataSelection"]=true;
+dojo.provide("dojox.grid.DataSelection");
+dojo.require("dojox.grid.Selection");
+dojo.declare("dojox.grid.DataSelection",dojox.grid.Selection,{getFirstSelected:function(){
+var _1=dojox.grid.Selection.prototype.getFirstSelected.call(this);
+if(_1==-1){
+return null;
+}
+return this.grid.getItem(_1);
+},getNextSelected:function(_2){
+var _3=this.grid.getItemIndex(_2);
+var _4=dojox.grid.Selection.prototype.getNextSelected.call(this,_3);
+if(_4==-1){
+return null;
+}
+return this.grid.getItem(_4);
+},getSelected:function(){
+var _5=[];
+for(var i=0,l=this.selected.length;i<l;i++){
+if(this.selected[i]){
+_5.push(this.grid.getItem(i));
+}
+}
+return _5;
+},addToSelection:function(_8){
+if(this.mode=="none"){
+return;
+}
+var _9=null;
+if(typeof _8=="number"||typeof _8=="string"){
+_9=_8;
+}else{
+_9=this.grid.getItemIndex(_8);
+}
+dojox.grid.Selection.prototype.addToSelection.call(this,_9);
+},deselect:function(_a){
+if(this.mode=="none"){
+return;
+}
+var _b=null;
+if(typeof _a=="number"||typeof _a=="string"){
+_b=_a;
+}else{
+_b=this.grid.getItemIndex(_a);
+}
+dojox.grid.Selection.prototype.deselect.call(this,_b);
+},deselectAll:function(_c){
+var _d=null;
+if(_c||typeof _c=="number"){
+if(typeof _c=="number"||typeof _c=="string"){
+_d=_c;
+}else{
+_d=this.grid.getItemIndex(_c);
+}
+dojox.grid.Selection.prototype.deselectAll.call(this,_d);
+}else{
+this.inherited(arguments);
+}
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/DataSelection.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/Grid.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/Grid.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/Grid.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/Grid.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,13 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid.Grid"]){
+dojo._hasResource["dojox.grid.Grid"]=true;
+dojo.provide("dojox.grid.Grid");
+dojo.require("dojox.grid.compat.Grid");
+dojo.deprecated("dojox.grid.Grid");
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/Grid.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/README
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/README?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/README (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/README Thu Mar 19 10:37:00 2009
@@ -0,0 +1,44 @@
+-------------------------------------------------------------------------------
+dojox.grid
+-------------------------------------------------------------------------------
+Version 1.00
+Release date: 10/04/2007
+-------------------------------------------------------------------------------
+Project state:
+beta
+-------------------------------------------------------------------------------
+Credits
+	Scott J. Miles (sjmiles@activegrid.com)
+	Steve Orvell (sorvell@activegrid.com)
+	Bryan Forbes (bryan AT reigndropsfall.net)
+-------------------------------------------------------------------------------
+Project description
+
+TurboGrid has been made available in Dojo and is now the dojox.grid!
+
+-------------------------------------------------------------------------------
+Dependencies:
+
+Dojo Core
+Dojo Base (dnd)
+Dijit Templated Widget
+dojox.html (metrics)
+-------------------------------------------------------------------------------
+Documentation
+
+None available for this version yet.
+
+See http://www.turboajax.com/products/turbogrid/ for legacy documentation.
+-------------------------------------------------------------------------------
+Installation instructions
+
+Grab the following from the Dojo SVN Repository:
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/grid/*
+http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/html/*
+
+Install into the following directory structure:
+/dojox/grid/
+/dojox/html/
+
+...which should be at the same level as your Dojo checkout.
+-------------------------------------------------------------------------------

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/README
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/Selection.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/Selection.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/Selection.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/Selection.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,189 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid.Selection"]){
+dojo._hasResource["dojox.grid.Selection"]=true;
+dojo.provide("dojox.grid.Selection");
+dojo.declare("dojox.grid.Selection",null,{constructor:function(_1){
+this.grid=_1;
+this.selected=[];
+this.setMode(_1.selectionMode);
+},mode:"extended",selected:null,updating:0,selectedIndex:-1,setMode:function(_2){
+if(this.selected.length){
+this.deselectAll();
+}
+if(_2!="extended"&&_2!="multiple"&&_2!="single"&&_2!="none"){
+this.mode="extended";
+}else{
+this.mode=_2;
+}
+},onCanSelect:function(_3){
+return this.grid.onCanSelect(_3);
+},onCanDeselect:function(_4){
+return this.grid.onCanDeselect(_4);
+},onSelected:function(_5){
+},onDeselected:function(_6){
+},onChanging:function(){
+},onChanged:function(){
+},isSelected:function(_7){
+if(this.mode=="none"){
+return false;
+}
+return this.selected[_7];
+},getFirstSelected:function(){
+if(!this.selected.length||this.mode=="none"){
+return -1;
+}
+for(var i=0,l=this.selected.length;i<l;i++){
+if(this.selected[i]){
+return i;
+}
+}
+return -1;
+},getNextSelected:function(_a){
+if(this.mode=="none"){
+return -1;
+}
+for(var i=_a+1,l=this.selected.length;i<l;i++){
+if(this.selected[i]){
+return i;
+}
+}
+return -1;
+},getSelected:function(){
+var _d=[];
+for(var i=0,l=this.selected.length;i<l;i++){
+if(this.selected[i]){
+_d.push(i);
+}
+}
+return _d;
+},getSelectedCount:function(){
+var c=0;
+for(var i=0;i<this.selected.length;i++){
+if(this.selected[i]){
+c++;
+}
+}
+return c;
+},_beginUpdate:function(){
+if(this.updating==0){
+this.onChanging();
+}
+this.updating++;
+},_endUpdate:function(){
+this.updating--;
+if(this.updating==0){
+this.onChanged();
+}
+},select:function(_12){
+if(this.mode=="none"){
+return;
+}
+if(this.mode!="multiple"){
+this.deselectAll(_12);
+this.addToSelection(_12);
+}else{
+this.toggleSelect(_12);
+}
+},addToSelection:function(_13){
+if(this.mode=="none"){
+return;
+}
+_13=Number(_13);
+if(this.selected[_13]){
+this.selectedIndex=_13;
+}else{
+if(this.onCanSelect(_13)!==false){
+this.selectedIndex=_13;
+this._beginUpdate();
+this.selected[_13]=true;
+this.onSelected(_13);
+this._endUpdate();
+}
+}
+},deselect:function(_14){
+if(this.mode=="none"){
+return;
+}
+_14=Number(_14);
+if(this.selectedIndex==_14){
+this.selectedIndex=-1;
+}
+if(this.selected[_14]){
+if(this.onCanDeselect(_14)===false){
+return;
+}
+this._beginUpdate();
+delete this.selected[_14];
+this.onDeselected(_14);
+this._endUpdate();
+}
+},setSelected:function(_15,_16){
+this[(_16?"addToSelection":"deselect")](_15);
+},toggleSelect:function(_17){
+this.setSelected(_17,!this.selected[_17]);
+},_range:function(_18,_19,_1a){
+var s=(_18>=0?_18:_19),e=_19;
+if(s>e){
+e=s;
+s=_19;
+}
+for(var i=s;i<=e;i++){
+_1a(i);
+}
+},selectRange:function(_1e,_1f){
+this._range(_1e,_1f,dojo.hitch(this,"addToSelection"));
+},deselectRange:function(_20,_21){
+this._range(_20,_21,dojo.hitch(this,"deselect"));
+},insert:function(_22){
+this.selected.splice(_22,0,false);
+if(this.selectedIndex>=_22){
+this.selectedIndex++;
+}
+},remove:function(_23){
+this.selected.splice(_23,1);
+if(this.selectedIndex>=_23){
+this.selectedIndex--;
+}
+},deselectAll:function(_24){
+for(var i in this.selected){
+if((i!=_24)&&(this.selected[i]===true)){
+this.deselect(i);
+}
+}
+},clickSelect:function(_26,_27,_28){
+if(this.mode=="none"){
+return;
+}
+this._beginUpdate();
+if(this.mode!="extended"){
+this.select(_26);
+}else{
+var _29=this.selectedIndex;
+if(!_27){
+this.deselectAll(_26);
+}
+if(_28){
+this.selectRange(_29,_26);
+}else{
+if(_27){
+this.toggleSelect(_26);
+}else{
+this.addToSelection(_26);
+}
+}
+}
+this._endUpdate();
+},clickSelectEvent:function(e){
+this.clickSelect(e.rowIndex,dojo.dnd.getCopyKeyState(e),e.shiftKey);
+},clear:function(){
+this._beginUpdate();
+this.deselectAll();
+this._endUpdate();
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/Selection.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/VirtualGrid.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/VirtualGrid.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/VirtualGrid.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/VirtualGrid.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,13 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid.VirtualGrid"]){
+dojo._hasResource["dojox.grid.VirtualGrid"]=true;
+dojo.provide("dojox.grid.VirtualGrid");
+dojo.require("dojox.grid.compat.VirtualGrid");
+dojo.deprecated("dojox.grid.VirtualGrid");
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/VirtualGrid.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Builder.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Builder.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Builder.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Builder.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,456 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid._Builder"]){
+dojo._hasResource["dojox.grid._Builder"]=true;
+dojo.provide("dojox.grid._Builder");
+dojo.require("dojox.grid.util");
+dojo.require("dojo.dnd.Moveable");
+(function(){
+var dg=dojox.grid;
+var _2=function(td){
+return td.cellIndex>=0?td.cellIndex:dojo.indexOf(td.parentNode.cells,td);
+};
+var _4=function(tr){
+return tr.rowIndex>=0?tr.rowIndex:dojo.indexOf(tr.parentNode.childNodes,tr);
+};
+var _6=function(_7,_8){
+return _7&&((_7.rows||0)[_8]||_7.childNodes[_8]);
+};
+var _9=function(_a){
+for(var n=_a;n&&n.tagName!="TABLE";n=n.parentNode){
+}
+return n;
+};
+var _c=function(_d,_e){
+for(var n=_d;n&&_e(n);n=n.parentNode){
+}
+return n;
+};
+var _10=function(_11){
+var _12=_11.toUpperCase();
+return function(_13){
+return _13.tagName!=_12;
+};
+};
+var _14=dojox.grid.util.rowIndexTag;
+var _15=dojox.grid.util.gridViewTag;
+dg._Builder=dojo.extend(function(_16){
+if(_16){
+this.view=_16;
+this.grid=_16.grid;
+}
+},{view:null,_table:"<table class=\"dojoxGridRowTable\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" role=\"wairole:presentation\"",getTableArray:function(){
+var _17=[this._table];
+if(this.view.viewWidth){
+_17.push([" style=\"width:",this.view.viewWidth,";\""].join(""));
+}
+_17.push(">");
+return _17;
+},generateCellMarkup:function(_18,_19,_1a,_1b){
+var _1c=[],_1d;
+var _1e=dojo.isFF<3?"wairole:":"";
+if(_1b){
+_1d=["<th tabIndex=\"-1\" role=\"",_1e,"columnheader\""];
+}else{
+_1d=["<td tabIndex=\"-1\" role=\"",_1e,"gridcell\""];
+}
+_18.colSpan&&_1d.push(" colspan=\"",_18.colSpan,"\"");
+_18.rowSpan&&_1d.push(" rowspan=\"",_18.rowSpan,"\"");
+_1d.push(" class=\"dojoxGridCell ");
+_18.classes&&_1d.push(_18.classes," ");
+_1a&&_1d.push(_1a," ");
+_1c.push(_1d.join(""));
+_1c.push("");
+_1d=["\" idx=\"",_18.index,"\" style=\""];
+if(_19&&_19[_19.length-1]!=";"){
+_19+=";";
+}
+_1d.push(_18.styles,_19||"",_18.hidden?"display:none;":"");
+_18.unitWidth&&_1d.push("width:",_18.unitWidth,";");
+_1c.push(_1d.join(""));
+_1c.push("");
+_1d=["\""];
+_18.attrs&&_1d.push(" ",_18.attrs);
+_1d.push(">");
+_1c.push(_1d.join(""));
+_1c.push("");
+_1c.push("</td>");
+return _1c;
+},isCellNode:function(_1f){
+return Boolean(_1f&&_1f!=dojo.doc&&dojo.attr(_1f,"idx"));
+},getCellNodeIndex:function(_20){
+return _20?Number(dojo.attr(_20,"idx")):-1;
+},getCellNode:function(_21,_22){
+for(var i=0,row;row=_6(_21.firstChild,i);i++){
+for(var j=0,_26;_26=row.cells[j];j++){
+if(this.getCellNodeIndex(_26)==_22){
+return _26;
+}
+}
+}
+},findCellTarget:function(_27,_28){
+var n=_27;
+while(n&&(!this.isCellNode(n)||(n.offsetParent&&_15 in n.offsetParent.parentNode&&n.offsetParent.parentNode[_15]!=this.view.id))&&(n!=_28)){
+n=n.parentNode;
+}
+return n!=_28?n:null;
+},baseDecorateEvent:function(e){
+e.dispatch="do"+e.type;
+e.grid=this.grid;
+e.sourceView=this.view;
+e.cellNode=this.findCellTarget(e.target,e.rowNode);
+e.cellIndex=this.getCellNodeIndex(e.cellNode);
+e.cell=(e.cellIndex>=0?this.grid.getCell(e.cellIndex):null);
+},findTarget:function(_2b,_2c){
+var n=_2b;
+while(n&&(n!=this.domNode)&&(!(_2c in n)||(_15 in n&&n[_15]!=this.view.id))){
+n=n.parentNode;
+}
+return (n!=this.domNode)?n:null;
+},findRowTarget:function(_2e){
+return this.findTarget(_2e,_14);
+},isIntraNodeEvent:function(e){
+try{
+return (e.cellNode&&e.relatedTarget&&dojo.isDescendant(e.relatedTarget,e.cellNode));
+}
+catch(x){
+return false;
+}
+},isIntraRowEvent:function(e){
+try{
+var row=e.relatedTarget&&this.findRowTarget(e.relatedTarget);
+return !row&&(e.rowIndex==-1)||row&&(e.rowIndex==row.gridRowIndex);
+}
+catch(x){
+return false;
+}
+},dispatchEvent:function(e){
+if(e.dispatch in this){
+return this[e.dispatch](e);
+}
+},domouseover:function(e){
+if(e.cellNode&&(e.cellNode!=this.lastOverCellNode)){
+this.lastOverCellNode=e.cellNode;
+this.grid.onMouseOver(e);
+}
+this.grid.onMouseOverRow(e);
+},domouseout:function(e){
+if(e.cellNode&&(e.cellNode==this.lastOverCellNode)&&!this.isIntraNodeEvent(e,this.lastOverCellNode)){
+this.lastOverCellNode=null;
+this.grid.onMouseOut(e);
+if(!this.isIntraRowEvent(e)){
+this.grid.onMouseOutRow(e);
+}
+}
+},domousedown:function(e){
+if(e.cellNode){
+this.grid.onMouseDown(e);
+}
+this.grid.onMouseDownRow(e);
+}});
+dg._ContentBuilder=dojo.extend(function(_36){
+dg._Builder.call(this,_36);
+},dg._Builder.prototype,{update:function(){
+this.prepareHtml();
+},prepareHtml:function(){
+var _37=this.grid.get,_38=this.view.structure.cells;
+for(var j=0,row;(row=_38[j]);j++){
+for(var i=0,_3c;(_3c=row[i]);i++){
+_3c.get=_3c.get||(_3c.value==undefined)&&_37;
+_3c.markup=this.generateCellMarkup(_3c,_3c.cellStyles,_3c.cellClasses,false);
+}
+}
+},generateHtml:function(_3d,_3e){
+var _3f=this.getTableArray(),v=this.view,_41=v.structure.cells,_42=this.grid.getItem(_3e);
+dojox.grid.util.fire(this.view,"onBeforeRow",[_3e,_41]);
+for(var j=0,row;(row=_41[j]);j++){
+if(row.hidden||row.header){
+continue;
+}
+_3f.push(!row.invisible?"<tr>":"<tr class=\"dojoxGridInvisible\">");
+for(var i=0,_46,m,cc,cs;(_46=row[i]);i++){
+m=_46.markup,cc=_46.customClasses=[],cs=_46.customStyles=[];
+m[5]=_46.format(_3e,_42);
+m[1]=cc.join(" ");
+m[3]=cs.join(";");
+_3f.push.apply(_3f,m);
+}
+_3f.push("</tr>");
+}
+_3f.push("</table>");
+return _3f.join("");
+},decorateEvent:function(e){
+e.rowNode=this.findRowTarget(e.target);
+if(!e.rowNode){
+return false;
+}
+e.rowIndex=e.rowNode[_14];
+this.baseDecorateEvent(e);
+e.cell=this.grid.getCell(e.cellIndex);
+return true;
+}});
+dg._HeaderBuilder=dojo.extend(function(_4b){
+this.moveable=null;
+dg._Builder.call(this,_4b);
+},dg._Builder.prototype,{_skipBogusClicks:false,overResizeWidth:4,minColWidth:1,update:function(){
+if(this.tableMap){
+this.tableMap.mapRows(this.view.structure.cells);
+}else{
+this.tableMap=new dg._TableMap(this.view.structure.cells);
+}
+},generateHtml:function(_4c,_4d){
+var _4e=this.getTableArray(),_4f=this.view.structure.cells;
+dojox.grid.util.fire(this.view,"onBeforeRow",[-1,_4f]);
+for(var j=0,row;(row=_4f[j]);j++){
+if(row.hidden){
+continue;
+}
+_4e.push(!row.invisible?"<tr>":"<tr class=\"dojoxGridInvisible\">");
+for(var i=0,_53,_54;(_53=row[i]);i++){
+_53.customClasses=[];
+_53.customStyles=[];
+if(this.view.simpleStructure){
+if(_53.headerClasses){
+if(_53.headerClasses.indexOf("dojoDndItem")==-1){
+_53.headerClasses+=" dojoDndItem";
+}
+}else{
+_53.headerClasses="dojoDndItem";
+}
+if(_53.attrs){
+if(_53.attrs.indexOf("dndType='gridColumn'")==-1){
+_53.attrs+=" dndType='gridColumn_"+this.grid.id+"'";
+}
+}else{
+_53.attrs="dndType='gridColumn_"+this.grid.id+"'";
+}
+}
+_54=this.generateCellMarkup(_53,_53.headerStyles,_53.headerClasses,true);
+_54[5]=(_4d!=undefined?_4d:_4c(_53));
+_54[3]=_53.customStyles.join(";");
+_54[1]=_53.customClasses.join(" ");
+_4e.push(_54.join(""));
+}
+_4e.push("</tr>");
+}
+_4e.push("</table>");
+return _4e.join("");
+},getCellX:function(e){
+var x=e.layerX;
+if(dojo.isMoz){
+var n=_c(e.target,_10("th"));
+x-=(n&&n.offsetLeft)||0;
+var t=e.sourceView.getScrollbarWidth();
+if(!dojo._isBodyLtr()&&e.sourceView.headerNode.scrollLeft<t){
+x-=t;
+}
+}
+var n=_c(e.target,function(){
+if(!n||n==e.cellNode){
+return false;
+}
+x+=(n.offsetLeft<0?0:n.offsetLeft);
+return true;
+});
+return x;
+},decorateEvent:function(e){
+this.baseDecorateEvent(e);
+e.rowIndex=-1;
+e.cellX=this.getCellX(e);
+return true;
+},prepareResize:function(e,mod){
+do{
+var i=_2(e.cellNode);
+e.cellNode=(i?e.cellNode.parentNode.cells[i+mod]:null);
+e.cellIndex=(e.cellNode?this.getCellNodeIndex(e.cellNode):-1);
+}while(e.cellNode&&e.cellNode.style.display=="none");
+return Boolean(e.cellNode);
+},canResize:function(e){
+if(!e.cellNode||e.cellNode.colSpan>1){
+return false;
+}
+var _5e=this.grid.getCell(e.cellIndex);
+return !_5e.noresize&&!_5e.canResize();
+},overLeftResizeArea:function(e){
+if(dojo._isBodyLtr()){
+return (e.cellIndex>0)&&(e.cellX<this.overResizeWidth)&&this.prepareResize(e,-1);
+}
+var t=e.cellNode&&(e.cellX<this.overResizeWidth);
+return t;
+},overRightResizeArea:function(e){
+if(dojo._isBodyLtr()){
+return e.cellNode&&(e.cellX>=e.cellNode.offsetWidth-this.overResizeWidth);
+}
+return (e.cellIndex>0)&&(e.cellX>=e.cellNode.offsetWidth-this.overResizeWidth)&&this.prepareResize(e,-1);
+},domousemove:function(e){
+if(!this.moveable){
+var c=(this.overRightResizeArea(e)?"e-resize":(this.overLeftResizeArea(e)?"w-resize":""));
+if(c&&!this.canResize(e)){
+c="not-allowed";
+}
+if(dojo.isIE){
+var t=e.sourceView.headerNode.scrollLeft;
+e.sourceView.headerNode.style.cursor=c||"";
+e.sourceView.headerNode.scrollLeft=t;
+}else{
+e.sourceView.headerNode.style.cursor=c||"";
+}
+if(c){
+dojo.stopEvent(e);
+}
+}
+},domousedown:function(e){
+if(!this.moveable){
+if((this.overRightResizeArea(e)||this.overLeftResizeArea(e))&&this.canResize(e)){
+this.beginColumnResize(e);
+}else{
+this.grid.onMouseDown(e);
+this.grid.onMouseOverRow(e);
+}
+}
+},doclick:function(e){
+if(this._skipBogusClicks){
+dojo.stopEvent(e);
+return true;
+}
+},beginColumnResize:function(e){
+this.moverDiv=document.createElement("div");
+dojo.style(this.moverDiv,{position:"absolute",left:0});
+dojo.body().appendChild(this.moverDiv);
+var m=this.moveable=new dojo.dnd.Moveable(this.moverDiv);
+var _69=[],_6a=this.tableMap.findOverlappingNodes(e.cellNode);
+for(var i=0,_6c;(_6c=_6a[i]);i++){
+_69.push({node:_6c,index:this.getCellNodeIndex(_6c),width:_6c.offsetWidth});
+}
+var _6d=e.sourceView;
+var adj=dojo._isBodyLtr()?1:-1;
+var _6f=e.grid.views.views;
+var _70=[];
+for(var i=_6d.idx+adj,_71;(_71=_6f[i]);i=i+adj){
+_70.push({node:_71.headerNode,left:window.parseInt(_71.headerNode.style.left)});
+}
+var _72=_6d.headerContentNode.firstChild;
+var _73={scrollLeft:e.sourceView.headerNode.scrollLeft,view:_6d,node:e.cellNode,index:e.cellIndex,w:dojo.contentBox(e.cellNode).w,vw:dojo.contentBox(_6d.headerNode).w,table:_72,tw:dojo.contentBox(_72).w,spanners:_69,followers:_70};
+m.onMove=dojo.hitch(this,"doResizeColumn",_73);
+dojo.connect(m,"onMoveStop",dojo.hitch(this,function(){
+this.endResizeColumn(_73);
+if(_73.node.releaseCapture){
+_73.node.releaseCapture();
+}
+this.moveable.destroy();
+delete this.moveable;
+this.moveable=null;
+}));
+_6d.convertColPctToFixed();
+if(e.cellNode.setCapture){
+e.cellNode.setCapture();
+}
+m.onMouseDown(e);
+},doResizeColumn:function(_74,_75,_76){
+var _77=dojo._isBodyLtr();
+var _78=_77?_76.l:-_76.l;
+var w=_74.w+_78;
+var vw=_74.vw+_78;
+var tw=_74.tw+_78;
+if(w>=this.minColWidth){
+for(var i=0,s,sw;(s=_74.spanners[i]);i++){
+sw=s.width+_78;
+s.node.style.width=sw+"px";
+_74.view.setColWidth(s.index,sw);
+}
+for(var i=0,f,fl;(f=_74.followers[i]);i++){
+fl=f.left+_78;
+f.node.style.left=fl+"px";
+}
+_74.node.style.width=w+"px";
+_74.view.setColWidth(_74.index,w);
+_74.view.headerNode.style.width=vw+"px";
+_74.view.setColumnsWidth(tw);
+if(!_77){
+_74.view.headerNode.scrollLeft=_74.scrollLeft+_78;
+}
+}
+if(_74.view.flexCells&&!_74.view.testFlexCells()){
+var t=_9(_74.node);
+t&&(t.style.width="");
+}
+},endResizeColumn:function(_82){
+dojo.destroy(this.moverDiv);
+delete this.moverDiv;
+this._skipBogusClicks=true;
+var _83=dojo.connect(_82.view,"update",this,function(){
+dojo.disconnect(_83);
+this._skipBogusClicks=false;
+});
+setTimeout(dojo.hitch(_82.view,"update"),50);
+}});
+dg._TableMap=dojo.extend(function(_84){
+this.mapRows(_84);
+},{map:null,mapRows:function(_85){
+var _86=_85.length;
+if(!_86){
+return;
+}
+this.map=[];
+for(var j=0,row;(row=_85[j]);j++){
+this.map[j]=[];
+}
+for(var j=0,row;(row=_85[j]);j++){
+for(var i=0,x=0,_8b,_8c,_8d;(_8b=row[i]);i++){
+while(this.map[j][x]){
+x++;
+}
+this.map[j][x]={c:i,r:j};
+_8d=_8b.rowSpan||1;
+_8c=_8b.colSpan||1;
+for(var y=0;y<_8d;y++){
+for(var s=0;s<_8c;s++){
+this.map[j+y][x+s]=this.map[j][x];
+}
+}
+x+=_8c;
+}
+}
+},dumpMap:function(){
+for(var j=0,row,h="";(row=this.map[j]);j++,h=""){
+for(var i=0,_94;(_94=row[i]);i++){
+h+=_94.r+","+_94.c+"   ";
+}
+}
+},getMapCoords:function(_95,_96){
+for(var j=0,row;(row=this.map[j]);j++){
+for(var i=0,_9a;(_9a=row[i]);i++){
+if(_9a.c==_96&&_9a.r==_95){
+return {j:j,i:i};
+}
+}
+}
+return {j:-1,i:-1};
+},getNode:function(_9b,_9c,_9d){
+var row=_9b&&_9b.rows[_9c];
+return row&&row.cells[_9d];
+},_findOverlappingNodes:function(_9f,_a0,_a1){
+var _a2=[];
+var m=this.getMapCoords(_a0,_a1);
+var row=this.map[m.j];
+for(var j=0,row;(row=this.map[j]);j++){
+if(j==m.j){
+continue;
+}
+var rw=row[m.i];
+var n=(rw?this.getNode(_9f,rw.r,rw.c):null);
+if(n){
+_a2.push(n);
+}
+}
+return _a2;
+},findOverlappingNodes:function(_a8){
+return this._findOverlappingNodes(_9(_a8),_4(_a8.parentNode),_2(_a8));
+}});
+})();
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Builder.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_EditManager.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_EditManager.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_EditManager.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_EditManager.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,129 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid._EditManager"]){
+dojo._hasResource["dojox.grid._EditManager"]=true;
+dojo.provide("dojox.grid._EditManager");
+dojo.require("dojox.grid.util");
+dojo.declare("dojox.grid._EditManager",null,{constructor:function(_1){
+this.grid=_1;
+this.connections=[];
+if(dojo.isIE){
+this.connections.push(dojo.connect(document.body,"onfocus",dojo.hitch(this,"_boomerangFocus")));
+}
+},info:{},destroy:function(){
+dojo.forEach(this.connections,dojo.disconnect);
+},cellFocus:function(_2,_3){
+if(this.grid.singleClickEdit||this.isEditRow(_3)){
+this.setEditCell(_2,_3);
+}else{
+this.apply();
+}
+if(this.isEditing()||(_2&&_2.editable&&_2.alwaysEditing)){
+this._focusEditor(_2,_3);
+}
+},rowClick:function(e){
+if(this.isEditing()&&!this.isEditRow(e.rowIndex)){
+this.apply();
+}
+},styleRow:function(_5){
+if(_5.index==this.info.rowIndex){
+_5.customClasses+=" dojoxGridRowEditing";
+}
+},dispatchEvent:function(e){
+var c=e.cell,ed=(c&&c["editable"])?c:0;
+return ed&&ed.dispatchEvent(e.dispatch,e);
+},isEditing:function(){
+return this.info.rowIndex!==undefined;
+},isEditCell:function(_9,_a){
+return (this.info.rowIndex===_9)&&(this.info.cell.index==_a);
+},isEditRow:function(_b){
+return this.info.rowIndex===_b;
+},setEditCell:function(_c,_d){
+if(!this.isEditCell(_d,_c.index)&&this.grid.canEdit&&this.grid.canEdit(_c,_d)){
+this.start(_c,_d,this.isEditRow(_d)||_c.editable);
+}
+},_focusEditor:function(_e,_f){
+dojox.grid.util.fire(_e,"focus",[_f]);
+},focusEditor:function(){
+if(this.isEditing()){
+this._focusEditor(this.info.cell,this.info.rowIndex);
+}
+},_boomerangWindow:500,_shouldCatchBoomerang:function(){
+return this._catchBoomerang>new Date().getTime();
+},_boomerangFocus:function(){
+if(this._shouldCatchBoomerang()){
+this.grid.focus.focusGrid();
+this.focusEditor();
+this._catchBoomerang=0;
+}
+},_doCatchBoomerang:function(){
+if(dojo.isIE){
+this._catchBoomerang=new Date().getTime()+this._boomerangWindow;
+}
+},start:function(_10,_11,_12){
+this.grid.beginUpdate();
+this.editorApply();
+if(this.isEditing()&&!this.isEditRow(_11)){
+this.applyRowEdit();
+this.grid.updateRow(_11);
+}
+if(_12){
+this.info={cell:_10,rowIndex:_11};
+this.grid.doStartEdit(_10,_11);
+this.grid.updateRow(_11);
+}else{
+this.info={};
+}
+this.grid.endUpdate();
+this.grid.focus.focusGrid();
+this._focusEditor(_10,_11);
+this._doCatchBoomerang();
+},_editorDo:function(_13){
+var c=this.info.cell;
+c&&c.editable&&c[_13](this.info.rowIndex);
+},editorApply:function(){
+this._editorDo("apply");
+},editorCancel:function(){
+this._editorDo("cancel");
+},applyCellEdit:function(_15,_16,_17){
+if(this.grid.canEdit(_16,_17)){
+this.grid.doApplyCellEdit(_15,_17,_16.field);
+}
+},applyRowEdit:function(){
+this.grid.doApplyEdit(this.info.rowIndex,this.info.cell.field);
+},apply:function(){
+if(this.isEditing()){
+this.grid.beginUpdate();
+this.editorApply();
+this.applyRowEdit();
+this.info={};
+this.grid.endUpdate();
+this.grid.focus.focusGrid();
+this._doCatchBoomerang();
+}
+},cancel:function(){
+if(this.isEditing()){
+this.grid.beginUpdate();
+this.editorCancel();
+this.info={};
+this.grid.endUpdate();
+this.grid.focus.focusGrid();
+this._doCatchBoomerang();
+}
+},save:function(_18,_19){
+var c=this.info.cell;
+if(this.isEditRow(_18)&&(!_19||c.view==_19)&&c.editable){
+c.save(c,this.info.rowIndex);
+}
+},restore:function(_1b,_1c){
+var c=this.info.cell;
+if(this.isEditRow(_1c)&&c.view==_1b&&c.editable){
+c.restore(c,this.info.rowIndex);
+}
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_EditManager.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Events.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Events.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Events.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Events.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,222 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid._Events"]){
+dojo._hasResource["dojox.grid._Events"]=true;
+dojo.provide("dojox.grid._Events");
+dojo.declare("dojox.grid._Events",null,{cellOverClass:"dojoxGridCellOver",onKeyEvent:function(e){
+this.dispatchKeyEvent(e);
+},onContentEvent:function(e){
+this.dispatchContentEvent(e);
+},onHeaderEvent:function(e){
+this.dispatchHeaderEvent(e);
+},onStyleRow:function(_4){
+var i=_4;
+i.customClasses+=(i.odd?" dojoxGridRowOdd":"")+(i.selected?" dojoxGridRowSelected":"")+(i.over?" dojoxGridRowOver":"");
+this.focus.styleRow(_4);
+this.edit.styleRow(_4);
+},onKeyDown:function(e){
+if(e.altKey||e.metaKey){
+return;
+}
+var dk=dojo.keys;
+switch(e.keyCode){
+case dk.ESCAPE:
+this.edit.cancel();
+break;
+case dk.ENTER:
+if(!this.edit.isEditing()){
+var _8=this.focus.getHeaderIndex();
+if(_8>=0){
+this.setSortIndex(_8);
+break;
+}else{
+this.selection.clickSelect(this.focus.rowIndex,dojo.dnd.getCopyKeyState(e),e.shiftKey);
+}
+dojo.stopEvent(e);
+}
+if(!e.shiftKey){
+var _9=this.edit.isEditing();
+this.edit.apply();
+if(!_9){
+this.edit.setEditCell(this.focus.cell,this.focus.rowIndex);
+}
+}
+if(!this.edit.isEditing()){
+var _a=this.focus.focusView||this.views.views[0];
+_a.content.decorateEvent(e);
+this.onRowClick(e);
+}
+break;
+case dk.SPACE:
+if(!this.edit.isEditing()){
+var _8=this.focus.getHeaderIndex();
+if(_8>=0){
+this.setSortIndex(_8);
+break;
+}else{
+this.selection.clickSelect(this.focus.rowIndex,dojo.dnd.getCopyKeyState(e),e.shiftKey);
+}
+dojo.stopEvent(e);
+}
+break;
+case dk.TAB:
+this.focus[e.shiftKey?"previousKey":"nextKey"](e);
+break;
+case dk.LEFT_ARROW:
+case dk.RIGHT_ARROW:
+if(!this.edit.isEditing()){
+dojo.stopEvent(e);
+var _b=(e.keyCode==dk.LEFT_ARROW)?1:-1;
+if(dojo._isBodyLtr()){
+_b*=-1;
+}
+this.focus.move(0,_b);
+}
+break;
+case dk.UP_ARROW:
+if(!this.edit.isEditing()&&this.focus.rowIndex!=0){
+dojo.stopEvent(e);
+this.focus.move(-1,0);
+this.selection.clickSelect(this.focus.rowIndex,dojo.dnd.getCopyKeyState(e),e.shiftKey);
+}
+break;
+case dk.DOWN_ARROW:
+if(!this.edit.isEditing()&&this.store&&this.focus.rowIndex+1!=this.rowCount){
+dojo.stopEvent(e);
+this.focus.move(1,0);
+this.selection.clickSelect(this.focus.rowIndex,dojo.dnd.getCopyKeyState(e),e.shiftKey);
+}
+break;
+case dk.PAGE_UP:
+if(!this.edit.isEditing()&&this.focus.rowIndex!=0){
+dojo.stopEvent(e);
+if(this.focus.rowIndex!=this.scroller.firstVisibleRow+1){
+this.focus.move(this.scroller.firstVisibleRow-this.focus.rowIndex,0);
+}else{
+this.setScrollTop(this.scroller.findScrollTop(this.focus.rowIndex-1));
+this.focus.move(this.scroller.firstVisibleRow-this.scroller.lastVisibleRow+1,0);
+}
+this.selection.clickSelect(this.focus.rowIndex,dojo.dnd.getCopyKeyState(e),e.shiftKey);
+}
+break;
+case dk.PAGE_DOWN:
+if(!this.edit.isEditing()&&this.focus.rowIndex+1!=this.rowCount){
+dojo.stopEvent(e);
+if(this.focus.rowIndex!=this.scroller.lastVisibleRow-1){
+this.focus.move(this.scroller.lastVisibleRow-this.focus.rowIndex-1,0);
+}else{
+this.setScrollTop(this.scroller.findScrollTop(this.focus.rowIndex+1));
+this.focus.move(this.scroller.lastVisibleRow-this.scroller.firstVisibleRow-1,0);
+}
+this.selection.clickSelect(this.focus.rowIndex,dojo.dnd.getCopyKeyState(e),e.shiftKey);
+}
+break;
+}
+},onMouseOver:function(e){
+e.rowIndex==-1?this.onHeaderCellMouseOver(e):this.onCellMouseOver(e);
+},onMouseOut:function(e){
+e.rowIndex==-1?this.onHeaderCellMouseOut(e):this.onCellMouseOut(e);
+},onMouseDown:function(e){
+e.rowIndex==-1?this.onHeaderCellMouseDown(e):this.onCellMouseDown(e);
+},onMouseOverRow:function(e){
+if(!this.rows.isOver(e.rowIndex)){
+this.rows.setOverRow(e.rowIndex);
+e.rowIndex==-1?this.onHeaderMouseOver(e):this.onRowMouseOver(e);
+}
+},onMouseOutRow:function(e){
+if(this.rows.isOver(-1)){
+this.onHeaderMouseOut(e);
+}else{
+if(!this.rows.isOver(-2)){
+this.rows.setOverRow(-2);
+this.onRowMouseOut(e);
+}
+}
+},onMouseDownRow:function(e){
+if(e.rowIndex!=-1){
+this.onRowMouseDown(e);
+}
+},onCellMouseOver:function(e){
+if(e.cellNode){
+dojo.addClass(e.cellNode,this.cellOverClass);
+}
+},onCellMouseOut:function(e){
+if(e.cellNode){
+dojo.removeClass(e.cellNode,this.cellOverClass);
+}
+},onCellMouseDown:function(e){
+},onCellClick:function(e){
+this._click[0]=this._click[1];
+this._click[1]=e;
+if(!this.edit.isEditCell(e.rowIndex,e.cellIndex)){
+this.focus.setFocusCell(e.cell,e.rowIndex);
+}
+this.onRowClick(e);
+},onCellDblClick:function(e){
+if(dojo.isIE){
+this.edit.setEditCell(this._click[1].cell,this._click[1].rowIndex);
+}else{
+if(this._click[0].rowIndex!=this._click[1].rowIndex){
+this.edit.setEditCell(this._click[0].cell,this._click[0].rowIndex);
+}else{
+this.edit.setEditCell(e.cell,e.rowIndex);
+}
+}
+this.onRowDblClick(e);
+},onCellContextMenu:function(e){
+this.onRowContextMenu(e);
+},onCellFocus:function(_18,_19){
+this.edit.cellFocus(_18,_19);
+},onRowClick:function(e){
+this.edit.rowClick(e);
+this.selection.clickSelectEvent(e);
+},onRowDblClick:function(e){
+},onRowMouseOver:function(e){
+},onRowMouseOut:function(e){
+},onRowMouseDown:function(e){
+},onRowContextMenu:function(e){
+dojo.stopEvent(e);
+},onHeaderMouseOver:function(e){
+},onHeaderMouseOut:function(e){
+},onHeaderCellMouseOver:function(e){
+if(e.cellNode){
+dojo.addClass(e.cellNode,this.cellOverClass);
+}
+},onHeaderCellMouseOut:function(e){
+if(e.cellNode){
+dojo.removeClass(e.cellNode,this.cellOverClass);
+}
+},onHeaderCellMouseDown:function(e){
+},onHeaderClick:function(e){
+},onHeaderCellClick:function(e){
+this.setSortIndex(e.cell.index);
+this.onHeaderClick(e);
+},onHeaderDblClick:function(e){
+},onHeaderCellDblClick:function(e){
+this.onHeaderDblClick(e);
+},onHeaderCellContextMenu:function(e){
+this.onHeaderContextMenu(e);
+},onHeaderContextMenu:function(e){
+if(!this.headerMenu){
+dojo.stopEvent(e);
+}
+},onStartEdit:function(_2b,_2c){
+},onApplyCellEdit:function(_2d,_2e,_2f){
+},onCancelEdit:function(_30){
+},onApplyEdit:function(_31){
+},onCanSelect:function(_32){
+return true;
+},onCanDeselect:function(_33){
+return true;
+},onSelected:function(_34){
+this.updateRowStyles(_34);
+},onDeselected:function(_35){
+this.updateRowStyles(_35);
+},onSelectionChanged:function(){
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Events.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_FocusManager.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_FocusManager.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_FocusManager.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_FocusManager.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,314 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid._FocusManager"]){
+dojo._hasResource["dojox.grid._FocusManager"]=true;
+dojo.provide("dojox.grid._FocusManager");
+dojo.require("dojox.grid.util");
+dojo.declare("dojox.grid._FocusManager",null,{constructor:function(_1){
+this.grid=_1;
+this.cell=null;
+this.rowIndex=-1;
+this._connects=[];
+this._connects.push(dojo.connect(this.grid.domNode,"onfocus",this,"doFocus"));
+this._connects.push(dojo.connect(this.grid.domNode,"onblur",this,"doBlur"));
+this._connects.push(dojo.connect(this.grid.lastFocusNode,"onfocus",this,"doLastNodeFocus"));
+this._connects.push(dojo.connect(this.grid.lastFocusNode,"onblur",this,"doLastNodeBlur"));
+this._connects.push(dojo.connect(this.grid,"_onFetchComplete",this,"_delayedCellFocus"));
+this._connects.push(dojo.connect(this.grid,"postrender",this,"_delayedHeaderFocus"));
+},destroy:function(){
+dojo.forEach(this._connects,dojo.disconnect);
+delete this.grid;
+delete this.cell;
+},_colHeadNode:null,tabbingOut:false,focusClass:"dojoxGridCellFocus",focusView:null,initFocusView:function(){
+this.focusView=this.grid.views.getFirstScrollingView();
+this._initColumnHeaders();
+},isFocusCell:function(_2,_3){
+return (this.cell==_2)&&(this.rowIndex==_3);
+},isLastFocusCell:function(){
+return (this.rowIndex==this.grid.rowCount-1)&&(this.cell.index==this.grid.layout.cellCount-1);
+},isFirstFocusCell:function(){
+return (this.rowIndex==0)&&(this.cell.index==0);
+},isNoFocusCell:function(){
+return (this.rowIndex<0)||!this.cell;
+},isNavHeader:function(){
+return (!!this._colHeadNode);
+},getHeaderIndex:function(){
+if(this._colHeadNode){
+return dojo.indexOf(this._findHeaderCells(),this._colHeadNode);
+}else{
+return -1;
+}
+},_focusifyCellNode:function(_4){
+var n=this.cell&&this.cell.getNode(this.rowIndex);
+if(n){
+dojo.toggleClass(n,this.focusClass,_4);
+if(_4){
+var sl=this.scrollIntoView();
+try{
+if(!this.grid.edit.isEditing()){
+dojox.grid.util.fire(n,"focus");
+if(sl){
+this.cell.view.scrollboxNode.scrollLeft=sl;
+}
+}
+}
+catch(e){
+}
+}
+}
+},_delayedCellFocus:function(){
+if(this.isNavHeader()){
+return;
+}
+var n=this.cell&&this.cell.getNode(this.rowIndex);
+if(n){
+try{
+if(!this.grid.edit.isEditing()){
+dojo.toggleClass(n,this.focusClass,true);
+dojox.grid.util.fire(n,"focus");
+}
+}
+catch(e){
+}
+}
+},_delayedHeaderFocus:function(){
+if(this.isNavHeader()){
+this.focusHeader();
+}
+},_initColumnHeaders:function(){
+this._connects.push(dojo.connect(this.grid.viewsHeaderNode,"onblur",this,"doBlurHeader"));
+var _8=this._findHeaderCells();
+for(var i=0;i<_8.length;i++){
+this._connects.push(dojo.connect(_8[i],"onfocus",this,"doColHeaderFocus"));
+this._connects.push(dojo.connect(_8[i],"onblur",this,"doColHeaderBlur"));
+}
+},_findHeaderCells:function(){
+var _a=dojo.query("th",this.grid.viewsHeaderNode);
+var _b=[];
+for(var i=0;i<_a.length;i++){
+var _d=_a[i];
+var _e=dojo.hasAttr(_d,"tabindex");
+var _f=dojo.attr(_d,"tabindex");
+if(_e&&_f<0){
+_b.push(_d);
+}
+}
+return _b;
+},scrollIntoView:function(){
+var _10=(this.cell?this._scrollInfo(this.cell):null);
+if(!_10){
+return null;
+}
+var rt=this.grid.scroller.findScrollTop(this.rowIndex);
+if(_10.n.offsetLeft+_10.n.offsetWidth>_10.sr.l+_10.sr.w){
+_10.s.scrollLeft=_10.n.offsetLeft+_10.n.offsetWidth-_10.sr.w;
+}else{
+if(_10.n.offsetLeft<_10.sr.l){
+_10.s.scrollLeft=_10.n.offsetLeft;
+}
+}
+if(rt+_10.r.offsetHeight>_10.sr.t+_10.sr.h){
+this.grid.setScrollTop(rt+_10.r.offsetHeight-_10.sr.h);
+}else{
+if(rt<_10.sr.t){
+this.grid.setScrollTop(rt);
+}
+}
+return _10.s.scrollLeft;
+},_scrollInfo:function(_12,_13){
+if(_12){
+var cl=_12,sbn=cl.view.scrollboxNode,_16={w:sbn.clientWidth,l:sbn.scrollLeft,t:sbn.scrollTop,h:sbn.clientHeight},rn=cl.view.getRowNode(this.rowIndex);
+return {c:cl,s:sbn,sr:_16,n:(_13?_13:_12.getNode(this.rowIndex)),r:rn};
+}
+return null;
+},_scrollHeader:function(_18){
+var _19=null;
+if(this._colHeadNode){
+_19=this._scrollInfo(this.grid.getCell(_18),this._colHeadNode);
+}
+if(_19){
+if(_19.n.offsetLeft+_19.n.offsetWidth>_19.sr.l+_19.sr.w){
+_19.s.scrollLeft=_19.n.offsetLeft+_19.n.offsetWidth-_19.sr.w;
+}else{
+if(_19.n.offsetLeft<_19.sr.l){
+_19.s.scrollLeft=_19.n.offsetLeft;
+}
+}
+}
+},styleRow:function(_1a){
+return;
+},setFocusIndex:function(_1b,_1c){
+this.setFocusCell(this.grid.getCell(_1c),_1b);
+},setFocusCell:function(_1d,_1e){
+if(_1d&&!this.isFocusCell(_1d,_1e)){
+this.tabbingOut=false;
+this._colHeadNode=null;
+this.focusGridView();
+this._focusifyCellNode(false);
+this.cell=_1d;
+this.rowIndex=_1e;
+this._focusifyCellNode(true);
+}
+if(dojo.isOpera){
+setTimeout(dojo.hitch(this.grid,"onCellFocus",this.cell,this.rowIndex),1);
+}else{
+this.grid.onCellFocus(this.cell,this.rowIndex);
+}
+},next:function(){
+var row=this.rowIndex,col=this.cell.index+1,cc=this.grid.layout.cellCount-1,rc=this.grid.rowCount-1;
+if(col>cc){
+col=0;
+row++;
+}
+if(row>rc){
+col=cc;
+row=rc;
+}
+this.setFocusIndex(row,col);
+},previous:function(){
+var row=(this.rowIndex||0),col=(this.cell.index||0)-1;
+if(col<0){
+col=this.grid.layout.cellCount-1;
+row--;
+}
+if(row<0){
+row=0;
+col=0;
+}
+this.setFocusIndex(row,col);
+},move:function(_25,_26){
+if(this.isNavHeader()){
+var _27=this._findHeaderCells();
+var _28=dojo.indexOf(_27,this._colHeadNode);
+_28+=_26;
+if((_28>=0)&&(_28<_27.length)){
+this._colHeadNode=_27[_28];
+this._colHeadNode.focus();
+this._scrollHeader(_28);
+}
+}else{
+var sc=this.grid.scroller,r=this.rowIndex,rc=this.grid.rowCount-1,row=Math.min(rc,Math.max(0,r+_25));
+if(_25){
+if(_25>0){
+if(row>sc.getLastPageRow(sc.page)){
+this.grid.setScrollTop(this.grid.scrollTop+sc.findScrollTop(row)-sc.findScrollTop(r));
+}
+}else{
+if(_25<0){
+if(row<=sc.getPageRow(sc.page)){
+this.grid.setScrollTop(this.grid.scrollTop-sc.findScrollTop(r)-sc.findScrollTop(row));
+}
+}
+}
+}
+var cc=this.grid.layout.cellCount-1,i=this.cell.index,col=Math.min(cc,Math.max(0,i+_26));
+this.setFocusIndex(row,col);
+if(_25){
+this.grid.updateRow(r);
+}
+}
+},previousKey:function(e){
+if(!this.isNavHeader()){
+this.focusHeader();
+dojo.stopEvent(e);
+}else{
+if(this.grid.edit.isEditing()){
+dojo.stopEvent(e);
+this.previous();
+}else{
+this.tabOut(this.grid.domNode);
+}
+}
+},nextKey:function(e){
+var _32=this.grid.rowCount==0;
+if(e.target===this.grid.domNode){
+this.focusHeader();
+dojo.stopEvent(e);
+}else{
+if(this.isNavHeader()){
+this._colHeadNode=null;
+if(this.isNoFocusCell()&&!_32){
+this.setFocusIndex(0,0);
+if(!this.grid.selection.isSelected(0)){
+this.grid.selection.clickSelect(0,false,false);
+}
+}else{
+if(this.cell&&!_32){
+if(this.focusView&&!this.focusView.rowNodes[this.rowIndex]){
+this.grid.scrollToRow(this.rowIndex);
+}
+this.focusGrid();
+}else{
+this.tabOut(this.grid.lastFocusNode);
+}
+}
+}else{
+if(this.grid.edit.isEditing()){
+dojo.stopEvent(e);
+this.next();
+}else{
+this.tabOut(this.grid.lastFocusNode);
+}
+}
+}
+},tabOut:function(_33){
+this.tabbingOut=true;
+_33.focus();
+},focusGridView:function(){
+dojox.grid.util.fire(this.focusView,"focus");
+},focusGrid:function(_34){
+this.focusGridView();
+this._focusifyCellNode(true);
+},focusHeader:function(){
+var _35=this._findHeaderCells();
+if(this.isNoFocusCell()){
+this._colHeadNode=_35[0];
+}else{
+this._colHeadNode=_35[this.cell.index];
+}
+if(this._colHeadNode){
+dojox.grid.util.fire(this._colHeadNode,"focus");
+this._focusifyCellNode(false);
+}
+},doFocus:function(e){
+if(e&&e.target!=e.currentTarget){
+dojo.stopEvent(e);
+return;
+}
+if(!this.tabbingOut){
+this.focusHeader();
+}
+this.tabbingOut=false;
+dojo.stopEvent(e);
+},doBlur:function(e){
+dojo.stopEvent(e);
+},doBlurHeader:function(e){
+dojo.stopEvent(e);
+},doLastNodeFocus:function(e){
+if(this.tabbingOut){
+this._focusifyCellNode(false);
+}else{
+if(this.grid.rowCount>0){
+if(this.isNoFocusCell()){
+this.setFocusIndex(0,0);
+}
+this._focusifyCellNode(true);
+}else{
+this.focusHeader();
+}
+}
+this.tabbingOut=false;
+dojo.stopEvent(e);
+},doLastNodeBlur:function(e){
+dojo.stopEvent(e);
+},doColHeaderFocus:function(e){
+dojo.toggleClass(e.target,this.focusClass,true);
+},doColHeaderBlur:function(e){
+dojo.toggleClass(e.target,this.focusClass,false);
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_FocusManager.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Grid.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Grid.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Grid.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Grid.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,704 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid._Grid"]){
+dojo._hasResource["dojox.grid._Grid"]=true;
+dojo.provide("dojox.grid._Grid");
+dojo.require("dijit.dijit");
+dojo.require("dijit.Menu");
+dojo.require("dojox.html.metrics");
+dojo.require("dojox.grid.util");
+dojo.require("dojox.grid._Scroller");
+dojo.require("dojox.grid._Layout");
+dojo.require("dojox.grid._View");
+dojo.require("dojox.grid._ViewManager");
+dojo.require("dojox.grid._RowManager");
+dojo.require("dojox.grid._FocusManager");
+dojo.require("dojox.grid._EditManager");
+dojo.require("dojox.grid.Selection");
+dojo.require("dojox.grid._RowSelector");
+dojo.require("dojox.grid._Events");
+dojo.requireLocalization("dijit","loading",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,ko,nb,nl,pl,pt,pt-pt,ru,sk,sl,sv,th,tr,zh,zh-tw");
+(function(){
+var _1={cancel:function(_2){
+if(_2){
+clearTimeout(_2);
+}
+},jobs:[],job:function(_3,_4,_5){
+_1.cancelJob(_3);
+var _6=function(){
+delete _1.jobs[_3];
+_5();
+};
+_1.jobs[_3]=setTimeout(_6,_4);
+},cancelJob:function(_7){
+_1.cancel(_1.jobs[_7]);
+}};
+dojo.declare("dojox.grid._Grid",[dijit._Widget,dijit._Templated,dojox.grid._Events],{templateString:"<div class=\"dojoxGrid\" hidefocus=\"hidefocus\" role=\"wairole:grid\" dojoAttachEvent=\"onmouseout:_mouseOut\">\n\t<div class=\"dojoxGridMasterHeader\" dojoAttachPoint=\"viewsHeaderNode\" tabindex=\"-1\"></div>\n\t<div class=\"dojoxGridMasterView\" dojoAttachPoint=\"viewsNode\"></div>\n\t<div class=\"dojoxGridMasterMessages\" style=\"display: none;\" dojoAttachPoint=\"messagesNode\"></div>\n\t<span dojoAttachPoint=\"lastFocusNode\" tabindex=\"0\"></span>\n</div>\n",classTag:"dojoxGrid",get:function(_8){
+},rowCount:5,keepRows:75,rowsPerPage:25,autoWidth:false,autoHeight:"",autoRender:true,defaultHeight:"15em",height:"",structure:null,elasticView:-1,singleClickEdit:false,selectionMode:"extended",rowSelector:"",columnReordering:false,headerMenu:null,placeholderLabel:"GridColumns",selectable:false,_click:null,loadingMessage:"<span class='dojoxGridLoading'>${loadingState}</span>",errorMessage:"<span class='dojoxGridError'>${errorState}</span>",noDataMessage:"",sortInfo:0,themeable:true,_placeholders:null,buildRendering:function(){
+this.inherited(arguments);
+if(this.get==dojox.grid._Grid.prototype.get){
+this.get=null;
+}
+if(!this.domNode.getAttribute("tabIndex")){
+this.domNode.tabIndex="0";
+}
+this.createScroller();
+this.createLayout();
+this.createViews();
+this.createManagers();
+this.createSelection();
+this.connect(this.selection,"onSelected","onSelected");
+this.connect(this.selection,"onDeselected","onDeselected");
+this.connect(this.selection,"onChanged","onSelectionChanged");
+dojox.html.metrics.initOnFontResize();
+this.connect(dojox.html.metrics,"onFontResize","textSizeChanged");
+dojox.grid.util.funnelEvents(this.domNode,this,"doKeyEvent",dojox.grid.util.keyEvents);
+this.connect(this,"onShow","renderOnIdle");
+},postMixInProperties:function(){
+this.inherited(arguments);
+var _9=dojo.i18n.getLocalization("dijit","loading",this.lang);
+this.loadingMessage=dojo.string.substitute(this.loadingMessage,_9);
+this.errorMessage=dojo.string.substitute(this.errorMessage,_9);
+if(this.srcNodeRef&&this.srcNodeRef.style.height){
+this.height=this.srcNodeRef.style.height;
+}
+this._setAutoHeightAttr(this.autoHeight,true);
+},postCreate:function(){
+this.styleChanged=this._styleChanged;
+this._placeholders=[];
+this._setHeaderMenuAttr(this.headerMenu);
+this._setStructureAttr(this.structure);
+this._click=[];
+},destroy:function(){
+this.domNode.onReveal=null;
+this.domNode.onSizeChange=null;
+delete this._click;
+this.edit.destroy();
+delete this.edit;
+this.views.destroyViews();
+if(this.scroller){
+this.scroller.destroy();
+delete this.scroller;
+}
+if(this.focus){
+this.focus.destroy();
+delete this.focus;
+}
+if(this.headerMenu&&this._placeholders.length){
+dojo.forEach(this._placeholders,function(p){
+p.unReplace(true);
+});
+this.headerMenu.unBindDomNode(this.viewsHeaderNode);
+}
+this.inherited(arguments);
+},_setAutoHeightAttr:function(ah,_c){
+if(typeof ah=="string"){
+if(!ah||ah=="false"){
+ah=false;
+}else{
+if(ah=="true"){
+ah=true;
+}else{
+ah=window.parseInt(ah,10);
+if(isNaN(ah)){
+ah=false;
+}
+if(ah<0){
+ah=true;
+}else{
+if(ah===0){
+ah=false;
+}
+}
+}
+}
+}
+this.autoHeight=ah;
+if(typeof ah=="boolean"){
+this._autoHeight=ah;
+}else{
+if(typeof ah=="number"){
+this._autoHeight=(ah>=this.attr("rowCount"));
+}else{
+this._autoHeight=false;
+}
+}
+if(this._started&&!_c){
+this.render();
+}
+},_getRowCountAttr:function(){
+return this.updating&&this.invalidated&&this.invalidated.rowCount!=undefined?this.invalidated.rowCount:this.rowCount;
+},styleChanged:function(){
+this.setStyledClass(this.domNode,"");
+},_styleChanged:function(){
+this.styleChanged();
+this.update();
+},textSizeChanged:function(){
+setTimeout(dojo.hitch(this,"_textSizeChanged"),1);
+},_textSizeChanged:function(){
+if(this.domNode){
+this.views.forEach(function(v){
+v.content.update();
+});
+this.render();
+}
+},sizeChange:function(){
+_1.job(this.id+"SizeChange",50,dojo.hitch(this,"update"));
+},renderOnIdle:function(){
+setTimeout(dojo.hitch(this,"render"),1);
+},createManagers:function(){
+this.rows=new dojox.grid._RowManager(this);
+this.focus=new dojox.grid._FocusManager(this);
+this.edit=new dojox.grid._EditManager(this);
+},createSelection:function(){
+this.selection=new dojox.grid.Selection(this);
+},createScroller:function(){
+this.scroller=new dojox.grid._Scroller();
+this.scroller.grid=this;
+this.scroller._pageIdPrefix=this.id+"-";
+this.scroller.renderRow=dojo.hitch(this,"renderRow");
+this.scroller.removeRow=dojo.hitch(this,"rowRemoved");
+},createLayout:function(){
+this.layout=new dojox.grid._Layout(this);
+this.connect(this.layout,"moveColumn","onMoveColumn");
+},onMoveColumn:function(){
+this.render();
+this._resize();
+},createViews:function(){
+this.views=new dojox.grid._ViewManager(this);
+this.views.createView=dojo.hitch(this,"createView");
+},createView:function(_e,_f){
+var c=dojo.getObject(_e);
+var _11=new c({grid:this,index:_f});
+this.viewsNode.appendChild(_11.domNode);
+this.viewsHeaderNode.appendChild(_11.headerNode);
+this.views.addView(_11);
+return _11;
+},buildViews:function(){
+for(var i=0,vs;(vs=this.layout.structure[i]);i++){
+this.createView(vs.type||dojox._scopeName+".grid._View",i).setStructure(vs);
+}
+this.scroller.setContentNodes(this.views.getContentNodes());
+},_setStructureAttr:function(_14){
+var s=_14;
+if(s&&dojo.isString(s)){
+dojo.deprecated("dojox.grid._Grid.attr('structure', 'objVar')","use dojox.grid._Grid.attr('structure', objVar) instead","2.0");
+s=dojo.getObject(s);
+}
+this.structure=s;
+if(!s){
+if(this.layout.structure){
+s=this.layout.structure;
+}else{
+return;
+}
+}
+this.views.destroyViews();
+if(s!==this.layout.structure){
+this.layout.setStructure(s);
+}
+this._structureChanged();
+},setStructure:function(_16){
+dojo.deprecated("dojox.grid._Grid.setStructure(obj)","use dojox.grid._Grid.attr('structure', obj) instead.","2.0");
+this._setStructureAttr(_16);
+},getColumnTogglingItems:function(){
+return dojo.map(this.layout.cells,function(_17){
+if(!_17.menuItems){
+_17.menuItems=[];
+}
+var _18=this;
+var _19=new dijit.CheckedMenuItem({label:_17.name,checked:!_17.hidden,_gridCell:_17,onChange:function(_1a){
+if(_18.layout.setColumnVisibility(this._gridCell.index,_1a)){
+var _1b=this._gridCell.menuItems;
+if(_1b.length>1){
+dojo.forEach(_1b,function(_1c){
+if(_1c!==this){
+_1c.setAttribute("checked",_1a);
+}
+},this);
+}
+var _1a=dojo.filter(_18.layout.cells,function(c){
+if(c.menuItems.length>1){
+dojo.forEach(c.menuItems,"item.attr('disabled', false);");
+}else{
+c.menuItems[0].attr("disabled",false);
+}
+return !c.hidden;
+});
+if(_1a.length==1){
+dojo.forEach(_1a[0].menuItems,"item.attr('disabled', true);");
+}
+}
+},destroy:function(){
+var _1e=dojo.indexOf(this._gridCell.menuItems,this);
+this._gridCell.menuItems.splice(_1e,1);
+delete this._gridCell;
+dijit.CheckedMenuItem.prototype.destroy.apply(this,arguments);
+}});
+_17.menuItems.push(_19);
+return _19;
+},this);
+},_setHeaderMenuAttr:function(_1f){
+if(this._placeholders.length){
+dojo.forEach(this._placeholders,function(p){
+p.unReplace(true);
+});
+this._placeholders=[];
+}
+if(this.headerMenu){
+this.headerMenu.unBindDomNode(this.viewsHeaderNode);
+}
+this.headerMenu=_1f;
+if(!_1f){
+return;
+}
+this.headerMenu.bindDomNode(this.viewsHeaderNode);
+if(this.headerMenu.getPlaceholders){
+this._placeholders=this.headerMenu.getPlaceholders(this.placeholderLabel);
+}
+},setHeaderMenu:function(_21){
+dojo.deprecated("dojox.grid._Grid.setHeaderMenu(obj)","use dojox.grid._Grid.attr('headerMenu', obj) instead.","2.0");
+this._setHeaderMenuAttr(_21);
+},setupHeaderMenu:function(){
+if(this._placeholders&&this._placeholders.length){
+dojo.forEach(this._placeholders,function(p){
+if(p._replaced){
+p.unReplace(true);
+}
+p.replace(this.getColumnTogglingItems());
+},this);
+}
+},_fetch:function(_23){
+this.setScrollTop(0);
+},getItem:function(_24){
+return null;
+},showMessage:function(_25){
+if(_25){
+this.messagesNode.innerHTML=_25;
+this.messagesNode.style.display="";
+}else{
+this.messagesNode.innerHTML="";
+this.messagesNode.style.display="none";
+}
+},_structureChanged:function(){
+this.buildViews();
+if(this.autoRender&&this._started){
+this.render();
+}
+},hasLayout:function(){
+return this.layout.cells.length;
+},resize:function(_26,_27){
+this._resize(_26,_27);
+this.sizeChange();
+},_getPadBorder:function(){
+this._padBorder=this._padBorder||dojo._getPadBorderExtents(this.domNode);
+return this._padBorder;
+},_getHeaderHeight:function(){
+var vns=this.viewsHeaderNode.style,t=vns.display=="none"?0:this.views.measureHeader();
+vns.height=t+"px";
+this.views.normalizeHeaderNodeHeight();
+return t;
+},_resize:function(_2a,_2b){
+var pn=this.domNode.parentNode;
+if(!pn||pn.nodeType!=1||!this.hasLayout()||pn.style.visibility=="hidden"||pn.style.display=="none"){
+return;
+}
+var _2d=this._getPadBorder();
+var hh=0;
+if(this._autoHeight){
+this.domNode.style.height="auto";
+this.viewsNode.style.height="";
+}else{
+if(typeof this.autoHeight=="number"){
+var h=hh=this._getHeaderHeight();
+h+=(this.scroller.averageRowHeight*this.autoHeight);
+this.domNode.style.height=h+"px";
+}else{
+if(this.flex>0){
+}else{
+if(this.domNode.clientHeight<=_2d.h){
+if(pn==document.body){
+this.domNode.style.height=this.defaultHeight;
+}else{
+if(this.height){
+this.domNode.style.height=this.height;
+}else{
+this.fitTo="parent";
+}
+}
+}
+}
+}
+}
+if(_2b){
+_2a=_2b;
+}
+if(_2a){
+dojo.marginBox(this.domNode,_2a);
+this.height=this.domNode.style.height;
+delete this.fitTo;
+}else{
+if(this.fitTo=="parent"){
+var h=dojo._getContentBox(pn).h;
+dojo.marginBox(this.domNode,{h:Math.max(0,h)});
+}
+}
+var h=dojo._getContentBox(this.domNode).h;
+if(h==0&&!this._autoHeight){
+this.viewsHeaderNode.style.display="none";
+}else{
+this.viewsHeaderNode.style.display="block";
+hh=this._getHeaderHeight();
+}
+this.adaptWidth();
+this.adaptHeight(hh);
+this.postresize();
+},adaptWidth:function(){
+var w=this.autoWidth?0:this.domNode.clientWidth||(this.domNode.offsetWidth-this._getPadBorder().w),vw=this.views.arrange(1,w);
+this.views.onEach("adaptWidth");
+if(this.autoWidth){
+this.domNode.style.width=vw+"px";
+}
+},adaptHeight:function(_32){
+var t=_32||this._getHeaderHeight();
+var h=(this._autoHeight?-1:Math.max(this.domNode.clientHeight-t,0)||0);
+this.views.onEach("setSize",[0,h]);
+this.views.onEach("adaptHeight");
+if(!this._autoHeight){
+var _35=0,_36=0;
+var _37=dojo.filter(this.views.views,function(v){
+var has=v.hasHScrollbar();
+if(has){
+_35++;
+}else{
+_36++;
+}
+return (!has);
+});
+if(_35>0&&_36>0){
+dojo.forEach(_37,function(v){
+v.adaptHeight(true);
+});
+}
+}
+if(this.autoHeight===true||h!=-1||(typeof this.autoHeight=="number"&&this.autoHeight>=this.attr("rowCount"))){
+this.scroller.windowHeight=h;
+}else{
+this.scroller.windowHeight=Math.max(this.domNode.clientHeight-t,0);
+}
+},startup:function(){
+if(this._started){
+return;
+}
+this.inherited(arguments);
+if(this.autoRender){
+this.render();
+}
+},render:function(){
+if(!this.domNode){
+return;
+}
+if(!this._started){
+return;
+}
+if(!this.hasLayout()){
+this.scroller.init(0,this.keepRows,this.rowsPerPage);
+return;
+}
+this.update=this.defaultUpdate;
+this._render();
+},_render:function(){
+this.scroller.init(this.attr("rowCount"),this.keepRows,this.rowsPerPage);
+this.prerender();
+this.setScrollTop(0);
+this.postrender();
+},prerender:function(){
+this.keepRows=this._autoHeight?0:this.keepRows;
+this.scroller.setKeepInfo(this.keepRows);
+this.views.render();
+this._resize();
+},postrender:function(){
+this.postresize();
+this.focus.initFocusView();
+dojo.setSelectable(this.domNode,this.selectable);
+},postresize:function(){
+if(this._autoHeight){
+var _3b=Math.max(this.views.measureContent())+"px";
+this.viewsNode.style.height=_3b;
+}
+},renderRow:function(_3c,_3d){
+this.views.renderRow(_3c,_3d);
+},rowRemoved:function(_3e){
+this.views.rowRemoved(_3e);
+},invalidated:null,updating:false,beginUpdate:function(){
+this.invalidated=[];
+this.updating=true;
+},endUpdate:function(){
+this.updating=false;
+var i=this.invalidated,r;
+if(i.all){
+this.update();
+}else{
+if(i.rowCount!=undefined){
+this.updateRowCount(i.rowCount);
+}else{
+for(r in i){
+this.updateRow(Number(r));
+}
+}
+}
+this.invalidated=null;
+},defaultUpdate:function(){
+if(!this.domNode){
+return;
+}
+if(this.updating){
+this.invalidated.all=true;
+return;
+}
+var _41=this.scrollTop;
+this.prerender();
+this.scroller.invalidateNodes();
+this.setScrollTop(_41);
+this.postrender();
+},update:function(){
+this.render();
+},updateRow:function(_42){
+_42=Number(_42);
+if(this.updating){
+this.invalidated[_42]=true;
+}else{
+this.views.updateRow(_42);
+this.scroller.rowHeightChanged(_42);
+}
+},updateRows:function(_43,_44){
+_43=Number(_43);
+_44=Number(_44);
+if(this.updating){
+for(var i=0;i<_44;i++){
+this.invalidated[i+_43]=true;
+}
+}else{
+for(var i=0;i<_44;i++){
+this.views.updateRow(i+_43);
+}
+this.scroller.rowHeightChanged(_43);
+}
+},updateRowCount:function(_46){
+if(this.updating){
+this.invalidated.rowCount=_46;
+}else{
+this.rowCount=_46;
+this._setAutoHeightAttr(this.autoHeight,true);
+if(this.layout.cells.length){
+this.scroller.updateRowCount(_46);
+}
+this._resize();
+if(this.layout.cells.length){
+this.setScrollTop(this.scrollTop);
+}
+}
+},updateRowStyles:function(_47){
+this.views.updateRowStyles(_47);
+},rowHeightChanged:function(_48){
+this.views.renormalizeRow(_48);
+this.scroller.rowHeightChanged(_48);
+},fastScroll:true,delayScroll:false,scrollRedrawThreshold:(dojo.isIE?100:50),scrollTo:function(_49){
+if(!this.fastScroll){
+this.setScrollTop(_49);
+return;
+}
+var _4a=Math.abs(this.lastScrollTop-_49);
+this.lastScrollTop=_49;
+if(_4a>this.scrollRedrawThreshold||this.delayScroll){
+this.delayScroll=true;
+this.scrollTop=_49;
+this.views.setScrollTop(_49);
+_1.job("dojoxGridScroll",200,dojo.hitch(this,"finishScrollJob"));
+}else{
+this.setScrollTop(_49);
+}
+},finishScrollJob:function(){
+this.delayScroll=false;
+this.setScrollTop(this.scrollTop);
+},setScrollTop:function(_4b){
+this.scroller.scroll(this.views.setScrollTop(_4b));
+},scrollToRow:function(_4c){
+this.setScrollTop(this.scroller.findScrollTop(_4c)+1);
+},styleRowNode:function(_4d,_4e){
+if(_4e){
+this.rows.styleRowNode(_4d,_4e);
+}
+},_mouseOut:function(e){
+this.rows.setOverRow(-2);
+},getCell:function(_50){
+return this.layout.cells[_50];
+},setCellWidth:function(_51,_52){
+this.getCell(_51).unitWidth=_52;
+},getCellName:function(_53){
+return "Cell "+_53.index;
+},canSort:function(_54){
+},sort:function(){
+},getSortAsc:function(_55){
+_55=_55==undefined?this.sortInfo:_55;
+return Boolean(_55>0);
+},getSortIndex:function(_56){
+_56=_56==undefined?this.sortInfo:_56;
+return Math.abs(_56)-1;
+},setSortIndex:function(_57,_58){
+var si=_57+1;
+if(_58!=undefined){
+si*=(_58?1:-1);
+}else{
+if(this.getSortIndex()==_57){
+si=-this.sortInfo;
+}
+}
+this.setSortInfo(si);
+},setSortInfo:function(_5a){
+if(this.canSort(_5a)){
+this.sortInfo=_5a;
+this.sort();
+this.update();
+}
+},doKeyEvent:function(e){
+e.dispatch="do"+e.type;
+this.onKeyEvent(e);
+},_dispatch:function(m,e){
+if(m in this){
+return this[m](e);
+}
+},dispatchKeyEvent:function(e){
+this._dispatch(e.dispatch,e);
+},dispatchContentEvent:function(e){
+this.edit.dispatchEvent(e)||e.sourceView.dispatchContentEvent(e)||this._dispatch(e.dispatch,e);
+},dispatchHeaderEvent:function(e){
+e.sourceView.dispatchHeaderEvent(e)||this._dispatch("doheader"+e.type,e);
+},dokeydown:function(e){
+this.onKeyDown(e);
+},doclick:function(e){
+if(e.cellNode){
+this.onCellClick(e);
+}else{
+this.onRowClick(e);
+}
+},dodblclick:function(e){
+if(e.cellNode){
+this.onCellDblClick(e);
+}else{
+this.onRowDblClick(e);
+}
+},docontextmenu:function(e){
+if(e.cellNode){
+this.onCellContextMenu(e);
+}else{
+this.onRowContextMenu(e);
+}
+},doheaderclick:function(e){
+if(e.cellNode){
+this.onHeaderCellClick(e);
+}else{
+this.onHeaderClick(e);
+}
+},doheaderdblclick:function(e){
+if(e.cellNode){
+this.onHeaderCellDblClick(e);
+}else{
+this.onHeaderDblClick(e);
+}
+},doheadercontextmenu:function(e){
+if(e.cellNode){
+this.onHeaderCellContextMenu(e);
+}else{
+this.onHeaderContextMenu(e);
+}
+},doStartEdit:function(_68,_69){
+this.onStartEdit(_68,_69);
+},doApplyCellEdit:function(_6a,_6b,_6c){
+this.onApplyCellEdit(_6a,_6b,_6c);
+},doCancelEdit:function(_6d){
+this.onCancelEdit(_6d);
+},doApplyEdit:function(_6e){
+this.onApplyEdit(_6e);
+},addRow:function(){
+this.updateRowCount(this.attr("rowCount")+1);
+},removeSelectedRows:function(){
+this.updateRowCount(Math.max(0,this.attr("rowCount")-this.selection.getSelected().length));
+this.selection.clear();
+}});
+dojox.grid._Grid.markupFactory=function(_6f,_70,_71,_72){
+var d=dojo;
+var _74=function(n){
+var w=d.attr(n,"width")||"auto";
+if((w!="auto")&&(w.slice(-2)!="em")&&(w.slice(-1)!="%")){
+w=parseInt(w)+"px";
+}
+return w;
+};
+if(!_6f.structure&&_70.nodeName.toLowerCase()=="table"){
+_6f.structure=d.query("> colgroup",_70).map(function(cg){
+var sv=d.attr(cg,"span");
+var v={noscroll:(d.attr(cg,"noscroll")=="true")?true:false,__span:(!!sv?parseInt(sv):1),cells:[]};
+if(d.hasAttr(cg,"width")){
+v.width=_74(cg);
+}
+return v;
+});
+if(!_6f.structure.length){
+_6f.structure.push({__span:Infinity,cells:[]});
+}
+d.query("thead > tr",_70).forEach(function(tr,_7b){
+var _7c=0;
+var _7d=0;
+var _7e;
+var _7f=null;
+d.query("> th",tr).map(function(th){
+if(!_7f){
+_7e=0;
+_7f=_6f.structure[0];
+}else{
+if(_7c>=(_7e+_7f.__span)){
+_7d++;
+_7e+=_7f.__span;
+var _81=_7f;
+_7f=_6f.structure[_7d];
+}
+}
+var _82={name:d.trim(d.attr(th,"name")||th.innerHTML),colSpan:parseInt(d.attr(th,"colspan")||1,10),type:d.trim(d.attr(th,"cellType")||"")};
+_7c+=_82.colSpan;
+var _83=d.attr(th,"rowspan");
+if(_83){
+_82.rowSpan=_83;
+}
+if(d.hasAttr(th,"width")){
+_82.width=_74(th);
+}
+if(d.hasAttr(th,"relWidth")){
+_82.relWidth=window.parseInt(dojo.attr(th,"relWidth"),10);
+}
+if(d.hasAttr(th,"hidden")){
+_82.hidden=d.attr(th,"hidden")=="true";
+}
+if(_72){
+_72(th,_82);
+}
+_82.type=_82.type?dojo.getObject(_82.type):dojox.grid.cells.Cell;
+if(_82.type&&_82.type.markupFactory){
+_82.type.markupFactory(th,_82);
+}
+if(!_7f.cells[_7b]){
+_7f.cells[_7b]=[];
+}
+_7f.cells[_7b].push(_82);
+});
+});
+}
+return new _71(_6f,_70);
+};
+})();
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Grid.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Layout.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Layout.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Layout.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Layout.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,213 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid._Layout"]){
+dojo._hasResource["dojox.grid._Layout"]=true;
+dojo.provide("dojox.grid._Layout");
+dojo.require("dojox.grid.cells");
+dojo.require("dojox.grid._RowSelector");
+dojo.declare("dojox.grid._Layout",null,{constructor:function(_1){
+this.grid=_1;
+},cells:[],structure:null,defaultWidth:"6em",moveColumn:function(_2,_3,_4,_5,_6){
+var _7=this.structure[_2].cells[0];
+var _8=this.structure[_3].cells[0];
+var _9=null;
+var _a=0;
+var _b=0;
+for(var i=0,c;c=_7[i];i++){
+if(c.index==_4){
+_a=i;
+break;
+}
+}
+_9=_7.splice(_a,1)[0];
+_9.view=this.grid.views.views[_3];
+for(i=0,c=null;c=_8[i];i++){
+if(c.index==_5){
+_b=i;
+break;
+}
+}
+if(!_6){
+_b+=1;
+}
+_8.splice(_b,0,_9);
+var _e=this.grid.getCell(this.grid.getSortIndex());
+if(_e){
+_e._currentlySorted=this.grid.getSortAsc();
+}
+this.cells=[];
+var _4=0;
+for(var i=0,v;v=this.structure[i];i++){
+for(var j=0,cs;cs=v.cells[j];j++){
+for(var k=0,c;c=cs[k];k++){
+c.index=_4;
+this.cells.push(c);
+if("_currentlySorted" in c){
+var si=_4+1;
+si*=c._currentlySorted?1:-1;
+this.grid.sortInfo=si;
+delete c._currentlySorted;
+}
+_4++;
+}
+}
+}
+this.grid.setupHeaderMenu();
+},setColumnVisibility:function(_14,_15){
+var _16=this.cells[_14];
+if(_16.hidden==_15){
+_16.hidden=!_15;
+var v=_16.view,w=v.viewWidth;
+if(w&&w!="auto"){
+v._togglingColumn=dojo.marginBox(_16.getHeaderNode()).w||0;
+}
+v.update();
+return true;
+}else{
+return false;
+}
+},addCellDef:function(_19,_1a,_1b){
+var _1c=this;
+var _1d=function(_1e){
+var w=0;
+if(_1e.colSpan>1){
+w=0;
+}else{
+w=_1e.width||_1c._defaultCellProps.width||_1c.defaultWidth;
+if(!isNaN(w)){
+w=w+"em";
+}
+}
+return w;
+};
+var _20={grid:this.grid,subrow:_19,layoutIndex:_1a,index:this.cells.length};
+if(_1b&&_1b instanceof dojox.grid.cells._Base){
+var _21=dojo.clone(_1b);
+_20.unitWidth=_1d(_21._props);
+_21=dojo.mixin(_21,this._defaultCellProps,_1b._props,_20);
+return _21;
+}
+var _22=_1b.type||this._defaultCellProps.type||dojox.grid.cells.Cell;
+_20.unitWidth=_1d(_1b);
+return new _22(dojo.mixin({},this._defaultCellProps,_1b,_20));
+},addRowDef:function(_23,_24){
+var _25=[];
+var _26=0,_27=0,_28=true;
+for(var i=0,def,_2b;(def=_24[i]);i++){
+_2b=this.addCellDef(_23,i,def);
+_25.push(_2b);
+this.cells.push(_2b);
+if(_28&&_2b.relWidth){
+_26+=_2b.relWidth;
+}else{
+if(_2b.width){
+var w=_2b.width;
+if(typeof w=="string"&&w.slice(-1)=="%"){
+_27+=window.parseInt(w,10);
+}else{
+if(w=="auto"){
+_28=false;
+}
+}
+}
+}
+}
+if(_26&&_28){
+dojo.forEach(_25,function(_2d){
+if(_2d.relWidth){
+_2d.width=_2d.unitWidth=((_2d.relWidth/_26)*(100-_27))+"%";
+}
+});
+}
+return _25;
+},addRowsDef:function(_2e){
+var _2f=[];
+if(dojo.isArray(_2e)){
+if(dojo.isArray(_2e[0])){
+for(var i=0,row;_2e&&(row=_2e[i]);i++){
+_2f.push(this.addRowDef(i,row));
+}
+}else{
+_2f.push(this.addRowDef(0,_2e));
+}
+}
+return _2f;
+},addViewDef:function(_32){
+this._defaultCellProps=_32.defaultCell||{};
+if(_32.width&&_32.width=="auto"){
+delete _32.width;
+}
+return dojo.mixin({},_32,{cells:this.addRowsDef(_32.rows||_32.cells)});
+},setStructure:function(_33){
+this.fieldIndex=0;
+this.cells=[];
+var s=this.structure=[];
+if(this.grid.rowSelector){
+var sel={type:dojox._scopeName+".grid._RowSelector"};
+if(dojo.isString(this.grid.rowSelector)){
+var _36=this.grid.rowSelector;
+if(_36=="false"){
+sel=null;
+}else{
+if(_36!="true"){
+sel["width"]=_36;
+}
+}
+}else{
+if(!this.grid.rowSelector){
+sel=null;
+}
+}
+if(sel){
+s.push(this.addViewDef(sel));
+}
+}
+var _37=function(def){
+return ("name" in def||"field" in def||"get" in def);
+};
+var _39=function(def){
+if(dojo.isArray(def)){
+if(dojo.isArray(def[0])||_37(def[0])){
+return true;
+}
+}
+return false;
+};
+var _3b=function(def){
+return (def!=null&&dojo.isObject(def)&&("cells" in def||"rows" in def||("type" in def&&!_37(def))));
+};
+if(dojo.isArray(_33)){
+var _3d=false;
+for(var i=0,st;(st=_33[i]);i++){
+if(_3b(st)){
+_3d=true;
+break;
+}
+}
+if(!_3d){
+s.push(this.addViewDef({cells:_33}));
+}else{
+for(var i=0,st;(st=_33[i]);i++){
+if(_39(st)){
+s.push(this.addViewDef({cells:st}));
+}else{
+if(_3b(st)){
+s.push(this.addViewDef(st));
+}
+}
+}
+}
+}else{
+if(_3b(_33)){
+s.push(this.addViewDef(_33));
+}
+}
+this.cellCount=this.cells.length;
+this.grid.setupHeaderMenu();
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Layout.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_RowManager.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_RowManager.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_RowManager.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_RowManager.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,46 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid._RowManager"]){
+dojo._hasResource["dojox.grid._RowManager"]=true;
+dojo.provide("dojox.grid._RowManager");
+(function(){
+var _1=function(_2,_3){
+if(_2.style.cssText==undefined){
+_2.setAttribute("style",_3);
+}else{
+_2.style.cssText=_3;
+}
+};
+dojo.declare("dojox.grid._RowManager",null,{constructor:function(_4){
+this.grid=_4;
+},linesToEms:2,overRow:-2,prepareStylingRow:function(_5,_6){
+return {index:_5,node:_6,odd:Boolean(_5&1),selected:this.grid.selection.isSelected(_5),over:this.isOver(_5),customStyles:"",customClasses:"dojoxGridRow"};
+},styleRowNode:function(_7,_8){
+var _9=this.prepareStylingRow(_7,_8);
+this.grid.onStyleRow(_9);
+this.applyStyles(_9);
+},applyStyles:function(_a){
+var i=_a;
+i.node.className=i.customClasses;
+var h=i.node.style.height;
+_1(i.node,i.customStyles+";"+(i.node._style||""));
+i.node.style.height=h;
+},updateStyles:function(_d){
+this.grid.updateRowStyles(_d);
+},setOverRow:function(_e){
+var _f=this.overRow;
+this.overRow=_e;
+if((_f!=this.overRow)&&(_f>=0)){
+this.updateStyles(_f);
+}
+this.updateStyles(this.overRow);
+},isOver:function(_10){
+return (this.overRow==_10);
+}});
+})();
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_RowManager.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_RowSelector.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_RowSelector.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_RowSelector.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_RowSelector.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,41 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid._RowSelector"]){
+dojo._hasResource["dojox.grid._RowSelector"]=true;
+dojo.provide("dojox.grid._RowSelector");
+dojo.require("dojox.grid._View");
+dojo.declare("dojox.grid._RowSelector",dojox.grid._View,{defaultWidth:"2em",noscroll:true,padBorderWidth:2,buildRendering:function(){
+this.inherited("buildRendering",arguments);
+this.scrollboxNode.style.overflow="hidden";
+this.headerNode.style.visibility="hidden";
+},getWidth:function(){
+return this.viewWidth||this.defaultWidth;
+},buildRowContent:function(_1,_2){
+var w=this.contentNode.offsetWidth-this.padBorderWidth;
+_2.innerHTML="<table class=\"dojoxGridRowbarTable\" style=\"width:"+w+"px;\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" role=\""+(dojo.isFF<3?"wairole:":"")+"presentation\"><tr><td class=\"dojoxGridRowbarInner\">&nbsp;</td></tr></table>";
+},renderHeader:function(){
+},resize:function(){
+this.adaptHeight();
+},adaptWidth:function(){
+},doStyleRowNode:function(_4,_5){
+var n=["dojoxGridRowbar"];
+if(this.grid.rows.isOver(_4)){
+n.push("dojoxGridRowbarOver");
+}
+if(this.grid.selection.isSelected(_4)){
+n.push("dojoxGridRowbarSelected");
+}
+_5.className=n.join(" ");
+},domouseover:function(e){
+this.grid.onMouseOverRow(e);
+},domouseout:function(e){
+if(!this.isIntraRowEvent(e)){
+this.grid.onMouseOutRow(e);
+}
+}});
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_RowSelector.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Scroller.js
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Scroller.js?rev=755904&view=auto
==============================================================================
--- camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Scroller.js (added)
+++ camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Scroller.js Thu Mar 19 10:37:00 2009
@@ -0,0 +1,374 @@
+/*
+	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
+	Available via Academic Free License >= 2.1 OR the modified BSD license.
+	see: http://dojotoolkit.org/license for details
+*/
+
+
+if(!dojo._hasResource["dojox.grid._Scroller"]){
+dojo._hasResource["dojox.grid._Scroller"]=true;
+dojo.provide("dojox.grid._Scroller");
+(function(){
+var _1=function(_2){
+var i=0,n,p=_2.parentNode;
+while((n=p.childNodes[i++])){
+if(n==_2){
+return i-1;
+}
+}
+return -1;
+};
+var _6=function(_7){
+if(!_7){
+return;
+}
+var _8=function(_9){
+return _9.domNode&&dojo.isDescendant(_9.domNode,_7,true);
+};
+var ws=dijit.registry.filter(_8);
+for(var i=0,w;(w=ws[i]);i++){
+w.destroy();
+}
+delete ws;
+};
+var _d=function(_e){
+var _f=dojo.byId(_e);
+return (_f&&_f.tagName?_f.tagName.toLowerCase():"");
+};
+var _10=function(_11,_12){
+var _13=[];
+var i=0,n;
+while((n=_11.childNodes[i++])){
+if(_d(n)==_12){
+_13.push(n);
+}
+}
+return _13;
+};
+var _16=function(_17){
+return _10(_17,"div");
+};
+dojo.declare("dojox.grid._Scroller",null,{constructor:function(_18){
+this.setContentNodes(_18);
+this.pageHeights=[];
+this.pageNodes=[];
+this.stack=[];
+},rowCount:0,defaultRowHeight:32,keepRows:100,contentNode:null,scrollboxNode:null,defaultPageHeight:0,keepPages:10,pageCount:0,windowHeight:0,firstVisibleRow:0,lastVisibleRow:0,averageRowHeight:0,page:0,pageTop:0,init:function(_19,_1a,_1b){
+switch(arguments.length){
+case 3:
+this.rowsPerPage=_1b;
+case 2:
+this.keepRows=_1a;
+case 1:
+this.rowCount=_19;
+}
+this.defaultPageHeight=this.defaultRowHeight*this.rowsPerPage;
+this.pageCount=this._getPageCount(this.rowCount,this.rowsPerPage);
+this.setKeepInfo(this.keepRows);
+this.invalidate();
+if(this.scrollboxNode){
+this.scrollboxNode.scrollTop=0;
+this.scroll(0);
+this.scrollboxNode.onscroll=dojo.hitch(this,"onscroll");
+}
+},_getPageCount:function(_1c,_1d){
+return _1c?(Math.ceil(_1c/_1d)||1):0;
+},destroy:function(){
+this.invalidateNodes();
+delete this.contentNodes;
+delete this.contentNode;
+delete this.scrollboxNode;
+},setKeepInfo:function(_1e){
+this.keepRows=_1e;
+this.keepPages=!this.keepRows?this.keepRows:Math.max(Math.ceil(this.keepRows/this.rowsPerPage),2);
+},setContentNodes:function(_1f){
+this.contentNodes=_1f;
+this.colCount=(this.contentNodes?this.contentNodes.length:0);
+this.pageNodes=[];
+for(var i=0;i<this.colCount;i++){
+this.pageNodes[i]=[];
+}
+},getDefaultNodes:function(){
+return this.pageNodes[0]||[];
+},invalidate:function(){
+this.invalidateNodes();
+this.pageHeights=[];
+this.height=(this.pageCount?(this.pageCount-1)*this.defaultPageHeight+this.calcLastPageHeight():0);
+this.resize();
+},updateRowCount:function(_21){
+this.invalidateNodes();
+this.rowCount=_21;
+var _22=this.pageCount;
+this.pageCount=this._getPageCount(this.rowCount,this.rowsPerPage);
+if(this.pageCount<_22){
+for(var i=_22-1;i>=this.pageCount;i--){
+this.height-=this.getPageHeight(i);
+delete this.pageHeights[i];
+}
+}else{
+if(this.pageCount>_22){
+this.height+=this.defaultPageHeight*(this.pageCount-_22-1)+this.calcLastPageHeight();
+}
+}
+this.resize();
+},pageExists:function(_24){
+return Boolean(this.getDefaultPageNode(_24));
+},measurePage:function(_25){
+var n=this.getDefaultPageNode(_25);
+return (n&&n.innerHTML)?n.offsetHeight:0;
+},positionPage:function(_27,_28){
+for(var i=0;i<this.colCount;i++){
+this.pageNodes[i][_27].style.top=_28+"px";
+}
+},repositionPages:function(_2a){
+var _2b=this.getDefaultNodes();
+var _2c=0;
+for(var i=0;i<this.stack.length;i++){
+_2c=Math.max(this.stack[i],_2c);
+}
+var n=_2b[_2a];
+var y=(n?this.getPageNodePosition(n)+this.getPageHeight(_2a):0);
+for(var p=_2a+1;p<=_2c;p++){
+n=_2b[p];
+if(n){
+if(this.getPageNodePosition(n)==y){
+return;
+}
+this.positionPage(p,y);
+}
+y+=this.getPageHeight(p);
+}
+},installPage:function(_31){
+for(var i=0;i<this.colCount;i++){
+this.contentNodes[i].appendChild(this.pageNodes[i][_31]);
+}
+},preparePage:function(_33,_34){
+var p=(_34?this.popPage():null);
+for(var i=0;i<this.colCount;i++){
+var _37=this.pageNodes[i];
+var _38=(p===null?this.createPageNode():this.invalidatePageNode(p,_37));
+_38.pageIndex=_33;
+_38.id=(this._pageIdPrefix||"")+"page-"+_33;
+_37[_33]=_38;
+}
+},renderPage:function(_39){
+var _3a=[];
+for(var i=0;i<this.colCount;i++){
+_3a[i]=this.pageNodes[i][_39];
+}
+for(var i=0,j=_39*this.rowsPerPage;(i<this.rowsPerPage)&&(j<this.rowCount);i++,j++){
+this.renderRow(j,_3a);
+}
+},removePage:function(_3d){
+for(var i=0,j=_3d*this.rowsPerPage;i<this.rowsPerPage;i++,j++){
+this.removeRow(j);
+}
+},destroyPage:function(_40){
+for(var i=0;i<this.colCount;i++){
+var n=this.invalidatePageNode(_40,this.pageNodes[i]);
+if(n){
+dojo.destroy(n);
+}
+}
+},pacify:function(_43){
+},pacifying:false,pacifyTicks:200,setPacifying:function(_44){
+if(this.pacifying!=_44){
+this.pacifying=_44;
+this.pacify(this.pacifying);
+}
+},startPacify:function(){
+this.startPacifyTicks=new Date().getTime();
+},doPacify:function(){
+var _45=(new Date().getTime()-this.startPacifyTicks)>this.pacifyTicks;
+this.setPacifying(true);
+this.startPacify();
+return _45;
+},endPacify:function(){
+this.setPacifying(false);
+},resize:function(){
+if(this.scrollboxNode){
+this.windowHeight=this.scrollboxNode.clientHeight;
+}
+for(var i=0;i<this.colCount;i++){
+dojox.grid.util.setStyleHeightPx(this.contentNodes[i],this.height);
+}
+this.needPage(this.page,this.pageTop);
+var _47=(this.page<this.pageCount-1)?this.rowsPerPage:((this.rowCount%this.rowsPerPage)||this.rowsPerPage);
+var _48=this.getPageHeight(this.page);
+this.averageRowHeight=(_48>0&&_47>0)?(_48/_47):0;
+},calcLastPageHeight:function(){
+if(!this.pageCount){
+return 0;
+}
+var _49=this.pageCount-1;
+var _4a=((this.rowCount%this.rowsPerPage)||(this.rowsPerPage))*this.defaultRowHeight;
+this.pageHeights[_49]=_4a;
+return _4a;
+},updateContentHeight:function(_4b){
+this.height+=_4b;
+this.resize();
+},updatePageHeight:function(_4c){
+if(this.pageExists(_4c)){
+var oh=this.getPageHeight(_4c);
+var h=(this.measurePage(_4c))||(oh);
+this.pageHeights[_4c]=h;
+if((h)&&(oh!=h)){
+this.updateContentHeight(h-oh);
+this.repositionPages(_4c);
+}
+}
+},rowHeightChanged:function(_4f){
+this.updatePageHeight(Math.floor(_4f/this.rowsPerPage));
+},invalidateNodes:function(){
+while(this.stack.length){
+this.destroyPage(this.popPage());
+}
+},createPageNode:function(){
+var p=document.createElement("div");
+p.style.position="absolute";
+p.style[dojo._isBodyLtr()?"left":"right"]="0";
+return p;
+},getPageHeight:function(_51){
+var ph=this.pageHeights[_51];
+return (ph!==undefined?ph:this.defaultPageHeight);
+},pushPage:function(_53){
+return this.stack.push(_53);
+},popPage:function(){
+return this.stack.shift();
+},findPage:function(_54){
+var i=0,h=0;
+for(var ph=0;i<this.pageCount;i++,h+=ph){
+ph=this.getPageHeight(i);
+if(h+ph>=_54){
+break;
+}
+}
+this.page=i;
+this.pageTop=h;
+},buildPage:function(_58,_59,_5a){
+this.preparePage(_58,_59);
+this.positionPage(_58,_5a);
+this.installPage(_58);
+this.renderPage(_58);
+this.pushPage(_58);
+},needPage:function(_5b,_5c){
+var h=this.getPageHeight(_5b),oh=h;
+if(!this.pageExists(_5b)){
+this.buildPage(_5b,this.keepPages&&(this.stack.length>=this.keepPages),_5c);
+h=this.measurePage(_5b)||h;
+this.pageHeights[_5b]=h;
+if(h&&(oh!=h)){
+this.updateContentHeight(h-oh);
+}
+}else{
+this.positionPage(_5b,_5c);
+}
+return h;
+},onscroll:function(){
+this.scroll(this.scrollboxNode.scrollTop);
+},scroll:function(_5f){
+this.grid.scrollTop=_5f;
+if(this.colCount){
+this.startPacify();
+this.findPage(_5f);
+var h=this.height;
+var b=this.getScrollBottom(_5f);
+for(var p=this.page,y=this.pageTop;(p<this.pageCount)&&((b<0)||(y<b));p++){
+y+=this.needPage(p,y);
+}
+this.firstVisibleRow=this.getFirstVisibleRow(this.page,this.pageTop,_5f);
+this.lastVisibleRow=this.getLastVisibleRow(p-1,y,b);
+if(h!=this.height){
+this.repositionPages(p-1);
+}
+this.endPacify();
+}
+},getScrollBottom:function(_64){
+return (this.windowHeight>=0?_64+this.windowHeight:-1);
+},processNodeEvent:function(e,_66){
+var t=e.target;
+while(t&&(t!=_66)&&t.parentNode&&(t.parentNode.parentNode!=_66)){
+t=t.parentNode;
+}
+if(!t||!t.parentNode||(t.parentNode.parentNode!=_66)){
+return false;
+}
+var _68=t.parentNode;
+e.topRowIndex=_68.pageIndex*this.rowsPerPage;
+e.rowIndex=e.topRowIndex+_1(t);
+e.rowTarget=t;
+return true;
+},processEvent:function(e){
+return this.processNodeEvent(e,this.contentNode);
+},renderRow:function(_6a,_6b){
+},removeRow:function(_6c){
+},getDefaultPageNode:function(_6d){
+return this.getDefaultNodes()[_6d];
+},positionPageNode:function(_6e,_6f){
+},getPageNodePosition:function(_70){
+return _70.offsetTop;
+},invalidatePageNode:function(_71,_72){
+var p=_72[_71];
+if(p){
+delete _72[_71];
+this.removePage(_71,p);
+_6(p);
+p.innerHTML="";
+}
+return p;
+},getPageRow:function(_74){
+return _74*this.rowsPerPage;
+},getLastPageRow:function(_75){
+return Math.min(this.rowCount,this.getPageRow(_75+1))-1;
+},getFirstVisibleRow:function(_76,_77,_78){
+if(!this.pageExists(_76)){
+return 0;
+}
+var row=this.getPageRow(_76);
+var _7a=this.getDefaultNodes();
+var _7b=_16(_7a[_76]);
+for(var i=0,l=_7b.length;i<l&&_77<_78;i++,row++){
+_77+=_7b[i].offsetHeight;
+}
+return (row?row-1:row);
+},getLastVisibleRow:function(_7e,_7f,_80){
+if(!this.pageExists(_7e)){
+return 0;
+}
+var _81=this.getDefaultNodes();
+var row=this.getLastPageRow(_7e);
+var _83=_16(_81[_7e]);
+for(var i=_83.length-1;i>=0&&_7f>_80;i--,row--){
+_7f-=_83[i].offsetHeight;
+}
+return row+1;
+},findTopRow:function(_85){
+var _86=this.getDefaultNodes();
+var _87=_16(_86[this.page]);
+for(var i=0,l=_87.length,t=this.pageTop,h;i<l;i++){
+h=_87[i].offsetHeight;
+t+=h;
+if(t>=_85){
+this.offset=h-(t-_85);
+return i+this.page*this.rowsPerPage;
+}
+}
+return -1;
+},findScrollTop:function(_8c){
+var _8d=Math.floor(_8c/this.rowsPerPage);
+var t=0;
+for(var i=0;i<_8d;i++){
+t+=this.getPageHeight(i);
+}
+this.pageTop=t;
+this.needPage(_8d,this.pageTop);
+var _90=this.getDefaultNodes();
+var _91=_16(_90[_8d]);
+var r=_8c-this.rowsPerPage*_8d;
+for(var i=0,l=_91.length;i<l&&i<r;i++){
+t+=_91[i].offsetHeight;
+}
+return t;
+},dummy:0});
+})();
+}

Propchange: camel/trunk/components/camel-web/src/main/webapp/js/dojox/grid/_Scroller.js
------------------------------------------------------------------------------
    svn:eol-style = native