Form 7 Radio Input Fields
Radio input-based fields
val radioAsSwitchAndOpposite = new FSDemoBSForm7Renderers()(checkboxStyle = CheckboxStyle.Switch, checkboxSide = CheckboxSide.Opposite).radioFieldRenderer
val radioInline = new FSDemoBSForm7Renderers()(checkboxAlignment = CheckboxAlignment.Horizontal).radioFieldRenderer
val registrationType = Seq("Teacher", "Student", "Parent")
val registrationTypeField = new F7RadioField[String](() => registrationType).label("Registration type")
val phoneType = Seq("Android", "iOS", "Other")
val phoneTypeField = new F7RadioField[String](() => phoneType)(radioAsSwitchAndOpposite).label("Phone type")
val marketingChannelsType = Seq("Android", "iOS", "Other")
val marketingChannelsTypeField = new F7RadioField[String](() => marketingChannelsType)(radioInline).label("Preferred marketing channel")
div.apply {
new DefaultForm7() {
override lazy val rootField: F7Field = F7VerticalField()(
new F7HtmlField(fs_5.mb_3.border_bottom.apply("Radio input")),
registrationTypeField,
//
new F7HtmlField(fs_5.mb_3.border_bottom.apply("Radio buttons as switches on the opposite side")),
phoneTypeField,
//
new F7HtmlField(fs_5.mb_3.border_bottom.apply("Radio buttons inline")),
marketingChannelsTypeField,
new F7SubmitButtonField(implicit fsc => BSBtn().BtnPrimary.lbl("Submit").btn.d_block.w_100)
)
override def postSubmitForm()(implicit fsc: FSContext): Js = BSModal5.verySimple("Submitted!", "Ok") {
modal =>
implicit fsc =>
<h6>Your data:</h6> ++
<ul>
<li><b>Registration type:</b> {registrationTypeField.getInternalValue()}</li>
<li><b>Phone type:</b> {phoneTypeField.getInternalValue()}</li>
<li><b>Preferred marketing channel:</b> {marketingChannelsTypeField.getInternalValue()}</li>
</ul>
}
}.render()
}
Radio input
Radio buttons as switches on the opposite side
Radio buttons inline