Examples of RenderStage


Examples of org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.RenderStage

      _columnGroupRenderer.encodeAll(context, rc, component, bean);
      return;
    }

    // check to see if we are rendering a table column header, or table data
    RenderStage rs = tContext.getRenderStage();
    int stage = rs.getStage();
    switch (stage)
    {
    case RenderStage.INITIAL_STAGE:
      _computeMode(rc, tContext, component, bean);
      break;
View Full Code Here

Examples of org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.RenderStage

    ) throws IOException
  {
    TableRenderingContext tContext =
      TableRenderingContext.getCurrentInstance();

    RenderStage rs = tContext.getRenderStage();
    int stage = rs.getStage();
    switch (stage)
    {
    case RenderStage.INITIAL_STAGE:
      _computeMode(context, tContext, component);
      break;
View Full Code Here

Examples of org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.RenderStage

      // start the outer table:
      rw.startElement(XhtmlConstants.TABLE_ELEMENT, null);
      renderTableAttributes(context, arc, component, bean, "0", "0");

      RenderStage renderStage = tContext.getRenderStage();
      assert (renderStage.getStage()==RenderStage.INITIAL_STAGE);

      // give the table's columns a chance to initialize:
      renderSingleRow(context, arc, tContext, component);

      // 1. render the header bars (title, controlbar and subcontrolbar)
      renderNavigationHeaderBars(context, arc, tContext, component, bean);

      // 2. render the table content
      renderTableContent(context, arc, tContext, component);

      // end the outertable:
      rw.endElement(XhtmlConstants.TABLE_ELEMENT);


      // gives some beans the chance to cleanup:
      renderStage.setStage(RenderStage.END_STAGE);
      renderSingleRow(context, arc, tContext, component);

      String tid = tContext.getTableId();
      FormData formData = arc.getFormData();
      if (formData != null)
View Full Code Here

Examples of org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.RenderStage

    // indicate that this is a repeating region, so that beans like the
    // choiceBean can stay synchronized
    arc.getProperties().put(TrinidadRenderingConstants.REPEAT_PROPERTY,
                         Boolean.TRUE);

    RenderStage rs = tContext.getRenderStage();
    rs.setStage(isUpper
                ? RenderStage.UPPER_CONTROL_BAR_STAGE
                : RenderStage.LOWER_CONTROL_BAR_STAGE);


    // Due to layout problems that occur when performing a partial
View Full Code Here

Examples of org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.RenderStage

    TableRenderingContext tContext,
    UIComponent component) throws IOException
  {
    // This renders a whole bunch of <TH>..</TH> elements or <TD>..</TD>
    // elements depending on the RenderStage
    RenderStage renderStage = tContext.getRenderStage();
    int stage = renderStage.getStage();
    if (stage == RenderStage.COLUMN_HEADER_STAGE)
    {
      renderColumnHeader(context, arc, tContext, component);
      return;
    }
View Full Code Here

Examples of org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.RenderStage

    boolean isUpper) throws IOException
  {
    if (!isUpper)
      return;

    RenderStage rs = tContext.getRenderStage();
    rs.setStage(RenderStage.SUB_CONTROL_BAR_STAGE);
    renderSelectionLinks(context, arc, tContext, component);
  }
View Full Code Here

Examples of org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.RenderStage

      tContext.setExplicitHeaderIDMode(true);

    ResponseWriter writer = context.getResponseWriter();
    UIComponent table = tContext.getTable();
    //    DataObject savedData      = tContext.getCurrentDataObject();
    RenderStage renderStage = tContext.getRenderStage();
    Object assertKey = null;
    assert ((assertKey = ((UIXCollection)table).getRowKey()) != null)||true;
    //
    // 2. Render the top / column header
    //
    // =-= ACW: if a table is very wide, then we render in a special mode
    // where the control bars and the table content are in different HTML
    // tables. see bug 2530006:
    boolean wideMode = "100%".equals(tContext.getTableWidth());
    if (wideMode)
    {
      // if we are in wideMode, we must close the outer table:
      writer.endElement(XhtmlConstants.TABLE_ELEMENT);
    }
    else
    {
      // the content table is a row in the overall table
      writer.startElement(XhtmlConstants.TABLE_ROW_ELEMENT, null);
      writer.startElement(XhtmlConstants.TABLE_DATA_ELEMENT, null);
    }

    String height = getHeight(getFacesBean(component));
    final boolean useScrollIE;
    final String scrollID;
    if ((height != null) && isIE(arc))
    {
      useScrollIE = true;
      String tableId = tContext.getTableId();
      scrollID = tableId+"_scroll";

      writer.startElement("script", null);
      renderScriptDeferAttribute(context, arc);
      renderScriptTypeAttribute(context, arc);
      _writeIEscrollScript(context, arc, tableId, scrollID);
      writer.endElement("script");

      writer.startElement("div", null);
      // IE in standards compliant mode needs the "width:100%" for the vertical
      // scroll bars to appear:
      writer.writeAttribute("style", "overflow:auto;overflow-x:hidden;width:100%;height:"+height, null);
      // bug 4585888:
      writer.writeAttribute("onscroll", "return _uixIEmaskFrame.tickle('"+scrollID+"');", null);
      writer.startElement("div", null);
      // make room for the vertical scroll bar: //bug 4364828:
      writer.writeAttribute("style", "padding-right:16px", null);
    }
    else
    {
      useScrollIE = false;
      scrollID = null;
    }

    writer.startElement(XhtmlConstants.TABLE_ELEMENT, null);
    renderStyleClass(context, arc, SkinSelectors.AF_TABLE_CONTENT_STYLE);

    if ((height != null)&& isGecko(arc))
    {
      writer.writeAttribute("style", "border-width:0px", null);
    }

    FacesBean bean = getFacesBean(table);
    String summary = getSummary(bean);

    Object cellPadding = getTablePadding(table);
    OutputUtils.renderDataTableAttributes(
       context, arc, cellPadding,
       "0", // cell spacing
       "0", //border
       "100%", //table width
       summary);

    _renderTableHeader(context, arc, tContext, table);

    // render the column header
    if (tContext.hasColumnHeaders())
    {
      renderStage.setStage(RenderStage.COLUMN_HEADER_STAGE);
      writer.startElement(XhtmlConstants.TABLE_ROW_ELEMENT, null);
      if (useScrollIE)
      {
        // we create a bogus <tr> as a placeholder to occupy space
        // while we use absolute positioning to hold the real <tr> in
        // place. this is to solve bug 4624925:
        writer.endElement(XhtmlConstants.TABLE_ROW_ELEMENT);
        writer.startElement(XhtmlConstants.TABLE_ROW_ELEMENT, null);
        writer.writeAttribute("style", // for ECM. optimized for simple look-n-feel.
        "position:relative;top:-2px;left:0px;z-index:2", null);
        //bug4364828, bug 4585888
        writer.writeAttribute("id", scrollID, null);
      }
      renderColumnHeader(context, arc, tContext, component);
      writer.endElement(XhtmlConstants.TABLE_ROW_ELEMENT);
    }
    assert _assertCurrencyKeyPreserved(assertKey, table);
    //
    // 3. Render all the rows
    //
    renderStage.setStage(RenderStage.DATA_STAGE);
    renderTableRows(context, arc, tContext, component, bean);
    assert _assertCurrencyKeyPreserved(assertKey, table);

    // the content table is a row in the overall table
    writer.endElement(XhtmlConstants.TABLE_ELEMENT);
View Full Code Here

Examples of org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.RenderStage

    //
    // 1. Gather all the data we need to render
    //
    final RowData rowData = tContext.getRowData();
    final UIComponent detail = tContext.getDetail();
    final RenderStage renderStage = tContext.getRenderStage();
    TableUtils.RowLoop loop = new TableUtils.RowLoop() {
      @Override
      protected void processRowImpl(FacesContext fc, CollectionComponent tableBase)
        throws IOException
      {
        ResponseWriter writer = fc.getResponseWriter();
        // compute all the rowSpans for the current row:
        rowData.setCurrentRowSpan(-1);
        //reset
        renderStage.setStage(RenderStage.START_ROW_STAGE);
        renderSingleRow(fc, arc, tContext, (UIComponent) tableBase);
        renderStage.setStage(RenderStage.DATA_STAGE);
        // render each of the individual rows in the rowSpan:
        for (int i = 0, sz = rowData.getCurrentRowSpan();  i < sz;  i++)
        {
          // start the row
          writer.startElement(XhtmlConstants.TABLE_ROW_ELEMENT, null);
          renderSingleRow(fc, arc, tContext, (UIComponent) tableBase);
          rowData.incCurrentSubRow();
          // end the row
          writer.endElement(XhtmlConstants.TABLE_ROW_ELEMENT);
        }
        // if necessary, render a detail row
        if ((detail != null)&&
            ((UIXTable)tableBase).getDisclosedRowKeys().isContained())
        {
          // indicate that we are now rendering inside of a details section
          renderStage.setStage(RenderStage.DETAIL_ROW_STAGE);
          ColumnData colData = tContext.getColumnData();
          // while rendering the named children in the detail row,
          // do not use the special response writer that
          // defaults data cells with no data to <br>.
          // This fixes bug 2367693.
          writer.startElement(XhtmlConstants.TABLE_ROW_ELEMENT, null);
          writer.startElement(XhtmlConstants.TABLE_DATA_ELEMENT, null);
          writer.writeAttribute("headers",
                      colData.getHeaderID(tContext.getDetailColumnIndex()),
                      null);
          writer.writeAttribute(XhtmlConstants.COLSPAN_ATTRIBUTE,
                IntegerUtils.getString(tContext.getActualColumnCount()), null);
          String styleClass = SkinSelectors.AF_TABLE_DETAIL_STYLE;
          String borderStyleClass = CellUtils.getBorderClass(
                                         true, true, true, true);
          renderStyleClasses(fc, arc,
                             new String[]{styleClass, borderStyleClass});

          encodeChild(fc, detail);
          writer.endElement(XhtmlConstants.TABLE_DATA_ELEMENT);
          writer.endElement(XhtmlConstants.TABLE_ROW_ELEMENT);
          // restore the data stage
          renderStage.setStage(RenderStage.DATA_STAGE);
        }
        // end detail
      }
    };
View Full Code Here

Examples of org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.RenderStage

    //
    // 3. Render each row
    //
   
    ColumnData colData = tContext.getColumnData();
    final RenderStage renderStage = tContext.getRenderStage();
   
    renderStage.setStage(RenderStage.DATA_STAGE);
   
   
    // use the special response writer in our data section that
    // defaults data cells with no data to <br>
    //tContext.setDataResponseWriterUsed(true);
    int physicalCol = 0;
   
    if (isEmptyTable)
    {
      writer.startElement("tr", null);
      if (tContext.hasSelection())
      {
        colData.setColumnIndex(physicalCol++, ColumnData.SPECIAL_COLUMN_INDEX);
        _renderEmptyCell(context, arc, tContext, true, null);
      }
     
      // render detail control (hide/show for the row)
      if (detail != null)
      {
        colData.setColumnIndex(physicalCol++, ColumnData.SPECIAL_COLUMN_INDEX);
        _renderEmptyCell(context, arc, tContext, true, null);
      }
     
      int objectNameColumnIndex = colData.getObjectNameColumnIndex();
      if (objectNameColumnIndex < physicalCol)
        objectNameColumnIndex = physicalCol;
      for (int columns = colData.getColumnCount(); physicalCol < columns;)
      {
        colData.setColumnIndex(physicalCol, ColumnData.SPECIAL_COLUMN_INDEX);
       
        final Object emptyText;
        if (objectNameColumnIndex == physicalCol)
        {
          emptyText = getEmptyText(bean);
        }
        else
        {
          emptyText =  null;
        }
       
        _renderEmptyCell(context, arc, tContext, false, //isSelect
                         emptyText);
        physicalCol++;
      }
      writer.endElement("tr");
    }
    else //not an empty table
    {
      TableUtils.RowLoop loop = new TableUtils.RowLoop()
        {
          @Override
          protected void processRowImpl(FacesContext fc, CollectionComponent tableBase)
            throws IOException
          {
            ResponseWriter rw = fc.getResponseWriter();
            // compute all the rowSpans for the current row:
            rowData.setCurrentRowSpan(-1); //reset
            renderStage.setStage(RenderStage.START_ROW_STAGE);
            renderSingleRow(fc, arc, tContext, component);
            renderStage.setStage(RenderStage.DATA_STAGE);
            // render each of the individual rows in the rowSpan:
            for(int i=0, sz=rowData.getCurrentRowSpan(); i<sz; i++)
            {
              // start the row
              rw.startElement("tr", null);
              renderSingleRow(fc, arc, tContext, component);
              rowData.incCurrentSubRow();
              // end the row
              rw.endElement("tr");
            }
           
            // if necessary, render a detail row
            if ((detail != null) &&
                ((UIXTable) tableBase).getDisclosedRowKeys().isContained())
            {
              renderStage.setStage(RenderStage.DETAIL_ROW_STAGE);
             
              rw.startElement("tr", null);
              rw.startElement("td", null);
              rw.writeAttribute("colspan",
                                IntegerUtils.getString(tContext.getActualColumnCount()),
                                null);
             
              // out.writeAttribute(CLASS_ATTRIBUTE, TABLE_DETAIL_STYLE);
             
              encodeChild(fc, detail);
             
              rw.endElement("td");
              rw.endElement("tr");
             
              // restore the data stage
              renderStage.setStage(RenderStage.DATA_STAGE);
            }
           
          }
        };
      loop.run(context, tContext.getCollectionComponent());
View Full Code Here

Examples of org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.table.RenderStage

      // start the outer table:
      rw.startElement(XhtmlConstants.TABLE_ELEMENT, null);
      renderTableAttributes(context, arc, component, bean, "0", "0");

      RenderStage renderStage = tContext.getRenderStage();
      assert (renderStage.getStage()==RenderStage.INITIAL_STAGE);

      // give the table's columns a chance to initialize:
      renderSingleRow(context, arc, tContext, component);

      // 1. render the header bars (title, controlbar and subcontrolbar)
      renderNavigationHeaderBars(context, arc, tContext, component, bean);

      // 2. render the table content
      renderTableContent(context, arc, tContext, component);

      // end the outertable:
      rw.endElement(XhtmlConstants.TABLE_ELEMENT);


      // gives some beans the chance to cleanup:
      renderStage.setStage(RenderStage.END_STAGE);
      renderSingleRow(context, arc, tContext, component);

      String tid = tContext.getTableId();
      FormData formData = arc.getFormData();
      if (formData != null)
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.