Commit 5b401a8c authored by Jacob Thornton's avatar Jacob Thornton
Browse files

add collapsed class to collapse invoker when it's target is collapsed #3525

parent 5e5965ca
Showing with 41 additions and 4 deletions
+41 -4
...@@ -150,6 +150,7 @@ ...@@ -150,6 +150,7 @@
|| e.preventDefault() || e.preventDefault()
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
, option = $(target).data('collapse') ? 'toggle' : $this.data() , option = $(target).data('collapse') ? 'toggle' : $this.data()
$this[$(target).hasClass('in') ? 'removeClass' : 'addClass']('show')
$(target).collapse(option) $(target).collapse(option)
}) })
}) })
......
...@@ -562,6 +562,7 @@ ...@@ -562,6 +562,7 @@
|| e.preventDefault() || e.preventDefault()
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
, option = $(target).data('collapse') ? 'toggle' : $this.data() , option = $(target).data('collapse') ? 'toggle' : $this.data()
$this[$(target).hasClass('in') ? 'removeClass' : 'addClass']('show')
$(target).collapse(option) $(target).collapse(option)
}) })
}) })
......
This diff is collapsed.
...@@ -144,12 +144,13 @@ ...@@ -144,12 +144,13 @@
* ==================== */ * ==================== */
$(function () { $(function () {
$('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) { $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
var $this = $(this), href var $this = $(this), href
, target = $this.attr('data-target') , target = $this.attr('data-target')
|| e.preventDefault() || e.preventDefault()
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
, option = $(target).data('collapse') ? 'toggle' : $this.data() , option = $(target).data('collapse') ? 'toggle' : $this.data()
$this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
$(target).collapse(option) $(target).collapse(option)
}) })
}) })
......
...@@ -24,7 +24,7 @@ $(function () { ...@@ -24,7 +24,7 @@ $(function () {
test("should not fire shown when show is prevented", function () { test("should not fire shown when show is prevented", function () {
$.support.transition = false $.support.transition = false
stop(); stop()
$('<div class="collapse"/>') $('<div class="collapse"/>')
.bind('show', function (e) { .bind('show', function (e) {
e.preventDefault(); e.preventDefault();
...@@ -39,7 +39,7 @@ $(function () { ...@@ -39,7 +39,7 @@ $(function () {
test("should reset style to auto after finishing opening collapse", function () { test("should reset style to auto after finishing opening collapse", function () {
$.support.transition = false $.support.transition = false
stop(); stop()
$('<div class="collapse" style="height: 0px"/>') $('<div class="collapse" style="height: 0px"/>')
.bind('show', function () { .bind('show', function () {
ok(this.style.height == '0px') ok(this.style.height == '0px')
...@@ -51,4 +51,38 @@ $(function () { ...@@ -51,4 +51,38 @@ $(function () {
.collapse('show') .collapse('show')
}) })
test("should add active class to target when collapse shown", function () {
$.support.transition = false
stop()
var target = $('<a data-toggle="collapse" href="#test1"></a>')
.appendTo($('#qunit-fixture'))
var collapsible = $('<div id="test1"></div>')
.appendTo($('#qunit-fixture'))
.on('show', function () {
ok(!target.hasClass('collapsed'))
start()
})
target.click()
})
test("should remove active class to target when collapse hidden", function () {
$.support.transition = false
stop()
var target = $('<a data-toggle="collapse" href="#test1"></a>')
.appendTo($('#qunit-fixture'))
var collapsible = $('<div id="test1" class="in"></div>')
.appendTo($('#qunit-fixture'))
.on('hide', function () {
ok(target.hasClass('collapsed'))
start()
})
target.click()
})
}) })
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment