1 <html><head><title>Roo/panel/TabItem.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 * @class Roo.panel.TabItem
3 * @extends Roo.util.Observable
4 * Represents an individual item (tab plus body) in a TabPanel.
5 * @param {Roo.panel.Tab} tabPanel The {@link Roo.panel.Tab} this TabPanelItem belongs to
6 * @param {String} id The id of this TabPanelItem
7 * @param {String} text The text for the tab of this TabPanelItem
8 * @param {Boolean} closable True to allow this TabPanelItem to be closable (defaults to false)
10 </span><span class="jsdoc-var">Roo.panel.TabItem </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tabPanel</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">closable</span><span class="jsdoc-syntax">){
11 </span><span class="jsdoc-comment">/**
12 * The {@link Roo.panel.Tab} this TabPanelItem belongs to
15 </span><span class="jsdoc-var">this.tabPanel </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tabPanel</span><span class="jsdoc-syntax">;
16 </span><span class="jsdoc-comment">/**
17 * The id for this TabPanelItem
20 </span><span class="jsdoc-var">this.id </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">;
21 </span><span class="jsdoc-comment">/** @private */
22 </span><span class="jsdoc-var">this.disabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
23 </span><span class="jsdoc-comment">/** @private */
24 </span><span class="jsdoc-var">this.text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">;
25 </span><span class="jsdoc-comment">/** @private */
26 </span><span class="jsdoc-var">this.loaded </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
27 </span><span class="jsdoc-var">this.closable </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">closable</span><span class="jsdoc-syntax">;
29 </span><span class="jsdoc-comment">/**
30 * The body element for this TabPanelItem.
33 </span><span class="jsdoc-var">this.bodyEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tabPanel.createItemBody</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tabPanel.bodyEl.dom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">id</span><span class="jsdoc-syntax">));
34 </span><span class="jsdoc-var">this.bodyEl.setVisibilityMode</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.VISIBILITY</span><span class="jsdoc-syntax">);
35 </span><span class="jsdoc-var">this.bodyEl.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"display"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"block"</span><span class="jsdoc-syntax">);
36 </span><span class="jsdoc-var">this.bodyEl.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"zoom"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"1"</span><span class="jsdoc-syntax">);
37 </span><span class="jsdoc-var">this.hideAction</span><span class="jsdoc-syntax">();
39 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">els </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">tabPanel.createStripElements</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">tabPanel.stripEl.dom</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">closable</span><span class="jsdoc-syntax">);
40 </span><span class="jsdoc-comment">/** @private */
41 </span><span class="jsdoc-var">this.el </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els.el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
42 </span><span class="jsdoc-var">this.inner </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els.inner</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
43 </span><span class="jsdoc-var">this.textEl </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.el.dom.firstChild.firstChild.firstChild</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
44 </span><span class="jsdoc-var">this.pnode </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els.el.parentNode</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
45 </span><span class="jsdoc-var">this.el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"mousedown"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTabMouseDown</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
46 </span><span class="jsdoc-var">this.el.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"click"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.onTabClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
47 </span><span class="jsdoc-comment">/** @private */
48 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">closable</span><span class="jsdoc-syntax">){
49 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">c </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els.close</span><span class="jsdoc-syntax">, </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">);
50 </span><span class="jsdoc-var">c.dom.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.closeText</span><span class="jsdoc-syntax">;
51 </span><span class="jsdoc-var">c.addClassOnOver</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"close-over"</span><span class="jsdoc-syntax">);
52 </span><span class="jsdoc-var">c.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"click"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.closeClick</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
55 </span><span class="jsdoc-var">this.addEvents</span><span class="jsdoc-syntax">({
56 </span><span class="jsdoc-comment">/**
58 * Fires when this tab becomes the active tab.
59 * @param {Roo.panel.Tab} tabPanel The parent TabPanel
60 * @param {Roo.panel.TabItem} this
62 </span><span class="jsdoc-string">"activate"</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
63 </span><span class="jsdoc-comment">/**
65 * Fires before this tab is closed. To cancel the close, set cancel to true on e (e.cancel = true).
66 * @param {Roo.panel.TabItem} this
67 * @param {Object} e Set cancel to true on this object to cancel the close.
69 </span><span class="jsdoc-string">"beforeclose"</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
70 </span><span class="jsdoc-comment">/**
72 * Fires when this tab is closed.
73 * @param {Roo.panel.TabItem} this
75 </span><span class="jsdoc-string">"close"</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
76 </span><span class="jsdoc-comment">/**
78 * Fires when this tab is no longer the active tab.
79 * @param {Roo.panel.Tab} tabPanel The parent TabPanel
80 * @param {Roo.panel.TabItem} this
82 </span><span class="jsdoc-string">"deactivate" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true
83 </span><span class="jsdoc-syntax">});
84 </span><span class="jsdoc-var">this.hidden </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
86 </span><span class="jsdoc-var">Roo.panel.TabItem.superclass.constructor.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
89 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.panel.TabItem</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.util.Observable</span><span class="jsdoc-syntax">, {
90 </span><span class="jsdoc-var">purgeListeners </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
91 </span><span class="jsdoc-var">Roo.util.Observable.prototype.purgeListeners.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
92 </span><span class="jsdoc-var">this.el.removeAllListeners</span><span class="jsdoc-syntax">();
94 </span><span class="jsdoc-comment">/**
95 * Shows this TabPanelItem -- this <b>does not</b> deactivate the currently active TabPanelItem.
97 </span><span class="jsdoc-var">show </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
98 </span><span class="jsdoc-var">this.pnode.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"on"</span><span class="jsdoc-syntax">);
99 </span><span class="jsdoc-var">this.showAction</span><span class="jsdoc-syntax">();
100 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.isOpera</span><span class="jsdoc-syntax">){
101 </span><span class="jsdoc-var">this.tabPanel.stripWrap.repaint</span><span class="jsdoc-syntax">();
103 </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"activate"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.tabPanel</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
106 </span><span class="jsdoc-comment">/**
107 * Returns true if this tab is the active tab.
110 </span><span class="jsdoc-var">isActive </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
111 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.tabPanel.getActiveTab</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
114 </span><span class="jsdoc-comment">/**
115 * Hides this TabPanelItem -- if you don't activate another TabPanelItem this could look odd.
117 </span><span class="jsdoc-var">hide </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
118 </span><span class="jsdoc-var">this.pnode.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"on"</span><span class="jsdoc-syntax">);
119 </span><span class="jsdoc-var">this.hideAction</span><span class="jsdoc-syntax">();
120 </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"deactivate"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.tabPanel</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
123 </span><span class="jsdoc-var">hideAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
124 </span><span class="jsdoc-var">this.bodyEl.hide</span><span class="jsdoc-syntax">();
125 </span><span class="jsdoc-var">this.bodyEl.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"position"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"absolute"</span><span class="jsdoc-syntax">);
126 </span><span class="jsdoc-var">this.bodyEl.setLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"-20000px"</span><span class="jsdoc-syntax">);
127 </span><span class="jsdoc-var">this.bodyEl.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"-20000px"</span><span class="jsdoc-syntax">);
130 </span><span class="jsdoc-var">showAction </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
131 </span><span class="jsdoc-var">this.bodyEl.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"position"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-string">"relative"</span><span class="jsdoc-syntax">);
132 </span><span class="jsdoc-var">this.bodyEl.setTop</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
133 </span><span class="jsdoc-var">this.bodyEl.setLeft</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
134 </span><span class="jsdoc-var">this.bodyEl.show</span><span class="jsdoc-syntax">();
137 </span><span class="jsdoc-comment">/**
138 * Set the tooltip for the tab.
139 * @param {String} tooltip The tab's tooltip
141 </span><span class="jsdoc-var">setTooltip </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">){
142 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.QuickTips </span><span class="jsdoc-syntax">&& </span><span class="jsdoc-var">Roo.QuickTips.isEnabled</span><span class="jsdoc-syntax">()){
143 </span><span class="jsdoc-var">this.textEl.dom.qtip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">;
144 </span><span class="jsdoc-var">this.textEl.dom.removeAttribute</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'title'</span><span class="jsdoc-syntax">);
145 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
146 </span><span class="jsdoc-var">this.textEl.dom.title </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">;
150 </span><span class="jsdoc-var">onTabClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
151 </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
152 </span><span class="jsdoc-var">this.tabPanel.activate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.id</span><span class="jsdoc-syntax">);
155 </span><span class="jsdoc-var">onTabMouseDown </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
156 </span><span class="jsdoc-var">e.preventDefault</span><span class="jsdoc-syntax">();
157 </span><span class="jsdoc-var">this.tabPanel.activate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.id</span><span class="jsdoc-syntax">);
160 </span><span class="jsdoc-var">getWidth </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
161 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.inner.getWidth</span><span class="jsdoc-syntax">();
164 </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">width</span><span class="jsdoc-syntax">){
165 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">iwidth </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">width </span><span class="jsdoc-syntax">- </span><span class="jsdoc-var">this.pnode.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"lr"</span><span class="jsdoc-syntax">);
166 </span><span class="jsdoc-var">this.inner.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">iwidth</span><span class="jsdoc-syntax">);
167 </span><span class="jsdoc-var">this.textEl.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">iwidth</span><span class="jsdoc-syntax">-</span><span class="jsdoc-var">this.inner.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"lr"</span><span class="jsdoc-syntax">));
168 </span><span class="jsdoc-var">this.pnode.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">width</span><span class="jsdoc-syntax">);
171 </span><span class="jsdoc-comment">/**
172 * Show or hide the tab
173 * @param {Boolean} hidden True to hide or false to show.
175 </span><span class="jsdoc-var">setHidden </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">hidden</span><span class="jsdoc-syntax">){
176 </span><span class="jsdoc-var">this.hidden </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">hidden</span><span class="jsdoc-syntax">;
177 </span><span class="jsdoc-var">this.pnode.setStyle</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"display"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">hidden </span><span class="jsdoc-syntax">? </span><span class="jsdoc-string">"none" </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">""</span><span class="jsdoc-syntax">);
180 </span><span class="jsdoc-comment">/**
181 * Returns true if this tab is "hidden"
184 </span><span class="jsdoc-var">isHidden </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
185 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.hidden</span><span class="jsdoc-syntax">;
188 </span><span class="jsdoc-comment">/**
189 * Returns the text for this tab
192 </span><span class="jsdoc-var">getText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
193 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.text</span><span class="jsdoc-syntax">;
196 </span><span class="jsdoc-var">autoSize </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
197 </span><span class="jsdoc-comment">//this.el.beginMeasure();
198 </span><span class="jsdoc-var">this.textEl.setWidth</span><span class="jsdoc-syntax">(1);
199 </span><span class="jsdoc-comment">/*
200 * #2804 [new] Tabs in Roojs
201 * increase the width by 2-4 pixels to prevent the ellipssis showing in chrome
203 </span><span class="jsdoc-var">this.setWidth</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.textEl.dom.scrollWidth</span><span class="jsdoc-syntax">+</span><span class="jsdoc-var">this.pnode.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"lr"</span><span class="jsdoc-syntax">)+</span><span class="jsdoc-var">this.inner.getPadding</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"lr"</span><span class="jsdoc-syntax">) + 2);
204 </span><span class="jsdoc-comment">//this.el.endMeasure();
205 </span><span class="jsdoc-syntax">},
207 </span><span class="jsdoc-comment">/**
208 * Sets the text for the tab (Note: this also sets the tooltip text)
209 * @param {String} text The tab's text and tooltip
211 </span><span class="jsdoc-var">setText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">){
212 </span><span class="jsdoc-var">this.text </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">;
213 </span><span class="jsdoc-var">this.textEl.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">);
214 </span><span class="jsdoc-var">this.setTooltip</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">text</span><span class="jsdoc-syntax">);
215 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">this.tabPanel.resizeTabs</span><span class="jsdoc-syntax">){
216 </span><span class="jsdoc-var">this.autoSize</span><span class="jsdoc-syntax">();
219 </span><span class="jsdoc-comment">/**
220 * Activates this TabPanelItem -- this <b>does</b> deactivate the currently active TabPanelItem.
222 </span><span class="jsdoc-var">activate </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
223 </span><span class="jsdoc-var">this.tabPanel.activate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.id</span><span class="jsdoc-syntax">);
226 </span><span class="jsdoc-comment">/**
227 * Disables this TabPanelItem -- this does nothing if this is the active TabPanelItem.
229 </span><span class="jsdoc-var">disable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
230 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.tabPanel.active </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">){
231 </span><span class="jsdoc-var">this.disabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
232 </span><span class="jsdoc-var">this.pnode.addClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"disabled"</span><span class="jsdoc-syntax">);
236 </span><span class="jsdoc-comment">/**
237 * Enables this TabPanelItem if it was previously disabled.
239 </span><span class="jsdoc-var">enable </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
240 </span><span class="jsdoc-var">this.disabled </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
241 </span><span class="jsdoc-var">this.pnode.removeClass</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"disabled"</span><span class="jsdoc-syntax">);
244 </span><span class="jsdoc-comment">/**
245 * Sets the content for this TabPanelItem.
246 * @param {String} content The content
247 * @param {Boolean} loadScripts true to look for and load scripts
249 </span><span class="jsdoc-var">setContent </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">content</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">loadScripts</span><span class="jsdoc-syntax">){
250 </span><span class="jsdoc-var">this.bodyEl.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">content</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">loadScripts</span><span class="jsdoc-syntax">);
253 </span><span class="jsdoc-comment">/**
254 * Gets the {@link Roo.UpdateManager} for the body of this TabPanelItem. Enables you to perform Ajax updates.
255 * @return {Roo.UpdateManager} The UpdateManager
257 </span><span class="jsdoc-var">getUpdateManager </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
258 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.bodyEl.getUpdateManager</span><span class="jsdoc-syntax">();
261 </span><span class="jsdoc-comment">/**
262 * Set a URL to be used to load the content for this TabPanelItem.
263 * @param {String/Function} url The URL to load the content from, or a function to call to get the URL
264 * @param {String/Object} params (optional) The string params for the update call or an object of the params. See {@link Roo.UpdateManager#update} for more details. (Defaults to null)
265 * @param {Boolean} loadOnce (optional) Whether to only load the content once. If this is false it makes the Ajax call every time this TabPanelItem is activated. (Defaults to false)
266 * @return {Roo.UpdateManager} The UpdateManager
268 </span><span class="jsdoc-var">setUrl </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">url</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">loadOnce</span><span class="jsdoc-syntax">){
269 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.refreshDelegate</span><span class="jsdoc-syntax">){
270 </span><span class="jsdoc-var">this.un</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">'activate'</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.refreshDelegate</span><span class="jsdoc-syntax">);
272 </span><span class="jsdoc-var">this.refreshDelegate </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this._handleRefresh.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, [</span><span class="jsdoc-var">url</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">loadOnce</span><span class="jsdoc-syntax">]);
273 </span><span class="jsdoc-var">this.on</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"activate"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.refreshDelegate</span><span class="jsdoc-syntax">);
274 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.bodyEl.getUpdateManager</span><span class="jsdoc-syntax">();
277 </span><span class="jsdoc-comment">/** @private */
278 </span><span class="jsdoc-var">_handleRefresh </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">url</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">loadOnce</span><span class="jsdoc-syntax">){
279 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">loadOnce </span><span class="jsdoc-syntax">|| !</span><span class="jsdoc-var">this.loaded</span><span class="jsdoc-syntax">){
280 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">updater </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.bodyEl.getUpdateManager</span><span class="jsdoc-syntax">();
281 </span><span class="jsdoc-var">updater.update</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">url</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">params</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this._setLoaded.createDelegate</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">));
285 </span><span class="jsdoc-comment">/**
286 * Forces a content refresh from the URL specified in the {@link #setUrl} method.
287 * Will fail silently if the setUrl method has not been called.
288 * This does not activate the panel, just updates its content.
290 </span><span class="jsdoc-var">refresh </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
291 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.refreshDelegate</span><span class="jsdoc-syntax">){
292 </span><span class="jsdoc-var">this.loaded </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
293 </span><span class="jsdoc-var">this.refreshDelegate</span><span class="jsdoc-syntax">();
297 </span><span class="jsdoc-comment">/** @private */
298 </span><span class="jsdoc-var">_setLoaded </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
299 </span><span class="jsdoc-var">this.loaded </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">;
302 </span><span class="jsdoc-comment">/** @private */
303 </span><span class="jsdoc-var">closeClick </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">e</span><span class="jsdoc-syntax">){
304 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">= {};
305 </span><span class="jsdoc-var">e.stopEvent</span><span class="jsdoc-syntax">();
306 </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"beforeclose"</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
307 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o.cancel </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">){
308 </span><span class="jsdoc-var">this.tabPanel.removeTab</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.id</span><span class="jsdoc-syntax">);
311 </span><span class="jsdoc-comment">/**
312 * The text displayed in the tooltip for the close icon.
315 </span><span class="jsdoc-var">closeText </span><span class="jsdoc-syntax">: </span><span class="jsdoc-string">"Close this tab"
316 </span><span class="jsdoc-syntax">});
318 </span><span class="jsdoc-comment">/** @private */
319 </span><span class="jsdoc-var">Roo.panel.Tab.prototype.createStrip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">container</span><span class="jsdoc-syntax">){
320 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">strip </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">document.createElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">"div"</span><span class="jsdoc-syntax">);
321 </span><span class="jsdoc-var">strip.className </span><span class="jsdoc-syntax">= </span><span class="jsdoc-string">"x-tabs-wrap"</span><span class="jsdoc-syntax">;
322 </span><span class="jsdoc-var">container.appendChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">strip</span><span class="jsdoc-syntax">);
323 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">strip</span><span class="jsdoc-syntax">;
324 };</span></code></body></html>