753b88e23ac5a9d9ac5841fd17ee8f11f9142fef
[roojs1] / docs / src / Roo_LayoutStateManager.js.html
1 <html><head><title>/home/edward/gitlive/roojs1/Roo/LayoutStateManager.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  * Private internal class for reading and applying state
15  */
16 </span><span class="jsdoc-var">Roo.LayoutStateManager </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">layout</span><span class="jsdoc-syntax">){
17      </span><span class="jsdoc-comment">// default empty state
18      </span><span class="jsdoc-var">this.state </span><span class="jsdoc-syntax">= {
19         </span><span class="jsdoc-var">north</span><span class="jsdoc-syntax">: {},
20         </span><span class="jsdoc-var">south</span><span class="jsdoc-syntax">: {},
21         </span><span class="jsdoc-var">east</span><span class="jsdoc-syntax">: {},
22         </span><span class="jsdoc-var">west</span><span class="jsdoc-syntax">: {}
23     };
24 };
25
26 </span><span class="jsdoc-var">Roo.LayoutStateManager.prototype </span><span class="jsdoc-syntax">= {
27     </span><span class="jsdoc-var">init </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">layout</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">provider</span><span class="jsdoc-syntax">){
28         </span><span class="jsdoc-var">this.provider </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">provider</span><span class="jsdoc-syntax">;
29         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">state </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">provider.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">layout.id</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">&quot;-layout-state&quot;</span><span class="jsdoc-syntax">);
30         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
31             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">wasUpdating </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">layout.isUpdating</span><span class="jsdoc-syntax">();
32             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">wasUpdating</span><span class="jsdoc-syntax">){
33                 </span><span class="jsdoc-var">layout.beginUpdate</span><span class="jsdoc-syntax">();
34             }
35             </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">key </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">){
36                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">] != </span><span class="jsdoc-string">&quot;function&quot;</span><span class="jsdoc-syntax">){
37                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">rstate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">];
38                     </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">layout.getRegion</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">);
39                     </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">r </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">rstate</span><span class="jsdoc-syntax">){
40                         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rstate.size</span><span class="jsdoc-syntax">){
41                             </span><span class="jsdoc-var">r.resizeTo</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rstate.size</span><span class="jsdoc-syntax">);
42                         }
43                         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">rstate.collapsed </span><span class="jsdoc-syntax">== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
44                             </span><span class="jsdoc-var">r.collapse</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
45                         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
46                             </span><span class="jsdoc-var">r.expand</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">);
47                         }
48                     }
49                 }
50             }
51             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">wasUpdating</span><span class="jsdoc-syntax">){
52                 </span><span class="jsdoc-var">layout.endUpdate</span><span class="jsdoc-syntax">();
53             }
54             </span><span class="jsdoc-var">this.state </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">state</span><span class="jsdoc-syntax">;
55         }
56         </span><span class="jsdoc-var">this.layout </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">layout</span><span class="jsdoc-syntax">;
57         </span><span class="jsdoc-var">layout.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;regionresized&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onRegionResized</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
58         </span><span class="jsdoc-var">layout.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;regioncollapsed&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onRegionCollapsed</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
59         </span><span class="jsdoc-var">layout.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;regionexpanded&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onRegionExpanded</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
60     },
61
62     </span><span class="jsdoc-var">storeState </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
63         </span><span class="jsdoc-var">this.provider.set</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.layout.id</span><span class="jsdoc-syntax">+</span><span class="jsdoc-string">&quot;-layout-state&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.state</span><span class="jsdoc-syntax">);
64     },
65
66     </span><span class="jsdoc-var">onRegionResized </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">region</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">){
67         </span><span class="jsdoc-var">this.state</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">region.getPosition</span><span class="jsdoc-syntax">()]</span><span class="jsdoc-var">.size </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">newSize</span><span class="jsdoc-syntax">;
68         </span><span class="jsdoc-var">this.storeState</span><span class="jsdoc-syntax">();
69     },
70
71     </span><span class="jsdoc-var">onRegionCollapsed </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">region</span><span class="jsdoc-syntax">){
72         </span><span class="jsdoc-var">this.state</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">region.getPosition</span><span class="jsdoc-syntax">()]</span><span class="jsdoc-var">.collapsed </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
73         </span><span class="jsdoc-var">this.storeState</span><span class="jsdoc-syntax">();
74     },
75
76     </span><span class="jsdoc-var">onRegionExpanded </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">region</span><span class="jsdoc-syntax">){
77         </span><span class="jsdoc-var">this.state</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">region.getPosition</span><span class="jsdoc-syntax">()]</span><span class="jsdoc-var">.collapsed </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
78         </span><span class="jsdoc-var">this.storeState</span><span class="jsdoc-syntax">();
79     }
80 };</span></code></body></html>