1 <html><head><title>/home/alan/gitlive/roojs1/Roo/Layer.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">/*
4 * Copyright(c) 2006-2007, Ext JS, LLC.
6 * Originally Released Under LGPL - original licence link has changed is not relivant.
9 * <script type="text/javascript">
11 </span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
12 </span><span class="jsdoc-comment">/**
14 * @extends Roo.Element
15 * An extended {@link Roo.Element} object that supports a shadow and shim, constrain to viewport and
16 * automatic maintaining of shadow/shim positions.
17 * @cfg {Boolean} shim False to disable the iframe shim in browsers which need one (defaults to true)
18 * @cfg {String/Boolean} shadow True to create a shadow element with default class "x-layer-shadow", or
19 * you can pass a string with a CSS class name. False turns off the shadow.
20 * @cfg {Object} dh DomHelper object config to create element with (defaults to {tag: "div", cls: "x-layer"}).
21 * @cfg {Boolean} constrain False to disable constrain to viewport (defaults to true)
22 * @cfg {String} cls CSS class to add to the element
23 * @cfg {Number} zindex Starting z-index (defaults to 11000)
24 * @cfg {Number} shadowOffset Number of pixels to offset the shadow (defaults to 3)
26 * @param {Object} config An object with config options.
27 * @param {String/HTMLElement} existingEl (optional) Uses an existing DOM element. If the element is not found it creates it.
30 </span><span class="jsdoc-var">Roo.Layer </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">existingEl</span><span class="jsdoc-syntax">){
31 </span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config </span><span class="jsdoc-syntax">|| {};
32 </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">;
33 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cp </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.parentEl</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">pel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">cp </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">Roo.getDom</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">cp</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">document.body</span><span class="jsdoc-syntax">;
34 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">existingEl</span><span class="jsdoc-syntax">){
35 </span><span class="jsdoc-var">this.dom </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.getDom</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">existingEl</span><span class="jsdoc-syntax">);
37 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.dom</span><span class="jsdoc-syntax">){
38 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.dh </span><span class="jsdoc-syntax">|| {</span><span class="jsdoc-var">tag</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"div"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cls</span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"x-layer"</span><span class="jsdoc-syntax">};
39 </span><span class="jsdoc-var">this.dom </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">dh.append</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pel</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
41 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.cls</span><span class="jsdoc-syntax">){
42 </span><span class="jsdoc-var">this.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.cls</span><span class="jsdoc-syntax">);
44 </span><span class="jsdoc-var">this.constrain </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.constrain </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
45 </span><span class="jsdoc-var">this.visibilityMode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.Element.VISIBILITY</span><span class="jsdoc-syntax">;
46 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.id</span><span class="jsdoc-syntax">){
47 </span><span class="jsdoc-var">this.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dom.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.id</span><span class="jsdoc-syntax">;
48 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
49 </span><span class="jsdoc-var">this.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.id</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dom</span><span class="jsdoc-syntax">);
51 </span><span class="jsdoc-var">this.zindex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.zindex </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.getZIndex</span><span class="jsdoc-syntax">();
52 </span><span class="jsdoc-var">this.position</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"absolute"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.zindex</span><span class="jsdoc-syntax">);
53 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">config.shadow</span><span class="jsdoc-syntax">){
54 </span><span class="jsdoc-var">this.shadowOffset </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.shadowOffset </span><span class="jsdoc-syntax">|| 4;
55 </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">({
56 </span><span class="jsdoc-var">offset </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.shadowOffset</span><span class="jsdoc-syntax">,
57 </span><span class="jsdoc-var">mode </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">config.shadow
58 </span><span class="jsdoc-syntax">});
59 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
60 </span><span class="jsdoc-var">this.shadowOffset </span><span class="jsdoc-syntax">= 0;
62 </span><span class="jsdoc-var">this.useShim </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.shim </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">false </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">Roo.useShims</span><span class="jsdoc-syntax">;
63 </span><span class="jsdoc-var">this.useDisplay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">config.useDisplay</span><span class="jsdoc-syntax">;
64 </span><span class="jsdoc-var">this.hide</span><span class="jsdoc-syntax">();
67 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">supr </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.Element.prototype</span><span class="jsdoc-syntax">;
69 </span><span class="jsdoc-comment">// shims are shared among layer to keep from having 100 iframes
70 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">shims </span><span class="jsdoc-syntax">= [];
72 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Layer</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.Element</span><span class="jsdoc-syntax">, {
74 </span><span class="jsdoc-var">getZIndex </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
75 </span><span class="jsdoc-keyword">return </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">this.getStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"z-index"</span><span class="jsdoc-syntax">), 10) || 11000;
78 </span><span class="jsdoc-var">getShim </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
79 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.useShim</span><span class="jsdoc-syntax">){
80 </span><span class="jsdoc-keyword">return null</span><span class="jsdoc-syntax">;
82 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shim</span><span class="jsdoc-syntax">){
83 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.shim</span><span class="jsdoc-syntax">;
85 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">shim </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">shims.shift</span><span class="jsdoc-syntax">();
86 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">shim</span><span class="jsdoc-syntax">){
87 </span><span class="jsdoc-var">shim </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.createShim</span><span class="jsdoc-syntax">();
88 </span><span class="jsdoc-var">shim.enableDisplayMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'block'</span><span class="jsdoc-syntax">);
89 </span><span class="jsdoc-var">shim.dom.style.display </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'none'</span><span class="jsdoc-syntax">;
90 </span><span class="jsdoc-var">shim.dom.style.visibility </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">'visible'</span><span class="jsdoc-syntax">;
92 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dom.parentNode</span><span class="jsdoc-syntax">;
93 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">shim.dom.parentNode </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">pn</span><span class="jsdoc-syntax">){
94 </span><span class="jsdoc-var">pn.insertBefore</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">shim.dom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.dom</span><span class="jsdoc-syntax">);
96 </span><span class="jsdoc-var">shim.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'z-index'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.getZIndex</span><span class="jsdoc-syntax">()-2);
97 </span><span class="jsdoc-var">this.shim </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">shim</span><span class="jsdoc-syntax">;
98 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">shim</span><span class="jsdoc-syntax">;
101 </span><span class="jsdoc-var">hideShim </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
102 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shim</span><span class="jsdoc-syntax">){
103 </span><span class="jsdoc-var">this.shim.setDisplayed</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
104 </span><span class="jsdoc-var">shims.push</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shim</span><span class="jsdoc-syntax">);
105 </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.shim</span><span class="jsdoc-syntax">;
109 </span><span class="jsdoc-var">disableShadow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
110 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shadow</span><span class="jsdoc-syntax">){
111 </span><span class="jsdoc-var">this.shadowDisabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
112 </span><span class="jsdoc-var">this.shadow.hide</span><span class="jsdoc-syntax">();
113 </span><span class="jsdoc-var">this.lastShadowOffset </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.shadowOffset</span><span class="jsdoc-syntax">;
114 </span><span class="jsdoc-var">this.shadowOffset </span><span class="jsdoc-syntax">= 0;
118 </span><span class="jsdoc-var">enableShadow </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">show</span><span class="jsdoc-syntax">){
119 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shadow</span><span class="jsdoc-syntax">){
120 </span><span class="jsdoc-var">this.shadowDisabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
121 </span><span class="jsdoc-var">this.shadowOffset </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.lastShadowOffset</span><span class="jsdoc-syntax">;
122 </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.lastShadowOffset</span><span class="jsdoc-syntax">;
123 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">show</span><span class="jsdoc-syntax">){
124 </span><span class="jsdoc-var">this.sync</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
129 </span><span class="jsdoc-comment">// private
130 // this code can execute repeatedly in milliseconds (i.e. during a drag) so
131 // code size was sacrificed for effeciency (e.g. no getBox/setBox, no XY calls)
132 </span><span class="jsdoc-var">sync </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">){
133 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.shadow</span><span class="jsdoc-syntax">;
134 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.updating </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.isVisible</span><span class="jsdoc-syntax">() && (</span><span class="jsdoc-var">sw </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.useShim</span><span class="jsdoc-syntax">)){
135 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">sh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getShim</span><span class="jsdoc-syntax">();
137 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getWidth</span><span class="jsdoc-syntax">(),
138 </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getHeight</span><span class="jsdoc-syntax">();
140 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">l </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">),
141 </span><span class="jsdoc-var">t </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
143 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sw </span><span class="jsdoc-syntax">&& !</span><span class="jsdoc-var">this.shadowDisabled</span><span class="jsdoc-syntax">){
144 </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-var">sw.isVisible</span><span class="jsdoc-syntax">()){
145 </span><span class="jsdoc-var">sw.show</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
146 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
147 </span><span class="jsdoc-var">sw.realign</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">);
149 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sh</span><span class="jsdoc-syntax">){
150 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doShow</span><span class="jsdoc-syntax">){
151 </span><span class="jsdoc-var">sh.show</span><span class="jsdoc-syntax">();
153 </span><span class="jsdoc-comment">// fit the shim behind the shadow, so it is shimmed too
154 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sw.adjusts</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">s </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">sh.dom.style</span><span class="jsdoc-syntax">;
155 </span><span class="jsdoc-var">s.left </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">l</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">"px"</span><span class="jsdoc-syntax">;
156 </span><span class="jsdoc-var">s.top </span><span class="jsdoc-syntax">= (</span><span class="jsdoc-var">Math.min</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">t</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">"px"</span><span class="jsdoc-syntax">;
157 </span><span class="jsdoc-var">s.width </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-string">"px"</span><span class="jsdoc-syntax">;
158 </span><span class="jsdoc-var">s.height </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-string">"px"</span><span class="jsdoc-syntax">;
160 }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">sh</span><span class="jsdoc-syntax">){
161 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">doShow</span><span class="jsdoc-syntax">){
162 </span><span class="jsdoc-var">sh.show</span><span class="jsdoc-syntax">();
164 </span><span class="jsdoc-var">sh.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">);
165 </span><span class="jsdoc-var">sh.setLeftTop</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">);
171 </span><span class="jsdoc-comment">// private
172 </span><span class="jsdoc-var">destroy </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
173 </span><span class="jsdoc-var">this.hideShim</span><span class="jsdoc-syntax">();
174 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shadow</span><span class="jsdoc-syntax">){
175 </span><span class="jsdoc-var">this.shadow.hide</span><span class="jsdoc-syntax">();
177 </span><span class="jsdoc-var">this.removeAllListeners</span><span class="jsdoc-syntax">();
178 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">pn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dom.parentNode</span><span class="jsdoc-syntax">;
179 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">pn</span><span class="jsdoc-syntax">){
180 </span><span class="jsdoc-var">pn.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.dom</span><span class="jsdoc-syntax">);
182 </span><span class="jsdoc-var">Roo.Element.uncache</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.id</span><span class="jsdoc-syntax">);
185 </span><span class="jsdoc-var">remove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
186 </span><span class="jsdoc-var">this.destroy</span><span class="jsdoc-syntax">();
189 </span><span class="jsdoc-comment">// private
190 </span><span class="jsdoc-var">beginUpdate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
191 </span><span class="jsdoc-var">this.updating </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
194 </span><span class="jsdoc-comment">// private
195 </span><span class="jsdoc-var">endUpdate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
196 </span><span class="jsdoc-var">this.updating </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
197 </span><span class="jsdoc-var">this.sync</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
200 </span><span class="jsdoc-comment">// private
201 </span><span class="jsdoc-var">hideUnders </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">negOffset</span><span class="jsdoc-syntax">){
202 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shadow</span><span class="jsdoc-syntax">){
203 </span><span class="jsdoc-var">this.shadow.hide</span><span class="jsdoc-syntax">();
205 </span><span class="jsdoc-var">this.hideShim</span><span class="jsdoc-syntax">();
208 </span><span class="jsdoc-comment">// private
209 </span><span class="jsdoc-var">constrainXY </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
210 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.constrain</span><span class="jsdoc-syntax">){
211 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">vw </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Dom.getViewWidth</span><span class="jsdoc-syntax">(),
212 </span><span class="jsdoc-var">vh </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.lib.Dom.getViewHeight</span><span class="jsdoc-syntax">();
213 </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">document</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.getScroll</span><span class="jsdoc-syntax">();
215 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">xy </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.getXY</span><span class="jsdoc-syntax">();
216 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">[1];
217 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">w </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dom.offsetWidth</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.shadowOffset</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.dom.offsetHeight</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.shadowOffset</span><span class="jsdoc-syntax">;
218 </span><span class="jsdoc-comment">// only move it if it needs it
219 </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">;
220 </span><span class="jsdoc-comment">// first validate right/bottom
221 </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">) > </span><span class="jsdoc-var">vw</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">s.left</span><span class="jsdoc-syntax">){
222 </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">- </span><span class="jsdoc-var">this.shadowOffset</span><span class="jsdoc-syntax">;
223 </span><span class="jsdoc-var">moved </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
225 </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">) > </span><span class="jsdoc-var">vh</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">s.top</span><span class="jsdoc-syntax">){
226 </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">- </span><span class="jsdoc-var">this.shadowOffset</span><span class="jsdoc-syntax">;
227 </span><span class="jsdoc-var">moved </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
229 </span><span class="jsdoc-comment">// then make sure top/left isn't negative
230 </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">s.left</span><span class="jsdoc-syntax">){
231 </span><span class="jsdoc-var">x </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">s.left</span><span class="jsdoc-syntax">;
232 </span><span class="jsdoc-var">moved </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
234 </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">s.top</span><span class="jsdoc-syntax">){
235 </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">s.top</span><span class="jsdoc-syntax">;
236 </span><span class="jsdoc-var">moved </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
238 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">moved</span><span class="jsdoc-syntax">){
239 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.avoidY</span><span class="jsdoc-syntax">){
240 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">ay </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.avoidY</span><span class="jsdoc-syntax">;
241 </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">ay </span><span class="jsdoc-syntax">&& (</span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">) >= </span><span class="jsdoc-var">ay</span><span class="jsdoc-syntax">){
242 </span><span class="jsdoc-var">y </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">ay</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">-5;
245 </span><span class="jsdoc-var">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">];
246 </span><span class="jsdoc-var">this.storeXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">);
247 </span><span class="jsdoc-var">supr.setXY.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">);
248 </span><span class="jsdoc-var">this.sync</span><span class="jsdoc-syntax">();
253 </span><span class="jsdoc-var">isVisible </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
254 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.visible</span><span class="jsdoc-syntax">;
257 </span><span class="jsdoc-comment">// private
258 </span><span class="jsdoc-var">showAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
259 </span><span class="jsdoc-var">this.visible </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// track visibility to prevent getStyle calls
260 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.useDisplay </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
261 </span><span class="jsdoc-var">this.setDisplayed</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
262 }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.lastXY</span><span class="jsdoc-syntax">){
263 </span><span class="jsdoc-var">supr.setXY.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.lastXY</span><span class="jsdoc-syntax">);
264 }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.lastLT</span><span class="jsdoc-syntax">){
265 </span><span class="jsdoc-var">supr.setLeftTop.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.lastLT</span><span class="jsdoc-syntax">[0], </span><span class="jsdoc-var">this.lastLT</span><span class="jsdoc-syntax">[1]);
269 </span><span class="jsdoc-comment">// private
270 </span><span class="jsdoc-var">hideAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
271 </span><span class="jsdoc-var">this.visible </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
272 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.useDisplay </span><span class="jsdoc-syntax">=== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
273 </span><span class="jsdoc-var">this.setDisplayed</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">);
274 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
275 </span><span class="jsdoc-var">this.setLeftTop</span><span class="jsdoc-syntax">(-10000,-10000);
279 </span><span class="jsdoc-comment">// overridden Element method
280 </span><span class="jsdoc-var">setVisible </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
281 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){
282 </span><span class="jsdoc-var">this.showAction</span><span class="jsdoc-syntax">();
284 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){
285 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
286 </span><span class="jsdoc-var">this.sync</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
287 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">){
288 </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">();
290 }</span><span class="jsdoc-var">.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
291 </span><span class="jsdoc-var">supr.setVisible.call</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">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
292 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
293 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){
294 </span><span class="jsdoc-var">this.hideUnders</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
296 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">;
297 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">){
298 </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
299 </span><span class="jsdoc-var">this.hideAction</span><span class="jsdoc-syntax">();
300 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">){
301 </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">();
303 }</span><span class="jsdoc-var">.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
305 </span><span class="jsdoc-var">supr.setVisible.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
306 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">v</span><span class="jsdoc-syntax">){
307 </span><span class="jsdoc-var">this.sync</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
308 }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">){
309 </span><span class="jsdoc-var">this.hideAction</span><span class="jsdoc-syntax">();
314 </span><span class="jsdoc-var">storeXY </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">){
315 </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.lastLT</span><span class="jsdoc-syntax">;
316 </span><span class="jsdoc-var">this.lastXY </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">;
319 </span><span class="jsdoc-var">storeLeftTop </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">left</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">top</span><span class="jsdoc-syntax">){
320 </span><span class="jsdoc-keyword">delete </span><span class="jsdoc-var">this.lastXY</span><span class="jsdoc-syntax">;
321 </span><span class="jsdoc-var">this.lastLT </span><span class="jsdoc-syntax">= [</span><span class="jsdoc-var">left</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">top</span><span class="jsdoc-syntax">];
324 </span><span class="jsdoc-comment">// private
325 </span><span class="jsdoc-var">beforeFx </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
326 </span><span class="jsdoc-var">this.beforeAction</span><span class="jsdoc-syntax">();
327 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">Roo.Layer.superclass.beforeFx.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
330 </span><span class="jsdoc-comment">// private
331 </span><span class="jsdoc-var">afterFx </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
332 </span><span class="jsdoc-var">Roo.Layer.superclass.afterFx.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
333 </span><span class="jsdoc-var">this.sync</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.isVisible</span><span class="jsdoc-syntax">());
336 </span><span class="jsdoc-comment">// private
337 </span><span class="jsdoc-var">beforeAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
338 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.updating </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">this.shadow</span><span class="jsdoc-syntax">){
339 </span><span class="jsdoc-var">this.shadow.hide</span><span class="jsdoc-syntax">();
343 </span><span class="jsdoc-comment">// overridden Element method
344 </span><span class="jsdoc-var">setLeft </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">left</span><span class="jsdoc-syntax">){
345 </span><span class="jsdoc-var">this.storeLeftTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">left</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.getTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">));
346 </span><span class="jsdoc-var">supr.setLeft.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
347 </span><span class="jsdoc-var">this.sync</span><span class="jsdoc-syntax">();
350 </span><span class="jsdoc-var">setTop </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">top</span><span class="jsdoc-syntax">){
351 </span><span class="jsdoc-var">this.storeLeftTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.getLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">), </span><span class="jsdoc-var">top</span><span class="jsdoc-syntax">);
352 </span><span class="jsdoc-var">supr.setTop.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
353 </span><span class="jsdoc-var">this.sync</span><span class="jsdoc-syntax">();
356 </span><span class="jsdoc-var">setLeftTop </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">left</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">top</span><span class="jsdoc-syntax">){
357 </span><span class="jsdoc-var">this.storeLeftTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">left</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">top</span><span class="jsdoc-syntax">);
358 </span><span class="jsdoc-var">supr.setLeftTop.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
359 </span><span class="jsdoc-var">this.sync</span><span class="jsdoc-syntax">();
362 </span><span class="jsdoc-var">setXY </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
363 </span><span class="jsdoc-var">this.fixDisplay</span><span class="jsdoc-syntax">();
364 </span><span class="jsdoc-var">this.beforeAction</span><span class="jsdoc-syntax">();
365 </span><span class="jsdoc-var">this.storeXY</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">);
366 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.createCB</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">);
367 </span><span class="jsdoc-var">supr.setXY.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">xy</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
368 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">){
369 </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">();
373 </span><span class="jsdoc-comment">// private
374 </span><span class="jsdoc-var">createCB </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">){
375 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
376 </span><span class="jsdoc-keyword">return function</span><span class="jsdoc-syntax">(){
377 </span><span class="jsdoc-var">el.constrainXY</span><span class="jsdoc-syntax">();
378 </span><span class="jsdoc-var">el.sync</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
379 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">){
380 </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">();
385 </span><span class="jsdoc-comment">// overridden Element method
386 </span><span class="jsdoc-var">setX </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">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
387 </span><span class="jsdoc-var">this.setXY</span><span class="jsdoc-syntax">([</span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.getY</span><span class="jsdoc-syntax">()], </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
390 </span><span class="jsdoc-comment">// overridden Element method
391 </span><span class="jsdoc-var">setY </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
392 </span><span class="jsdoc-var">this.setXY</span><span class="jsdoc-syntax">([</span><span class="jsdoc-var">this.getX</span><span class="jsdoc-syntax">(), </span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
395 </span><span class="jsdoc-comment">// overridden Element method
396 </span><span class="jsdoc-var">setSize </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">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
397 </span><span class="jsdoc-var">this.beforeAction</span><span class="jsdoc-syntax">();
398 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.createCB</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">);
399 </span><span class="jsdoc-var">supr.setSize.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</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-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
400 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">){
401 </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">();
405 </span><span class="jsdoc-comment">// overridden Element method
406 </span><span class="jsdoc-var">setWidth </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">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
407 </span><span class="jsdoc-var">this.beforeAction</span><span class="jsdoc-syntax">();
408 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.createCB</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">);
409 </span><span class="jsdoc-var">supr.setWidth.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
410 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">){
411 </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">();
415 </span><span class="jsdoc-comment">// overridden Element method
416 </span><span class="jsdoc-var">setHeight </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
417 </span><span class="jsdoc-var">this.beforeAction</span><span class="jsdoc-syntax">();
418 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.createCB</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">);
419 </span><span class="jsdoc-var">supr.setHeight.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
420 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">){
421 </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">();
425 </span><span class="jsdoc-comment">// overridden Element method
426 </span><span class="jsdoc-var">setBounds </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">x</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">y</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">w</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">h</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
427 </span><span class="jsdoc-var">this.beforeAction</span><span class="jsdoc-syntax">();
428 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">cb </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.createCB</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">c</span><span class="jsdoc-syntax">);
429 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">){
430 </span><span class="jsdoc-var">this.storeXY</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">]);
431 </span><span class="jsdoc-var">supr.setXY.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</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">]);
432 </span><span class="jsdoc-var">supr.setSize.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</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-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
433 </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">();
434 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
435 </span><span class="jsdoc-var">supr.setBounds.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</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">, </span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">cb</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">);
437 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
440 </span><span class="jsdoc-comment">/**
441 * Sets the z-index of this layer and adjusts any shadow and shim z-indexes. The layer z-index is automatically
442 * incremented by two more than the value passed in so that it always shows above any shadow or shim (the shadow
443 * element, if any, will be assigned z-index + 1, and the shim element, if any, will be assigned the unmodified z-index).
444 * @param {Number} zindex The new z-index to set
445 * @return {this} The Layer
447 </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">zindex</span><span class="jsdoc-syntax">){
448 </span><span class="jsdoc-var">this.zindex </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">zindex</span><span class="jsdoc-syntax">;
449 </span><span class="jsdoc-var">this.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"z-index"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">zindex </span><span class="jsdoc-syntax">+ 2);
450 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shadow</span><span class="jsdoc-syntax">){
451 </span><span class="jsdoc-var">this.shadow.setZIndex</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">zindex </span><span class="jsdoc-syntax">+ 1);
453 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.shim</span><span class="jsdoc-syntax">){
454 </span><span class="jsdoc-var">this.shim.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"z-index"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">zindex</span><span class="jsdoc-syntax">);
458 })();</span></code></body></html>