//
// Copyright (c) 2015, Brian Frank and Andy Frank
// Licensed under the Academic Free License version 3.0
//
// History:
// 10 Jul 2015 Andy Frank Creation
//
using dom
**
** Checkbox displays a checkbox that can be toggled on and off.
**
** See also: [docDomkit]`docDomkit::Controls#checkbox`
**
@Js class Checkbox : Elem
{
new make() : super("input")
{
this.set("type", "checkbox")
this.style.addClass("domkit-Checkbox")
this.onEvent("change", false) |e| { fireAction(e) }
}
** Wrap this checkbox with content that can also be
** clicked to toggle checkbox.
Elem wrap(Obj content)
{
Elem("label")
{
this,
content is Elem ? content : Label { it.text=content.toStr },
}
}
** Get or set indeterminate flag.
Bool indeterminate
{
get { this->indeterminate }
set { this->indeterminate = it }
}
** Value of checked.
Bool checked
{
get { this->checked }
set { this->checked = it }
}
** Callback when state is toggled.
Void onAction(|This| f) { this.cbAction = f }
private Void fireAction(Event e) { cbAction?.call(this) }
private Func? cbAction := null
}