Skip to main content Skip to docs navigation

Paginated and Sortable Table Example

On this page
Stats
#callbacks:

Source

NameCapitalRegionArea
ArubaOranjestadAmericas180.0
AfghanistanKabulAsia652230.0
AngolaLuandaAfrica1246700.0
AnguillaThe ValleyAmericas91.0
Åland IslandsMariehamnEurope1580.0
AlbaniaTiranaEurope28748.0
AndorraAndorra la VellaEurope468.0
United Arab EmiratesAbu DhabiAsia83600.0
ArgentinaBuenos AiresAmericas2780400.0
ArmeniaYerevanAsia29743.0
scala
new Table6Base with Table6BootrapStyling with Table6Paginated with Table6StandardColumns with Table6SeqSortableDataSource with Table6Sortable {
  override type R = Country

  override def defaultPageSize: Int = 10

  val ColName = ColStr("Name", _.name.common)
  val ColCapital = ColStr("Capital", _.capital.mkString(", "))
  val ColRegion = ColStr("Region", _.region)
  val ColArea = ColStr("Area", _.area.toString)

  override def columns(): List[C] = List(ColName, ColCapital, ColRegion, ColArea)

  override def rowsSorter: PartialFunction[C, Seq[R] => Seq[R]] = {
    case ColName    => _.sortBy(_.name.common)
    case ColCapital => _.sortBy(_.capital.mkString(", "))
    case ColRegion  => _.sortBy(_.region)
    case ColArea    => _.sortBy(_.area)
  }

  override def seqRowsSource: Seq[Country] = CountriesData.data
}.render()