From 915d20d43e35cea771bb700e436a9ee861328c9a Mon Sep 17 00:00:00 2001 From: Keith Wood Date: Tue, 17 Jun 2008 10:06:18 +0000 Subject: [PATCH] Fixed 2593 Datepicker using months instead of prev and next --- ui/ui.datepicker.js | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/ui/ui.datepicker.js b/ui/ui.datepicker.js index 4a5447671..9549712b0 100644 --- a/ui/ui.datepicker.js +++ b/ui/ui.datepicker.js @@ -80,6 +80,7 @@ function Datepicker() { mandatory: false, // True to hide the Clear link, false to include it hideIfNoPrevNext: false, // True to hide next/previous month links // if not applicable, false to just disable them + navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links changeMonth: true, // True if month can be selected directly, false if only prev/next changeYear: true, // True if year can be selected directly, false if only prev/next yearRange: '-10:+10', // Range of years to display in drop-down, @@ -1132,6 +1133,7 @@ $.extend(DatepickerInstance.prototype, { var prompt = this._get('prompt'); var closeAtTop = this._get('closeAtTop'); var hideIfNoPrevNext = this._get('hideIfNoPrevNext'); + var navigationAsDateFormat = this._get('navigationAsDateFormat'); var numMonths = this._getNumberOfMonths(); var stepMonths = this._get('stepMonths'); var isMultiMonth = (numMonths[0] != 1 || numMonths[1] != 1); @@ -1152,23 +1154,30 @@ $.extend(DatepickerInstance.prototype, { } } // controls and links + var prevText = this._get('prevText'); + prevText = (!navigationAsDateFormat ? prevText : $.datepicker.formatDate( + prevText, new Date(drawYear, drawMonth - stepMonths, 1), this._getFormatConfig())); var prev = '
' + (this._canAdjustMonth(-1, drawYear, drawMonth) ? '' + - this._get('prevText') + '' : - (hideIfNoPrevNext ? '' : '')) + '
'; + (showStatus ? this._addStatus(this._get('prevStatus') || ' ') : '') + '>' + prevText + '' : + (hideIfNoPrevNext ? '' : '')) + ''; + var nextText = this._get('nextText'); + nextText = (!navigationAsDateFormat ? nextText : $.datepicker.formatDate( + nextText, new Date(drawYear, drawMonth + stepMonths, 1), this._getFormatConfig())); var next = '
' + (this._canAdjustMonth(+1, drawYear, drawMonth) ? '' + - this._get('nextText') + '' : - (hideIfNoPrevNext ? '' : '')) + '
'; + (showStatus ? this._addStatus(this._get('nextStatus') || ' ') : '') + '>' + nextText + '' : + (hideIfNoPrevNext ? '' : '')) + ''; + var currentText = this._get('currentText'); + currentText = (!navigationAsDateFormat ? currentText: $.datepicker.formatDate( + currentText, today, this._getFormatConfig())); var html = (prompt ? '
' + prompt + '
' : '') + (closeAtTop && !this._inline ? controls : '') + ''; + currentText + '' : '') + (isRTL ? prev : next) + ''; var showWeeks = this._get('showWeeks'); for (var row = 0; row < numMonths[0]; row++) for (var col = 0; col < numMonths[1]; col++) { -- 2.39.5