Roo/UndoManager.js
[roojs1] / docs / src / Roo_BasicDialog.js.html
1 <html><head><title>Roo/BasicDialog.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.BasicDialog
14  * @extends Roo.util.Observable
15  * @parent none builder
16  * Lightweight Dialog Class.  The code below shows the creation of a typical dialog using existing HTML markup:
17  * &lt;pre&gt;&lt;code&gt;
18 var dlg = new Roo.BasicDialog(&quot;my-dlg&quot;, {
19     height: 200,
20     width: 300,
21     minHeight: 100,
22     minWidth: 150,
23     modal: true,
24     proxyDrag: true,
25     shadow: true
26 });
27 dlg.addKeyListener(27, dlg.hide, dlg); // ESC can also close the dialog
28 dlg.addButton('OK', dlg.hide, dlg);    // Could call a save function instead of hiding
29 dlg.addButton('Cancel', dlg.hide, dlg);
30 dlg.show();
31 &lt;/code&gt;&lt;/pre&gt;
32   &lt;b&gt;A Dialog should always be a direct child of the body element.&lt;/b&gt;
33  * @cfg {Boolean/DomHelper} autoCreate True to auto create from scratch, or using a DomHelper Object (defaults to false)
34  * @cfg {String} title Default text to display in the title bar (defaults to null)
35  * @cfg {Number} width Width of the dialog in pixels (can also be set via CSS).  Determined by browser if unspecified.
36  * @cfg {Number} height Height of the dialog in pixels (can also be set via CSS).  Determined by browser if unspecified.
37  * @cfg {Number} x The default left page coordinate of the dialog (defaults to center screen)
38  * @cfg {Number} y The default top page coordinate of the dialog (defaults to center screen)
39  * @cfg {String/Element} animateTarget Id or element from which the dialog should animate while opening
40  * (defaults to null with no animation)
41  * @cfg {Boolean} resizable False to disable manual dialog resizing (defaults to true)
42  * @cfg {String} resizeHandles Which resize handles to display - see the {@link Roo.Resizable} handles config
43  * property for valid values (defaults to 'all')
44  * @cfg {Number} minHeight The minimum allowable height for a resizable dialog (defaults to 80)
45  * @cfg {Number} minWidth The minimum allowable width for a resizable dialog (defaults to 200)
46  * @cfg {Boolean} modal True to show the dialog modally, preventing user interaction with the rest of the page (defaults to false)
47  * @cfg {Boolean} autoScroll True to allow the dialog body contents to overflow and display scrollbars (defaults to false)
48  * @cfg {Boolean} closable False to remove the built-in top-right corner close button (defaults to true)
49  * @cfg {Boolean} collapsible False to remove the built-in top-right corner collapse button (defaults to true)
50  * @cfg {Boolean} constraintoviewport True to keep the dialog constrained within the visible viewport boundaries (defaults to true)
51  * @cfg {Boolean} syncHeightBeforeShow True to cause the dimensions to be recalculated before the dialog is shown (defaults to false)
52  * @cfg {Boolean} draggable False to disable dragging of the dialog within the viewport (defaults to true)
53  * @cfg {Boolean} autoTabs If true, all elements with class 'x-dlg-tab' will get automatically converted to tabs (defaults to false)
54  * @cfg {String} tabTag The tag name of tab elements, used when autoTabs = true (defaults to 'div')
55  * @cfg {Boolean} proxyDrag True to drag a lightweight proxy element rather than the dialog itself, used when
56  * draggable = true (defaults to false)
57  * @cfg {Boolean} fixedcenter True to ensure that anytime the dialog is shown or resized it gets centered (defaults to false)
58  * @cfg {Boolean/String} shadow True or &quot;sides&quot; for the default effect, &quot;frame&quot; for 4-way shadow, and &quot;drop&quot; for bottom-right
59  * shadow (defaults to false)
60  * @cfg {Number} shadowOffset The number of pixels to offset the shadow if displayed (defaults to 5)
61  * @cfg {String} buttonAlign Valid values are &quot;left,&quot; &quot;center&quot; and &quot;right&quot; (defaults to &quot;right&quot;)
62  * @cfg {Number} minButtonWidth Minimum width of all dialog buttons (defaults to 75)
63  * @cfg {Array} buttons Array of buttons
64  * @cfg {Boolean} shim True to create an iframe shim that prevents selects from showing through (defaults to false)
65  * @constructor
66  * Create a new BasicDialog.
67  * @param {String/HTMLElement/Roo.Element} el The container element or DOM node, or its id
68  * @param {Object} config Configuration options
69  */
70 </span><span class="jsdoc-var">Roo.BasicDialog </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">config</span><span class="jsdoc-syntax">){
71     </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">el</span><span class="jsdoc-syntax">);
72     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.DomHelper</span><span class="jsdoc-syntax">;
73     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">config.autoCreate</span><span class="jsdoc-syntax">){
74         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">config.autoCreate </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;object&quot;</span><span class="jsdoc-syntax">){
75             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">config.autoCreate.id</span><span class="jsdoc-syntax">){
76                 </span><span class="jsdoc-var">config.autoCreate.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">;
77             }
78             </span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dh.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">,
79                         </span><span class="jsdoc-var">config.autoCreate</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
80         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
81             </span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dh.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">,
82                         {</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">style</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'visibility:hidden;'</span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
83         }
84     }
85     </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">;
86     </span><span class="jsdoc-var">el.setDisplayed</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
87     </span><span class="jsdoc-var">el.hide </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hideAction</span><span class="jsdoc-syntax">;
88     </span><span class="jsdoc-var">this.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.id</span><span class="jsdoc-syntax">;
89     </span><span class="jsdoc-var">el.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-dlg&quot;</span><span class="jsdoc-syntax">);
90
91     </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
92
93     </span><span class="jsdoc-var">this.proxy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.createProxy</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-dlg-proxy&quot;</span><span class="jsdoc-syntax">);
94     </span><span class="jsdoc-var">this.proxy.hide </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hideAction</span><span class="jsdoc-syntax">;
95     </span><span class="jsdoc-var">this.proxy.setOpacity</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">.5</span><span class="jsdoc-syntax">);
96     </span><span class="jsdoc-var">this.proxy.hide</span><span class="jsdoc-syntax">();
97
98     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.width</span><span class="jsdoc-syntax">){
99         </span><span class="jsdoc-var">el.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.width</span><span class="jsdoc-syntax">);
100     }
101     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.height</span><span class="jsdoc-syntax">){
102         </span><span class="jsdoc-var">el.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.height</span><span class="jsdoc-syntax">);
103     }
104     </span><span class="jsdoc-var">this.size </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.getSize</span><span class="jsdoc-syntax">();
105     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">config.x </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">&quot;undefined&quot; </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">config.y </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">&quot;undefined&quot;</span><span class="jsdoc-syntax">){
106         </span><span class="jsdoc-var">this.xy </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-var">config.x</span><span class="jsdoc-syntax">,</span><span class="jsdoc-var">config.y</span><span class="jsdoc-syntax">];
107     }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
108         </span><span class="jsdoc-var">this.xy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.getCenterXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
109     }
110     </span><span class="jsdoc-comment">/** The header element @type Roo.Element */
111     </span><span class="jsdoc-var">this.header </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&gt; .x-dlg-hd&quot;</span><span class="jsdoc-syntax">);
112     </span><span class="jsdoc-comment">/** The body element @type Roo.Element */
113     </span><span class="jsdoc-var">this.body </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&gt; .x-dlg-bd&quot;</span><span class="jsdoc-syntax">);
114     </span><span class="jsdoc-comment">/** The footer element @type Roo.Element */
115     </span><span class="jsdoc-var">this.footer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&gt; .x-dlg-ft&quot;</span><span class="jsdoc-syntax">);
116
117     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.header</span><span class="jsdoc-syntax">){
118         </span><span class="jsdoc-var">this.header </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.createChild</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-hd&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;&amp;#160;&quot;</span><span class="jsdoc-syntax">}, </span><span class="jsdoc-var">this.body </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.body.dom </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">);
119     }
120     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.body</span><span class="jsdoc-syntax">){
121         </span><span class="jsdoc-var">this.body </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.createChild</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-bd&quot;</span><span class="jsdoc-syntax">});
122     }
123
124     </span><span class="jsdoc-var">this.header.unselectable</span><span class="jsdoc-syntax">();
125     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.title</span><span class="jsdoc-syntax">){
126         </span><span class="jsdoc-var">this.header.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.title</span><span class="jsdoc-syntax">);
127     }
128     </span><span class="jsdoc-comment">// this element allows the dialog to be focused for keyboard event
129     </span><span class="jsdoc-var">this.focusEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.createChild</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;a&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">href</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;#&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-focus&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">tabIndex</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;-1&quot;</span><span class="jsdoc-syntax">});
130     </span><span class="jsdoc-var">this.focusEl.swallowEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
131
132     </span><span class="jsdoc-var">this.header.wrap</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-hd-right&quot;</span><span class="jsdoc-syntax">})</span><span class="jsdoc-var">.wrap</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-hd-left&quot;</span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
133
134     </span><span class="jsdoc-comment">// wrap the body and footer for special rendering
135     </span><span class="jsdoc-var">this.bwrap </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.body.wrap</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-dlg-body&quot;</span><span class="jsdoc-syntax">});
136     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.footer</span><span class="jsdoc-syntax">){
137         </span><span class="jsdoc-var">this.bwrap.dom.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.footer.dom</span><span class="jsdoc-syntax">);
138     }
139
140     </span><span class="jsdoc-var">this.bg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.createChild</span><span class="jsdoc-syntax">({
141         </span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-bg&quot;</span><span class="jsdoc-syntax">,
142         </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'&lt;div class=&quot;x-dlg-bg-left&quot;&gt;&lt;div class=&quot;x-dlg-bg-right&quot;&gt;&lt;div class=&quot;x-dlg-bg-center&quot;&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;'
143     </span><span class="jsdoc-syntax">});
144     </span><span class="jsdoc-var">this.centerBg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.bg.child</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;div.x-dlg-bg-center&quot;</span><span class="jsdoc-syntax">);
145
146
147     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.autoScroll </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">&amp;&amp; !</span><span class="jsdoc-var">this.autoTabs</span><span class="jsdoc-syntax">){
148         </span><span class="jsdoc-var">this.body.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;overflow&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;auto&quot;</span><span class="jsdoc-syntax">);
149     }
150
151     </span><span class="jsdoc-var">this.toolbox </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.createChild</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;x-dlg-toolbox&quot;</span><span class="jsdoc-syntax">});
152
153     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.closable </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
154         </span><span class="jsdoc-var">this.el.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-dlg-closable&quot;</span><span class="jsdoc-syntax">);
155         </span><span class="jsdoc-var">this.close </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.toolbox.createChild</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-close&quot;</span><span class="jsdoc-syntax">});
156         </span><span class="jsdoc-var">this.close.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.closeClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
157         </span><span class="jsdoc-var">this.close.addClassOnOver</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-dlg-close-over&quot;</span><span class="jsdoc-syntax">);
158     }
159     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.collapsible </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
160         </span><span class="jsdoc-var">this.collapseBtn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.toolbox.createChild</span><span class="jsdoc-syntax">({</span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-collapse&quot;</span><span class="jsdoc-syntax">});
161         </span><span class="jsdoc-var">this.collapseBtn.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;click&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.collapseClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
162         </span><span class="jsdoc-var">this.collapseBtn.addClassOnOver</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-dlg-collapse-over&quot;</span><span class="jsdoc-syntax">);
163         </span><span class="jsdoc-var">this.header.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;dblclick&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.collapseClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
164     }
165     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.resizable </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
166         </span><span class="jsdoc-var">this.el.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-dlg-resizable&quot;</span><span class="jsdoc-syntax">);
167         </span><span class="jsdoc-var">this.resizer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Resizable</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, {
168             </span><span class="jsdoc-var">minWidth</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.minWidth </span><span class="jsdoc-syntax">|| 80,
169             </span><span class="jsdoc-var">minHeight</span><span class="jsdoc-syntax">:</span><span class="jsdoc-var">this.minHeight </span><span class="jsdoc-syntax">|| 80,
170             </span><span class="jsdoc-var">handles</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.resizeHandles </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-string">&quot;all&quot;</span><span class="jsdoc-syntax">,
171             </span><span class="jsdoc-var">pinned</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
172         </span><span class="jsdoc-syntax">});
173         </span><span class="jsdoc-var">this.resizer.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforeresize&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.beforeResize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
174         </span><span class="jsdoc-var">this.resizer.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;resize&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onResize</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
175     }
176     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.draggable </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
177         </span><span class="jsdoc-var">el.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-dlg-draggable&quot;</span><span class="jsdoc-syntax">);
178         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.proxyDrag</span><span class="jsdoc-syntax">) {
179             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.dd.DD</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el.dom.id</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;WindowDrag&quot;</span><span class="jsdoc-syntax">);
180         }
181         </span><span class="jsdoc-keyword">else </span><span class="jsdoc-syntax">{
182             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">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">el.dom.id</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;WindowDrag&quot;</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">});
183         }
184         </span><span class="jsdoc-var">dd.setHandleElId</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.header.id</span><span class="jsdoc-syntax">);
185         </span><span class="jsdoc-var">dd.endDrag </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.endMove.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
186         </span><span class="jsdoc-var">dd.startDrag </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.startMove.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
187         </span><span class="jsdoc-var">dd.onDrag </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.onDrag.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
188         </span><span class="jsdoc-var">dd.scroll </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
189         </span><span class="jsdoc-var">this.dd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dd</span><span class="jsdoc-syntax">;
190     }
191     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.modal</span><span class="jsdoc-syntax">){
192         </span><span class="jsdoc-var">this.mask </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dh.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-mask&quot;</span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
193         </span><span class="jsdoc-var">this.mask.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;block&quot;</span><span class="jsdoc-syntax">);
194         </span><span class="jsdoc-var">this.mask.hide</span><span class="jsdoc-syntax">();
195         </span><span class="jsdoc-var">this.el.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-dlg-modal&quot;</span><span class="jsdoc-syntax">);
196     }
197     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shadow</span><span class="jsdoc-syntax">){
198         </span><span class="jsdoc-var">this.shadow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Shadow</span><span class="jsdoc-syntax">({
199             </span><span class="jsdoc-var">mode </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">this.shadow </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;string&quot; </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.shadow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;sides&quot;</span><span class="jsdoc-syntax">,
200             </span><span class="jsdoc-var">offset </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.shadowOffset
201         </span><span class="jsdoc-syntax">});
202     }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
203         </span><span class="jsdoc-var">this.shadowOffset </span><span class="jsdoc-syntax">= 0;
204     }
205     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.useShims </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.shim </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
206         </span><span class="jsdoc-var">this.shim </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.createShim</span><span class="jsdoc-syntax">();
207         </span><span class="jsdoc-var">this.shim.hide </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.hideAction</span><span class="jsdoc-syntax">;
208         </span><span class="jsdoc-var">this.shim.hide</span><span class="jsdoc-syntax">();
209     }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
210         </span><span class="jsdoc-var">this.shim </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
211     }
212     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.autoTabs</span><span class="jsdoc-syntax">){
213         </span><span class="jsdoc-var">this.initTabs</span><span class="jsdoc-syntax">();
214     }
215     </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.buttons</span><span class="jsdoc-syntax">) {
216         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bts</span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.buttons</span><span class="jsdoc-syntax">;
217         </span><span class="jsdoc-var">this.buttons </span><span class="jsdoc-syntax">= [];
218         </span><span class="jsdoc-var">Roo.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">bts</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">) {
219             </span><span class="jsdoc-var">this.addButton</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">);
220         }, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
221     }
222
223
224     </span><span class="jsdoc-var">this.addEvents</span><span class="jsdoc-syntax">({
225         </span><span class="jsdoc-comment">/**
226          * @event keydown
227          * Fires when a key is pressed
228          * @param {Roo.BasicDialog} this
229          * @param {Roo.EventObject} e
230          */
231         </span><span class="jsdoc-string">&quot;keydown&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
232         </span><span class="jsdoc-comment">/**
233          * @event move
234          * Fires when this dialog is moved by the user.
235          * @param {Roo.BasicDialog} this
236          * @param {Number} x The new page X
237          * @param {Number} y The new page Y
238          */
239         </span><span class="jsdoc-string">&quot;move&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
240         </span><span class="jsdoc-comment">/**
241          * @event resize
242          * Fires when this dialog is resized by the user.
243          * @param {Roo.BasicDialog} this
244          * @param {Number} width The new width
245          * @param {Number} height The new height
246          */
247         </span><span class="jsdoc-string">&quot;resize&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
248         </span><span class="jsdoc-comment">/**
249          * @event beforehide
250          * Fires before this dialog is hidden.
251          * @param {Roo.BasicDialog} this
252          */
253         </span><span class="jsdoc-string">&quot;beforehide&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
254         </span><span class="jsdoc-comment">/**
255          * @event hide
256          * Fires when this dialog is hidden.
257          * @param {Roo.BasicDialog} this
258          */
259         </span><span class="jsdoc-string">&quot;hide&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
260         </span><span class="jsdoc-comment">/**
261          * @event beforeshow
262          * Fires before this dialog is shown.
263          * @param {Roo.BasicDialog} this
264          */
265         </span><span class="jsdoc-string">&quot;beforeshow&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
266         </span><span class="jsdoc-comment">/**
267          * @event show
268          * Fires when this dialog is shown.
269          * @param {Roo.BasicDialog} this
270          */
271         </span><span class="jsdoc-string">&quot;show&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
272     </span><span class="jsdoc-syntax">});
273     </span><span class="jsdoc-var">el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;keydown&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onKeyDown</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
274     </span><span class="jsdoc-var">el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;mousedown&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.toFront</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
275     </span><span class="jsdoc-var">Roo.EventManager.onWindowResize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.adjustViewport</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
276     </span><span class="jsdoc-var">this.el.hide</span><span class="jsdoc-syntax">();
277     </span><span class="jsdoc-var">Roo.DialogManager.register</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
278     </span><span class="jsdoc-var">Roo.BasicDialog.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
279 };
280
281 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.BasicDialog</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.util.Observable</span><span class="jsdoc-syntax">, {
282     </span><span class="jsdoc-var">shadowOffset</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">Roo.isIE </span><span class="jsdoc-syntax">? 6 : 5,
283     </span><span class="jsdoc-var">minHeight</span><span class="jsdoc-syntax">: 80,
284     </span><span class="jsdoc-var">minWidth</span><span class="jsdoc-syntax">: 200,
285     </span><span class="jsdoc-var">minButtonWidth</span><span class="jsdoc-syntax">: 75,
286     </span><span class="jsdoc-var">defaultButton</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">,
287     </span><span class="jsdoc-var">buttonAlign</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;right&quot;</span><span class="jsdoc-syntax">,
288     </span><span class="jsdoc-var">tabTag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">'div'</span><span class="jsdoc-syntax">,
289     </span><span class="jsdoc-var">firstShow</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
290
291     </span><span class="jsdoc-comment">/**
292      * Sets the dialog title text
293      * @param {String} text The title text to display
294      * @return {Roo.BasicDialog} this
295      */
296     </span><span class="jsdoc-var">setTitle </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">){
297         </span><span class="jsdoc-var">this.header.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">);
298         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
299     },
300
301     </span><span class="jsdoc-comment">// private
302     </span><span class="jsdoc-var">closeClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
303         </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">();
304     },
305
306     </span><span class="jsdoc-comment">// private
307     </span><span class="jsdoc-var">collapseClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
308         </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.collapsed </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">&quot;expand&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;collapse&quot;</span><span class="jsdoc-syntax">]();
309     },
310
311     </span><span class="jsdoc-comment">/**
312      * Collapses the dialog to its minimized state (only the title bar is visible).
313      * Equivalent to the user clicking the collapse dialog button.
314      */
315     </span><span class="jsdoc-var">collapse </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
316         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.collapsed</span><span class="jsdoc-syntax">){
317             </span><span class="jsdoc-var">this.collapsed </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
318             </span><span class="jsdoc-var">this.el.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-dlg-collapsed&quot;</span><span class="jsdoc-syntax">);
319             </span><span class="jsdoc-var">this.restoreHeight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.getHeight</span><span class="jsdoc-syntax">();
320             </span><span class="jsdoc-var">this.resizeTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.getWidth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">this.header.getHeight</span><span class="jsdoc-syntax">());
321         }
322     },
323
324     </span><span class="jsdoc-comment">/**
325      * Expands a collapsed dialog back to its normal state.  Equivalent to the user
326      * clicking the expand dialog button.
327      */
328     </span><span class="jsdoc-var">expand </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
329         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.collapsed</span><span class="jsdoc-syntax">){
330             </span><span class="jsdoc-var">this.collapsed </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
331             </span><span class="jsdoc-var">this.el.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-dlg-collapsed&quot;</span><span class="jsdoc-syntax">);
332             </span><span class="jsdoc-var">this.resizeTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.getWidth</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">this.restoreHeight</span><span class="jsdoc-syntax">);
333         }
334     },
335
336     </span><span class="jsdoc-comment">/**
337      * Reinitializes the tabs component, clearing out old tabs and finding new ones.
338      * @return {Roo.TabPanel} The tabs component
339      */
340     </span><span class="jsdoc-var">initTabs </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
341         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tabs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getTabs</span><span class="jsdoc-syntax">();
342         </span><span class="jsdoc-keyword">while</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tabs.getTab</span><span class="jsdoc-syntax">(0)){
343             </span><span class="jsdoc-var">tabs.removeTab</span><span class="jsdoc-syntax">(0);
344         }
345         </span><span class="jsdoc-var">this.el.select</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tabTag</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">'.x-dlg-tab'</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.each</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">){
346             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dom </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.dom</span><span class="jsdoc-syntax">;
347             </span><span class="jsdoc-var">tabs.addTab</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.id</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dom</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">dom.title</span><span class="jsdoc-syntax">);
348             </span><span class="jsdoc-var">dom.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">;
349         });
350         </span><span class="jsdoc-var">tabs.activate</span><span class="jsdoc-syntax">(0);
351         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">tabs</span><span class="jsdoc-syntax">;
352     },
353
354     </span><span class="jsdoc-comment">// private
355     </span><span class="jsdoc-var">beforeResize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
356         </span><span class="jsdoc-var">this.resizer.minHeight </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.minHeight</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.getHeaderFooterHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)+40);
357     },
358
359     </span><span class="jsdoc-comment">// private
360     </span><span class="jsdoc-var">onResize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
361         </span><span class="jsdoc-var">this.refreshSize</span><span class="jsdoc-syntax">();
362         </span><span class="jsdoc-var">this.syncBodyHeight</span><span class="jsdoc-syntax">();
363         </span><span class="jsdoc-var">this.adjustAssets</span><span class="jsdoc-syntax">();
364         </span><span class="jsdoc-var">this.focus</span><span class="jsdoc-syntax">();
365         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;resize&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.size.width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.size.height</span><span class="jsdoc-syntax">);
366     },
367
368     </span><span class="jsdoc-comment">// private
369     </span><span class="jsdoc-var">onKeyDown </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">){
370         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isVisible</span><span class="jsdoc-syntax">()){
371             </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;keydown&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
372         }
373     },
374
375     </span><span class="jsdoc-comment">/**
376      * Resizes the dialog.
377      * @param {Number} width
378      * @param {Number} height
379      * @return {Roo.BasicDialog} this
380      */
381     </span><span class="jsdoc-var">resizeTo </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">height</span><span class="jsdoc-syntax">){
382         </span><span class="jsdoc-var">this.el.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">height</span><span class="jsdoc-syntax">);
383         </span><span class="jsdoc-var">this.size </span><span class="jsdoc-syntax">= {</span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">height</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">height</span><span class="jsdoc-syntax">};
384         </span><span class="jsdoc-var">this.syncBodyHeight</span><span class="jsdoc-syntax">();
385         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fixedcenter</span><span class="jsdoc-syntax">){
386             </span><span class="jsdoc-var">this.center</span><span class="jsdoc-syntax">();
387         }
388         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isVisible</span><span class="jsdoc-syntax">()){
389             </span><span class="jsdoc-var">this.constrainXY</span><span class="jsdoc-syntax">();
390             </span><span class="jsdoc-var">this.adjustAssets</span><span class="jsdoc-syntax">();
391         }
392         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;resize&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">height</span><span class="jsdoc-syntax">);
393         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
394     },
395
396
397     </span><span class="jsdoc-comment">/**
398      * Resizes the dialog to fit the specified content size.
399      * @param {Number} width
400      * @param {Number} height
401      * @return {Roo.BasicDialog} this
402      */
403     </span><span class="jsdoc-var">setContentSize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">){
404         </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.getHeaderFooterHeight</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">this.body.getMargins</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">);
405         </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.body.getMargins</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;lr&quot;</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">this.bwrap.getMargins</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;lr&quot;</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">this.centerBg.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;lr&quot;</span><span class="jsdoc-syntax">);
406         </span><span class="jsdoc-comment">//if(!this.el.isBorderBox()){
407             </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">+=  </span><span class="jsdoc-var">this.body.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">this.bwrap.getBorderWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">this.body.getBorderWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">this.el.getBorderWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">);
408             </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.body.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;lr&quot;</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">this.bwrap.getBorderWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;lr&quot;</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">this.body.getBorderWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;lr&quot;</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">this.bwrap.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;lr&quot;</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">this.el.getBorderWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;lr&quot;</span><span class="jsdoc-syntax">);
409         </span><span class="jsdoc-comment">//}
410         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tabs</span><span class="jsdoc-syntax">){
411             </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.tabs.stripWrap.getHeight</span><span class="jsdoc-syntax">() + </span><span class="jsdoc-var">this.tabs.bodyEl.getMargins</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">this.tabs.bodyEl.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">);
412             </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.tabs.bodyEl.getMargins</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;lr&quot;</span><span class="jsdoc-syntax">) + </span><span class="jsdoc-var">this.tabs.bodyEl.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;lr&quot;</span><span class="jsdoc-syntax">);
413         }
414         </span><span class="jsdoc-var">this.resizeTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">);
415         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
416     },
417
418     </span><span class="jsdoc-comment">/**
419      * Adds a key listener for when this dialog is displayed.  This allows you to hook in a function that will be
420      * executed in response to a particular key being pressed while the dialog is active.
421      * @param {Number/Array/Object} key Either the numeric key code, array of key codes or an object with the following options:
422      *                                  {key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}
423      * @param {Function} fn The function to call
424      * @param {Object} scope (optional) The scope of the function
425      * @return {Roo.BasicDialog} this
426      */
427     </span><span class="jsdoc-var">addKeyListener </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fn</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">){
428         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">keyCode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">shift</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">ctrl</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">alt</span><span class="jsdoc-syntax">;
429         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">key </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;object&quot; </span><span class="jsdoc-syntax">&amp;&amp; !(</span><span class="jsdoc-var">key </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Array</span><span class="jsdoc-syntax">)){
430             </span><span class="jsdoc-var">keyCode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">&quot;key&quot;</span><span class="jsdoc-syntax">];
431             </span><span class="jsdoc-var">shift </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">&quot;shift&quot;</span><span class="jsdoc-syntax">];
432             </span><span class="jsdoc-var">ctrl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">&quot;ctrl&quot;</span><span class="jsdoc-syntax">];
433             </span><span class="jsdoc-var">alt </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">[</span><span class="jsdoc-string">&quot;alt&quot;</span><span class="jsdoc-syntax">];
434         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
435             </span><span class="jsdoc-var">keyCode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">;
436         }
437         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">handler </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
438             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">((!</span><span class="jsdoc-var">shift </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">e.shiftKey</span><span class="jsdoc-syntax">) &amp;&amp; (!</span><span class="jsdoc-var">ctrl </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">e.ctrlKey</span><span class="jsdoc-syntax">) &amp;&amp;  (!</span><span class="jsdoc-var">alt </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">e.altKey</span><span class="jsdoc-syntax">)){
439                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">e.getKey</span><span class="jsdoc-syntax">();
440                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">keyCode </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Array</span><span class="jsdoc-syntax">){
441                     </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">keyCode.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
442                         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">keyCode</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] == </span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">){
443                           </span><span class="jsdoc-var">fn.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scope </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">window</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
444                           </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
445                         }
446                     }
447                 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
448                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">k </span><span class="jsdoc-syntax">== </span><span class="jsdoc-var">keyCode</span><span class="jsdoc-syntax">){
449                         </span><span class="jsdoc-var">fn.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scope </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">window</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">k</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
450                     }
451                 }
452             }
453         };
454         </span><span class="jsdoc-var">this.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;keydown&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">);
455         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
456     },
457
458     </span><span class="jsdoc-comment">/**
459      * Returns the TabPanel component (creates it if it doesn't exist).
460      * Note: If you wish to simply check for the existence of tabs without creating them,
461      * check for a null 'tabs' property.
462      * @return {Roo.TabPanel} The tabs component
463      */
464     </span><span class="jsdoc-var">getTabs </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
465         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.tabs</span><span class="jsdoc-syntax">){
466             </span><span class="jsdoc-var">this.el.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-dlg-auto-tabs&quot;</span><span class="jsdoc-syntax">);
467             </span><span class="jsdoc-var">this.body.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tabPosition </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;bottom&quot; </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">&quot;x-tabs-bottom&quot; </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;x-tabs-top&quot;</span><span class="jsdoc-syntax">);
468             </span><span class="jsdoc-var">this.tabs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.TabPanel</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.body.dom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.tabPosition </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;bottom&quot;</span><span class="jsdoc-syntax">);
469         }
470         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.tabs</span><span class="jsdoc-syntax">;
471     },
472
473     </span><span class="jsdoc-comment">/**
474      * Adds a button to the footer section of the dialog.
475      * @param {String/Object} config A string becomes the button text, an object can either be a Button config
476      * object or a valid Roo.DomHelper element config
477      * @param {Function} handler The function called when the button is clicked
478      * @param {Object} scope (optional) The scope of the handler function (accepts position as a property)
479      * @return {Roo.Button} The new button
480      */
481     </span><span class="jsdoc-var">addButton </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">){
482         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.DomHelper</span><span class="jsdoc-syntax">;
483         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.footer</span><span class="jsdoc-syntax">){
484             </span><span class="jsdoc-var">this.footer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dh.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.bwrap</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;div&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-ft&quot;</span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
485         }
486         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.btnContainer</span><span class="jsdoc-syntax">){
487             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.footer.createChild</span><span class="jsdoc-syntax">({
488
489                 </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">&quot;x-dlg-btns x-dlg-btns-&quot;</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.buttonAlign</span><span class="jsdoc-syntax">,
490                 </span><span class="jsdoc-var">html</span><span class="jsdoc-syntax">:</span><span class="jsdoc-string">'&lt;table cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;x-clear&quot;&gt;&lt;/div&gt;'
491             </span><span class="jsdoc-syntax">}, </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
492             </span><span class="jsdoc-var">this.btnContainer </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tb.firstChild.firstChild.firstChild</span><span class="jsdoc-syntax">;
493         }
494         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bconfig </span><span class="jsdoc-syntax">= {
495             </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">handler</span><span class="jsdoc-syntax">,
496             </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">,
497             </span><span class="jsdoc-var">minWidth</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.minButtonWidth</span><span class="jsdoc-syntax">,
498             </span><span class="jsdoc-var">hideParent</span><span class="jsdoc-syntax">:</span><span class="jsdoc-keyword">true
499         </span><span class="jsdoc-syntax">};
500         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;string&quot;</span><span class="jsdoc-syntax">){
501             </span><span class="jsdoc-var">bconfig.text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">;
502         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
503             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.tag</span><span class="jsdoc-syntax">){
504                 </span><span class="jsdoc-var">bconfig.dhconfig </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">;
505             }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
506                 </span><span class="jsdoc-var">Roo.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">bconfig</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">config</span><span class="jsdoc-syntax">);
507             }
508         }
509         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
510         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">((</span><span class="jsdoc-keyword">typeof</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">bconfig.position</span><span class="jsdoc-syntax">) != </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">) &amp;&amp; </span><span class="jsdoc-var">bconfig.position </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">this.btnContainer.childNodes.length</span><span class="jsdoc-syntax">-1) {
511             </span><span class="jsdoc-var">bconfig.position </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(0, </span><span class="jsdoc-var">bconfig.position</span><span class="jsdoc-syntax">);
512             </span><span class="jsdoc-var">fc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.btnContainer.childNodes</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">bconfig.position</span><span class="jsdoc-syntax">];
513         }
514
515         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">btn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Roo.Button</span><span class="jsdoc-syntax">(
516             </span><span class="jsdoc-var">fc </span><span class="jsdoc-syntax">?
517                 </span><span class="jsdoc-var">this.btnContainer.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;td&quot;</span><span class="jsdoc-syntax">),</span><span class="jsdoc-var">fc</span><span class="jsdoc-syntax">)
518                 : </span><span class="jsdoc-var">this.btnContainer.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;td&quot;</span><span class="jsdoc-syntax">)),
519             </span><span class="jsdoc-comment">//Roo.get(this.btnContainer).createChild( { tag: 'td'},  fc ),
520             </span><span class="jsdoc-var">bconfig
521         </span><span class="jsdoc-syntax">);
522         </span><span class="jsdoc-var">this.syncBodyHeight</span><span class="jsdoc-syntax">();
523         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.buttons</span><span class="jsdoc-syntax">){
524             </span><span class="jsdoc-comment">/**
525              * Array of all the buttons that have been added to this dialog via addButton
526              * @type Array
527              */
528             </span><span class="jsdoc-var">this.buttons </span><span class="jsdoc-syntax">= [];
529         }
530         </span><span class="jsdoc-var">this.buttons.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">);
531         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">;
532     },
533
534     </span><span class="jsdoc-comment">/**
535      * Sets the default button to be focused when the dialog is displayed.
536      * @param {Roo.BasicDialog.Button} btn The button object returned by {@link #addButton}
537      * @return {Roo.BasicDialog} this
538      */
539     </span><span class="jsdoc-var">setDefaultButton </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">){
540         </span><span class="jsdoc-var">this.defaultButton </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">btn</span><span class="jsdoc-syntax">;
541         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
542     },
543
544     </span><span class="jsdoc-comment">// private
545     </span><span class="jsdoc-var">getHeaderFooterHeight </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">safe</span><span class="jsdoc-syntax">){
546         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">= 0;
547         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.header</span><span class="jsdoc-syntax">){
548            </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.header.getHeight</span><span class="jsdoc-syntax">();
549         }
550         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.footer</span><span class="jsdoc-syntax">){
551            </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.footer.getMargins</span><span class="jsdoc-syntax">();
552             </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">+= (</span><span class="jsdoc-var">this.footer.getHeight</span><span class="jsdoc-syntax">()+</span><span class="jsdoc-var">fm.top</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">fm.bottom</span><span class="jsdoc-syntax">);
553         }
554         </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.bwrap.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">)+</span><span class="jsdoc-var">this.bwrap.getBorderWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">);
555         </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">+= </span><span class="jsdoc-var">this.centerBg.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">);
556         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">height</span><span class="jsdoc-syntax">;
557     },
558
559     </span><span class="jsdoc-comment">// private
560     </span><span class="jsdoc-var">syncBodyHeight </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">()
561     {
562         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">bd </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.body</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">// the text
563             </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.centerBg</span><span class="jsdoc-syntax">, </span><span class="jsdoc-comment">// wrapper around bottom.. but does not seem to be used..
564             </span><span class="jsdoc-var">bw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.bwrap</span><span class="jsdoc-syntax">;
565         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">height </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.size.height </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.getHeaderFooterHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
566         </span><span class="jsdoc-var">bd.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">height</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">bd.getMargins</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">));
567         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">hh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.header.getHeight</span><span class="jsdoc-syntax">();
568         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.size.height</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">hh</span><span class="jsdoc-syntax">;
569         </span><span class="jsdoc-var">cb.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">);
570
571         </span><span class="jsdoc-var">bw.setLeftTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cb.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;l&quot;</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">hh</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">cb.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;t&quot;</span><span class="jsdoc-syntax">));
572         </span><span class="jsdoc-var">bw.setHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">cb.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;tb&quot;</span><span class="jsdoc-syntax">));
573
574         </span><span class="jsdoc-var">bw.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.getWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">)-</span><span class="jsdoc-var">cb.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;lr&quot;</span><span class="jsdoc-syntax">));
575         </span><span class="jsdoc-var">bd.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">bw.getWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">));
576         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tabs</span><span class="jsdoc-syntax">){
577             </span><span class="jsdoc-var">this.tabs.syncHeight</span><span class="jsdoc-syntax">();
578             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIE</span><span class="jsdoc-syntax">){
579                 </span><span class="jsdoc-var">this.tabs.el.repaint</span><span class="jsdoc-syntax">();
580             }
581         }
582     },
583
584     </span><span class="jsdoc-comment">/**
585      * Restores the previous state of the dialog if Roo.state is configured.
586      * @return {Roo.BasicDialog} this
587      */
588     </span><span class="jsdoc-var">restoreState </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
589         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">box </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.state.Manager.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.stateId </span><span class="jsdoc-syntax">|| (</span><span class="jsdoc-var">this.el.id </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;-state&quot;</span><span class="jsdoc-syntax">));
590         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">box.width</span><span class="jsdoc-syntax">){
591             </span><span class="jsdoc-var">this.xy </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-var">box.x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">box.y</span><span class="jsdoc-syntax">];
592             </span><span class="jsdoc-var">this.resizeTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">box.width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">box.height</span><span class="jsdoc-syntax">);
593         }
594         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
595     },
596
597     </span><span class="jsdoc-comment">// private
598     </span><span class="jsdoc-var">beforeShow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
599         </span><span class="jsdoc-var">this.expand</span><span class="jsdoc-syntax">();
600         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fixedcenter</span><span class="jsdoc-syntax">){
601             </span><span class="jsdoc-var">this.xy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.getCenterXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
602         }
603         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.modal</span><span class="jsdoc-syntax">){
604             </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-body-masked&quot;</span><span class="jsdoc-syntax">);
605             </span><span class="jsdoc-var">this.mask.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.lib.Dom.getViewWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">Roo.lib.Dom.getViewHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">));
606             </span><span class="jsdoc-var">this.mask.show</span><span class="jsdoc-syntax">();
607         }
608         </span><span class="jsdoc-var">this.constrainXY</span><span class="jsdoc-syntax">();
609     },
610
611     </span><span class="jsdoc-comment">// private
612     </span><span class="jsdoc-var">animShow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
613         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.animateTarget</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getBox</span><span class="jsdoc-syntax">();
614         </span><span class="jsdoc-var">this.proxy.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b.width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b.height</span><span class="jsdoc-syntax">);
615         </span><span class="jsdoc-var">this.proxy.setLocation</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b.x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b.y</span><span class="jsdoc-syntax">);
616         </span><span class="jsdoc-var">this.proxy.show</span><span class="jsdoc-syntax">();
617         </span><span class="jsdoc-var">this.proxy.setBounds</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">[1], </span><span class="jsdoc-var">this.size.width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.size.height</span><span class="jsdoc-syntax">,
618                     </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">.35</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.showEl.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">));
619     },
620
621     </span><span class="jsdoc-comment">/**
622      * Shows the dialog.
623      * @param {String/HTMLElement/Roo.Element} animateTarget (optional) Reset the animation target
624      * @return {Roo.BasicDialog} this
625      */
626     </span><span class="jsdoc-var">show </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">animateTarget</span><span class="jsdoc-syntax">){
627         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforeshow&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">) === </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
628             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
629         }
630         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.syncHeightBeforeShow</span><span class="jsdoc-syntax">){
631             </span><span class="jsdoc-var">this.syncBodyHeight</span><span class="jsdoc-syntax">();
632         }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.firstShow</span><span class="jsdoc-syntax">){
633             </span><span class="jsdoc-var">this.firstShow </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
634             </span><span class="jsdoc-var">this.syncBodyHeight</span><span class="jsdoc-syntax">(); </span><span class="jsdoc-comment">// sync the height on the first show instead of in the constructor
635         </span><span class="jsdoc-syntax">}
636         </span><span class="jsdoc-var">this.animateTarget </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">animateTarget </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.animateTarget</span><span class="jsdoc-syntax">;
637         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.el.isVisible</span><span class="jsdoc-syntax">()){
638             </span><span class="jsdoc-var">this.beforeShow</span><span class="jsdoc-syntax">();
639             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.animateTarget </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.animateTarget</span><span class="jsdoc-syntax">)){
640                 </span><span class="jsdoc-var">this.animShow</span><span class="jsdoc-syntax">();
641             }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
642                 </span><span class="jsdoc-var">this.showEl</span><span class="jsdoc-syntax">();
643             }
644         }
645         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
646     },
647
648     </span><span class="jsdoc-comment">// private
649     </span><span class="jsdoc-var">showEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
650         </span><span class="jsdoc-var">this.proxy.hide</span><span class="jsdoc-syntax">();
651         </span><span class="jsdoc-var">this.el.setXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">);
652         </span><span class="jsdoc-var">this.el.show</span><span class="jsdoc-syntax">();
653         </span><span class="jsdoc-var">this.adjustAssets</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
654         </span><span class="jsdoc-var">this.toFront</span><span class="jsdoc-syntax">();
655         </span><span class="jsdoc-var">this.focus</span><span class="jsdoc-syntax">();
656         </span><span class="jsdoc-comment">// IE peekaboo bug - fix found by Dave Fenwick
657         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIE</span><span class="jsdoc-syntax">){
658             </span><span class="jsdoc-var">this.el.repaint</span><span class="jsdoc-syntax">();
659         }
660         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;show&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
661     },
662
663     </span><span class="jsdoc-comment">/**
664      * Focuses the dialog.  If a defaultButton is set, it will receive focus, otherwise the
665      * dialog itself will receive focus.
666      */
667     </span><span class="jsdoc-var">focus </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
668         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.defaultButton</span><span class="jsdoc-syntax">){
669             </span><span class="jsdoc-var">this.defaultButton.focus</span><span class="jsdoc-syntax">();
670         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
671             </span><span class="jsdoc-var">this.focusEl.focus</span><span class="jsdoc-syntax">();
672         }
673     },
674
675     </span><span class="jsdoc-comment">// private
676     </span><span class="jsdoc-var">constrainXY </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
677         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.constraintoviewport </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
678             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.viewSize</span><span class="jsdoc-syntax">){
679                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.container</span><span class="jsdoc-syntax">){
680                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.container.getSize</span><span class="jsdoc-syntax">();
681                     </span><span class="jsdoc-var">this.viewSize </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-var">s.width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">s.height</span><span class="jsdoc-syntax">];
682                 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
683                     </span><span class="jsdoc-var">this.viewSize </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-var">Roo.lib.Dom.getViewWidth</span><span class="jsdoc-syntax">(),</span><span class="jsdoc-var">Roo.lib.Dom.getViewHeight</span><span class="jsdoc-syntax">()];
684                 }
685             }
686             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.container</span><span class="jsdoc-syntax">||</span><span class="jsdoc-var">document</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getScroll</span><span class="jsdoc-syntax">();
687
688             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">[1];
689             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.size.width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.size.height</span><span class="jsdoc-syntax">;
690             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">vw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.viewSize</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">vh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.viewSize</span><span class="jsdoc-syntax">[1];
691             </span><span class="jsdoc-comment">// only move it if it needs it
692             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">moved </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
693             </span><span class="jsdoc-comment">// first validate right/bottom
694             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">&gt; </span><span class="jsdoc-var">vw</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">s.left</span><span class="jsdoc-syntax">){
695                 </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">vw </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">;
696                 </span><span class="jsdoc-var">moved </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
697             }
698             </span><span class="jsdoc-keyword">if</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">&gt; </span><span class="jsdoc-var">vh</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">s.top</span><span class="jsdoc-syntax">){
699                 </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">vh </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">;
700                 </span><span class="jsdoc-var">moved </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
701             }
702             </span><span class="jsdoc-comment">// then make sure top/left isn't negative
703             </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">s.left</span><span class="jsdoc-syntax">){
704                 </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">s.left</span><span class="jsdoc-syntax">;
705                 </span><span class="jsdoc-var">moved </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
706             }
707             </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">s.top</span><span class="jsdoc-syntax">){
708                 </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">s.top</span><span class="jsdoc-syntax">;
709                 </span><span class="jsdoc-var">moved </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
710             }
711             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">moved</span><span class="jsdoc-syntax">){
712                 </span><span class="jsdoc-comment">// cache xy
713                 </span><span class="jsdoc-var">this.xy </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">];
714                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isVisible</span><span class="jsdoc-syntax">()){
715                     </span><span class="jsdoc-var">this.el.setLocation</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">);
716                     </span><span class="jsdoc-var">this.adjustAssets</span><span class="jsdoc-syntax">();
717                 }
718             }
719         }
720     },
721
722     </span><span class="jsdoc-comment">// private
723     </span><span class="jsdoc-var">onDrag </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
724         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.proxyDrag</span><span class="jsdoc-syntax">){
725             </span><span class="jsdoc-var">this.xy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.getXY</span><span class="jsdoc-syntax">();
726             </span><span class="jsdoc-var">this.adjustAssets</span><span class="jsdoc-syntax">();
727         }
728     },
729
730     </span><span class="jsdoc-comment">// private
731     </span><span class="jsdoc-var">adjustAssets </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doShow</span><span class="jsdoc-syntax">){
732         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">[1];
733         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.size.width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.size.height</span><span class="jsdoc-syntax">;
734         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doShow </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
735             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shadow</span><span class="jsdoc-syntax">){
736                 </span><span class="jsdoc-var">this.shadow.show</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">);
737             }
738             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shim</span><span class="jsdoc-syntax">){
739                 </span><span class="jsdoc-var">this.shim.show</span><span class="jsdoc-syntax">();
740             }
741         }
742         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shadow </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.shadow.isVisible</span><span class="jsdoc-syntax">()){
743             </span><span class="jsdoc-var">this.shadow.show</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">);
744         }
745         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shim </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.shim.isVisible</span><span class="jsdoc-syntax">()){
746             </span><span class="jsdoc-var">this.shim.setBounds</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">w</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">);
747         }
748     },
749
750     </span><span class="jsdoc-comment">// private
751     </span><span class="jsdoc-var">adjustViewport </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">){
752         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">){
753             </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Dom.getViewWidth</span><span class="jsdoc-syntax">();
754             </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Dom.getViewHeight</span><span class="jsdoc-syntax">();
755         }
756         </span><span class="jsdoc-comment">// cache the size
757         </span><span class="jsdoc-var">this.viewSize </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">];
758         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.modal </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">this.mask.isVisible</span><span class="jsdoc-syntax">()){
759             </span><span class="jsdoc-var">this.mask.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">); </span><span class="jsdoc-comment">// first make sure the mask isn't causing overflow
760             </span><span class="jsdoc-var">this.mask.setSize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.lib.Dom.getViewWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">Roo.lib.Dom.getViewHeight</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">));
761         }
762         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isVisible</span><span class="jsdoc-syntax">()){
763             </span><span class="jsdoc-var">this.constrainXY</span><span class="jsdoc-syntax">();
764         }
765     },
766
767     </span><span class="jsdoc-comment">/**
768      * Destroys this dialog and all its supporting elements (including any tabs, shim,
769      * shadow, proxy, mask, etc.)  Also removes all event listeners.
770      * @param {Boolean} removeEl (optional) true to remove the element from the DOM
771      */
772     </span><span class="jsdoc-var">destroy </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">removeEl</span><span class="jsdoc-syntax">){
773         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isVisible</span><span class="jsdoc-syntax">()){
774             </span><span class="jsdoc-var">this.animateTarget </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
775             </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">();
776         }
777         </span><span class="jsdoc-var">Roo.EventManager.removeResizeListener</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.adjustViewport</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
778         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tabs</span><span class="jsdoc-syntax">){
779             </span><span class="jsdoc-var">this.tabs.destroy</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">removeEl</span><span class="jsdoc-syntax">);
780         }
781         </span><span class="jsdoc-var">Roo.destroy</span><span class="jsdoc-syntax">(
782              </span><span class="jsdoc-var">this.shim</span><span class="jsdoc-syntax">,
783              </span><span class="jsdoc-var">this.proxy</span><span class="jsdoc-syntax">,
784              </span><span class="jsdoc-var">this.resizer</span><span class="jsdoc-syntax">,
785              </span><span class="jsdoc-var">this.close</span><span class="jsdoc-syntax">,
786              </span><span class="jsdoc-var">this.mask
787         </span><span class="jsdoc-syntax">);
788         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dd</span><span class="jsdoc-syntax">){
789             </span><span class="jsdoc-var">this.dd.unreg</span><span class="jsdoc-syntax">();
790         }
791         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.buttons</span><span class="jsdoc-syntax">){
792            </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.buttons.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
793                </span><span class="jsdoc-var">this.buttons</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.destroy</span><span class="jsdoc-syntax">();
794            }
795         }
796         </span><span class="jsdoc-var">this.el.removeAllListeners</span><span class="jsdoc-syntax">();
797         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">removeEl </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
798             </span><span class="jsdoc-var">this.el.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;&quot;</span><span class="jsdoc-syntax">);
799             </span><span class="jsdoc-var">this.el.remove</span><span class="jsdoc-syntax">();
800         }
801         </span><span class="jsdoc-var">Roo.DialogManager.unregister</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
802     },
803
804     </span><span class="jsdoc-comment">// private
805     </span><span class="jsdoc-var">startMove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
806         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.proxyDrag</span><span class="jsdoc-syntax">){
807             </span><span class="jsdoc-var">this.proxy.show</span><span class="jsdoc-syntax">();
808         }
809         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.constraintoviewport </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
810             </span><span class="jsdoc-var">this.dd.constrainTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">, {</span><span class="jsdoc-var">right</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.shadowOffset</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">bottom</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.shadowOffset</span><span class="jsdoc-syntax">});
811         }
812     },
813
814     </span><span class="jsdoc-comment">// private
815     </span><span class="jsdoc-var">endMove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
816         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.proxyDrag</span><span class="jsdoc-syntax">){
817             </span><span class="jsdoc-var">Roo.dd.DD.prototype.endDrag.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dd</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
818         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
819             </span><span class="jsdoc-var">Roo.dd.DDProxy.prototype.endDrag.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dd</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
820             </span><span class="jsdoc-var">this.proxy.hide</span><span class="jsdoc-syntax">();
821         }
822         </span><span class="jsdoc-var">this.refreshSize</span><span class="jsdoc-syntax">();
823         </span><span class="jsdoc-var">this.adjustAssets</span><span class="jsdoc-syntax">();
824         </span><span class="jsdoc-var">this.focus</span><span class="jsdoc-syntax">();
825         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;move&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">[1]);
826     },
827
828     </span><span class="jsdoc-comment">/**
829      * Brings this dialog to the front of any other visible dialogs
830      * @return {Roo.BasicDialog} this
831      */
832     </span><span class="jsdoc-var">toFront </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
833         </span><span class="jsdoc-var">Roo.DialogManager.bringToFront</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
834         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
835     },
836
837     </span><span class="jsdoc-comment">/**
838      * Sends this dialog to the back (under) of any other visible dialogs
839      * @return {Roo.BasicDialog} this
840      */
841     </span><span class="jsdoc-var">toBack </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
842         </span><span class="jsdoc-var">Roo.DialogManager.sendToBack</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
843         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
844     },
845
846     </span><span class="jsdoc-comment">/**
847      * Centers this dialog in the viewport
848      * @return {Roo.BasicDialog} this
849      */
850     </span><span class="jsdoc-var">center </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
851         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">xy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.getCenterXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
852         </span><span class="jsdoc-var">this.moveTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">[1]);
853         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
854     },
855
856     </span><span class="jsdoc-comment">/**
857      * Moves the dialog's top-left corner to the specified point
858      * @param {Number} x
859      * @param {Number} y
860      * @return {Roo.BasicDialog} this
861      */
862     </span><span class="jsdoc-var">moveTo </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">){
863         </span><span class="jsdoc-var">this.xy </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">];
864         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isVisible</span><span class="jsdoc-syntax">()){
865             </span><span class="jsdoc-var">this.el.setXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">);
866             </span><span class="jsdoc-var">this.adjustAssets</span><span class="jsdoc-syntax">();
867         }
868         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
869     },
870
871     </span><span class="jsdoc-comment">/**
872      * Aligns the dialog to the specified element
873      * @param {String/HTMLElement/Roo.Element} element The element to align to.
874      * @param {String} position The position to align to (see {@link Roo.Element#alignTo} for more details).
875      * @param {Array} offsets (optional) Offset the positioning by [x, y]
876      * @return {Roo.BasicDialog} this
877      */
878     </span><span class="jsdoc-var">alignTo </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">element</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">offsets</span><span class="jsdoc-syntax">){
879         </span><span class="jsdoc-var">this.xy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.getAlignToXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">element</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">position</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">offsets</span><span class="jsdoc-syntax">);
880         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isVisible</span><span class="jsdoc-syntax">()){
881             </span><span class="jsdoc-var">this.el.setXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">);
882             </span><span class="jsdoc-var">this.adjustAssets</span><span class="jsdoc-syntax">();
883         }
884         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
885     },
886
887     </span><span class="jsdoc-comment">/**
888      * Anchors an element to another element and realigns it when the window is resized.
889      * @param {String/HTMLElement/Roo.Element} element The element to align to.
890      * @param {String} position The position to align to (see {@link Roo.Element#alignTo} for more details)
891      * @param {Array} offsets (optional) Offset the positioning by [x, y]
892      * @param {Boolean/Number} monitorScroll (optional) true to monitor body scroll and reposition. If this parameter
893      * is a number, it is used as the buffer delay (defaults to 50ms).
894      * @return {Roo.BasicDialog} this
895      */
896     </span><span class="jsdoc-var">anchorTo </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">alignment</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">offsets</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">monitorScroll</span><span class="jsdoc-syntax">){
897         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">action </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
898             </span><span class="jsdoc-var">this.alignTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">alignment</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">offsets</span><span class="jsdoc-syntax">);
899         };
900         </span><span class="jsdoc-var">Roo.EventManager.onWindowResize</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
901         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">tm </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">monitorScroll</span><span class="jsdoc-syntax">;
902         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tm </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">'undefined'</span><span class="jsdoc-syntax">){
903             </span><span class="jsdoc-var">Roo.EventManager.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">window</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">'scroll'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">action</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">,
904                 {</span><span class="jsdoc-var">buffer</span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">tm </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'number' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">monitorScroll </span><span class="jsdoc-syntax">: 50});
905         }
906         </span><span class="jsdoc-var">action.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
907         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
908     },
909
910     </span><span class="jsdoc-comment">/**
911      * Returns true if the dialog is visible
912      * @return {Boolean}
913      */
914     </span><span class="jsdoc-var">isVisible </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
915         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.el.isVisible</span><span class="jsdoc-syntax">();
916     },
917
918     </span><span class="jsdoc-comment">// private
919     </span><span class="jsdoc-var">animHide </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">){
920         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">b </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.animateTarget</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getBox</span><span class="jsdoc-syntax">();
921         </span><span class="jsdoc-var">this.proxy.show</span><span class="jsdoc-syntax">();
922         </span><span class="jsdoc-var">this.proxy.setBounds</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">this.xy</span><span class="jsdoc-syntax">[1], </span><span class="jsdoc-var">this.size.width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.size.height</span><span class="jsdoc-syntax">);
923         </span><span class="jsdoc-var">this.el.hide</span><span class="jsdoc-syntax">();
924         </span><span class="jsdoc-var">this.proxy.setBounds</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b.x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b.y</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b.width</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b.height</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">.35</span><span class="jsdoc-syntax">,
925                     </span><span class="jsdoc-var">this.hideEl.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">]));
926     },
927
928     </span><span class="jsdoc-comment">/**
929      * Hides the dialog.
930      * @param {Function} callback (optional) Function to call when the dialog is hidden
931      * @return {Roo.BasicDialog} this
932      */
933     </span><span class="jsdoc-var">hide </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">){
934         </span><span class="jsdoc-keyword">if </span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforehide&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">) === </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">){
935             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
936         }
937         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shadow</span><span class="jsdoc-syntax">){
938             </span><span class="jsdoc-var">this.shadow.hide</span><span class="jsdoc-syntax">();
939         }
940         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shim</span><span class="jsdoc-syntax">) {
941           </span><span class="jsdoc-var">this.shim.hide</span><span class="jsdoc-syntax">();
942         }
943         </span><span class="jsdoc-comment">// sometimes animateTarget seems to get set.. causing problems...
944         // this just double checks..
945         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.animateTarget </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.animateTarget</span><span class="jsdoc-syntax">)) {
946            </span><span class="jsdoc-var">this.animHide</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">);
947         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
948             </span><span class="jsdoc-var">this.el.hide</span><span class="jsdoc-syntax">();
949             </span><span class="jsdoc-var">this.hideEl</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">);
950         }
951         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
952     },
953
954     </span><span class="jsdoc-comment">// private
955     </span><span class="jsdoc-var">hideEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">){
956         </span><span class="jsdoc-var">this.proxy.hide</span><span class="jsdoc-syntax">();
957         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.modal</span><span class="jsdoc-syntax">){
958             </span><span class="jsdoc-var">this.mask.hide</span><span class="jsdoc-syntax">();
959             </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;x-body-masked&quot;</span><span class="jsdoc-syntax">);
960         }
961         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;hide&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
962         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">callback </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;function&quot;</span><span class="jsdoc-syntax">){
963             </span><span class="jsdoc-var">callback</span><span class="jsdoc-syntax">();
964         }
965     },
966
967     </span><span class="jsdoc-comment">// private
968     </span><span class="jsdoc-var">hideAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
969         </span><span class="jsdoc-var">this.setLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;-10000px&quot;</span><span class="jsdoc-syntax">);
970         </span><span class="jsdoc-var">this.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;-10000px&quot;</span><span class="jsdoc-syntax">);
971         </span><span class="jsdoc-var">this.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;visibility&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">&quot;hidden&quot;</span><span class="jsdoc-syntax">);
972     },
973
974     </span><span class="jsdoc-comment">// private
975     </span><span class="jsdoc-var">refreshSize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
976         </span><span class="jsdoc-var">this.size </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.getSize</span><span class="jsdoc-syntax">();
977         </span><span class="jsdoc-var">this.xy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.getXY</span><span class="jsdoc-syntax">();
978         </span><span class="jsdoc-var">Roo.state.Manager.set</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.stateId </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.el.id </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;-state&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.el.getBox</span><span class="jsdoc-syntax">());
979     },
980
981     </span><span class="jsdoc-comment">// private
982     // z-index is managed by the DialogManager and may be overwritten at any time
983     </span><span class="jsdoc-var">setZIndex </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
984         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.modal</span><span class="jsdoc-syntax">){
985             </span><span class="jsdoc-var">this.mask.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;z-index&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
986         }
987         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shim</span><span class="jsdoc-syntax">){
988             </span><span class="jsdoc-var">this.shim.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;z-index&quot;</span><span class="jsdoc-syntax">, ++</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
989         }
990         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shadow</span><span class="jsdoc-syntax">){
991             </span><span class="jsdoc-var">this.shadow.setZIndex</span><span class="jsdoc-syntax">(++</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
992         }
993         </span><span class="jsdoc-var">this.el.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;z-index&quot;</span><span class="jsdoc-syntax">, ++</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
994         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.proxy</span><span class="jsdoc-syntax">){
995             </span><span class="jsdoc-var">this.proxy.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;z-index&quot;</span><span class="jsdoc-syntax">, ++</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
996         }
997         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.resizer</span><span class="jsdoc-syntax">){
998             </span><span class="jsdoc-var">this.resizer.proxy.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;z-index&quot;</span><span class="jsdoc-syntax">, ++</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">);
999         }
1000
1001         </span><span class="jsdoc-var">this.lastZIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">;
1002     },
1003
1004     </span><span class="jsdoc-comment">/**
1005      * Returns the element for this dialog
1006      * @return {Roo.Element} The underlying dialog Element
1007      */
1008     </span><span class="jsdoc-var">getEl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1009         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">;
1010     }
1011 });
1012
1013 </span><span class="jsdoc-comment">/**
1014  * @class Roo.DialogManager
1015  * Provides global access to BasicDialogs that have been created and
1016  * support for z-indexing (layering) multiple open dialogs.
1017  */
1018 </span><span class="jsdoc-var">Roo.DialogManager </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1019     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">list </span><span class="jsdoc-syntax">= {};
1020     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">accessList </span><span class="jsdoc-syntax">= [];
1021     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">front </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
1022
1023     </span><span class="jsdoc-comment">// private
1024     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sortDialogs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d1</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d2</span><span class="jsdoc-syntax">){
1025         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">d1._lastAccess </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">d1._lastAccess </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">d2._lastAccess</span><span class="jsdoc-syntax">) ? -1 : 1;
1026     };
1027
1028     </span><span class="jsdoc-comment">// private
1029     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">orderDialogs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1030         </span><span class="jsdoc-var">accessList.sort</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sortDialogs</span><span class="jsdoc-syntax">);
1031         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">seed </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.DialogManager.zseed</span><span class="jsdoc-syntax">;
1032         </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">accessList.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
1033             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dlg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">accessList</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">];
1034             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">){
1035                 </span><span class="jsdoc-var">dlg.setZIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">seed </span><span class="jsdoc-syntax">+ (</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">*10));
1036             }
1037         }
1038     };
1039
1040     </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
1041         </span><span class="jsdoc-comment">/**
1042          * The starting z-index for BasicDialogs (defaults to 9000)
1043          * @type Number The z-index value
1044          */
1045         </span><span class="jsdoc-var">zseed </span><span class="jsdoc-syntax">: 9000,
1046
1047         </span><span class="jsdoc-comment">// private
1048         </span><span class="jsdoc-var">register </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">){
1049             </span><span class="jsdoc-var">list</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dlg.id</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">;
1050             </span><span class="jsdoc-var">accessList.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">);
1051         },
1052
1053         </span><span class="jsdoc-comment">// private
1054         </span><span class="jsdoc-var">unregister </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">){
1055             </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">list</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">dlg.id</span><span class="jsdoc-syntax">];
1056             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">=0;
1057             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">=0;
1058             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">accessList.indexOf</span><span class="jsdoc-syntax">){
1059                 </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(  </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">accessList.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
1060                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">accessList</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">] == </span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">){
1061                         </span><span class="jsdoc-var">accessList.splice</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, 1);
1062                         </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
1063                     }
1064                 }
1065             }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
1066                  </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">accessList.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">);
1067                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">!= -1){
1068                     </span><span class="jsdoc-var">accessList.splice</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, 1);
1069                 }
1070             }
1071         },
1072
1073         </span><span class="jsdoc-comment">/**
1074          * Gets a registered dialog by id
1075          * @param {String/Object} id The id of the dialog or a dialog
1076          * @return {Roo.BasicDialog} this
1077          */
1078         </span><span class="jsdoc-var">get </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">){
1079             </span><span class="jsdoc-keyword">return typeof </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;object&quot; </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">id </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">list</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">];
1080         },
1081
1082         </span><span class="jsdoc-comment">/**
1083          * Brings the specified dialog to the front
1084          * @param {String/Object} dlg The id of the dialog or a dialog
1085          * @return {Roo.BasicDialog} this
1086          */
1087         </span><span class="jsdoc-var">bringToFront </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">){
1088             </span><span class="jsdoc-var">dlg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">);
1089             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dlg </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">front</span><span class="jsdoc-syntax">){
1090                 </span><span class="jsdoc-var">front </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">;
1091                 </span><span class="jsdoc-var">dlg._lastAccess </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getTime</span><span class="jsdoc-syntax">();
1092                 </span><span class="jsdoc-var">orderDialogs</span><span class="jsdoc-syntax">();
1093             }
1094             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">;
1095         },
1096
1097         </span><span class="jsdoc-comment">/**
1098          * Sends the specified dialog to the back
1099          * @param {String/Object} dlg The id of the dialog or a dialog
1100          * @return {Roo.BasicDialog} this
1101          */
1102         </span><span class="jsdoc-var">sendToBack </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">){
1103             </span><span class="jsdoc-var">dlg </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">);
1104             </span><span class="jsdoc-var">dlg._lastAccess </span><span class="jsdoc-syntax">= -(</span><span class="jsdoc-keyword">new </span><span class="jsdoc-var">Date</span><span class="jsdoc-syntax">()</span><span class="jsdoc-var">.getTime</span><span class="jsdoc-syntax">());
1105             </span><span class="jsdoc-var">orderDialogs</span><span class="jsdoc-syntax">();
1106             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">dlg</span><span class="jsdoc-syntax">;
1107         },
1108
1109         </span><span class="jsdoc-comment">/**
1110          * Hides all dialogs
1111          */
1112         </span><span class="jsdoc-var">hideAll </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
1113             </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">id </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">list</span><span class="jsdoc-syntax">){
1114                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">list</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">] &amp;&amp; </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">list</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">] != </span><span class="jsdoc-string">&quot;function&quot; </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">list</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.isVisible</span><span class="jsdoc-syntax">()){
1115                     </span><span class="jsdoc-var">list</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.hide</span><span class="jsdoc-syntax">();
1116                 }
1117             }
1118         }
1119     };
1120 }();
1121 </span></code></body></html>