diff --git a/client/main.js b/client/main.js index a30e86c592..9e7e43c886 100644 --- a/client/main.js +++ b/client/main.js @@ -278,23 +278,34 @@ $(document).ready(function() { $('.map-aside').addClass('is-collapsed'); }); - // I am going crazy trying to get this to work. Any takers? - // $('.collapse').on('show.bs.collapse', function(){ - // console.log(this); - // $(this).sibling().eq(0).find(".fa-caret-right").removeClass("fa-caret-right").addClass("fa-caret-down"); - // }).on('hide.bs.collapse', function(){ - // $(this).sibling().eq(0).find(".fa-caret-down").removeClass("fa-caret-down").addClass("fa-caret-right"); - // }); - - $('#showAll').on('click', () => { - var mapExpanded = $('#showAll').hasClass('active'); - if (!mapExpanded) { - $('.map-collapse').addClass('in'); + $('#accordion').on('show.bs.collapse', function(e) { + $(e.target) + .prev().find('.fa-caret-right') + .removeClass('fa-caret-right').addClass('fa-caret-down'); + if ($('a[data-toggle=collapse]').length === $('.fa-caret-down').length) { $('#showAll').text('Collapse all challenges'); - return $('#showAll').addClass('active'); - }; - $('.map-collapse').removeClass('in'); + $('#showAll').addClass('active'); + } + }).on('hide.bs.collapse', function(e) { + $(e.target) + .prev().find('.fa-caret-down') + .removeClass('fa-caret-down').addClass('fa-caret-right'); + if ($('a[data-toggle=collapse]').length === $('.fa-caret-right').length) { + $('#showAll').text('Expand all challenges'); + $('#showAll').removeClass('active'); + } + }); + + $('#showAll').on('click', () => { + var mapExpanded = $('#showAll').hasClass('active'); + if (!mapExpanded) { + $('.map-collapse').collapse('show'); + $('#showAll').text('Collapse all challenges'); + return $('#showAll').addClass('active'); + } else { + $('.map-collapse').collapse('hide'); $('#showAll').text('Expand all challenges'); return $('#showAll').removeClass('active'); + } }); }); diff --git a/server/views/map/show.jade b/server/views/map/show.jade index 54b0b2b853..b4efabda48 100644 --- a/server/views/map/show.jade +++ b/server/views/map/show.jade @@ -5,28 +5,26 @@ block content p Required challenges are marked with a * .row .col-xs-10.col-xs-offset-1.col-sm-6.col-sm-offset-3.col-md-4.col-md-offset-4 - a.btn.btn-primary.btn-block(href='/map' target='_blank') View this map in full screen - .btn.btn-primary.btn-block#showAll Expand all challenges - + .btn.btn-primary.btn-block.active#showAll Collapse all challenges hr #accordion for superBlock, index in superBlocks h2 - i.fa.fa-caret-right + i.fa.fa-caret-down |   - a.collapsed(data-toggle='collapse', data-parent='#accordion', href='#collapse'+superBlock.name.split(' ').join('-')) + a(data-toggle='collapse', data-parent='#accordion', href='#collapse'+superBlock.name.split(' ').join('-')) | #{superBlock.name} - div.margin-left-10(id = 'collapse'+superBlock.name.split(' ').join('-') class = "collapse map-collapse no-transition") + div.margin-left-10(id = 'collapse'+superBlock.name.split(' ').join('-') class = "collapse in map-collapse no-transition") #nested for challengeBlock in superBlock.blocks h3 - i.fa.fa-caret-right + i.fa.fa-caret-down |   a(data-toggle='collapse', data-parent='#nested', href='#nested-collapse'+challengeBlock.name.replace(/(\W)/gi, '').split(' ').join('-')) |   | #{challengeBlock.name} (#{challengeBlock.time}) - div.margin-left-10(id = "nested-collapse"+challengeBlock.name.replace(/\W/gi, '').split(' ').join('-') class = "collapse map-collapse no-transition") + div.margin-left-10(id = "nested-collapse"+challengeBlock.name.replace(/\W/gi, '').split(' ').join('-') class = "collapse in map-collapse no-transition") .button-spacer for challenge in challengeBlock.challenges if challenge.completed @@ -63,13 +61,3 @@ block content strong em Coming Soon .spacer -script. - $(document).ready(function(){ - $('#accordProfile').on('shown', function () { - $(".fa-caret-right").removeClass("icon-chevron-down").addClass("icon-chevron-up"); - }); - - $('#accordProfile').on('hidden', function () { - $(".icon-chevron-up").removeClass("icon-chevron-up").addClass("icon-chevron-down"); - }); - });