コード例 #1
0
 private void writeTopTabHeader(FacesContext context, ResponseWriter writer, AbstractTab tab)
     throws IOException {
   boolean isActive = tab.isActive();
   boolean isDisabled = tab.isDisabled();
   // TODO: Ilya, review. Much HTML because we always encoding all states. Need to optimize
   // somehow.
   encodeTabHeader(context, tab, writer, inactive, !isActive && !isDisabled);
   encodeTabHeader(context, tab, writer, active, isActive && !isDisabled);
   encodeTabHeader(context, tab, writer, disabled, isDisabled);
 }
コード例 #2
0
 private String positionAbbreviation(AbstractTab tab) {
   if (tab.getParentPanel().isHeaderPositionedTop()) {
     return "top";
   } else {
     return "btm";
   }
 }
コード例 #3
0
  private void encodeTabHeader(
      FacesContext context,
      AbstractTab tab,
      ResponseWriter writer,
      AbstractTogglePanelTitledItem.HeaderStates state,
      Boolean isDisplay)
      throws IOException {

    String headerStateClass = "rf-tab-hdr-" + state.abbreviation();
    String headerPositionClass = "rf-tab-hdr-" + positionAbbreviation(tab);

    writer.startElement(TD_ELEM, tab);
    writer.writeAttribute(
        ID_ATTRIBUTE, tab.getClientId(context) + ":header:" + state.toString(), null);
    renderPassThroughAttributes(context, tab, HEADER_ATTRIBUTES);
    writer.writeAttribute(
        CLASS_ATTRIBUTE,
        concatClasses(
            "rf-tab-hdr",
            headerStateClass,
            headerPositionClass,
            attributeAsString(tab, "headerClass"),
            attributeAsString(tab, state.headerClass())),
        null);
    writer.writeAttribute(
        STYLE_ATTRIBUTE,
        concatStyles(isDisplay ? "" : "display : none", attributeAsString(tab, "headerStyle")),
        null);

    writer.startElement(SPAN_ELEM, tab);
    writer.writeAttribute(CLASS_ATTRIBUTE, "rf-tab-lbl", null);

    UIComponent headerFacet = tab.getHeaderFacet(state);
    if (headerFacet != null && headerFacet.isRendered()) {
      headerFacet.encodeAll(context);
    } else {
      Object headerText = tab.getAttributes().get("header");
      if (headerText != null && !headerText.equals("")) {
        writer.writeText(headerText, null);
      }
    }

    writer.endElement(SPAN_ELEM);

    writer.endElement(TD_ELEM);
  }