Skip to content
Permalink
Browse files

Merge pull request #891 from petersendidit/datepicker_8994

Datepicker: Handle when yearRange is a year or a modifier. Fixed #8994 -...
  • Loading branch information...
petersendidit committed Jan 23, 2013
2 parents 10c873a + 8f7c3e3 commit f7f165c9f8281c5fc5d060eb7bfe09921a0aea82
Showing with 25 additions and 3 deletions.
  1. +17 −1 tests/unit/datepicker/datepicker_options.js
  2. +8 −2 ui/jquery.ui.datepicker.js
@@ -384,7 +384,7 @@ test("miscellaneous", function() {
});

test("minMax", function() {
expect( 19 );
expect( 23 );
var date,
inp = TestHelpers.datepicker.init("#inp"),
dp = $("#ui-datepicker-div"),
@@ -472,6 +472,22 @@ test("minMax", function() {
ok(dp.find(".ui-datepicker-prev").hasClass("ui-state-disabled"), "Year Range Test - previous button disabled at 1/1/minYear");
inp.datepicker("setDate", "12/30/" + new Date().getFullYear());
ok(dp.find(".ui-datepicker-next").hasClass("ui-state-disabled"), "Year Range Test - next button disabled at 12/30/maxYear");

inp.datepicker("option", {
minDate: new Date(1900, 0, 1),
maxDate: "-6Y",
yearRange: "1900:-6"
}).val( "" );
ok(dp.find(".ui-datepicker-next").hasClass("ui-state-disabled"), "Year Range Test - next button disabled");
ok(!dp.find(".ui-datepicker-prev").hasClass("ui-state-disabled"), "Year Range Test - prev button enabled");

inp.datepicker("option", {
minDate: new Date(1900, 0, 1),
maxDate: "1/25/2007",
yearRange: "1900:2007"
}).val( "" );
ok(dp.find(".ui-datepicker-next").hasClass("ui-state-disabled"), "Year Range Test - next button disabled");
ok(!dp.find(".ui-datepicker-prev").hasClass("ui-state-disabled"), "Year Range Test - prev button enabled");
});

test("setDate", function() {
@@ -1918,8 +1918,14 @@ $.extend(Datepicker.prototype, {
if (years){
yearSplit = years.split(":");
currentYear = new Date().getFullYear();
minYear = parseInt(yearSplit[0], 10) + currentYear;
maxYear = parseInt(yearSplit[1], 10) + currentYear;
minYear = parseInt(yearSplit[0], 10);
maxYear = parseInt(yearSplit[1], 10);
if ( yearSplit[0].match(/[+\-].*/) ) {
minYear += currentYear;
}
if ( yearSplit[1].match(/[+\-].*/) ) {
maxYear += currentYear;
}
}

return ((!minDate || date.getTime() >= minDate.getTime()) &&

0 comments on commit f7f165c

Please sign in to comment.
You can’t perform that action at this time.