From a0ecbca08056a0e2334b3b3d02e4ca13faff7368 Mon Sep 17 00:00:00 2001 From: Prem Sichanugrist Date: Mon, 7 May 2012 18:28:52 -0400 Subject: [PATCH] Make the accordian expand 'Week 1' by default This fixes the regression from javascript rewrite. --- static/js/application.js | 5 ++-- templates/coffee/spec/courseware_spec.coffee | 27 ++++++++++++------ templates/coffee/spec/courseware_spec.js | 30 ++++++++++++++------ templates/coffee/src/courseware.coffee | 3 +- 4 files changed, 46 insertions(+), 19 deletions(-) diff --git a/static/js/application.js b/static/js/application.js index 6a2e883917..876a926ff3 100644 --- a/static/js/application.js +++ b/static/js/application.js @@ -52,11 +52,12 @@ function Navigation() {} Navigation.bind = function() { - var navigation; + var active, navigation; if ($('#accordion').length) { navigation = new Navigation; + active = $('#accordion ul:has(li.active)').index('#accordion ul'); $('#accordion').bind('accordionchange', navigation.log).accordion({ - active: $('#accordion ul:has(li.active)').index('#accordion ul'), + active: active >= 0 ? active : 1, header: 'h3', autoHeight: false }); diff --git a/templates/coffee/spec/courseware_spec.coffee b/templates/coffee/spec/courseware_spec.coffee index 5a5cabac0e..5933e3e686 100644 --- a/templates/coffee/spec/courseware_spec.coffee +++ b/templates/coffee/spec/courseware_spec.coffee @@ -12,14 +12,25 @@ describe 'Courseware', -> describe 'bind', -> describe 'when the #accordion exists', -> - it 'activate the accordion with correct active section', -> - spyOn $.fn, 'accordion' - $('#accordion').append('') - Courseware.Navigation.bind() - expect($('#accordion').accordion).toHaveBeenCalledWith - active: 1 - header: 'h3' - autoHeight: false + describe 'when there is an active section', -> + it 'activate the accordion with correct active section', -> + spyOn $.fn, 'accordion' + $('#accordion').append('') + Courseware.Navigation.bind() + expect($('#accordion').accordion).toHaveBeenCalledWith + active: 1 + header: 'h3' + autoHeight: false + + describe 'when there is no active section', -> + it 'activate the accordian with section 1 as active', -> + spyOn $.fn, 'accordion' + $('#accordion').append('') + Courseware.Navigation.bind() + expect($('#accordion').accordion).toHaveBeenCalledWith + active: 1 + header: 'h3' + autoHeight: false it 'binds the accordionchange event', -> Courseware.Navigation.bind() diff --git a/templates/coffee/spec/courseware_spec.js b/templates/coffee/spec/courseware_spec.js index 195ea7b73b..7070fa0028 100644 --- a/templates/coffee/spec/courseware_spec.js +++ b/templates/coffee/spec/courseware_spec.js @@ -16,14 +16,28 @@ }); describe('bind', function() { describe('when the #accordion exists', function() { - it('activate the accordion with correct active section', function() { - spyOn($.fn, 'accordion'); - $('#accordion').append(''); - Courseware.Navigation.bind(); - return expect($('#accordion').accordion).toHaveBeenCalledWith({ - active: 1, - header: 'h3', - autoHeight: false + describe('when there is an active section', function() { + return it('activate the accordion with correct active section', function() { + spyOn($.fn, 'accordion'); + $('#accordion').append(''); + Courseware.Navigation.bind(); + return expect($('#accordion').accordion).toHaveBeenCalledWith({ + active: 1, + header: 'h3', + autoHeight: false + }); + }); + }); + describe('when there is no active section', function() { + return it('activate the accordian with section 1 as active', function() { + spyOn($.fn, 'accordion'); + $('#accordion').append(''); + Courseware.Navigation.bind(); + return expect($('#accordion').accordion).toHaveBeenCalledWith({ + active: 1, + header: 'h3', + autoHeight: false + }); }); }); it('binds the accordionchange event', function() { diff --git a/templates/coffee/src/courseware.coffee b/templates/coffee/src/courseware.coffee index 7772c1e533..a4c93ec0b4 100644 --- a/templates/coffee/src/courseware.coffee +++ b/templates/coffee/src/courseware.coffee @@ -6,8 +6,9 @@ class window.Courseware @bind: -> if $('#accordion').length navigation = new Navigation + active = $('#accordion ul:has(li.active)').index('#accordion ul') $('#accordion').bind('accordionchange', navigation.log).accordion - active: $('#accordion ul:has(li.active)').index('#accordion ul') + active: if active >= 0 then active else 1 header: 'h3' autoHeight: false $('#open_close_accordion a').click navigation.toggle