📄 htmltabbedpanerenderer.java
字号:
{ String paramName = tabbedPane.getClientId(facesContext) + "." + tabIdx; String paramValue = (String)paramMap.get(paramName); if (paramValue != null && paramValue.length() > 0) { tabbedPane.queueEvent(new TabChangeEvent(tabbedPane, tabbedPane.getSelectedIndex(), tabIdx)); return; } tabIdx++; } } } protected void writeFormStart(ResponseWriter writer, FacesContext facesContext, UIComponent tabbedPane) throws IOException { ViewHandler viewHandler = facesContext.getApplication().getViewHandler(); String viewId = facesContext.getViewRoot().getViewId(); String actionURL = viewHandler.getActionURL(facesContext, viewId); //write out auto form writer.startElement(HTML.FORM_ELEM, null); writer.writeAttribute(HTML.NAME_ATTR, tabbedPane.getClientId(facesContext) + AUTO_FORM_SUFFIX, null); writer.writeAttribute(HTML.STYLE_ATTR, "display:inline", null); writer.writeAttribute(HTML.METHOD_ATTR, "post", null); writer.writeURIAttribute(HTML.ACTION_ATTR, facesContext.getExternalContext().encodeActionURL(actionURL), null); writer.flush(); } protected void writeTableStart(ResponseWriter writer, FacesContext facesContext, HtmlPanelTabbedPane tabbedPane) throws IOException { String oldStyle = tabbedPane.getStyle(); if (oldStyle == null) { tabbedPane.setStyle(TABLE_STYLE); } else { tabbedPane.setStyle(TABLE_STYLE + "; " + oldStyle); } String oldBgColor = tabbedPane.getBgcolor(); tabbedPane.setBgcolor(null); writer.startElement(HTML.TABLE_ELEM, tabbedPane); writer.writeAttribute(HTML.CELLSPACING_ATTR, "0", null); HtmlRendererUtils.renderHTMLAttributes(writer, tabbedPane, HTML.TABLE_PASSTHROUGH_ATTRIBUTES); writer.flush(); tabbedPane.setStyle(oldStyle); tabbedPane.setBgcolor(oldBgColor); } protected void writeHeaderCell(ResponseWriter writer, FacesContext facesContext, HtmlPanelTabbedPane tabbedPane, HtmlPanelTab tab, int tabIndex, boolean active, boolean disabled) throws IOException { HtmlRendererUtils.writePrettyLineSeparator(facesContext); HtmlRendererUtils.writePrettyIndent(facesContext); writer.startElement(HTML.TD_ELEM, tabbedPane); if (active) { writer.writeAttribute(HTML.STYLE_ATTR, ACTIVE_HEADER_CELL_STYLE + "background-color:" + tabbedPane.getBgcolor(), null); HtmlRendererUtils.renderHTMLAttribute(writer, tabbedPane, "activeTabStyleClass", HTML.STYLE_CLASS_ATTR); } else if (disabled) { writer.writeAttribute(HTML.STYLE_ATTR, INACTIVE_HEADER_CELL_STYLE, null); HtmlRendererUtils.renderHTMLAttribute(writer, tabbedPane, "disabledTabStyleClass", HTML.STYLE_CLASS_ATTR); } else { writer.writeAttribute(HTML.STYLE_ATTR, INACTIVE_HEADER_CELL_STYLE, null); HtmlRendererUtils.renderHTMLAttribute(writer, tabbedPane, "inactiveTabStyleClass", HTML.STYLE_CLASS_ATTR); } String label = tab.getLabel(); if (label == null || label.length() == 0) { label = "Tab " + tabIndex; } if (disabled) { writer.startElement(HTML.LABEL_ELEM, tabbedPane); writer.writeAttribute(HTML.NAME_ATTR, tabbedPane.getClientId(facesContext) + "." + tabIndex, null); writer.writeAttribute(HTML.STYLE_ATTR, BUTTON_STYLE_DISABLED, null); writer.writeText(label, null); writer.endElement(HTML.LABEL_ELEM); } else { //Button writer.startElement(HTML.INPUT_ELEM, tabbedPane); writer.writeAttribute(HTML.TYPE_ATTR, "submit", null); writer.writeAttribute(HTML.NAME_ATTR, tabbedPane.getClientId(facesContext) + "." + tabIndex, null); writer.writeAttribute(HTML.VALUE_ATTR, label, null); if (active) { writer.writeAttribute(HTML.STYLE_ATTR, BUTTON_STYLE_ACTIVE + "background-color:" + tabbedPane.getBgcolor(), null); } else { writer.writeAttribute(HTML.STYLE_ATTR, BUTTON_STYLE_INACTIVE, null); } writer.endElement(HTML.INPUT_ELEM); } writer.endElement(HTML.TD_ELEM); } protected void writeSubHeaderCells(ResponseWriter writer, FacesContext facesContext, HtmlPanelTabbedPane tabbedPane, int visibleTabCount, int visibleTabSelectedIndex, boolean disabled) throws IOException { StringBuffer buf = new StringBuffer(); for (int i = 0, cnt = visibleTabCount + 1; i < cnt; i++) { HtmlRendererUtils.writePrettyLineSeparator(facesContext); HtmlRendererUtils.writePrettyIndent(facesContext); writer.startElement(HTML.TD_ELEM, tabbedPane); buf.setLength(0); buf.append(SUB_HEADER_CELL_STYLE); buf.append("border-top:").append(i == visibleTabSelectedIndex ? NO_BORDER_STYLE : BORDER_STYLE); buf.append("border-right:").append(i + 1 < cnt ? NO_BORDER_STYLE : BORDER_STYLE); buf.append("border-left:").append(i > 0 ? NO_BORDER_STYLE : BORDER_STYLE); buf.append("background-color:").append(tabbedPane.getBgcolor()); writer.writeAttribute(HTML.STYLE_ATTR, buf.toString(), null); if (i == visibleTabSelectedIndex) { HtmlRendererUtils.renderHTMLAttribute(writer, tabbedPane, "activeSubStyleClass", HTML.STYLE_CLASS_ATTR); } else { HtmlRendererUtils.renderHTMLAttribute(writer, tabbedPane, "inactiveSubStyleClass", HTML.STYLE_CLASS_ATTR); } writer.write(" "); writer.endElement(HTML.TD_ELEM); } } protected void writeTabCell(ResponseWriter writer, FacesContext facesContext, HtmlPanelTabbedPane tabbedPane, int tabCount, int selectedIndex) throws IOException { HtmlRendererUtils.writePrettyLineSeparator(facesContext); HtmlRendererUtils.writePrettyIndent(facesContext); writer.startElement(HTML.TD_ELEM, tabbedPane); writer.writeAttribute(HTML.COLSPAN_ATTR, Integer.toString(tabCount + 1), null); writer.writeAttribute(HTML.STYLE_ATTR, TAB_CELL_STYLE + "background-color:" + tabbedPane.getBgcolor(), null); HtmlRendererUtils.renderHTMLAttribute(writer, tabbedPane, "tabContentStyleClass", HTML.STYLE_CLASS_ATTR); int tabIdx = 0; List children = tabbedPane.getChildren(); for (int i = 0, len = children.size(); i < len; i++) { UIComponent child = getUIComponent((UIComponent)children.get(i)); if (child instanceof HtmlPanelTab) { if (tabIdx == selectedIndex) { RendererUtils.renderChild(facesContext, child); } tabIdx++; } else { RendererUtils.renderChild(facesContext, child); } } writer.endElement(HTML.TD_ELEM); } private UIComponent getUIComponent(UIComponent uiComponent) { if (uiComponent instanceof UIForm || uiComponent instanceof UINamingContainer) { List children = uiComponent.getChildren(); for (int i = 0, len = children.size(); i < len; i++) { uiComponent = getUIComponent((UIComponent)children.get(i)); } } return uiComponent; } protected void writeFormEnd(ResponseWriter writer, FacesContext facesContext) throws IOException { //write state marker ViewHandler viewHandler = facesContext.getApplication().getViewHandler(); viewHandler.writeState(facesContext); writer.endElement(HTML.FORM_ELEM); } protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent) { return !UserRoleUtils.isEnabledOnUserRole(uiComponent); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -