Ticket #2933: ui.datepicker.rev930.patch

File ui.datepicker.rev930.patch, 2.8 KB (added by insekticid, 11 years ago)
  • ui.datepicker.js

     
    473473                        this._setDateFromField(inst);
    474474                return (inst ? this._getDate(inst) : null);
    475475        },
     476
     477        /* custom method for jquery validate */
     478        _isDateInRangeDatepicker: function(target) {
     479                var inst = this._getInst(target);
     480
     481                return (inst ? this._isInRange(inst, this._getDateDatepicker(target)) : null);
     482        },
    476483       
     484        /* custom method for jquery validate */
     485        _isMinDateDatepicker: function(target) {
     486                var inst    = this._getInst(target);
     487
     488                var date    = this._getDateDatepicker(target);
     489                var minDate = this._getMinMaxDate(inst, 'min', true);
     490               
     491                return (!minDate || date >= minDate);
     492        },
     493       
     494        /* custom method for jquery validate */
     495        _isMaxDateDatepicker: function(target) {
     496                var inst    = this._getInst(target);
     497               
     498                var date    = this._getDateDatepicker(target);
     499                var maxDate = this._getMinMaxDate(inst, 'max', true);
     500
     501                return (!maxDate || date <= maxDate);
     502        },
     503       
     504        /* custom method for jquery validate */
     505        _isValidDateDatepicker: function(target) {
     506                var inst       = this._getInst(target);
     507                var dateFormat = this._get(inst, 'dateFormat');
     508               
     509                var dates = inst.input ? inst.input.val().split(this._get(inst, 'rangeSeparator')) : null;
     510
     511                try {
     512                        this.parseDate(dateFormat, dates[0]);
     513                        if ( typeof dates[1] != 'undefined' ) {
     514                                this.parseDate(dateFormat, dates[1]);
     515                        }
     516                        return true;
     517                } catch(err) {
     518                        return false;
     519                }
     520        },
     521       
     522        /* custom method for jquery validate */
     523        _getMinMaxRangeDateDatepicker: function(target, minMax) {
     524                var inst = this._getInst(target);
     525                var date = this._getDateDatepicker(target);
     526
     527                return (date == null ? this._getMinMaxDate(inst, minMax, true) : date );
     528        },
     529       
     530        /* custom method for jquery validate */
     531        _getMinMaxParsedDateDatepicker: function(target, minMax) {
     532                var inst       = this._getInst(target);
     533                var dateFormat = this._get(inst, 'dateFormat');
     534                var dateminMax = this._getMinMaxDate(inst, minMax, true);
     535
     536                return this.formatDate(dateFormat, dateminMax);
     537        },
     538       
    477539        /* Handle keystrokes. */
    478540        _doKeyDown: function(e) {
    479541                var inst = $.datepicker._getInst(e.target);
     
    17301792        }
    17311793       
    17321794        var otherArgs = Array.prototype.slice.call(arguments, 1);
    1733         if (typeof options == 'string' && (options == 'isDisabled' || options == 'getDate'))
     1795        if (typeof options == 'string' && (options == 'isDisabled' || options == 'getDate'
     1796                || options == 'isDateInRange' || options == 'isMinDate'|| options == 'isMaxDate'
     1797                || options == 'isValidDate' || options == 'getMinMaxParsedDate' || options == 'getMinMaxRangeDate' )
     1798        )
    17341799                return $.datepicker['_' + options + 'Datepicker'].
    17351800                        apply($.datepicker, [this[0]].concat(otherArgs));
    17361801        return this.each(function() {