Package javax.faces.component

Examples of javax.faces.component.UIData



  public void selectLuminary(ActionEvent actionEvent) {
    LOG.info("actionEvent=" + actionEvent);
//    final List<Integer> selectedRows = sheetState.getSelectedRows();
    final UIData data = ComponentUtils.findAncestor(actionEvent.getComponent(), UIData.class);
    if (data != null) {
      currentSolarObject = (SolarObject) data.getRowData();
      LOG.info("Selected: " + currentSolarObject.getName());
    } else {
      currentSolarObject = null;
      LOG.info("Deselect.");
    }
View Full Code Here


    return model.getPath();
  }

  public String nodeStateId(FacesContext facesContext) {
    final String clientId = getClientId(facesContext);
    final UIData data = ComponentUtils.findAncestor(this, UIData.class);
    String dataId = data.getClientId(facesContext);
    return clientId.substring(dataId.length() + 1);
  }
View Full Code Here

  /**
   * @deprecated since 2.0.0
   */
  @Deprecated
  protected TreeNode getRowData() {
    final UIData data = ComponentUtils.findAncestor(this, UIData.class);
    final Object rowData = data.getRowData();
    return (TreeNode) rowData;
  }
View Full Code Here

     * This method is separated from the encodeChildren so that it can be overridden by
     * subclasses. One class that uses this functionality is autoUpdateDataTable.
     */
     public void encodeInnerHtml(FacesContext facesContext, UIComponent component)throws IOException
     {
        UIData uiData = (UIData) component;
        ResponseWriter writer = facesContext.getResponseWriter();

        int rowCount = uiData.getRowCount();

        int newspaperColumns = getNewspaperColumns(component);

        if (rowCount == -1 && newspaperColumns == 1)
        {
            encodeInnerHtmlUnknownRowCount(facesContext, component);
            return;
        }
       
        if (rowCount == 0)
        {
            //nothing to render, to get valid xhtml we render an empty dummy row
            writer.startElement(HTML.TBODY_ELEM, uiData);
            writer.writeAttribute(HTML.ID_ATTR, component.getClientId(facesContext) + ":tbody_element", null);
            writer.startElement(HTML.TR_ELEM, uiData);
            writer.startElement(HTML.TD_ELEM, uiData);
            writer.endElement(HTML.TD_ELEM);
            writer.endElement(HTML.TR_ELEM);
            writer.endElement(HTML.TBODY_ELEM);
            return;
        }

        // begin the table
        // get the CSS styles
        Styles styles = getStyles(uiData);

        int first = uiData.getFirst();
        int rows = uiData.getRows();
        int last;

        if (rows <= 0)
        {
           last = rowCount;
        }
        else
        {
           last = first + rows;
           if (last > rowCount)
           {
               last = rowCount;
           }
        }

        int newspaperRows;
        if((last - first) % newspaperColumns == 0)
        {
            newspaperRows = (last - first) / newspaperColumns;
        }
        else
        {
            newspaperRows = ((last - first) / newspaperColumns) + 1;
        }
        boolean newspaperHorizontalOrientation = isNewspaperHorizontalOrientation(component);
       
        // get the row indizes for which a new TBODY element should be created
        Integer[] bodyrows = getBodyRows(facesContext, component);
        int bodyrowsCount = 0;

        // walk through the newspaper rows
        for(int nr = 0; nr < newspaperRows; nr++)
        {
            boolean rowStartRendered = false;
            // walk through the newspaper columns
            for(int nc = 0; nc < newspaperColumns; nc++)
            {

                // the current row in the 'real' table
                int currentRow;
                if (newspaperHorizontalOrientation)
                {
                    currentRow = nr * newspaperColumns + nc + first;
                }
                else
                {
                    currentRow = nc * newspaperRows + nr + first;
                }
               
                // if this row is not to be rendered
                if(currentRow >= last)
                {
                    continue;
                }

                // bail if any row does not exist
                uiData.setRowIndex(currentRow);
                if(!uiData.isRowAvailable())
                {
                    log.severe("Row is not available. Rowindex = " + currentRow);
                    break;
                }
   
                if (nc == 0)
                {
                    // first column in table, start new row
                    beforeRow(facesContext, uiData);

                    // is the current row listed in the bodyrows attribute
                    if(ArrayUtils.contains(bodyrows, currentRow)) 
                    {
                        // close any preopened TBODY element first
                        if(bodyrowsCount != 0)
                        {
                            HtmlRendererUtils.writePrettyLineSeparator(facesContext);
                            writer.endElement(HTML.TBODY_ELEM);
                        }
                        HtmlRendererUtils.writePrettyLineSeparator(facesContext);
                        writer.startElement(HTML.TBODY_ELEM, uiData);
                        // Do not attach bodyrowsCount to the first TBODY element, because of backward compatibility
                        writer.writeAttribute(HTML.ID_ATTR, component.getClientId(facesContext) + ":tbody_element" +
                            (bodyrowsCount == 0 ? "" : bodyrowsCount), null);
                        bodyrowsCount++;
                    }
                   
                    HtmlRendererUtils.writePrettyLineSeparator(facesContext);
                    renderRowStart(facesContext, writer, uiData, styles, nr);
                    rowStartRendered = true;
                }

                List children = null;
                int columnStyleIndex = 0;
                for (int j = 0, size = getChildCount(component); j < size; j++)
                {
                    if (children == null)
                    {
                        children = getChildren(component);
                    }
                    UIComponent child = (UIComponent) children.get(j);
                    if (child.isRendered())
                    {
                        boolean columnRendering = child instanceof UIColumn;
                       
                        if (columnRendering)
                        {
                            beforeColumn(facesContext, uiData, columnStyleIndex);
                        }
                          
                        encodeColumnChild(facesContext, writer, uiData, child,
                                styles, nc * uiData.getChildCount() + columnStyleIndex);
                      
                        if (columnRendering)
                        {
                            afterColumn(facesContext, uiData, columnStyleIndex);
                        }
View Full Code Here

        }
    }
    
    private void encodeInnerHtmlUnknownRowCount(FacesContext facesContext, UIComponent component)throws IOException
    {
        UIData uiData = (UIData) component;
        ResponseWriter writer = facesContext.getResponseWriter();

        Styles styles = getStyles(uiData);
       
        Integer[] bodyrows = getBodyRows(facesContext, component);
        int bodyrowsCount = 0;
       
        int first = uiData.getFirst();
        int rows = uiData.getRows();
        int currentRow = first;
        boolean isRowRendered = false;
       
        while(true)
        {
            uiData.setRowIndex(currentRow);
            if (!uiData.isRowAvailable())
            {
                break;
            }
           
            isRowRendered = true;
View Full Code Here

    }

    private int getCurrentRowIndex(UIComponent component)
    {
        UIData uidata = findUIData(component);
        if (uidata == null)
            return -1;
        else
            return uidata.getRowIndex();
    }
View Full Code Here

        getDataTable().setValue(getDataTable().getValueBinding("#{" + getForValRef() + "}"));
    }

    public void filterDataTable(int sliderVal) {

        UIData dataTable = getUIData();
        List filteredDataTable = new ArrayList();
        List dataTableList = (ArrayList) dataTable.getValue();
        String filterByString;
        int objectVal;

        for (int i = 0; i < dataTableList.size(); i++) {
            Object o = dataTableList.get(i);
View Full Code Here

     return true;
   }


   public void setupFirstRowValue() {
     UIData dataTable = getDataTable();
     if (isRendered()) {
       Integer pageCount = getPageCount(dataTable);

       int page = getPage();
       int newPage = -1;
       if (page < 1) {
         newPage = 1;
       } else if (page > pageCount) {
         newPage = (pageCount != 0 ? pageCount : 1);
       }

       if (newPage != -1) {
         FacesContext context = getFacesContext();
         Object label = MessageUtil.getLabel(context, this);
         String formattedMessage = Messages.getMessage(Messages.DATASCROLLER_PAGE_MISSING,
             new Object[] {label, page, pageCount, newPage});

         log.warn(formattedMessage);
        
         page = newPage;
         dataTable.getAttributes().put(SCROLLER_STATE_ATTRIBUTE, page);
       }

       if (isRendered(dataTable)) {
         dataTable.setFirst((page - 1) * getRows(dataTable));
       }
     }
   }
View Full Code Here

       return 1;
     }
   }

   private void updateModel(int newPage) {
     UIData dataTable = getDataTable();
    
     if (isRendered(dataTable)) {
       dataTable.setFirst((newPage - 1) * getRows(dataTable));
     }
    
     Map<String, Object> attributes = dataTable.getAttributes();
     attributes.put(SCROLLER_STATE_ATTRIBUTE, newPage);
    
     FacesContext context = getFacesContext();
     ValueExpression ve = getValueExpression("page");
     if (ve != null) {
View Full Code Here

                    public boolean hasNext() {
                        if (current >= last) {
                            return false;
                        }
                        UIData data = ((UIData) getComponent());
                        data.setRowIndex(current);
                        return data.isRowAvailable();
                    }

                    public Object next() {
                        // TODO reset rows and columns classes counters
                        current++;
View Full Code Here

TOP

Related Classes of javax.faces.component.UIData

Copyright © 2018 www.massapicom. 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.