Changeset 13545
- Timestamp:
- 05/02/08 11:18:04 (7 months ago)
- Location:
- dojox/trunk/grid
- Files:
-
- 1 removed
- 21 modified
- 3 moved
-
DataGrid.js (modified) (4 diffs)
-
resources/View.html (moved) (moved from dojox/trunk/grid/resources/GridView.html)
-
tests/test_custom_sort.html (modified) (2 diffs)
-
tests/test_data_grid.html (modified) (2 diffs)
-
tests/test_edit.html (modified) (2 diffs)
-
tests/test_edit_canEdit.html (modified) (2 diffs)
-
tests/test_grid.html (modified) (2 diffs)
-
tests/test_grid_dlg.html (modified) (2 diffs)
-
tests/test_grid_headerHeight.html (modified) (2 diffs)
-
tests/test_grid_object_model_change.html (modified) (2 diffs)
-
tests/test_grid_performance.html (modified) (2 diffs)
-
tests/test_grid_rtl.html (modified) (2 diffs)
-
tests/test_grid_simple_structure.html (modified) (2 diffs)
-
tests/test_grid_simple_structure2.html (modified) (2 diffs)
-
tests/test_grid_tooltip_menu.html (modified) (1 diff)
-
tests/test_keyboard.html (modified) (2 diffs)
-
tests/test_mysql_edit.html (modified) (2 diffs)
-
tests/test_sizing.html (modified) (2 diffs)
-
tests/test_sizing_100rows.html (modified) (2 diffs)
-
VirtualGrid.js (modified) (3 diffs)
-
_grid/builder.js (deleted)
-
_grid/lib.js (modified) (1 diff)
-
_RowSelector.js (modified) (1 diff)
-
_View.js (moved) (moved from dojox/trunk/grid/_grid/view.js) (1 diff)
-
_ViewManager.js (moved) (moved from dojox/trunk/grid/_grid/views.js) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
dojox/trunk/grid/DataGrid.js
r13518 r13545 6 6 model: null, 7 7 query: { name: '*' }, 8 fetchText: '...', 8 9 9 10 _model_connects: null, … … 30 31 31 32 _onSet: function(item, attribute, oldValue, newValue){ 33 var info = this._identity_map[this.model.getIdentity(item)]; 34 if(info){ 35 this.updateRow(info.idx); 36 } 32 37 }, 33 38 … … 123 128 _getItemAttr: function(idx, attr){ 124 129 var item = this._getItem(idx); 125 return (!item ? dojox.grid.na: this.model.getValue(item, attr));130 return (!item ? this.fetchText : this.model.getValue(item, attr)); 126 131 }, 127 132 … … 187 192 return null; 188 193 }else{ 189 return [{ attribute: c.dataAttr, descending: (this.sortInfo>0) }];194 return [{ attribute: c.dataAttr, descending: !(this.sortInfo>0) }]; 190 195 } 191 196 }, -
dojox/trunk/grid/tests/test_custom_sort.html
r13440 r13545 30 30 <script type="text/javascript" src="../_grid/drag.js"></script> 31 31 <script type="text/javascript" src="../_grid/scroller.js"></script> 32 <script type="text/javascript" src="../_grid/builder.js"></script> 32 33 33 <script type="text/javascript" src="../_grid/cell.js"></script> 34 34 <script type="text/javascript" src="../_Layout.js"></script> … … 37 37 <script type="text/javascript" src="../_grid/selection.js"></script> 38 38 <script type="text/javascript" src="../_grid/edit.js"></script> 39 <script type="text/javascript" src="../_ grid/view.js"></script>39 <script type="text/javascript" src="../_View.js"></script> 40 40 <script type="text/javascript" src="../_grid/views.js"></script> 41 41 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_data_grid.html
r13518 r13545 30 30 <script type="text/javascript" src="../_grid/drag.js"></script> 31 31 <script type="text/javascript" src="../_grid/scroller.js"></script> 32 <script type="text/javascript" src="../_grid/builder.js"></script> 32 33 33 <script type="text/javascript" src="../_grid/cell.js"></script> 34 34 <script type="text/javascript" src="../_Layout.js"></script> … … 37 37 <script type="text/javascript" src="../_grid/selection.js"></script> 38 38 <script type="text/javascript" src="../_grid/edit.js"></script> 39 <script type="text/javascript" src="../_ grid/view.js"></script>39 <script type="text/javascript" src="../_View.js"></script> 40 40 <script type="text/javascript" src="../_grid/views.js"></script> 41 41 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_edit.html
r13443 r13545 45 45 <script type="text/javascript" src="../_grid/drag.js"></script> 46 46 <script type="text/javascript" src="../_grid/scroller.js"></script> 47 <script type="text/javascript" src="../_grid/builder.js"></script>48 47 <script type="text/javascript" src="../_grid/cell.js"></script> 49 48 <script type="text/javascript" src="../_Layout.js"></script> … … 52 51 <script type="text/javascript" src="../_grid/selection.js"></script> 53 52 <script type="text/javascript" src="../_grid/edit.js"></script> 54 <script type="text/javascript" src="../_ grid/view.js"></script>53 <script type="text/javascript" src="../_View.js"></script> 55 54 <script type="text/javascript" src="../_grid/views.js"></script> 56 55 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_edit_canEdit.html
r13443 r13545 45 45 <script type="text/javascript" src="../_grid/drag.js"></script> 46 46 <script type="text/javascript" src="../_grid/scroller.js"></script> 47 <script type="text/javascript" src="../_grid/builder.js"></script>48 47 <script type="text/javascript" src="../_grid/cell.js"></script> 49 48 <script type="text/javascript" src="../_Layout.js"></script> … … 52 51 <script type="text/javascript" src="../_grid/selection.js"></script> 53 52 <script type="text/javascript" src="../_grid/edit.js"></script> 54 <script type="text/javascript" src="../_ grid/view.js"></script>53 <script type="text/javascript" src="../_View.js"></script> 55 54 <script type="text/javascript" src="../_grid/views.js"></script> 56 55 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_grid.html
r13440 r13545 33 33 <script type="text/javascript" src="../_grid/drag.js"></script> 34 34 <script type="text/javascript" src="../_grid/scroller.js"></script> 35 <script type="text/javascript" src="../_grid/builder.js"></script>36 35 <script type="text/javascript" src="../_grid/cell.js"></script> 37 36 <script type="text/javascript" src="../_Layout.js"></script> … … 40 39 <script type="text/javascript" src="../_grid/selection.js"></script> 41 40 <script type="text/javascript" src="../_grid/edit.js"></script> 42 <script type="text/javascript" src="../_ grid/view.js"></script>41 <script type="text/javascript" src="../_View.js"></script> 43 42 <script type="text/javascript" src="../_grid/views.js"></script> 44 43 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_grid_dlg.html
r13440 r13545 37 37 <script type="text/javascript" src="../_grid/drag.js"></script> 38 38 <script type="text/javascript" src="../_grid/scroller.js"></script> 39 <script type="text/javascript" src="../_grid/builder.js"></script>40 39 <script type="text/javascript" src="../_grid/cell.js"></script> 41 40 <script type="text/javascript" src="../_Layout.js"></script> … … 44 43 <script type="text/javascript" src="../_grid/selection.js"></script> 45 44 <script type="text/javascript" src="../_grid/edit.js"></script> 46 <script type="text/javascript" src="../_ grid/view.js"></script>45 <script type="text/javascript" src="../_View.js"></script> 47 46 <script type="text/javascript" src="../_grid/views.js"></script> 48 47 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_grid_headerHeight.html
r13443 r13545 33 33 <script type="text/javascript" src="../_grid/drag.js"></script> 34 34 <script type="text/javascript" src="../_grid/scroller.js"></script> 35 <script type="text/javascript" src="../_grid/builder.js"></script>36 35 <script type="text/javascript" src="../_grid/cell.js"></script> 37 36 <script type="text/javascript" src="../_Layout.js"></script> … … 40 39 <script type="text/javascript" src="../_grid/selection.js"></script> 41 40 <script type="text/javascript" src="../_grid/edit.js"></script> 42 <script type="text/javascript" src="../_ grid/view.js"></script>41 <script type="text/javascript" src="../_View.js"></script> 43 42 <script type="text/javascript" src="../_grid/views.js"></script> 44 43 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_grid_object_model_change.html
r13440 r13545 35 35 <script type="text/javascript" src="../_grid/drag.js"></script> 36 36 <script type="text/javascript" src="../_grid/scroller.js"></script> 37 <script type="text/javascript" src="../_grid/builder.js"></script> 37 38 38 <script type="text/javascript" src="../_grid/cell.js"></script> 39 39 <script type="text/javascript" src="../_Layout.js"></script> … … 42 42 <script type="text/javascript" src="../_grid/selection.js"></script> 43 43 <script type="text/javascript" src="../_grid/edit.js"></script> 44 <script type="text/javascript" src="../_ grid/view.js"></script>44 <script type="text/javascript" src="../_View.js"></script> 45 45 <script type="text/javascript" src="../_grid/views.js"></script> 46 46 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_grid_performance.html
r13440 r13545 27 27 <script type="text/javascript" src="../_grid/drag.js"></script> 28 28 <script type="text/javascript" src="../_grid/scroller.js"></script> 29 <script type="text/javascript" src="../_grid/builder.js"></script> 29 30 30 <script type="text/javascript" src="../_grid/cell.js"></script> 31 31 <script type="text/javascript" src="../_Layout.js"></script> … … 34 34 <script type="text/javascript" src="../_grid/selection.js"></script> 35 35 <script type="text/javascript" src="../_grid/edit.js"></script> 36 <script type="text/javascript" src="../_ grid/view.js"></script>36 <script type="text/javascript" src="../_View.js"></script> 37 37 <script type="text/javascript" src="../_grid/views.js"></script> 38 38 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_grid_rtl.html
r13440 r13545 35 35 <script type="text/javascript" src="../_grid/drag.js"></script> 36 36 <script type="text/javascript" src="../_grid/scroller.js"></script> 37 <script type="text/javascript" src="../_grid/builder.js"></script> 37 38 38 <script type="text/javascript" src="../_grid/cell.js"></script> 39 39 <script type="text/javascript" src="../_Layout.js"></script> … … 42 42 <script type="text/javascript" src="../_grid/selection.js"></script> 43 43 <script type="text/javascript" src="../_grid/edit.js"></script> 44 <script type="text/javascript" src="../_ grid/view.js"></script>44 <script type="text/javascript" src="../_View.js"></script> 45 45 <script type="text/javascript" src="../_grid/views.js"></script> 46 46 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_grid_simple_structure.html
r13440 r13545 33 33 <script type="text/javascript" src="../_grid/drag.js"></script> 34 34 <script type="text/javascript" src="../_grid/scroller.js"></script> 35 <script type="text/javascript" src="../_grid/builder.js"></script> 35 36 36 <script type="text/javascript" src="../_grid/cell.js"></script> 37 37 <script type="text/javascript" src="../_Layout.js"></script> … … 40 40 <script type="text/javascript" src="../_grid/selection.js"></script> 41 41 <script type="text/javascript" src="../_grid/edit.js"></script> 42 <script type="text/javascript" src="../_ grid/view.js"></script>42 <script type="text/javascript" src="../_View.js"></script> 43 43 <script type="text/javascript" src="../_grid/views.js"></script> 44 44 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_grid_simple_structure2.html
r13440 r13545 33 33 <script type="text/javascript" src="../_grid/drag.js"></script> 34 34 <script type="text/javascript" src="../_grid/scroller.js"></script> 35 <script type="text/javascript" src="../_grid/builder.js"></script> 35 36 36 <script type="text/javascript" src="../_grid/cell.js"></script> 37 37 <script type="text/javascript" src="../_Layout.js"></script> … … 40 40 <script type="text/javascript" src="../_grid/selection.js"></script> 41 41 <script type="text/javascript" src="../_grid/edit.js"></script> 42 <script type="text/javascript" src="../_ grid/view.js"></script>42 <script type="text/javascript" src="../_View.js"></script> 43 43 <script type="text/javascript" src="../_grid/views.js"></script> 44 44 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_grid_tooltip_menu.html
r13377 r13545 132 132 <div dojoType="dijit.PopupMenuItem"> 133 133 <span>Deeper Submenu</span> 134 <div dojoType="dijit.Menu" id="submenu4" ">134 <div dojoType="dijit.Menu" id="submenu4"> 135 135 <div dojoType="dijit.MenuItem" onClick="alert('Sub-submenu 1!')">Sub-sub-menu Item One</div> 136 136 <div dojoType="dijit.MenuItem" onClick="alert('Sub-submenu 2!')">Sub-sub-menu Item Two</div> -
dojox/trunk/grid/tests/test_keyboard.html
r13440 r13545 30 30 <script type="text/javascript" src="../_grid/drag.js"></script> 31 31 <script type="text/javascript" src="../_grid/scroller.js"></script> 32 <script type="text/javascript" src="../_grid/builder.js"></script> 32 33 33 <script type="text/javascript" src="../_grid/cell.js"></script> 34 34 <script type="text/javascript" src="../_Layout.js"></script> … … 37 37 <script type="text/javascript" src="../_grid/selection.js"></script> 38 38 <script type="text/javascript" src="../_grid/edit.js"></script> 39 <script type="text/javascript" src="../_ grid/view.js"></script>39 <script type="text/javascript" src="../_View.js"></script> 40 40 <script type="text/javascript" src="../_grid/views.js"></script> 41 41 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_mysql_edit.html
r13443 r13545 26 26 <script type="text/javascript" src="../_grid/drag.js"></script> 27 27 <script type="text/javascript" src="../_grid/scroller.js"></script> 28 <script type="text/javascript" src="../_grid/builder.js"></script> 28 29 29 <script type="text/javascript" src="../_grid/cell.js"></script> 30 30 <script type="text/javascript" src="../_Layout.js"></script> … … 33 33 <script type="text/javascript" src="../_grid/selection.js"></script> 34 34 <script type="text/javascript" src="../_grid/edit.js"></script> 35 <script type="text/javascript" src="../_ grid/view.js"></script>35 <script type="text/javascript" src="../_View.js"></script> 36 36 <script type="text/javascript" src="../_grid/views.js"></script> 37 37 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_sizing.html
r13443 r13545 33 33 <script type="text/javascript" src="../_grid/drag.js"></script> 34 34 <script type="text/javascript" src="../_grid/scroller.js"></script> 35 <script type="text/javascript" src="../_grid/builder.js"></script> 35 36 36 <script type="text/javascript" src="../_grid/cell.js"></script> 37 37 <script type="text/javascript" src="../_Layout.js"></script> … … 40 40 <script type="text/javascript" src="../_grid/selection.js"></script> 41 41 <script type="text/javascript" src="../_grid/edit.js"></script> 42 <script type="text/javascript" src="../_ grid/view.js"></script>42 <script type="text/javascript" src="../_View.js"></script> 43 43 <script type="text/javascript" src="../_grid/views.js"></script> 44 44 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/tests/test_sizing_100rows.html
r13443 r13545 37 37 <script type="text/javascript" src="../_grid/drag.js"></script> 38 38 <script type="text/javascript" src="../_grid/scroller.js"></script> 39 <script type="text/javascript" src="../_grid/builder.js"></script> 39 40 40 <script type="text/javascript" src="../_grid/cell.js"></script> 41 41 <script type="text/javascript" src="../_Layout.js"></script> … … 44 44 <script type="text/javascript" src="../_grid/selection.js"></script> 45 45 <script type="text/javascript" src="../_grid/edit.js"></script> 46 <script type="text/javascript" src="../_ grid/view.js"></script>46 <script type="text/javascript" src="../_View.js"></script> 47 47 <script type="text/javascript" src="../_grid/views.js"></script> 48 48 <script type="text/javascript" src="../_RowSelector.js"></script> -
dojox/trunk/grid/VirtualGrid.js
r13505 r13545 4 4 dojo.require("dojox.grid._grid.lib"); 5 5 dojo.require("dojox.grid._grid.scroller"); 6 dojo.require("dojox.grid._ grid.view");7 dojo.require("dojox.grid._ grid.views");6 dojo.require("dojox.grid._View"); 7 dojo.require("dojox.grid._ViewManager"); 8 8 dojo.require("dojox.grid._Layout"); 9 9 dojo.require("dojox.grid._grid.rows"); … … 217 217 // views 218 218 createViews: function(){ 219 this.views = new dojox.grid._ grid.Views(this);219 this.views = new dojox.grid._ViewManager(this); 220 220 this.views.createView = dojo.hitch(this, "createView"); 221 221 }, … … 248 248 buildViews: function(){ 249 249 for(var i=0, vs; (vs=this.layout.structure[i]); i++){ 250 this.createView(vs.type || dojox._scopeName + ".grid._ grid.GridView").setStructure(vs);250 this.createView(vs.type || dojox._scopeName + ".grid._View").setStructure(vs); 251 251 } 252 252 this.scroller.setContentNodes(this.views.getContentNodes()); -
dojox/trunk/grid/_grid/lib.js
r13505 r13545 9 9 }, 10 10 11 getTdIndex: function(td){12 return td.cellIndex >=0 ? td.cellIndex : dojo.indexOf(td.parentNode.cells, td);13 },14 15 getTrIndex: function(tr){16 return tr.rowIndex >=0 ? tr.rowIndex : dojo.indexOf(tr.parentNode.childNodes, tr);17 },18 19 getTr: function(rowOwner, index){20 return rowOwner && ((rowOwner.rows||0)[index] || rowOwner.childNodes[index]);21 },22 23 getTd: function(rowOwner, rowIndex, cellIndex){24 // FIXME: what is inTable?25 return (dojox.grid.getTr(inTable, rowIndex)||0)[cellIndex];26 },27 28 findTable: function(node){29 for (var n=node; n && n.tagName!='TABLE'; n=n.parentNode);30 return n;31 },32 33 ascendDom: function(inNode, inWhile){34 for (var n=inNode; n && inWhile(n); n=n.parentNode);35 return n;36 },37 38 makeNotTagName: function(inTagName){39 var name = inTagName.toUpperCase();40 return function(node){ return node.tagName != name; };41 },42 43 11 fire: function(ob, ev, args){ 44 12 var fn = ob && ev && ob[ev]; -
dojox/trunk/grid/_RowSelector.js
r13440 r13545 1 1 dojo.provide("dojox.grid._RowSelector"); 2 dojo.require("dojox.grid._ grid.view");2 dojo.require("dojox.grid._View"); 3 3 4 dojo.declare('dojox.grid._RowSelector', dojox.grid._ grid.GridView, {4 dojo.declare('dojox.grid._RowSelector', dojox.grid._View, { 5 5 // summary: 6 6 // Custom grid view. If used in a grid structure, provides a small selectable region for grid rows. -
dojox/trunk/grid/_View.js
r13409 r13545 1 dojo.provide("dojox.grid._ grid.view");1 dojo.provide("dojox.grid._View"); 2 2 3 3 dojo.require("dijit._Widget"); 4 4 dojo.require("dijit._Templated"); 5 5 dojo.require("dojox.html.metrics"); 6 dojo.require("dojox.grid._grid.builder"); 7 8 dojo.declare('dojox.grid._grid.GridView', 9 [dijit._Widget, dijit._Templated], 10 { 11 // summary: 12 // A collection of grid columns. A grid is comprised of a set of views that stack horizontally. 13 // Grid creates views automatically based on grid's layout structure. 14 // Users should typically not need to access individual views directly. 15 // 16 // defaultWidth: String 17 // Default widget of the view 18 defaultWidth: "18em", 19 20 // viewWidth: String 21 // Width for the view, in valid css unit 22 viewWidth: "", 23 24 templatePath: dojo.moduleUrl("dojox.grid","resources/GridView.html"), 6 dojo.require("dojox.grid._grid.drag"); 7 8 (function(){ 9 // private 10 var rowIndexTag = "gridRowIndex"; 11 var gridViewTag = "gridView"; 12 13 var getTdIndex = function(td){ 14 return td.cellIndex >=0 ? td.cellIndex : dojo.indexOf(td.parentNode.cells, td); 15 }; 25 16 26 themeable: false, 27 classTag: 'dojoxGrid', 28 marginBottom: 0, 29 rowPad: 2, 30 31 postMixInProperties: function(){ 32 this.rowNodes = []; 33 }, 34 35 postCreate: function(){ 36 this.connect(this.scrollboxNode,"onscroll","doscroll"); 37 dojox.grid.funnelEvents(this.contentNode, this, "doContentEvent", [ 'mouseover', 'mouseout', 'click', 'dblclick', 'contextmenu', 'mousedown' ]); 38 dojox.grid.funnelEvents(this.headerNode, this, "doHeaderEvent", [ 'dblclick', 'mouseover', 'mouseout', 'mousemove', 'mousedown', 'click', 'contextmenu' ]); 39 this.content = new dojox.grid._grid.ContentBuilder(this); 40 this.header = new dojox.grid._grid.HeaderBuilder(this); 41 //BiDi: in RTL case, style width='9000em' causes scrolling problem in head node 42 if(!dojo._isBodyLtr()){ 43 this.headerNodeContainer.style.width = ""; 17 var getTrIndex = function(tr){ 18 return tr.rowIndex >=0 ? tr.rowIndex : dojo.indexOf(tr.parentNode.childNodes, tr); 19 }; 20 21 var getTr = function(rowOwner, index){ 22 return rowOwner && ((rowOwner.rows||0)[index] || rowOwner.childNodes[index]); 23 }; 24 25 var findTable = function(node){ 26 for (var n=node; n && n.tagName!='TABLE'; n=n.parentNode); 27 return n; 28 }; 29 30 var ascendDom = function(inNode, inWhile){ 31 for (var n=inNode; n && inWhile(n); n=n.parentNode); 32 return n; 33 }; 34 35 var makeNotTagName = function(inTagName){ 36 var name = inTagName.toUpperCase(); 37 return function(node){ return node.tagName != name; }; 38 }; 39 40 41 // base class for generating markup for the views 42 var Builder = function(view){ 43 if(view){ 44 this.view = view; 45 this.grid = view.grid; 44 46 }