3
<title>The source code</title>
4
<link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
5
<script type="text/javascript" src="../resources/prettify/prettify.js"></script>
7
<body onload="prettyPrint();">
8
<pre class="prettyprint lang-js">Ext.ux.PanelResizer = Ext.extend(Ext.util.Observable, {
12
constructor: function(config){
13
Ext.apply(this, config);
15
Ext.ux.PanelResizer.superclass.constructor.call(this, config);
21
if(this.panel.elements.indexOf('footer')==-1){
22
p.elements += ',footer';
24
p.on('render', this.onRender, this);
27
onRender : function(p){
28
this.handle = p.footer.createChild({cls:'x-panel-resize'});
30
this.tracker = new Ext.dd.DragTracker({
31
onStart: this.onDragStart.createDelegate(this),
32
onDrag: this.onDrag.createDelegate(this),
33
onEnd: this.onDragEnd.createDelegate(this),
37
this.tracker.initEl(this.handle);
38
p.on('beforedestroy', this.tracker.destroy, this.tracker);
42
onDragStart: function(e){
44
this.startHeight = this.panel.el.getHeight();
45
this.fireEvent('dragstart', this, e);
50
this.panel.setHeight((this.startHeight-this.tracker.getOffset()[1]).constrain(this.minHeight, this.maxHeight));
51
this.fireEvent('drag', this, e);
55
onDragEnd: function(e){
56
this.dragging = false;
57
this.fireEvent('dragend', this, e);
60
Ext.preg('panelresizer', Ext.ux.PanelResizer);</pre>
b'\\ No newline at end of file'