blob: 1ca997e10040869f51a02739c1567b333428c515 [file] [log] [blame]
dojo.provide("struts.widgets.DropDownDatePicker");
dojo.require("dojo.widget.*");
dojo.require("dojo.widget.HtmlWidget");
dojo.require("dojo.widget.DatePicker");
dojo.require("dojo.event.*");
dojo.require("dojo.html");
dojo.require("struts.widgets.DropdownContainer");
dojo.require("struts.widgets.DateTimeUtil");
struts.widgets.DropDownDatePicker = function () {
struts.widgets.DropdownContainer.call(this);
this.widgetType = "DropDownDatePicker";
this.initUI = function() {
var properties = {
widgetContainerId: this.widgetId
}
this.subWidgetRef = dojo.widget.createWidget("DatePicker", properties, this.subWidgetNode);
dojo.event.connect(this.subWidgetRef, "onSetDate", this, "onPopulate");
dojo.event.connect(this.valueInputNode, "onkeyup", this, "onInputChange");
this.onUpdateDate = function(evt) {
this.storedDate = evt.storedDate;
}
this.onInputChange();
}
this.onPopulate = function() {
this.valueInputNode.value = dojo.date.toString(this.subWidgetRef.date, this.dateFormat);
}
this.onInputChange = function(){
//var test = new Date(this.valueInputNode.value);
var test = struts.widgets.DateTimeUtil.parseDate(this.valueInputNode.value, this.dateFormat);
this.subWidgetRef.date = test;
this.subWidgetRef.setDate(dojo.widget.DatePicker.util.toRfcDate(test));
this.subWidgetRef.initUI();
//this.onPopulate();
}
}
dojo.inherits(struts.widgets.DropDownDatePicker, struts.widgets.DropdownContainer);
dojo.widget.tags.addParseTreeHandler("dojo:dropdowndatepicker");
dojo.lang.extend(struts.widgets.DropDownDatePicker, {
// default attributes
dateFormat: "#MM/#dd/#yyyy",
iconPath: "/struts/dojo/struts/widgets/dateIcon.gif",
iconAlt: "date",
iconTitle: "Select a date",
inputWidth:"7em"
});