ff5146a15f9c936f0a11ee5739b5e0b597909b4a
[roojs1] / docs / src / Roo_Shadow.js.html
1 <html><head><title>/home/edward/gitlive/roojs1/Roo/Shadow.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 /**
14  * @class Roo.Shadow
15  * Simple class that can provide a shadow effect for any element.  Note that the element MUST be absolutely positioned,
16  * and the shadow does not provide any shimming.  This should be used only in simple cases -- for more advanced
17  * functionality that can also provide the same shadow effect, see the {@link Roo.Layer} class.
18  * @constructor
19  * Create a new Shadow
20  * @param {Object} config The config object
21  */
22 </span><span class="jsdoc-var">Roo.Shadow </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">){
23     </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">);
24     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">this.mode </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">&quot;string&quot;</span><span class="jsdoc-syntax">){
25         </span><span class="jsdoc-var">this.mode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.defaultMode</span><span class="jsdoc-syntax">;
26     }
27     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.offset</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= {</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">: 0};
28     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rad </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.floor</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.offset</span><span class="jsdoc-syntax">/2);
29     </span><span class="jsdoc-keyword">switch</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.mode.toLowerCase</span><span class="jsdoc-syntax">()){ </span><span class="jsdoc-comment">// all this hideous nonsense calculates the various offsets for shadows
30         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;drop&quot;</span><span class="jsdoc-syntax">:
31             </span><span class="jsdoc-var">a.w </span><span class="jsdoc-syntax">= 0;
32             </span><span class="jsdoc-var">a.l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a.t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
33             </span><span class="jsdoc-var">a.t </span><span class="jsdoc-syntax">-= 1;
34             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIE</span><span class="jsdoc-syntax">){
35                 </span><span class="jsdoc-var">a.l </span><span class="jsdoc-syntax">-= </span><span class="jsdoc-var">this.offset </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">rad</span><span class="jsdoc-syntax">;
36                 </span><span class="jsdoc-var">a.t </span><span class="jsdoc-syntax">-= </span><span class="jsdoc-var">this.offset </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">rad</span><span class="jsdoc-syntax">;
37                 </span><span class="jsdoc-var">a.w </span><span class="jsdoc-syntax">-= </span><span class="jsdoc-var">rad</span><span class="jsdoc-syntax">;
38                 </span><span class="jsdoc-var">a.h </span><span class="jsdoc-syntax">-= </span><span class="jsdoc-var">rad</span><span class="jsdoc-syntax">;
39                 </span><span class="jsdoc-var">a.t </span><span class="jsdoc-syntax">+= 1;
40             }
41         </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
42         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;sides&quot;</span><span class="jsdoc-syntax">:
43             </span><span class="jsdoc-var">a.w </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">*2);
44             </span><span class="jsdoc-var">a.l </span><span class="jsdoc-syntax">= -</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
45             </span><span class="jsdoc-var">a.t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">-1;
46             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIE</span><span class="jsdoc-syntax">){
47                 </span><span class="jsdoc-var">a.l </span><span class="jsdoc-syntax">-= (</span><span class="jsdoc-var">this.offset </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">rad</span><span class="jsdoc-syntax">);
48                 </span><span class="jsdoc-var">a.t </span><span class="jsdoc-syntax">-= </span><span class="jsdoc-var">this.offset </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">rad</span><span class="jsdoc-syntax">;
49                 </span><span class="jsdoc-var">a.l </span><span class="jsdoc-syntax">+= 1;
50                 </span><span class="jsdoc-var">a.w </span><span class="jsdoc-syntax">-= (</span><span class="jsdoc-var">this.offset </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">rad</span><span class="jsdoc-syntax">)*2;
51                 </span><span class="jsdoc-var">a.w </span><span class="jsdoc-syntax">-= </span><span class="jsdoc-var">rad </span><span class="jsdoc-syntax">+ 1;
52                 </span><span class="jsdoc-var">a.h </span><span class="jsdoc-syntax">-= 1;
53             }
54         </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
55         </span><span class="jsdoc-keyword">case </span><span class="jsdoc-string">&quot;frame&quot;</span><span class="jsdoc-syntax">:
56             </span><span class="jsdoc-var">a.w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a.h </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">*2);
57             </span><span class="jsdoc-var">a.l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a.t </span><span class="jsdoc-syntax">= -</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
58             </span><span class="jsdoc-var">a.t </span><span class="jsdoc-syntax">+= 1;
59             </span><span class="jsdoc-var">a.h </span><span class="jsdoc-syntax">-= 2;
60             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIE</span><span class="jsdoc-syntax">){
61                 </span><span class="jsdoc-var">a.l </span><span class="jsdoc-syntax">-= (</span><span class="jsdoc-var">this.offset </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">rad</span><span class="jsdoc-syntax">);
62                 </span><span class="jsdoc-var">a.t </span><span class="jsdoc-syntax">-= (</span><span class="jsdoc-var">this.offset </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">rad</span><span class="jsdoc-syntax">);
63                 </span><span class="jsdoc-var">a.l </span><span class="jsdoc-syntax">+= 1;
64                 </span><span class="jsdoc-var">a.w </span><span class="jsdoc-syntax">-= (</span><span class="jsdoc-var">this.offset </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">rad </span><span class="jsdoc-syntax">+ 1);
65                 </span><span class="jsdoc-var">a.h </span><span class="jsdoc-syntax">-= (</span><span class="jsdoc-var">this.offset </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-var">rad</span><span class="jsdoc-syntax">);
66                 </span><span class="jsdoc-var">a.h </span><span class="jsdoc-syntax">+= 1;
67             }
68         </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
69     };
70
71     </span><span class="jsdoc-var">this.adjusts </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">;
72 };
73
74 </span><span class="jsdoc-var">Roo.Shadow.prototype </span><span class="jsdoc-syntax">= {
75     </span><span class="jsdoc-comment">/**
76      * @cfg {String} mode
77      * The shadow display mode.  Supports the following options:&lt;br /&gt;
78      * sides: Shadow displays on both sides and bottom only&lt;br /&gt;
79      * frame: Shadow displays equally on all four sides&lt;br /&gt;
80      * drop: Traditional bottom-right drop shadow (default)
81      */
82     /**
83      * @cfg {String} offset
84      * The number of pixels to offset the shadow from the element (defaults to 4)
85      */
86     </span><span class="jsdoc-var">offset</span><span class="jsdoc-syntax">: 4,
87
88     </span><span class="jsdoc-comment">// private
89     </span><span class="jsdoc-var">defaultMode</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">&quot;drop&quot;</span><span class="jsdoc-syntax">,
90
91     </span><span class="jsdoc-comment">/**
92      * Displays the shadow under the target element
93      * @param {String/HTMLElement/Element} targetEl The id or element under which the shadow should display
94      */
95     </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">target</span><span class="jsdoc-syntax">){
96         </span><span class="jsdoc-var">target </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">);
97         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">){
98             </span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.Shadow.Pool.pull</span><span class="jsdoc-syntax">();
99             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.dom.nextSibling </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">target.dom</span><span class="jsdoc-syntax">){
100                 </span><span class="jsdoc-var">this.el.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">target</span><span class="jsdoc-syntax">);
101             }
102         }
103         </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">this.zIndex </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">parseInt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">target.getStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;z-index&quot;</span><span class="jsdoc-syntax">), 10)-1);
104         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isIE</span><span class="jsdoc-syntax">){
105             </span><span class="jsdoc-var">this.el.dom.style.filter</span><span class="jsdoc-syntax">=</span><span class="jsdoc-string">&quot;progid:DXImageTransform.Microsoft.alpha(opacity=50) progid:DXImageTransform.Microsoft.Blur(pixelradius=&quot;</span><span class="jsdoc-syntax">+(</span><span class="jsdoc-var">this.offset</span><span class="jsdoc-syntax">)+</span><span class="jsdoc-string">&quot;)&quot;</span><span class="jsdoc-syntax">;
106         }
107         </span><span class="jsdoc-var">this.realign</span><span class="jsdoc-syntax">(
108             </span><span class="jsdoc-var">target.getLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">),
109             </span><span class="jsdoc-var">target.getTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">),
110             </span><span class="jsdoc-var">target.getWidth</span><span class="jsdoc-syntax">(),
111             </span><span class="jsdoc-var">target.getHeight</span><span class="jsdoc-syntax">()
112         );
113         </span><span class="jsdoc-var">this.el.dom.style.display </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;block&quot;</span><span class="jsdoc-syntax">;
114     },
115
116     </span><span class="jsdoc-comment">/**
117      * Returns true if the shadow is visible, else false
118      */
119     </span><span class="jsdoc-var">isVisible </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
120         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">? </span><span class="jsdoc-keyword">true </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
121     },
122
123     </span><span class="jsdoc-comment">/**
124      * Direct alignment when values are already available. Show must be called at least once before
125      * calling this method to ensure it is initialized.
126      * @param {Number} left The target element left position
127      * @param {Number} top The target element top position
128      * @param {Number} width The target element width
129      * @param {Number} height The target element height
130      */
131     </span><span class="jsdoc-var">realign </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">t</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">){
132         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">){
133             </span><span class="jsdoc-keyword">return</span><span class="jsdoc-syntax">;
134         }
135         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.adjusts</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.el.dom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.style</span><span class="jsdoc-syntax">;
136         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">iea </span><span class="jsdoc-syntax">= 0;
137         </span><span class="jsdoc-var">s.left </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">l</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">a.l</span><span class="jsdoc-syntax">)+</span><span class="jsdoc-string">&quot;px&quot;</span><span class="jsdoc-syntax">;
138         </span><span class="jsdoc-var">s.top </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">t</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">a.t</span><span class="jsdoc-syntax">)+</span><span class="jsdoc-string">&quot;px&quot;</span><span class="jsdoc-syntax">;
139         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sw </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">a.w</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">sh </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">a.h</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">sws </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sw </span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">&quot;px&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">shs </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sh </span><span class="jsdoc-syntax">+ </span><span class="jsdoc-string">&quot;px&quot;</span><span class="jsdoc-syntax">;
140
141         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">s.width </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">sws </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">s.height </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">shs</span><span class="jsdoc-syntax">){
142             </span><span class="jsdoc-var">s.width </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sws</span><span class="jsdoc-syntax">;
143             </span><span class="jsdoc-var">s.height </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">shs</span><span class="jsdoc-syntax">;
144             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">Roo.isIE</span><span class="jsdoc-syntax">){
145                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">d.childNodes</span><span class="jsdoc-syntax">;
146                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sww </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(0, (</span><span class="jsdoc-var">sw</span><span class="jsdoc-syntax">-12))+</span><span class="jsdoc-string">&quot;px&quot;</span><span class="jsdoc-syntax">;
147                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">[0]</span><span class="jsdoc-var">.childNodes</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.style.width </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sww</span><span class="jsdoc-syntax">;
148                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.childNodes</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.style.width </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sww</span><span class="jsdoc-syntax">;
149                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">[2]</span><span class="jsdoc-var">.childNodes</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.style.width </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sww</span><span class="jsdoc-syntax">;
150                 </span><span class="jsdoc-var">cn</span><span class="jsdoc-syntax">[1]</span><span class="jsdoc-var">.style.height </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Math.max</span><span class="jsdoc-syntax">(0, (</span><span class="jsdoc-var">sh</span><span class="jsdoc-syntax">-12))+</span><span class="jsdoc-string">&quot;px&quot;</span><span class="jsdoc-syntax">;
151             }
152         }
153     },
154
155     </span><span class="jsdoc-comment">/**
156      * Hides this shadow
157      */
158     </span><span class="jsdoc-var">hide </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
159         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">){
160             </span><span class="jsdoc-var">this.el.dom.style.display </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">&quot;none&quot;</span><span class="jsdoc-syntax">;
161             </span><span class="jsdoc-var">Roo.Shadow.Pool.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">);
162             </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">;
163         }
164     },
165
166     </span><span class="jsdoc-comment">/**
167      * Adjust the z-index of this shadow
168      * @param {Number} zindex The new z-index
169      */
170     </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">z</span><span class="jsdoc-syntax">){
171         </span><span class="jsdoc-var">this.zIndex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">z</span><span class="jsdoc-syntax">;
172         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el</span><span class="jsdoc-syntax">){
173             </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">z</span><span class="jsdoc-syntax">);
174         }
175     }
176 };
177
178 </span><span class="jsdoc-comment">// Private utility class that manages the internal Shadow cache
179 </span><span class="jsdoc-var">Roo.Shadow.Pool </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
180     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">p </span><span class="jsdoc-syntax">= [];
181     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">markup </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.isIE </span><span class="jsdoc-syntax">?
182                  </span><span class="jsdoc-string">'&lt;div class=&quot;x-ie-shadow&quot;&gt;&lt;/div&gt;' </span><span class="jsdoc-syntax">:
183                  </span><span class="jsdoc-string">'&lt;div class=&quot;x-shadow&quot;&gt;&lt;div class=&quot;xst&quot;&gt;&lt;div class=&quot;xstl&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xstc&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xstr&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;xsc&quot;&gt;&lt;div class=&quot;xsml&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xsmc&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xsmr&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;xsb&quot;&gt;&lt;div class=&quot;xsbl&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xsbc&quot;&gt;&lt;/div&gt;&lt;div class=&quot;xsbr&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;'</span><span class="jsdoc-syntax">;
184     </span><span class="jsdoc-keyword">return </span><span class="jsdoc-syntax">{
185         </span><span class="jsdoc-var">pull </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
186             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">p.shift</span><span class="jsdoc-syntax">();
187             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">sh</span><span class="jsdoc-syntax">){
188                 </span><span class="jsdoc-var">sh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.DomHelper.insertHtml</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;beforeBegin&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">document.body.firstChild</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">markup</span><span class="jsdoc-syntax">));
189                 </span><span class="jsdoc-var">sh.autoBoxAdjust </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
190             }
191             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">sh</span><span class="jsdoc-syntax">;
192         },
193
194         </span><span class="jsdoc-var">push </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sh</span><span class="jsdoc-syntax">){
195             </span><span class="jsdoc-var">p.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sh</span><span class="jsdoc-syntax">);
196         }
197     };
198 }();</span></code></body></html>