Permalink
Browse files
Datepicker: reinitialize datepicker if mainDiv isn't on the page. Fix…
…ed #5679 - Datepicker should reinitialize if dpDiv is removed
- Loading branch information
Showing
with
16 additions
and
2 deletions.
-
+10
−0
tests/unit/datepicker/datepicker_core.js
-
+6
−2
ui/jquery.ui.datepicker.js
|
@@ -6,6 +6,16 @@ |
|
|
|
|
|
module("datepicker: core"); |
|
|
|
|
|
test("initialization - Reinitialization after body had been emptied.", function() { |
|
|
expect( 1 ); |
|
|
var bodyContent = $('body').children(), inp = $("#inp"); |
|
|
$("#inp").datepicker(); |
|
|
$('body').empty().append(inp); |
|
|
$("#inp").datepicker(); |
|
|
ok( $("#"+$.datepicker._mainDivId).length===1, "Datepicker container added" ); |
|
|
$('body').empty().append(bodyContent); // Returning to initial state for later tests |
|
|
}); |
|
|
|
|
|
test( "widget method - empty collection", function() { |
|
|
expect( 1 ); |
|
|
$( "#nonExist" ).datepicker(); // should create nothing |
|
|
|
@@ -2023,11 +2023,15 @@ $.fn.datepicker = function(options){ |
|
|
|
|
|
/* Initialise the date picker. */ |
|
|
if (!$.datepicker.initialized) { |
|
|
$(document).mousedown($.datepicker._checkExternalClick). |
|
|
find(document.body).append($.datepicker.dpDiv); |
|
|
$(document).mousedown($.datepicker._checkExternalClick); |
|
|
$.datepicker.initialized = true; |
|
|
} |
|
|
|
|
|
/* Append datepicker main container to body if not exist. */ |
|
|
if ($("#"+$.datepicker._mainDivId).length === 0) { |
|
|
$('body').append($.datepicker.dpDiv); |
|
|
} |
|
|
|
|
|
var otherArgs = Array.prototype.slice.call(arguments, 1); |
|
|
if (typeof options === 'string' && (options === 'isDisabled' || options === 'getDate' || options === 'widget')) { |
|
|
return $.datepicker['_' + options + 'Datepicker']. |
|
|
0 comments on commit
7ffcaa2