a562d59461f87aee70dfc6ce8b252450dce9bc04
[roojs1] / docs / src / Roo_dd_DD.js.html
1 <html><head><title>Roo/dd/DD.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">/*
2  * Based on:
3  * Ext JS Library 1.1.1
4  * Copyright(c) 2006-2007, Ext JS, LLC.
5  *
6  * Originally Released Under LGPL - original licence link has changed is not relivant.
7  *
8  * Fork - LGPL
9  * &lt;script type=&quot;text/javascript&quot;&gt;
10  */
11
12 /**
13  * @class Roo.dd.DD
14  * A DragDrop implementation where the linked element follows the
15  * mouse cursor during a drag.
16  * @extends Roo.dd.DragDrop
17  * @constructor
18  * @param {String} id the id of the linked element
19  * @param {String} sGroup the group of related DragDrop items
20  * @param {object} config an object containing configurable attributes
21  *                Valid properties for DD:
22  *                    scroll
23  */
24 </span><span class="jsdoc-var">Roo.dd.DD </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">sGroup</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">) {
25     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">) {
26         </span><span class="jsdoc-var">this.init</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">sGroup</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
27     }
28 };
29
30 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.dd.DD</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.dd.DragDrop</span><span class="jsdoc-syntax">, {
31
32     </span><span class="jsdoc-comment">/**
33      * When set to true, the utility automatically tries to scroll the browser
34      * window wehn a drag and drop element is dragged near the viewport boundary.
35      * Defaults to true.
36      * @property scroll
37      * @type boolean
38      */
39     </span><span class="jsdoc-var">scroll</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
40
41     </span><span class="jsdoc-comment">/**
42      * Sets the pointer offset to the distance between the linked element's top
43      * left corner and the location the element was clicked
44      * @method autoOffset
45      * @param {int} iPageX the X coordinate of the click
46      * @param {int} iPageY the Y coordinate of the click
47      */
48     </span><span class="jsdoc-var">autoOffset</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">iPageX</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">iPageY</span><span class="jsdoc-syntax">) {
49         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">iPageX </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.startPageX</span><span class="jsdoc-syntax">;
50         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">iPageY </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.startPageY</span><span class="jsdoc-syntax">;
51         </span><span class="jsdoc-var">this.setDelta</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">);
52     },
53
54     </span><span class="jsdoc-comment">/**
55      * Sets the pointer offset.  You can call this directly to force the
56      * offset to be in a particular location (e.g., pass in 0,0 to set it
57      * to the center of the object)
58      * @method setDelta
59      * @param {int} iDeltaX the distance from the left
60      * @param {int} iDeltaY the distance from the top
61      */
62     </span><span class="jsdoc-var">setDelta</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">iDeltaX</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">iDeltaY</span><span class="jsdoc-syntax">) {
63         </span><span class="jsdoc-var">this.deltaX </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">iDeltaX</span><span class="jsdoc-syntax">;
64         </span><span class="jsdoc-var">this.deltaY </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">iDeltaY</span><span class="jsdoc-syntax">;
65     },
66
67     </span><span class="jsdoc-comment">/**
68      * Sets the drag element to the location of the mousedown or click event,
69      * maintaining the cursor location relative to the location on the element
70      * that was clicked.  Override this if you want to place the element in a
71      * location other than where the cursor is.
72      * @method setDragElPos
73      * @param {int} iPageX the X coordinate of the mousedown or drag event
74      * @param {int} iPageY the Y coordinate of the mousedown or drag event
75      */
76     </span><span class="jsdoc-var">setDragElPos</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">iPageX</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">iPageY</span><span class="jsdoc-syntax">) {
77         </span><span class="jsdoc-comment">// the first time we do this, we are going to check to make sure
78         // the element has css positioning
79
80         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getDragEl</span><span class="jsdoc-syntax">();
81         </span><span class="jsdoc-var">this.alignElWithMouse</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">iPageX</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">iPageY</span><span class="jsdoc-syntax">);
82     },
83
84     </span><span class="jsdoc-comment">/**
85      * Sets the element to the location of the mousedown or click event,
86      * maintaining the cursor location relative to the location on the element
87      * that was clicked.  Override this if you want to place the element in a
88      * location other than where the cursor is.
89      * @method alignElWithMouse
90      * @param {HTMLElement} el the element to move
91      * @param {int} iPageX the X coordinate of the mousedown or drag event
92      * @param {int} iPageY the Y coordinate of the mousedown or drag event
93      */
94     </span><span class="jsdoc-var">alignElWithMouse</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">iPageX</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">iPageY</span><span class="jsdoc-syntax">) {
95         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">oCoord </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getTargetCoord</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">iPageX</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">iPageY</span><span class="jsdoc-syntax">);
96         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fly </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.dom </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.fly</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
97         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.deltaSetXY</span><span class="jsdoc-syntax">) {
98             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">aCoord </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-var">oCoord.x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">oCoord.y</span><span class="jsdoc-syntax">];
99             </span><span class="jsdoc-var">fly.setXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">aCoord</span><span class="jsdoc-syntax">);
100             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">newLeft </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fly.getLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
101             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">newTop  </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fly.getTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
102             </span><span class="jsdoc-var">this.deltaSetXY </span><span class="jsdoc-syntax">= [ </span><span class="jsdoc-var">newLeft </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">oCoord.x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newTop </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">oCoord.y </span><span class="jsdoc-syntax">];
103         } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
104             </span><span class="jsdoc-var">fly.setLeftTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">oCoord.x </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.deltaSetXY</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">oCoord.y </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.deltaSetXY</span><span class="jsdoc-syntax">[1]);
105         }
106
107         </span><span class="jsdoc-var">this.cachePosition</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">oCoord.x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">oCoord.y</span><span class="jsdoc-syntax">);
108         </span><span class="jsdoc-var">this.autoScroll</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">oCoord.x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">oCoord.y</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el.offsetHeight</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">el.offsetWidth</span><span class="jsdoc-syntax">);
109         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">oCoord</span><span class="jsdoc-syntax">;
110     },
111
112     </span><span class="jsdoc-comment">/**
113      * Saves the most recent position so that we can reset the constraints and
114      * tick marks on-demand.  We need to know this so that we can calculate the
115      * number of pixels the element is offset from its original position.
116      * @method cachePosition
117      * @param iPageX the current x position (optional, this just makes it so we
118      * don't have to look it up again)
119      * @param iPageY the current y position (optional, this just makes it so we
120      * don't have to look it up again)
121      */
122     </span><span class="jsdoc-var">cachePosition</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">iPageX</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">iPageY</span><span class="jsdoc-syntax">) {
123         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">iPageX</span><span class="jsdoc-syntax">) {
124             </span><span class="jsdoc-var">this.lastPageX </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">iPageX</span><span class="jsdoc-syntax">;
125             </span><span class="jsdoc-var">this.lastPageY </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">iPageY</span><span class="jsdoc-syntax">;
126         } </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
127             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">aCoord </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Dom.getXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getEl</span><span class="jsdoc-syntax">());
128             </span><span class="jsdoc-var">this.lastPageX </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">aCoord</span><span class="jsdoc-syntax">[0];
129             </span><span class="jsdoc-var">this.lastPageY </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">aCoord</span><span class="jsdoc-syntax">[1];
130         }
131     },
132
133     </span><span class="jsdoc-comment">/**
134      * Auto-scroll the window if the dragged object has been moved beyond the
135      * visible window boundary.
136      * @method autoScroll
137      * @param {int} x the drag element's x position
138      * @param {int} y the drag element's y position
139      * @param {int} h the height of the drag element
140      * @param {int} w the width of the drag element
141      * @private
142      */
143     </span><span class="jsdoc-var">autoScroll</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</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">h</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">) {
144
145         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.scroll</span><span class="jsdoc-syntax">) {
146             </span><span class="jsdoc-comment">// The client height
147             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">clientH </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Dom.getViewWidth</span><span class="jsdoc-syntax">();
148
149             </span><span class="jsdoc-comment">// The client width
150             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">clientW </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Dom.getViewHeight</span><span class="jsdoc-syntax">();
151
152             </span><span class="jsdoc-comment">// The amt scrolled down
153             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">st </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.DDM.getScrollTop</span><span class="jsdoc-syntax">();
154
155             </span><span class="jsdoc-comment">// The amt scrolled right
156             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.DDM.getScrollLeft</span><span class="jsdoc-syntax">();
157
158             </span><span class="jsdoc-comment">// Location of the bottom of the element
159             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bot </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">;
160
161             </span><span class="jsdoc-comment">// Location of the right of the element
162             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">right </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">;
163
164             </span><span class="jsdoc-comment">// The distance from the cursor to the bottom of the visible area,
165             // adjusted so that we don't scroll if the cursor is beyond the
166             // element drag constraints
167             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">toBot </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">clientH </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">st </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.deltaY</span><span class="jsdoc-syntax">);
168
169             </span><span class="jsdoc-comment">// The distance from the cursor to the right of the visible area
170             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">toRight </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">clientW </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">sl </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.deltaX</span><span class="jsdoc-syntax">);
171
172
173             </span><span class="jsdoc-comment">// How close to the edge the cursor must be before we scroll
174             // var thresh = (document.all) ? 100 : 40;
175             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">thresh </span><span class="jsdoc-syntax">= 40;
176
177             </span><span class="jsdoc-comment">// How many pixels to scroll per autoscroll op.  This helps to reduce
178             // clunky scrolling. IE is more sensitive about this ... it needs this
179             // value to be higher.
180             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">scrAmt </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">document.all</span><span class="jsdoc-syntax">) ? 80 : 30;
181
182             </span><span class="jsdoc-comment">// Scroll down if we are near the bottom of the visible page and the
183             // obj extends below the crease
184             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">bot </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">clientH </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">toBot </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">thresh </span><span class="jsdoc-syntax">) {
185                 </span><span class="jsdoc-var">window.scrollTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sl</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">st </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">scrAmt</span><span class="jsdoc-syntax">);
186             }
187
188             </span><span class="jsdoc-comment">// Scroll up if the window is scrolled down and the top of the object
189             // goes above the top border
190             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">st </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">st </span><span class="jsdoc-syntax">&gt; 0 &amp;&amp; </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">st </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">thresh </span><span class="jsdoc-syntax">) {
191                 </span><span class="jsdoc-var">window.scrollTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sl</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">st </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">scrAmt</span><span class="jsdoc-syntax">);
192             }
193
194             </span><span class="jsdoc-comment">// Scroll right if the obj is beyond the right border and the cursor is
195             // near the border.
196             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">right </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">clientW </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">toRight </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">thresh </span><span class="jsdoc-syntax">) {
197                 </span><span class="jsdoc-var">window.scrollTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sl </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">scrAmt</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">st</span><span class="jsdoc-syntax">);
198             }
199
200             </span><span class="jsdoc-comment">// Scroll left if the window has been scrolled to the right and the obj
201             // extends past the left border
202             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">( </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">sl </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">sl </span><span class="jsdoc-syntax">&gt; 0 &amp;&amp; </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">sl </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">thresh </span><span class="jsdoc-syntax">) {
203                 </span><span class="jsdoc-var">window.scrollTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sl </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">scrAmt</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">st</span><span class="jsdoc-syntax">);
204             }
205         }
206     },
207
208     </span><span class="jsdoc-comment">/**
209      * Finds the location the element should be placed if we want to move
210      * it to where the mouse location less the click offset would place us.
211      * @method getTargetCoord
212      * @param {int} iPageX the X coordinate of the click
213      * @param {int} iPageY the Y coordinate of the click
214      * @return an object that contains the coordinates (Object.x and Object.y)
215      * @private
216      */
217     </span><span class="jsdoc-var">getTargetCoord</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">iPageX</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">iPageY</span><span class="jsdoc-syntax">) {
218
219
220         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">iPageX </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.deltaX</span><span class="jsdoc-syntax">;
221         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">iPageY </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.deltaY</span><span class="jsdoc-syntax">;
222
223         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.constrainX</span><span class="jsdoc-syntax">) {
224             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.minX</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.minX</span><span class="jsdoc-syntax">; }
225             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">this.maxX</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.maxX</span><span class="jsdoc-syntax">; }
226         }
227
228         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.constrainY</span><span class="jsdoc-syntax">) {
229             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.minY</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.minY</span><span class="jsdoc-syntax">; }
230             </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">this.maxY</span><span class="jsdoc-syntax">) { </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.maxY</span><span class="jsdoc-syntax">; }
231         }
232
233         </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getTick</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.xTicks</span><span class="jsdoc-syntax">);
234         </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getTick</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.yTicks</span><span class="jsdoc-syntax">);
235
236
237         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{</span><span class="jsdoc-var">x</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">y</span><span class="jsdoc-syntax">};
238     },
239
240     </span><span class="jsdoc-comment">/*
241      * Sets up config options specific to this class. Overrides
242      * Roo.dd.DragDrop, but all versions of this method through the
243      * inheritance chain are called
244      */
245     </span><span class="jsdoc-var">applyConfig</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
246         </span><span class="jsdoc-var">Roo.dd.DD.superclass.applyConfig.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
247         </span><span class="jsdoc-var">this.scroll </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">this.config.scroll </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
248     },
249
250     </span><span class="jsdoc-comment">/*
251      * Event that fires prior to the onMouseDown event.  Overrides
252      * Roo.dd.DragDrop.
253      */
254     </span><span class="jsdoc-var">b4MouseDown</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
255         </span><span class="jsdoc-comment">// this.resetConstraints();
256         </span><span class="jsdoc-var">this.autoOffset</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.getPageX</span><span class="jsdoc-syntax">(),
257                             </span><span class="jsdoc-var">e.getPageY</span><span class="jsdoc-syntax">());
258     },
259
260     </span><span class="jsdoc-comment">/*
261      * Event that fires prior to the onDrag event.  Overrides
262      * Roo.dd.DragDrop.
263      */
264     </span><span class="jsdoc-var">b4Drag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">) {
265         </span><span class="jsdoc-var">this.setDragElPos</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e.getPageX</span><span class="jsdoc-syntax">(),
266                             </span><span class="jsdoc-var">e.getPageY</span><span class="jsdoc-syntax">());
267     },
268
269     </span><span class="jsdoc-var">toString</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">() {
270         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;DD &quot; </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">this.id</span><span class="jsdoc-syntax">);
271     }
272
273     </span><span class="jsdoc-comment">//////////////////////////////////////////////////////////////////////////
274     // Debugging ygDragDrop events that can be overridden
275     //////////////////////////////////////////////////////////////////////////
276     /*
277     startDrag: function(x, y) {
278     },
279
280     onDrag: function(e) {
281     },
282
283     onDragEnter: function(e, id) {
284     },
285
286     onDragOver: function(e, id) {
287     },
288
289     onDragOut: function(e, id) {
290     },
291
292     onDragDrop: function(e, id) {
293     },
294
295     endDrag: function(e) {
296     }
297
298     */
299
300 </span><span class="jsdoc-syntax">});</span></code></body></html>