Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap-rubygem.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'assets/javascripts/bootstrap/collapse.js')
-rw-r--r--assets/javascripts/bootstrap/collapse.js32
1 files changed, 26 insertions, 6 deletions
diff --git a/assets/javascripts/bootstrap/collapse.js b/assets/javascripts/bootstrap/collapse.js
index bf7b82a..bdfa8bf 100644
--- a/assets/javascripts/bootstrap/collapse.js
+++ b/assets/javascripts/bootstrap/collapse.js
@@ -76,6 +76,14 @@ var Collapse = function ($) {
this._element = element;
this._config = this._getConfig(config);
this._triggerArray = $.makeArray($('[data-toggle="collapse"][href="#' + element.id + '"],' + ('[data-toggle="collapse"][data-target="#' + element.id + '"]')));
+ var tabToggles = $(Selector.DATA_TOGGLE);
+ for (var i = 0; i < tabToggles.length; i++) {
+ var elem = tabToggles[i];
+ var selector = Util.getSelectorFromElement(elem);
+ if (selector !== null && $(selector).filter(element).length > 0) {
+ this._triggerArray.push(elem);
+ }
+ }
this._parent = this._config.parent ? this._getParent() : null;
@@ -194,7 +202,16 @@ var Collapse = function ($) {
$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.SHOW);
if (this._triggerArray.length) {
- $(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+ for (var i = 0; i < this._triggerArray.length; i++) {
+ var trigger = this._triggerArray[i];
+ var selector = Util.getSelectorFromElement(trigger);
+ if (selector !== null) {
+ var $elem = $(selector);
+ if (!$elem.hasClass(ClassName.SHOW)) {
+ $(trigger).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);
+ }
+ }
+ }
}
this.setTransitioning(true);
@@ -322,11 +339,14 @@ var Collapse = function ($) {
event.preventDefault();
}
- var target = Collapse._getTargetFromElement(this);
- var data = $(target).data(DATA_KEY);
- var config = data ? 'toggle' : $(this).data();
-
- Collapse._jQueryInterface.call($(target), config);
+ var $trigger = $(this);
+ var selector = Util.getSelectorFromElement(this);
+ $(selector).each(function () {
+ var $target = $(this);
+ var data = $target.data(DATA_KEY);
+ var config = data ? 'toggle' : $trigger.data();
+ Collapse._jQueryInterface.call($target, config);
+ });
});
/**