50 lines
1.7 KiB
JavaScript
50 lines
1.7 KiB
JavaScript
|
|
/*
|
||
|
|
* Ext JS Library 2.3.0
|
||
|
|
* Copyright(c) 2006-2009, Ext JS, LLC.
|
||
|
|
* licensing@extjs.com
|
||
|
|
*
|
||
|
|
* http://extjs.com/license
|
||
|
|
*/
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @class Ext.layout.FitLayout
|
||
|
|
* @extends Ext.layout.ContainerLayout
|
||
|
|
* <p>This is a base class for layouts that contain a single item that automatically expands to fill the layout's
|
||
|
|
* container. This class is intended to be extended or created via the layout:'fit' {@link Ext.Container#layout}
|
||
|
|
* config, and should generally not need to be created directly via the new keyword.</p>
|
||
|
|
* <p>FitLayout does not have any direct config options (other than inherited ones). To fit a panel to a container
|
||
|
|
* using FitLayout, simply set layout:'fit' on the container and add a single panel to it. If the container has
|
||
|
|
* multiple panels, only the first one will be displayed. Example usage:</p>
|
||
|
|
* <pre><code>
|
||
|
|
var p = new Ext.Panel({
|
||
|
|
title: 'Fit Layout',
|
||
|
|
layout:'fit',
|
||
|
|
items: {
|
||
|
|
title: 'Inner Panel',
|
||
|
|
html: '<p>This is the inner panel content</p>',
|
||
|
|
border: false
|
||
|
|
}
|
||
|
|
});
|
||
|
|
</code></pre>
|
||
|
|
*/
|
||
|
|
Ext.layout.FitLayout = Ext.extend(Ext.layout.ContainerLayout, {
|
||
|
|
// private
|
||
|
|
monitorResize:true,
|
||
|
|
|
||
|
|
// private
|
||
|
|
onLayout : function(ct, target){
|
||
|
|
Ext.layout.FitLayout.superclass.onLayout.call(this, ct, target);
|
||
|
|
if(!this.container.collapsed){
|
||
|
|
var sz = (Ext.isIE6 && Ext.isStrict && target.dom == document.body) ? target.getViewSize() : target.getStyleSize();
|
||
|
|
this.setItemSize(this.activeItem || ct.items.itemAt(0), sz);
|
||
|
|
}
|
||
|
|
},
|
||
|
|
|
||
|
|
// private
|
||
|
|
setItemSize : function(item, size){
|
||
|
|
if(item && size.height > 0){ // display none?
|
||
|
|
item.setSize(size);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
});
|
||
|
|
Ext.Container.LAYOUTS['fit'] = Ext.layout.FitLayout;
|