package sugoi.form.elements; import sugoi.form.Form; import sugoi.form.FormElement; class RadioGroup extends FormElement { public var data:ListData.FormData; public var selectMessage:String; public var labelLeft:Bool; public var labelRight:Bool; public var vertical:Bool; public function new(name:String, label:String, ?data:Array<{label:String,value:String}>, ?selected:String, ?defaultValue:String, ?vertical:Bool=true, ?labelRight:Bool=true,?required=false) { super(); this.name = name; this.label = label; this.data = data != null ? data : []; this.value = selected != null ? selected : defaultValue; this.vertical = vertical; this.labelRight = labelRight; this.required = required; } public function addOption(label:String, value:String) { data.push( { label:label, value:value } ); } override public function render():String { var s = ""; var n = parentForm.name + "_" +name; var c = 0; if (data != null) { for (row in data) { var vClass = vertical ? " radioItemVertical" : " radioItemHorizontal"; s += '
'; var radio = "\n"; var label = ""; s += labelRight ? radio + " "+label+" ": label+" "+radio+" "; s += '
'; //if (verticle) s += "
"; c++; } } return s; } override function getTypedValue(str:String){ if(str==null) return null; str = StringTools.trim(str); return (str == "") ? return null : str; } }