Interface HeaderBuilder<T>

Type Parameters:
T - the row data type
All Known Implementing Classes:
AbstractHeaderOrFooterBuilder, DefaultHeaderOrFooterBuilder

public interface HeaderBuilder<T>
Builds the DOM elements for the header section of a CellTable. It also provides queries on elements in the last DOM subtree that it created.

HeaderBuilder provides two optional ways to handle events, via a Column, a Header, or both. If getColumn(Element) returns a Column given the target Element of an event, cell table will use it to enable features such as sorting. If getHeader(Element) returns a Header, cell table will forward the event to the Header. You can specify both a Column and Header.

The default implementation used by cell widgets is DefaultHeaderOrFooterBuilder.

  • Method Summary

    Modifier and Type
    Method
    Description
    Builds the DOM subtree for this header.
    Given an element in the DOM subtree returned by the most recent call to buildHeader(), returns the Column that should be the target of any button clicks or other events on that element, or null if the events should be discarded.
    If you want to handle browser events using a subclass of Header, implement this method to return the appropriate instance and cell table will forward events originating in the element to the Header.
    int
    Get the row index from the associated TableRowElement (an TR element).
    boolean
    Check if an element contains a Column.
    boolean
    Check if an element contains a Header.
  • Method Details

    • buildHeader

      TableSectionBuilder buildHeader()
      Builds the DOM subtree for this header. The root of the subtree must be a THEAD element, as appropriate. This method may be called multiple times and should return a new DOM subtree each time.

      If the header is empty, return null.

      Returns:
      a TableSectionBuilder representing the new header, or null if the header is empty
    • getColumn

      Column<T,?> getColumn(Element elem)
      Given an element in the DOM subtree returned by the most recent call to buildHeader(), returns the Column that should be the target of any button clicks or other events on that element, or null if the events should be discarded. The column is used to support features such as column sorting.
      Parameters:
      elem - the element that the contains column
      Returns:
      the immediate column contained by the element
    • getHeader

      Header<?> getHeader(Element elem)
      If you want to handle browser events using a subclass of Header, implement this method to return the appropriate instance and cell table will forward events originating in the element to the Header. Return null if events from the element should be discarded.
      Parameters:
      elem - the element that the contains header
      Returns:
      the immediate Header contained by the element
    • getRowIndex

      int getRowIndex(TableRowElement row)
      Get the row index from the associated TableRowElement (an TR element).
      Parameters:
      row - the row element
      Returns:
      the row value index
    • isColumn

      boolean isColumn(Element elem)
      Check if an element contains a Column. This method should return false if and only if getColumn(Element) would return null.
      Parameters:
      elem - the element of interest
    • isHeader

      boolean isHeader(Element elem)
      Check if an element contains a Header. This method should return false if and only if getHeader(Element) would return null.
      Parameters:
      elem - the element of interest