Class Grid

java.lang.Object
io.mindspice.simplypages.core.HtmlTag
io.mindspice.simplypages.layout.Grid
All Implemented Interfaces:
Component
Direct Known Subclasses:
CardGrid, Gallery

public class Grid extends HtmlTag
Generic CSS-class driven grid container.

Mutable and not thread-safe. The instance stores column and gap state and rewrites class attributes in place when configuration changes; keep instances request-scoped and avoid concurrent reuse.

  • Field Details

    • columns

      protected int columns
    • gap

      protected String gap
    • baseClass

      protected final String baseClass
  • Constructor Details

    • Grid

      public Grid()
      Creates a grid with base class grid, 3 columns, and medium gap.
    • Grid

      protected Grid(String baseClass)
      Creates a grid with a custom base class.
      Parameters:
      baseClass - required base class token always retained on updates
  • Method Details

    • create

      public static Grid create()
      Factory for a standard grid.
      Returns:
      new grid
    • withColumns

      public Grid withColumns(int columns)
      Sets column count and rewrites derived classes.
      Parameters:
      columns - number of columns used in grid-cols-<n>
      Returns:
      this grid
    • withGap

      public Grid withGap(String gap)
      Sets gap token and rewrites derived classes.
      Parameters:
      gap - gap token used in gap-<token>
      Returns:
      this grid
    • addItem

      public Grid addItem(Component component)
      Appends one grid item.
      Parameters:
      component - grid item
      Returns:
      this grid
    • addItems

      public Grid addItems(Component... components)
      Appends multiple grid items in argument order.
      Parameters:
      components - grid items
      Returns:
      this grid