From 7eb340ec589acd56ad960a020969822636c2bc54 Mon Sep 17 00:00:00 2001
From: Jacob Thornton <jacobthornton@gmail.com>
Date: Sun, 27 Nov 2011 17:31:12 -0800
Subject: [PATCH] add code to reset data for collapsed element so that item can
 be intitialized with correct options

---
 docs/javascript.html                          | 24 +++++++++----------
 ...bootstrap-alerts.js => bootstrap-alert.js} |  2 +-
 ...otstrap-buttons.js => bootstrap-button.js} |  0
 js/bootstrap-collapse.js                      | 10 ++++++--
 4 files changed, 21 insertions(+), 15 deletions(-)
 rename js/{bootstrap-alerts.js => bootstrap-alert.js} (96%)
 rename js/{bootstrap-buttons.js => bootstrap-button.js} (100%)

diff --git a/docs/javascript.html b/docs/javascript.html
index 833e6ec026..2db37a9fe1 100644
--- a/docs/javascript.html
+++ b/docs/javascript.html
@@ -29,14 +29,14 @@
     <script src="assets/js/google-code-prettify/prettify.js"></script>
     <script>$(function () { prettyPrint() })</script>
     <script src="../js/bootstrap-transition.js"></script>
-    <script src="../js/bootstrap-alerts.js"></script>
+    <script src="../js/bootstrap-alert.js"></script>
     <script src="../js/bootstrap-modal.js"></script>
     <script src="../js/bootstrap-dropdown.js"></script>
     <script src="../js/bootstrap-scrollspy.js"></script>
     <script src="../js/bootstrap-tab.js"></script>
     <script src="../js/bootstrap-twipsy.js"></script>
     <script src="../js/bootstrap-popover.js"></script>
-    <script src="../js/bootstrap-buttons.js"></script>
+    <script src="../js/bootstrap-button.js"></script>
     <script src="../js/bootstrap-collapse.js"></script>
     <script>
       $(function () {
@@ -115,7 +115,7 @@
              <td>Our Modal plugin is a <strong>super</strong> slim take on the traditional modal js plugin! We took special care to include only the bare functionality that we require at twitter.</td>
            </tr>
            <tr>
-             <td><a href="./javascript.html#alerts">bootstrap-alerts.js</a></td>
+             <td><a href="./javascript.html#alert">bootstrap-alert.js</a></td>
              <td>The alert plugin is a super tiny class for adding close functionality to alerts.</td>
            </tr>
            <tr>
@@ -139,7 +139,7 @@
              <td>The popover plugin provides a simple interface for adding popovers to your application. It extends the <a href="#twipsy">boostrap-twipsy.js</a> plugin, so be sure to grab that file as well when including popovers in your project!</td>
            </tr>
            <tr>
-              <td><a href="./javascript.html#buttons">bootstrap-buttons.js</a></td>
+              <td><a href="./javascript.html#button">bootstrap-button.js</a></td>
               <td>This plugin offers additional functionality for managing button state.</td>
             </tr>
             <tr>
@@ -716,12 +716,12 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
     </section>
 
 
-    <!-- Alerts
+    <!-- Alert
     ================================================== -->
 
-    <section id="alerts">
+    <section id="alert">
       <div class="page-header">
-        <h1>Alerts <small>bootstrap-alerts.js</small></h1>
+        <h1>Alert <small>bootstrap-alert.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
@@ -757,20 +757,20 @@ $('a[data-toggle="tab"]').bind('shown', function (e) {
     </section>
 
 
-     <!-- Buttons
+     <!-- Button
     ================================================== -->
 
-    <section id="buttons">
+    <section id="button">
       <div class="page-header">
-        <h1>Buttons <small>bootstrap-buttons.js</small></h1>
+        <h1>Button <small>bootstrap-button.js</small></h1>
       </div>
       <div class="row">
         <div class="span3 columns">
           <p>This plugin offers additional functionality for managing button state.</p>
-          <a href="../js/bootstrap-buttons.js" target="_blank" class="btn primary">Download</a>
+          <a href="../js/bootstrap-button.js" target="_blank" class="btn primary">Download</a>
         </div>
         <div class="span9 columns">
-          <h3>Using bootstrap-buttons.js</h3>
+          <h3>Using bootstrap-button.js</h3>
           <pre class="prettyprint linenums">$('.tabs').button()</pre>
             <h3>Markup</h3>
           <p>Data attributes are integral to the button plugin. Check out the example code below for the various markup types.</p>
diff --git a/js/bootstrap-alerts.js b/js/bootstrap-alert.js
similarity index 96%
rename from js/bootstrap-alerts.js
rename to js/bootstrap-alert.js
index 5f600ba1ff..210512a8b3 100644
--- a/js/bootstrap-alerts.js
+++ b/js/bootstrap-alert.js
@@ -1,5 +1,5 @@
 /* ==========================================================
- * bootstrap-alerts.js v2.0.0
+ * bootstrap-alert.js v2.0.0
  * http://twitter.github.com/bootstrap/javascript.html#alerts
  * ==========================================================
  * Copyright 2011 Twitter, Inc.
diff --git a/js/bootstrap-buttons.js b/js/bootstrap-button.js
similarity index 100%
rename from js/bootstrap-buttons.js
rename to js/bootstrap-button.js
diff --git a/js/bootstrap-collapse.js b/js/bootstrap-collapse.js
index 629d9b589e..93f91513e3 100644
--- a/js/bootstrap-collapse.js
+++ b/js/bootstrap-collapse.js
@@ -42,8 +42,14 @@
   , show: function () {
       var dimension = this.dimension()
         , scroll = $.camelCase(['scroll', dimension].join('-'))
-
-      this.$parent && this.$parent.find('.in').collapse('hide')
+        , actives = this.$parent && this.$parent.find('.in')
+        , hasData
+
+      if (actives && actives.length) {
+        hasData = actives.data('collapse')
+        actives.collapse('hide')
+        hasData || actives.data('collapse', null)
+      }
 
       this.$element[dimension](0)
       this.transition('addClass', 'show', 'shown')
-- 
GitLab