From 528f7ae42793feac0cfbe95e5840074345cf0130 Mon Sep 17 00:00:00 2001 From: "Christopher Liu (of course!)" Date: Tue, 22 Feb 2011 09:39:55 -0800 Subject: [PATCH 1/5] Removed style attributes specific to certain instances of accordion. --- .../listview-accordion/jquery.mobile.listview.accordion.css | 2 -- 1 file changed, 2 deletions(-) diff --git a/experiments/listview-accordion/jquery.mobile.listview.accordion.css b/experiments/listview-accordion/jquery.mobile.listview.accordion.css index 5e4831e93c8..47f9ea64644 100644 --- a/experiments/listview-accordion/jquery.mobile.listview.accordion.css +++ b/experiments/listview-accordion/jquery.mobile.listview.accordion.css @@ -1,5 +1,3 @@ .ui-li-accordion { - height:171px; - background-color: #000000; display: none; position: relative;} From dfe91c474de79619dc90a8293eb96f692ccbab3f Mon Sep 17 00:00:00 2001 From: "Christopher Liu (of course!)" Date: Tue, 22 Feb 2011 09:40:52 -0800 Subject: [PATCH 2/5] Class ui-li-accordion-open can now be specified in advance to keep a panel initially open. --- .../jquery.mobile.listview.accordion.js | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/experiments/listview-accordion/jquery.mobile.listview.accordion.js b/experiments/listview-accordion/jquery.mobile.listview.accordion.js index a01e3bd33a1..b54c1183ee5 100644 --- a/experiments/listview-accordion/jquery.mobile.listview.accordion.js +++ b/experiments/listview-accordion/jquery.mobile.listview.accordion.js @@ -1,6 +1,6 @@ /* * jQuery Mobile Framework : listview accordion extension -* Copyright (c) Boris Smus +* Copyright (c) Boris Smus, Christopher Liu * Note: Code is in draft form and is subject to change */ (function($, undefined ) { @@ -8,7 +8,13 @@ $( "[data-role='listview']" ).live( "listviewcreate", function() { var list = $( this ), listview = list.data( "listview" ); - + + var accordionExpandOne = function(accordion) { + // Close all other accordion flaps + list.find('.ui-li-accordion').slideUp(); + // Open this flap + accordion.slideToggle(); + } var accordionDecorator = function() { list.find('.ui-li-accordion').each(function(index, accordion) { // Format the accordion accordingly: @@ -29,23 +35,27 @@ $( "[data-role='listview']" ).live( "listviewcreate", function() { $li.find('a').remove(); // Bind click handler to show the accordion $li.bind('click', function() { - // Check that the current flap isn't already open var $accordion = $(this).find('.ui-li-accordion'); - if ($accordion.css('display') != 'none') { + // Check that the current flap isn't already open + if ($accordion.hasClass('ui-li-accordion-open')) { $accordion.slideUp(); $(this).removeClass('ui-li-accordion-open'); return; } - // Close all other accordion flaps - list.find('.ui-li-accordion').slideUp(); - // Open this flap - $accordion.slideToggle(); + // If not, clear old classes + list.find('.ui-li-accordion-open').removeClass('ui-li-accordion-open'); $(this).toggleClass('ui-li-accordion-open'); + accordionExpandOne($accordion); }); }); }; + var accordionExpandInitial = function() { + //Expand anything already marked with -open. + accordionExpandOne(list.find('.ui-li-accordion-open')); + }; accordionDecorator(); + accordionExpandInitial(); // Make sure that the decorator gets called on listview refresh too var orig = listview.refresh; From cbbab0ed2d46eef30f7eb00a4da1cd9c5f741f05 Mon Sep 17 00:00:00 2001 From: "Christopher Liu, of course!" Date: Tue, 22 Feb 2011 13:52:02 -0800 Subject: [PATCH 3/5] Fixed bugs with initial expansion and "rebound" expansion --- .../listview-accordion/jquery.mobile.listview.accordion.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/experiments/listview-accordion/jquery.mobile.listview.accordion.js b/experiments/listview-accordion/jquery.mobile.listview.accordion.js index b54c1183ee5..5fc4b143c5a 100644 --- a/experiments/listview-accordion/jquery.mobile.listview.accordion.js +++ b/experiments/listview-accordion/jquery.mobile.listview.accordion.js @@ -10,6 +10,7 @@ $( "[data-role='listview']" ).live( "listviewcreate", function() { listview = list.data( "listview" ); var accordionExpandOne = function(accordion) { + // console.log('h'); // Close all other accordion flaps list.find('.ui-li-accordion').slideUp(); // Open this flap @@ -39,12 +40,13 @@ $( "[data-role='listview']" ).live( "listviewcreate", function() { // Check that the current flap isn't already open if ($accordion.hasClass('ui-li-accordion-open')) { $accordion.slideUp(); - $(this).removeClass('ui-li-accordion-open'); + $accordion.removeClass('ui-li-accordion-open'); return; } + console.log('continue'); // If not, clear old classes list.find('.ui-li-accordion-open').removeClass('ui-li-accordion-open'); - $(this).toggleClass('ui-li-accordion-open'); + $accordion.toggleClass('ui-li-accordion-open'); accordionExpandOne($accordion); }); }); From 2ba417987cde33427d3940a0d4f9684cc904d39e Mon Sep 17 00:00:00 2001 From: "Christopher Liu, of course!" Date: Fri, 25 Feb 2011 23:33:25 -0800 Subject: [PATCH 4/5] Removed commented out log call --- .../listview-accordion/jquery.mobile.listview.accordion.js | 1 - 1 file changed, 1 deletion(-) diff --git a/experiments/listview-accordion/jquery.mobile.listview.accordion.js b/experiments/listview-accordion/jquery.mobile.listview.accordion.js index 5fc4b143c5a..36544a7607f 100644 --- a/experiments/listview-accordion/jquery.mobile.listview.accordion.js +++ b/experiments/listview-accordion/jquery.mobile.listview.accordion.js @@ -10,7 +10,6 @@ $( "[data-role='listview']" ).live( "listviewcreate", function() { listview = list.data( "listview" ); var accordionExpandOne = function(accordion) { - // console.log('h'); // Close all other accordion flaps list.find('.ui-li-accordion').slideUp(); // Open this flap From 86c3ee090b0ac1db9413922ad595247e32fcb477 Mon Sep 17 00:00:00 2001 From: Christopher Liu Date: Thu, 17 Apr 2014 20:02:17 -0400 Subject: [PATCH 5/5] Removed log call --- .../listview-accordion/jquery.mobile.listview.accordion.js | 1 - 1 file changed, 1 deletion(-) diff --git a/experiments/listview-accordion/jquery.mobile.listview.accordion.js b/experiments/listview-accordion/jquery.mobile.listview.accordion.js index 36544a7607f..88c2b13a605 100644 --- a/experiments/listview-accordion/jquery.mobile.listview.accordion.js +++ b/experiments/listview-accordion/jquery.mobile.listview.accordion.js @@ -42,7 +42,6 @@ $( "[data-role='listview']" ).live( "listviewcreate", function() { $accordion.removeClass('ui-li-accordion-open'); return; } - console.log('continue'); // If not, clear old classes list.find('.ui-li-accordion-open').removeClass('ui-li-accordion-open'); $accordion.toggleClass('ui-li-accordion-open');