package sugoi.form.elements; import sugoi.Web; import sugoi.form.FormElement; import sugoi.form.validators.Validator; import sugoi.form.ListData; /** * DatePicker for Bootstrap 3 * * You'll need to install some additionnal js librairies (moment.js, jquery) * more info at : http://eonasdan.github.io/bootstrap-datetimepicker/ */ class DatePicker extends FormElement { public var maxOffset:Int; public var minOffset:Int; public var yearMin:Int; public var yearMax:Int; private var daySelector:Selectbox; private var monthSelector:Selectbox; private var yearSelector:Selectbox; public var format : String; //moment.js format public function new(name:String, label:String, ?v:Date, ?required:Bool=false, yearMin:Int=1950, yearMax:Int=null, ?validators:Array>, ?attibutes:String="") { super(); this.name = name; this.label = label; format = 'LLLL'; if (v == null) { this.value = Date.now(); }else { this.value = v; } //trace(value); this.required = required; this.attributes = attibutes; this.yearMin = yearMin; this.yearMax = yearMax; maxOffset = null; minOffset = null; var day = ""; var month = ""; var year = ""; if (value != null) { day = ""+value.getDate(); month = ""+(value.getMonth()+1); year = ""+value.getFullYear(); } } override public function populate() { //data is stored as float in the html form element var d = App.current.params.get(parentForm.name + "_" + name); //trace(parentForm.name + "_" + name+"="+d); //value = Date.fromTime(Std.parseFloat(d)); value = Date.fromString(d); } override public function isValid():Bool { return true; } override public function render():String { //component init date //var d = value.getFullYear() +"-" + (value.getMonth() + 1) + "-" + value.getDate() + " " + value.getHours() + ":" + value.getMinutes()+":00"; var d = value.toString(); var defaultDate = 'moment("' + d + '", "YYYY-MM-DD HH:mm:ss")'; return "
"; } }