public Tab findTab(String tabClientId) { for (UIComponent component : getChildren()) { if (component.getClientId().equals(tabClientId)) { return (Tab) component; } } return null; }
@Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { Map<String, String> params = context.getExternalContext().getRequestParameterMap(); TabView tabView = (TabView) component; String clientId = tabView.getClientId(context); String var = tabView.getVar(); if (tabView.isContentLoadRequest(context)) { Tab tabToLoad = null; if (var == null) { String tabClientId = params.get(clientId + "_newTab"); tabToLoad = tabView.findTab(tabClientId); tabToLoad.encodeAll(context); tabToLoad.setLoaded(true); } else { int tabindex = Integer.parseInt(params.get(clientId + "_tabindex")); tabView.setIndex(tabindex); tabToLoad = (Tab) tabView.getChildren().get(0); tabToLoad.encodeAll(context); tabView.setIndex(-1); } } else { tabView.resetLoadedTabsState(); encodeMarkup(context, tabView); encodeScript(context, tabView); } }
setIndex(tabindex); changeEvent.setData(getIndexData()); changeEvent.setTab((Tab) getChildren().get(0)); setIndex(tabindex); closeEvent.setData(getIndexData()); closeEvent.setTab((Tab) getChildren().get(0));
protected void encodeContents(FacesContext context, TabView tabView) throws IOException { ResponseWriter writer = context.getResponseWriter(); String var = tabView.getVar(); int activeIndex = tabView.getActiveIndex(); boolean dynamic = tabView.isDynamic(); writer.startElement("div", null); writer.writeAttribute("class", TabView.PANELS_CLASS, null); if (var == null) { int j = 0; for (int i = 0; i < tabView.getChildCount(); i++) { UIComponent child = tabView.getChildren().get(i); if (child.isRendered() && child instanceof Tab) { encodeTabContent(context, (Tab) child, j, (j == activeIndex), dynamic); j++; } } } else { int dataCount = tabView.getRowCount(); //boundary check activeIndex = activeIndex >= dataCount ? 0 : activeIndex; Tab tab = (Tab) tabView.getChildren().get(0); for (int i = 0; i < dataCount; i++) { tabView.setIndex(i); encodeTabContent(context, tab, i, (i == activeIndex), dynamic); } tabView.setIndex(-1); } writer.endElement("div"); }
int j = 0; for (int i = 0; i < tabView.getChildCount(); i++) { UIComponent child = tabView.getChildren().get(i); if (child.isRendered() && child instanceof Tab) { encodeTabHeader(context, tabView, (Tab) child, j, (j == activeIndex)); Tab tab = (Tab) tabView.getChildren().get(0);
public Tab findTab(String tabClientId) { for(UIComponent component : getChildren()) { if(component.getClientId().equals(tabClientId)) return (Tab) component; } return null; }
@Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { Map<String, String> params = context.getExternalContext().getRequestParameterMap(); TabView tabView = (TabView) component; String clientId = tabView.getClientId(context); String var = tabView.getVar(); if (tabView.isContentLoadRequest(context)) { Tab tabToLoad = null; if (var == null) { String tabClientId = params.get(clientId + "_newTab"); tabToLoad = tabView.findTab(tabClientId); tabToLoad.encodeAll(context); tabToLoad.setLoaded(true); } else { int tabindex = Integer.parseInt(params.get(clientId + "_tabindex")); tabView.setIndex(tabindex); tabToLoad = (Tab) tabView.getChildren().get(0); tabToLoad.encodeAll(context); tabView.setIndex(-1); } } else { tabView.resetLoadedTabsState(); encodeMarkup(context, tabView); encodeScript(context, tabView); } }
setIndex(tabindex); changeEvent.setData(this.getIndexData()); changeEvent.setTab((Tab) getChildren().get(0)); setIndex(tabindex); closeEvent.setData(this.getIndexData()); closeEvent.setTab((Tab) getChildren().get(0));
@Override protected void encodeContents(FacesContext context, TabView tabView) throws IOException { ResponseWriter writer = context.getResponseWriter(); int activeIndex = tabView.getActiveIndex(); boolean dynamic = tabView.isDynamic(); writer.startElement("div", null); writer.writeAttribute("class", TabView.PANELS_CLASS, null); if (!tabView.isRepeating()) { int i = 0; for (UIComponent kid : tabView.getChildren()) { if (kid.isRendered() && kid instanceof Tab) { encodeTabContent(context, (Tab) kid, i, (i == activeIndex), dynamic); i++; } } } else { int dataCount = tabView.getRowCount(); activeIndex = activeIndex >= dataCount ? 0 : activeIndex; Tab tab = (Tab) tabView.getChildren().get(0); for (int i = 0; i < dataCount; i++) { tabView.setIndex(i); encodeTabContent(context, tab, i, (i == activeIndex), dynamic); } tabView.setIndex(-1); } writer.endElement("div"); }
protected void encodeContents(FacesContext context, TabView tabView) throws IOException { ResponseWriter writer = context.getResponseWriter(); String var = tabView.getVar(); int activeIndex = tabView.getActiveIndex(); boolean dynamic = tabView.isDynamic(); writer.startElement("div", null); writer.writeAttribute("class", TabView.PANELS_CLASS, null); if (var == null) { int i = 0; for (UIComponent kid : tabView.getChildren()) { if (kid.isRendered() && kid instanceof Tab) { encodeTabContent(context, (Tab) kid, i, (i == activeIndex), dynamic); i++; } } } else { int dataCount = tabView.getRowCount(); //boundary check activeIndex = activeIndex >= dataCount ? 0 : activeIndex; Tab tab = (Tab) tabView.getChildren().get(0); for (int i = 0; i < dataCount; i++) { tabView.setIndex(i); encodeTabContent(context, tab, i, (i == activeIndex), dynamic); } tabView.setIndex(-1); } writer.endElement("div"); }
@Override protected void encodeHeaders(FacesContext context, TabView tabView) throws IOException { ResponseWriter writer = context.getResponseWriter(); int activeIndex = tabView.getActiveIndex(); writer.startElement("div", null); writer.writeAttribute("class", TabView.MOBILE_NAVBAR_CLASS, null); writer.startElement("ul", null); writer.writeAttribute("class", TabView.MOBILE_NAVIGATOR_CLASS, null); if (!tabView.isRepeating()) { int i = 0; for (UIComponent kid : tabView.getChildren()) { if (kid.isRendered() && kid instanceof Tab) { encodeTabHeader(context, tabView, (Tab) kid, i, (i == activeIndex)); i++; } } } else { int dataCount = tabView.getRowCount(); activeIndex = activeIndex >= dataCount ? 0 : activeIndex; Tab tab = (Tab) tabView.getChildren().get(0); for (int i = 0; i < dataCount; i++) { tabView.setIndex(i); encodeTabHeader(context, tabView, tab, i, (i == activeIndex)); } tabView.setIndex(-1); } writer.endElement("ul"); writer.endElement("div"); }
for (UIComponent kid : tabView.getChildren()) { if (kid.isRendered() && kid instanceof Tab) { encodeTabHeader(context, tabView, (Tab) kid, i, (i == activeIndex)); Tab tab = (Tab) tabView.getChildren().get(0);
tabView.getChildren().add( tab );