dojox.grid.views.arrange
dojo.require("dojox.grid._grid.views");
defined in dojox/grid/_grid/views.js
Usage
function (l, w) (view source)
var i, v, vw, len = this.views.length; // find the client var c = (w <= 0 ? len : this.findClient()); // layout views var setPosition = function(v, l){ with(v.domNode.style){ if(!dojo._isBodyLtr()){ right = l + 'px'; }else{ left = l + 'px'; } top = 0 + 'px'; } with(v.headerNode.style){ if(!dojo._isBodyLtr()){ right = l + 'px'; }else{ left = l + 'px'; } top = 0; } } // for views left of the client //BiDi TODO: The left and right should not appear in BIDI environment. Should be replaced with //leading and tailing concept. for(i=0; (v=this.views[i])&&(i<c); i++){ // get width vw = this.getViewWidth(i); // process boxes v.setSize(vw, 0); setPosition(v, l); vw = v.domNode.offsetWidth; // update position l += vw; } // next view (is the client, i++ == c) i++; // start from the right edge var r = w; // for views right of the client (iterated from the right) for(var j=len-1; (v=this.views[j])&&(i<=j); j--){ // get width vw = this.getViewWidth(j); // set size v.setSize(vw, 0); // measure in pixels vw = v.domNode.offsetWidth; // update position r -= vw; // set position setPosition(v, r); } if(c<len){ v = this.views[c]; // position the client box between left and right boxes vw = Math.max(1, r-l); // set size v.setSize(vw + 'px', 0); setPosition(v, l); } return l;
parameter | type | description |
---|---|---|
l | ||
w |