From a8c04855b4c18399a453a84cb4dd802e3a66cdce Mon Sep 17 00:00:00 2001 From: Ethan Romba Date: Mon, 21 Nov 2011 16:37:21 -0600 Subject: [PATCH] Issue #3081: Range inputs on dialogs don't degrade The degradeInputs plugin bails early for pages that do not have data-role="page". This behavior prevented range inputs (for slider widgets) from degrading properly when used in dialogs. Updated degradeInputs unit tests to check dialogs, too. --- js/jquery.mobile.degradeInputs.js | 2 +- tests/unit/degradeInputs/degradeInputs.js | 14 +++++++++++--- tests/unit/degradeInputs/index.html | 11 +++++++++-- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/js/jquery.mobile.degradeInputs.js b/js/jquery.mobile.degradeInputs.js index 62f96d79..2d249fbe 100644 --- a/js/jquery.mobile.degradeInputs.js +++ b/js/jquery.mobile.degradeInputs.js @@ -24,7 +24,7 @@ $.mobile.page.prototype.options.degradeInputs = { //auto self-init widgets $( document ).bind( "pagecreate create", function( e ){ - var page = $(e.target).closest(':jqmData(role="page")').data("page"), options; + var page = $(e.target).closest(':jqmData(role="page"),:jqmData(role="dialog")').data("page"), options; if( !page ) { return; diff --git a/tests/unit/degradeInputs/degradeInputs.js b/tests/unit/degradeInputs/degradeInputs.js index b45e411b..c67b8bf6 100644 --- a/tests/unit/degradeInputs/degradeInputs.js +++ b/tests/unit/degradeInputs/degradeInputs.js @@ -14,15 +14,23 @@ var degradeInputs = $.mobile.page.prototype.options.degradeInputs; expect( degradeInputs.length ); - + + // Initialize dialog page + $.mobile.changePage($('#dialog')); + $.mobile.changePage($('#page')); + $.each(degradeInputs, function( oldType, newType ) { if (newType === false) { newType = oldType; } - $('#test-container').html('').trigger("create"); + $('#page-test-container').html('').trigger("create"); - same($('#test-container input').attr("type"), newType); + same($('#page-test-container input').attr("type"), newType); + + $('#dialog-test-container').html('').trigger("create"); + + same($('#dialog-test-container input').attr("type"), newType); }); }); diff --git a/tests/unit/degradeInputs/index.html b/tests/unit/degradeInputs/index.html index 4dfa1d6f..2d01fa43 100644 --- a/tests/unit/degradeInputs/index.html +++ b/tests/unit/degradeInputs/index.html @@ -25,11 +25,18 @@
-
+
-
+
+
+ +
+ +
+ +