71 lines
2.8 KiB
HTML
71 lines
2.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<title>The source code</title>
|
|
<link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
|
|
<script type="text/javascript" src="../resources/prettify/prettify.js"></script>
|
|
<style type="text/css">
|
|
.highlight { display: block; background-color: #ddd; }
|
|
</style>
|
|
<script type="text/javascript">
|
|
function highlight() {
|
|
document.getElementById(location.hash.replace(/#/, "")).className = "highlight";
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="prettyPrint(); highlight();">
|
|
<pre class="prettyprint lang-js"><span id='Ext-layout-FitLayout'>/**
|
|
</span> * @class Ext.layout.FitLayout
|
|
* @extends Ext.layout.ContainerLayout
|
|
* <p>This is a base class for layouts that contain <b>a single item</b> that automatically expands to fill the layout's
|
|
* container. This class is intended to be extended or created via the <tt>layout:'fit'</tt> {@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: '&lt;p&gt;This is the inner panel content&lt;/p&gt;',
|
|
border: false
|
|
}
|
|
});
|
|
</code></pre>
|
|
*/
|
|
Ext.layout.FitLayout = Ext.extend(Ext.layout.ContainerLayout, {
|
|
<span id='Ext-layout-FitLayout-property-monitorResize'> // private
|
|
</span> monitorResize:true,
|
|
|
|
<span id='Ext-layout-FitLayout-property-type'> type: 'fit',
|
|
</span>
|
|
<span id='Ext-layout-FitLayout-method-getLayoutTargetSize'> getLayoutTargetSize : function() {
|
|
</span> var target = this.container.getLayoutTarget();
|
|
if (!target) {
|
|
return {};
|
|
}
|
|
// Style Sized (scrollbars not included)
|
|
return target.getStyleSize();
|
|
},
|
|
|
|
<span id='Ext-layout-FitLayout-method-onLayout'> // private
|
|
</span> onLayout : function(ct, target){
|
|
Ext.layout.FitLayout.superclass.onLayout.call(this, ct, target);
|
|
if(!ct.collapsed){
|
|
this.setItemSize(this.activeItem || ct.items.itemAt(0), this.getLayoutTargetSize());
|
|
}
|
|
},
|
|
|
|
<span id='Ext-layout-FitLayout-method-setItemSize'> // private
|
|
</span> setItemSize : function(item, size){
|
|
if(item && size.height > 0){ // display none?
|
|
item.setSize(size);
|
|
}
|
|
}
|
|
});
|
|
Ext.Container.LAYOUTS['fit'] = Ext.layout.FitLayout;</pre>
|
|
</body>
|
|
</html>
|