Blame | Letzte Änderung | Log anzeigen | RSS feed
/*** TActiveDatePicker control*/Prado.WebUI.TActiveDatePicker = Class.extend(Prado.WebUI.TDatePicker,{initialize : function(options){this.options = options || [];this.control = $(options.ID);this.dateSlot = new Array(42);this.weekSlot = new Array(6);this.minimalDaysInFirstWeek = 4;this.selectedDate = this.newDate();this.positionMode = 'Bottom';//which element to trigger to show the calendarif(this.options.Trigger){this.trigger = $(this.options.Trigger) ;var triggerEvent = this.options.TriggerEvent || "click";}else{this.trigger = this.control;var triggerEvent = this.options.TriggerEvent || "focus";}// Popup positionif(this.options.PositionMode == 'Top'){this.positionMode = this.options.PositionMode;}Object.extend(this,options);Event.observe(this.trigger, triggerEvent, this.show.bindEvent(this));// Listen to change eventif(this.options.InputMode == "TextBox"){Event.observe(this.control, "change", this.onDateChanged.bindEvent(this));}else{var day = Prado.WebUI.TDatePicker.getDayListControl(this.control);var month = Prado.WebUI.TDatePicker.getMonthListControl(this.control);var year = Prado.WebUI.TDatePicker.getYearListControl(this.control);Event.observe (day, "change", this.onDateChanged.bindEvent(this));Event.observe (month, "change", this.onDateChanged.bindEvent(this));Event.observe (year, "change", this.onDateChanged.bindEvent(this));}},// Respond to change event on the textbox or dropdown list// This method raises OnDateChanged event on client side if it has been defined,// and raise the callback requestonDateChanged : function (){var date;if (this.options.InputMode == "TextBox"){date=this.control.value;}else{var day = Prado.WebUI.TDatePicker.getDayListControl(this.control).selectedIndex+1;var month = Prado.WebUI.TDatePicker.getMonthListControl(this.control).selectedIndex;var year = Prado.WebUI.TDatePicker.getYearListControl(this.control).value;date=new Date(year, month, day, 0,0,0).SimpleFormat(this.Format, this);}if (typeof(this.options.OnDateChanged) == "function") this.options.OnDateChanged(this, date);// Make callback requestvar request = new Prado.CallbackRequest(this.options.EventTarget,this.options);request.dispatch();}});