tabview-min.js revision 56522c45e2b30dcf6faa97eb57206b22ae89b8fd
YUI.add("tabview",function(F){var A=F.TabviewBase._queries,D=F.TabviewBase._classNames,G=".",E=((F.UA.gecko||F.UA.ie)&&navigator.userAgent.indexOf("Windows")>-1),B=F.ClassNameManager.getClassName;TabView=F.Base.create("tabView",F.Widget,[F.WidgetParent],{_afterChildRemoved:function(J){var H=J.index,I=this.get("selection");if(!I){I=this.item(H-1)||this.item(0);if(I){I.set("selected",1);}}},_initAria:function(){var H=this.get("contentBox"),I=H.one(A.tabviewList);if(I){I.setAttrs({role:I});}if(E){tabView.delegate("keydown",function(J){if(J.charCode===13){this.simulate("click");}},">ul>li>a");}},bindUI:function(){this.get("contentBox").plug(F.Plugin.NodeFocusManager,{descendants:A.tabLabel,keys:{next:"down:39",previous:"down:37"},circular:true});this.after("removeChild",this._afterChildRemoved);},renderUI:function(){var H=this.get("contentBox");this._renderListBox(H);this._renderPanelBox(H);this._renderTabs(H);this._setDefSelection(H);},_setDefSelection:function(){var H=this.item(0);if(!this.get("selection")&&H){H.set("selected",1);}},_renderListBox:function(H){var I=H.one(A.tabviewList);if(!I){H.append(TabView.LIST_TEMPLATE);}else{I.addClass(D.tabviewList);}},_renderPanelBox:function(I){var H=I.one(A.tabviewPanel);if(!H){I.append(TabView.PANEL_TEMPLATE);}else{H.addClass(D.tabviewPanel);}},_renderTabs:function(H){var J=H.all(A.tab),I=H.all(A.tabPanel),K=this;if(J){J.addClass(D.tab);H.all(A.tabLabel).addClass(D.tabLabel);H.all(A.tabPanel).addClass(D.tabPanel);J.each(function(N,M){var L=I.item(M);K.add({boundingBox:N,contentBox:N.one(G+D.tabLabel),label:N.one(G+D.tabLabel).get("text"),content:L?L.get("innerHTML"):null});});}}},{LIST_TEMPLATE:'<ul class="'+D.tabviewList+'"></ul>',PANEL_TEMPLATE:'<div class="'+D.tabviewPanel+'"></div>',ATTRS:{defaultChildType:{value:"Tab"},tabIndex:{value:null,validator:"_validTabIndex"}}});F.TabView=TabView;var C=F.Lang,A=F.TabviewBase._queries,D=F.TabviewBase._classNames,E=((F.UA.gecko||F.UA.ie)&&navigator.userAgent.indexOf("Windows")>-1),B=F.ClassNameManager.getClassName;F.Tab=F.Base.create("tab",F.Widget,[F.WidgetChild],{BOUNDING_TEMPLATE:'<li class="'+D.tab+'"></li>',CONTENT_TEMPLATE:'<a class="'+D.tabLabel+'"></a>',PANEL_TEMPLATE:'<div class="'+D.tabPanel+'"></div>',_uiSetSelectedPanel:function(H){this.get("panelNode").toggleClass(D.selectedPanel,H);},_afterTabSelectedChange:function(H){this._uiSetSelectedPanel(H.newVal);},_afterParentChange:function(H){if(!H.newVal){this._remove();}else{this._add();}},_initAria:function(){var I=this.get("contentBox"),J=I.get("id"),H=this.get("panelNode");if(!J){J=F.guid();I.set("id",J);}I.set("role","tab");I.get("parentNode").set("role","presentation");if(E){I.removeAttribute("href");}H.setAttrs({role:"tabpanel","aria-labelledby":J});},syncUI:function(){this._uiSetSelectedPanel(this.get("selected"));},bindUI:function(){this.after("selectedChange",this._afterTabSelectedChange);this.after("parentChange",this._afterParentChange);},renderUI:function(){var I=this.get("parent").get("contentBox"),H=this.get("contentBox");this._renderLabel(H,I);this._renderPanel(H,I);this._initAria();},_renderLabel:function(I,H){var J=this.get("label");I.setContent(J);H.one(A.tabviewList).appendChild(this.get("boundingBox"));},_renderPanel:function(J,I){var H=I.all(A.tabPanel).item(this.get("index"));if(!H){H=F.Node.create(this.PANEL_TEMPLATE);H.setContent(this.get("content"));I.one(A.tabviewPanel).appendChild(H);}this._set("panelNode",H);},_add:function(){var H=this.get("parent").get("contentBox"),J=H.one(A.tabviewList),I=H.one(A.tabviewPanel);if(J){J.appendChild(this.get("boundingBox"));}if(I){I.appendChild(this.get("panelNode"));}},_remove:function(){this.get("boundingBox").remove();this.get("panelNode").remove();},_onActivate:function(H){if(H.target===this){H.domEvent.preventDefault();H.target.set("selected",1);}},initializer:function(){this.publish(this.get("triggerEvent"),{defaultFn:this._onActivate});}},{ATTRS:{triggerEvent:{value:"click"},label:{validator:C.isString},content:{validator:C.isString},panelNode:{},tabIndex:{value:null,validator:"_validTabIndex"}},HTML_PARSER:{selection:function(H){return this.get("boundingBox").hasClass(D.selectedTab);}}});},"@VERSION@",{requires:["substitute","node-focusmanager","tabview-base","widget","widget-parent","widget-child"]});