// Debug rerenderable:
val table = new Table5Base
with Table5BaseBootrapSupport
with Table5SelectableRows
with Table5StandardColumns
with Table5Paginated {
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
, ColSelectRow
)
override def seqRowsSource: Seq[Country] = CountriesData.data
}
new Widget {
override def widgetTitle: String = "Selectable rows"
override def transformWidgetCardBody(elem: Elem): Elem = super.transformWidgetCardBody(elem).p_0
override def widgetTopRight()(implicit fsc: FSContext): NodeSeq =
BSBtn().BtnDanger.toggler(
() => RerendererDebugStatusState() == RerendererDebugStatus.Enabled,
{
case true =>
RerendererDebugStatusState() = RerendererDebugStatus.Enabled
JS.reload()
case false =>
RerendererDebugStatusState() = RerendererDebugStatus.Disabled
JS.reload()
},
"Debug disabled",
"Debug enabled",
) ++
table.clearRowSelectionBtn.btn.ms_2 ++
table.selectAllVisibleRowsBtn.btn.ms_2
override def widgetContents()(implicit fsc: FSContext): NodeSeq = table.render()
}.renderWidget()