-<html><head><title>../roojs1/Roo/SplitBar.js</title><link rel="stylesheet" type="text/css" href="../../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
+<html><head><title>/home/alan/gitlive/roojs1/Roo/SplitBar.js</title><link rel="stylesheet" type="text/css" href="../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
* Based on:
* Ext JS Library 1.1.1
* Copyright(c) 2006-2007, Ext JS, LLC.
position of the SplitBar).
*/
</span><span class="jsdoc-var">Roo.SplitBar </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dragElement</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">resizingElement</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">orientation</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">placement</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">existingProxy</span><span class="jsdoc-syntax">){
-
+
</span><span class="jsdoc-comment">/** @private */
</span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dragElement</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.el.dom.unselectable </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"on"</span><span class="jsdoc-syntax">;
* @type Number
*/
</span><span class="jsdoc-var">this.orientation </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">orientation </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">Roo.SplitBar.HORIZONTAL</span><span class="jsdoc-syntax">;
-
+
</span><span class="jsdoc-comment">/**
* The minimum size of the resizing element. (Defaults to 0)
* @type Number
*/
</span><span class="jsdoc-var">this.minSize </span><span class="jsdoc-syntax">= 0;
-
+
</span><span class="jsdoc-comment">/**
* The maximum size of the resizing element. (Defaults to 2000)
* @type Number
*/
</span><span class="jsdoc-var">this.maxSize </span><span class="jsdoc-syntax">= 2000;
-
+
</span><span class="jsdoc-comment">/**
* Whether to animate the transition to the new size
* @type Boolean
*/
</span><span class="jsdoc-var">this.animate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
-
+
</span><span class="jsdoc-comment">/**
* Whether to create a transparent shim that overlays the page when dragging, enables dragging across iframes.
* @type Boolean
*/
</span><span class="jsdoc-var">this.useShim </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
-
+
</span><span class="jsdoc-comment">/** @private */
</span><span class="jsdoc-var">this.shim </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
-
+
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">existingProxy</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-comment">/** @private */
</span><span class="jsdoc-var">this.proxy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.SplitBar.createProxy</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.orientation</span><span class="jsdoc-syntax">);
}
</span><span class="jsdoc-comment">/** @private */
</span><span class="jsdoc-var">this.dd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.dd.DDProxy</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.dom.id</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"XSplitBars"</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">dragElId </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.proxy.id</span><span class="jsdoc-syntax">});
-
+
</span><span class="jsdoc-comment">/** @private */
</span><span class="jsdoc-var">this.dd.b4StartDrag </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.onStartProxyDrag.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
-
+
</span><span class="jsdoc-comment">/** @private */
</span><span class="jsdoc-var">this.dd.endDrag </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.onEndProxyDrag.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
-
+
</span><span class="jsdoc-comment">/** @private */
</span><span class="jsdoc-var">this.dragSpecs </span><span class="jsdoc-syntax">= {};
-
+
</span><span class="jsdoc-comment">/**
* @private The adapter to use to positon and resize elements
*/
</span><span class="jsdoc-var">this.adapter </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.SplitBar.BasicLayoutAdapter</span><span class="jsdoc-syntax">();
</span><span class="jsdoc-var">this.adapter.init</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
-
+
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.orientation </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">Roo.SplitBar.HORIZONTAL</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-comment">/** @private */
</span><span class="jsdoc-var">this.placement </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">placement </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">this.el.getX</span><span class="jsdoc-syntax">() > </span><span class="jsdoc-var">this.resizingEl.getX</span><span class="jsdoc-syntax">() ? </span><span class="jsdoc-var">Roo.SplitBar.LEFT </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.SplitBar.RIGHT</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.placement </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">placement </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">this.el.getY</span><span class="jsdoc-syntax">() > </span><span class="jsdoc-var">this.resizingEl.getY</span><span class="jsdoc-syntax">() ? </span><span class="jsdoc-var">Roo.SplitBar.TOP </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.SplitBar.BOTTOM</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.el.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"x-splitbar-v"</span><span class="jsdoc-syntax">);
}
-
+
</span><span class="jsdoc-var">this.addEvents</span><span class="jsdoc-syntax">({
</span><span class="jsdoc-comment">/**
* @event resize
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.orientation </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">Roo.SplitBar.HORIZONTAL</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.dd.resetConstraints</span><span class="jsdoc-syntax">();
</span><span class="jsdoc-var">this.dd.setXConstraint</span><span class="jsdoc-syntax">(
- </span><span class="jsdoc-var">this.placement </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">Roo.SplitBar.LEFT </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">c1 </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">c2</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">this.placement </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">Roo.SplitBar.LEFT </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">c1 </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">c2</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-var">this.placement </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">Roo.SplitBar.LEFT </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">c2 </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">c1
</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.dd.setYConstraint</span><span class="jsdoc-syntax">(0, 0);
</span><span class="jsdoc-var">this.dd.resetConstraints</span><span class="jsdoc-syntax">();
</span><span class="jsdoc-var">this.dd.setXConstraint</span><span class="jsdoc-syntax">(0, 0);
</span><span class="jsdoc-var">this.dd.setYConstraint</span><span class="jsdoc-syntax">(
- </span><span class="jsdoc-var">this.placement </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">Roo.SplitBar.TOP </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">c1 </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">c2</span><span class="jsdoc-syntax">,
+ </span><span class="jsdoc-var">this.placement </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">Roo.SplitBar.TOP </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">c1 </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">c2</span><span class="jsdoc-syntax">,
</span><span class="jsdoc-var">this.placement </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">Roo.SplitBar.TOP </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">c2 </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">c1
</span><span class="jsdoc-syntax">);
}
</span><span class="jsdoc-var">this.dragSpecs.startPoint </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">];
</span><span class="jsdoc-var">Roo.dd.DDProxy.prototype.b4StartDrag.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dd</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">);
},
-
+
</span><span class="jsdoc-comment">/**
* @private Called after the drag operation by the DDProxy
*/
}
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.orientation </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">Roo.SplitBar.HORIZONTAL</span><span class="jsdoc-syntax">){
- </span><span class="jsdoc-var">newSize </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dragSpecs.startSize </span><span class="jsdoc-syntax">+
+ </span><span class="jsdoc-var">newSize </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dragSpecs.startSize </span><span class="jsdoc-syntax">+
(</span><span class="jsdoc-var">this.placement </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">Roo.SplitBar.LEFT </span><span class="jsdoc-syntax">?
</span><span class="jsdoc-var">endPoint</span><span class="jsdoc-syntax">[0] - </span><span class="jsdoc-var">this.dragSpecs.startPoint</span><span class="jsdoc-syntax">[0] :
</span><span class="jsdoc-var">this.dragSpecs.startPoint</span><span class="jsdoc-syntax">[0] - </span><span class="jsdoc-var">endPoint</span><span class="jsdoc-syntax">[0]
);
}</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
- </span><span class="jsdoc-var">newSize </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dragSpecs.startSize </span><span class="jsdoc-syntax">+
+ </span><span class="jsdoc-var">newSize </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dragSpecs.startSize </span><span class="jsdoc-syntax">+
(</span><span class="jsdoc-var">this.placement </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">Roo.SplitBar.TOP </span><span class="jsdoc-syntax">?
</span><span class="jsdoc-var">endPoint</span><span class="jsdoc-syntax">[1] - </span><span class="jsdoc-var">this.dragSpecs.startPoint</span><span class="jsdoc-syntax">[1] :
</span><span class="jsdoc-var">this.dragSpecs.startPoint</span><span class="jsdoc-syntax">[1] - </span><span class="jsdoc-var">endPoint</span><span class="jsdoc-syntax">[1]
}
}
},
-
+
</span><span class="jsdoc-comment">/**
* Get the adapter this SplitBar uses
* @return The adapter object
</span><span class="jsdoc-var">getAdapter </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.adapter</span><span class="jsdoc-syntax">;
},
-
+
</span><span class="jsdoc-comment">/**
* Set the adapter this SplitBar uses
* @param {Object} adapter A SplitBar adapter object
</span><span class="jsdoc-var">this.adapter </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">adapter</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-var">this.adapter.init</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
},
-
+
</span><span class="jsdoc-comment">/**
* Gets the minimum size for the resizing element
* @return {Number} The minimum size
</span><span class="jsdoc-var">getMinimumSize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.minSize</span><span class="jsdoc-syntax">;
},
-
+
</span><span class="jsdoc-comment">/**
* Sets the minimum size for the resizing element
* @param {Number} minSize The minimum size
</span><span class="jsdoc-var">setMinimumSize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">minSize</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.minSize </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">minSize</span><span class="jsdoc-syntax">;
},
-
+
</span><span class="jsdoc-comment">/**
* Gets the maximum size for the resizing element
* @return {Number} The maximum size
</span><span class="jsdoc-var">getMaximumSize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.maxSize</span><span class="jsdoc-syntax">;
},
-
+
</span><span class="jsdoc-comment">/**
* Sets the maximum size for the resizing element
* @param {Number} maxSize The maximum size
</span><span class="jsdoc-var">setMaximumSize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">maxSize</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.maxSize </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">maxSize</span><span class="jsdoc-syntax">;
},
-
+
</span><span class="jsdoc-comment">/**
* Sets the initialize size for the resizing element
* @param {Number} size The initial size
</span><span class="jsdoc-var">this.adapter.setElementSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">size</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-var">this.animate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">oldAnimate</span><span class="jsdoc-syntax">;
},
-
+
</span><span class="jsdoc-comment">/**
* Destroy this splitbar.
* @param {Boolean} removeEl True to remove the element
</span><span class="jsdoc-var">Roo.SplitBar.BasicLayoutAdapter.prototype </span><span class="jsdoc-syntax">= {
</span><span class="jsdoc-comment">// do nothing for now
</span><span class="jsdoc-var">init </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">){
-
+
},
</span><span class="jsdoc-comment">/**
* Called before drag operations to get the current size of the resizing element.
</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">s.resizingEl.getHeight</span><span class="jsdoc-syntax">();
}
},
-
+
</span><span class="jsdoc-comment">/**
* Called after drag operations to set the size of the resizing element.
* @param {Roo.SplitBar} s The SplitBar using this adapter
</span><span class="jsdoc-var">onComplete</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">);
}
}</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
- </span><span class="jsdoc-var">s.resizingEl.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">.</span><span class="jsdoc-syntax">1, </span><span class="jsdoc-var">onComplete</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'easeOut'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">s.resizingEl.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">.1</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onComplete</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'easeOut'</span><span class="jsdoc-syntax">);
}
}</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
-
+
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">s.animate</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">s.resizingEl.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">);
</span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">onComplete</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">onComplete</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">);
}
}</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
- </span><span class="jsdoc-var">s.resizingEl.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">.</span><span class="jsdoc-syntax">1, </span><span class="jsdoc-var">onComplete</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'easeOut'</span><span class="jsdoc-syntax">);
+ </span><span class="jsdoc-var">s.resizingEl.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">.1</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onComplete</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'easeOut'</span><span class="jsdoc-syntax">);
}
}
}
</span><span class="jsdoc-var">init </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.basic.init</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">);
},
-
+
</span><span class="jsdoc-var">getElementSize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.basic.getElementSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">);
},
-
+
</span><span class="jsdoc-var">setElementSize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">onComplete</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-var">this.basic.setElementSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.moveSplitter.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">]));
},
-
+
</span><span class="jsdoc-var">moveSplitter </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s</span><span class="jsdoc-syntax">){
</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">yes </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.SplitBar</span><span class="jsdoc-syntax">;
</span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.placement</span><span class="jsdoc-syntax">){