Alien-Web-ExtJS-V3
view release on metacpan or search on metacpan
share/docs/source/ListView.html view on Meta::CPAN
cs = this.columns = columns;
// auto calculate missing column widths
if(colsWithWidth < len){
var remaining = len - colsWithWidth;
if(allocatedWidth < this.maxColumnWidth){
var perCol = ((this.maxColumnWidth-allocatedWidth) / remaining)/100;
for(var j = 0; j < len; j++){
var c = cs[j];
if(!c.width){
c.width = perCol;
}
}
}
}
Ext.list.ListView.superclass.initComponent.call(this);
},
<span id='Ext-list-ListView-method-onRender'> onRender : function(){
</span> this.autoEl = {
cls: 'x-list-wrap'
};
Ext.list.ListView.superclass.onRender.apply(this, arguments);
this.internalTpl.overwrite(this.el, {columns: this.columns});
this.innerBody = Ext.get(this.el.dom.childNodes[1].firstChild);
this.innerHd = Ext.get(this.el.dom.firstChild.firstChild);
if(this.hideHeaders){
this.el.dom.firstChild.style.display = 'none';
}
},
<span id='Ext-list-ListView-method-getTemplateTarget'> getTemplateTarget : function(){
</span> return this.innerBody;
},
<span id='Ext-list-ListView-method-collectData'> /**
</span> * <p>Function which can be overridden which returns the data object passed to this
* view's {@link #tpl template} to render the whole ListView. The returned object
* shall contain the following properties:</p>
* <div class="mdetail-params"><ul>
* <li><b>columns</b> : String<div class="sub-desc">See <tt>{@link #columns}</tt></div></li>
* <li><b>rows</b> : String<div class="sub-desc">See
* <tt>{@link Ext.DataView}.{@link Ext.DataView#collectData collectData}</div></li>
* </ul></div>
* @param {Array} records An Array of {@link Ext.data.Record}s to be rendered into the DataView.
* @param {Number} startIndex the index number of the Record being prepared for rendering.
* @return {Object} A data object containing properties to be processed by a repeating
* XTemplate as described above.
*/
collectData : function(){
var rs = Ext.list.ListView.superclass.collectData.apply(this, arguments);
return {
columns: this.columns,
rows: rs
};
},
<span id='Ext-list-ListView-method-verifyInternalSize'> verifyInternalSize : function(){
</span> if(this.lastSize){
this.onResize(this.lastSize.width, this.lastSize.height);
}
},
<span id='Ext-list-ListView-method-onResize'> // private
</span> onResize : function(w, h){
var body = this.innerBody.dom,
header = this.innerHd.dom,
scrollWidth = w - Ext.num(this.scrollOffset, Ext.getScrollBarWidth()) + 'px',
parentNode;
if(!body){
return;
}
parentNode = body.parentNode;
if(Ext.isNumber(w)){
if(this.reserveScrollOffset || ((parentNode.offsetWidth - parentNode.clientWidth) > 10)){
body.style.width = scrollWidth;
header.style.width = scrollWidth;
}else{
body.style.width = w + 'px';
header.style.width = w + 'px';
setTimeout(function(){
if((parentNode.offsetWidth - parentNode.clientWidth) > 10){
body.style.width = scrollWidth;
header.style.width = scrollWidth;
}
}, 10);
}
}
if(Ext.isNumber(h)){
parentNode.style.height = Math.max(0, h - header.parentNode.offsetHeight) + 'px';
}
},
<span id='Ext-list-ListView-method-updateIndexes'> updateIndexes : function(){
</span> Ext.list.ListView.superclass.updateIndexes.apply(this, arguments);
this.verifyInternalSize();
},
<span id='Ext-list-ListView-method-findHeaderIndex'> findHeaderIndex : function(header){
</span> header = header.dom || header;
var parentNode = header.parentNode,
children = parentNode.parentNode.childNodes,
i = 0,
c;
for(; c = children[i]; i++){
if(c == parentNode){
return i;
}
}
return -1;
},
<span id='Ext-list-ListView-method-setHdWidths'> setHdWidths : function(){
</span> var els = this.innerHd.dom.getElementsByTagName('div'),
i = 0,
columns = this.columns,
len = columns.length;
for(; i < len; i++){
els[i].style.width = (columns[i].width*100) + '%';
}
}
});
Ext.reg('listview', Ext.list.ListView);
// Backwards compatibility alias
Ext.ListView = Ext.list.ListView;</pre>
</body>
</html>
( run in 0.451 second using v1.01-cache-2.11-cpan-5b529ec07f3 )