Package org.ujorm.tools.web.table
Class GridBuilder<D>
java.lang.Object
org.ujorm.tools.web.table.GridBuilder<D>
- Direct Known Subclasses:
GridBuilderOld
Build a content of a HTML page for a sortable data grid.
- Author:
- Pavel Ponec
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final List<ColumnModel<D,?>> Columnsprotected final GridBuilderConfigTable builder config -
Constructor Summary
ConstructorsConstructorDescriptionGridBuilder(@NotNull CharSequence title) GridBuilder(@NotNull GridBuilderConfig config) GridBuilder(@NotNull HtmlConfig config) -
Method Summary
Modifier and TypeMethodDescription<V> @NotNull GridBuilder<D><V> @NotNull GridBuilder<D>add(Function<D, V> column, CharSequence title) <V> @NotNull GridBuilder<D>add(Function<D, V> column, CharSequence title, @Nullable HttpParameter param) <V> @NotNull GridBuilder<D><V> @NotNull GridBuilder<D>add(Function<D, V> column, Injector title, @Nullable HttpParameter param) @NotNull GridBuilder<D>addColumn(@NotNull Column<D> column, @NotNull CharSequence title) @NotNull GridBuilder<D>protected <V> @NotNull GridBuilder<D>addInternal(@NotNull Function<D, V> column, @NotNull CharSequence title, @Nullable HttpParameter param) @NotNull GridBuilder<D>addOrder(@NotNull CharSequence title) Add new column for a row countingvoidbuild(@NotNull ApiElement parent, @NotNull Function<GridBuilder<D>, Stream<D>> resource) Build the HTML page including a tablevoidbuild(@NotNull ApiElement parent, @NotNull ColumnModel sortedColumn, @NotNull Function<GridBuilder<D>, Stream<D>> resource) Build the HTML page including a tableColumnModel<D,?> getColumn(int index) Get column model by indexStream<ColumnModel<D,?>> Returns all table columns in a streamintReturns a count of columns@NotNull ColumnModel<D,?> Get sorted column or a stub of the sorted column was not foundfinal booleanReturns the true in case the table is sortable.booleanCalculate if the table has an sortable columnprotected voidprintTable(@NotNull Element parent, @NotNull Function<GridBuilder<D>, Stream<D>> resource) Print tableprotected voidsetSort(@NotNull ColumnModel sort) Mark a column as sorted<V> @NotNull GridBuilder<D>sortable()Add a sortable indicator to the last column model<V> @NotNull GridBuilder<D>sortable(@org.jetbrains.annotations.Nullable boolean ascending) Add a sortable indicator to the last column model<V> @NotNull GridBuilder<D>Add a sortable indicator to the last column model
-
Field Details
-
columns
Columns -
config
Table builder config
-
-
Constructor Details
-
GridBuilder
-
GridBuilder
-
GridBuilder
-
-
Method Details
-
add
-
add
-
add
-
add
@NotNull public <V> @NotNull GridBuilder<D> add(Function<D, V> column, CharSequence title, @Nullable @Nullable HttpParameter param) -
add
@NotNull public <V> @NotNull GridBuilder<D> add(Function<D, V> column, Injector title, @Nullable @Nullable HttpParameter param) -
addColumn
@NotNull public @NotNull GridBuilder<D> addColumn(@NotNull @NotNull Column<D> column, @NotNull @NotNull CharSequence title) -
addColumn
@NotNull public @NotNull GridBuilder<D> addColumn(@NotNull @NotNull Column<D> column, @NotNull @NotNull Injector title) -
addOrder
Add new column for a row counting -
addInternal
@NotNull protected <V> @NotNull GridBuilder<D> addInternal(@NotNull @NotNull Function<D, V> column, @NotNull @NotNull CharSequence title, @Nullable @Nullable HttpParameter param) -
getColumn
Get column model by index -
getColumnSize
public int getColumnSize()Returns a count of columns -
sortable
Add a sortable indicator to the last column model- Returns:
-
sortable
@NotNull public <V> @NotNull GridBuilder<D> sortable(@Nullable @org.jetbrains.annotations.Nullable boolean ascending) Add a sortable indicator to the last column model- Parameters:
ascending- Ascending or descending direction of the sort- Returns:
-
sortable
Add a sortable indicator to the last column model- Parameters:
direction- Thenullvalue shows an unused sorting action.- Returns:
-
getSortedColumn
Get sorted column or a stub of the sorted column was not found -
build
public void build(@NotNull @NotNull ApiElement parent, @NotNull @NotNull Function<GridBuilder<D>, Stream<D>> resource) Build the HTML page including a table -
build
public void build(@NotNull @NotNull ApiElement parent, @NotNull @NotNull ColumnModel sortedColumn, @NotNull @NotNull Function<GridBuilder<D>, Stream<D>> resource) Build the HTML page including a table -
setSort
Mark a column as sorted -
printTable
protected void printTable(@NotNull @NotNull Element parent, @NotNull @NotNull Function<GridBuilder<D>, Stream<D>> resource) Print table- Parameters:
parent- If a name of the element is a"table"or an empty text then do not create new table element.resource- Data source
-
isSortable
public final boolean isSortable()Returns the true in case the table is sortable. NOTE: Calculated result is cached, call the method on a final model only! -
isSortableCalculated
public boolean isSortableCalculated()Calculate if the table has an sortable column -
getColumns
Returns all table columns in a stream
-