mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-12 08:34:08 +02:00
grunt
This commit is contained in:
17
js/dist/collapse.js
vendored
17
js/dist/collapse.js
vendored
@@ -59,7 +59,8 @@ var Collapse = function ($) {
|
||||
|
||||
var Selector = {
|
||||
ACTIVES: '.card > .show, .card > .collapsing',
|
||||
DATA_TOGGLE: '[data-toggle="collapse"]'
|
||||
DATA_TOGGLE: '[data-toggle="collapse"]',
|
||||
DATA_CHILDREN: 'data-children'
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -76,13 +77,20 @@ 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 + '"]')));
|
||||
|
||||
this._parent = this._config.parent ? this._getParent() : null;
|
||||
|
||||
if (!this._config.parent) {
|
||||
this._addAriaAndCollapsedClass(this._element, this._triggerArray);
|
||||
}
|
||||
|
||||
this._selectorActives = Selector.ACTIVES;
|
||||
if (this._parent) {
|
||||
var childrenSelector = this._parent.hasAttribute(Selector.DATA_CHILDREN) ? this._parent.getAttribute(Selector.DATA_CHILDREN) : null;
|
||||
if (childrenSelector !== null) {
|
||||
this._selectorActives = childrenSelector + ' > .show, ' + childrenSelector + ' > .collapsing';
|
||||
}
|
||||
}
|
||||
|
||||
if (this._config.toggle) {
|
||||
this.toggle();
|
||||
}
|
||||
@@ -115,7 +123,7 @@ var Collapse = function ($) {
|
||||
var activesData = void 0;
|
||||
|
||||
if (this._parent) {
|
||||
actives = $.makeArray($(this._parent).find(Selector.ACTIVES));
|
||||
actives = $.makeArray($(this._parent).find(this._selectorActives));
|
||||
if (!actives.length) {
|
||||
actives = null;
|
||||
}
|
||||
@@ -195,9 +203,8 @@ var Collapse = function ($) {
|
||||
}
|
||||
|
||||
var dimension = this._getDimension();
|
||||
var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';
|
||||
|
||||
this._element.style[dimension] = this._element[offsetDimension] + 'px';
|
||||
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + 'px';
|
||||
|
||||
Util.reflow(this._element);
|
||||
|
||||
|
2
js/dist/collapse.js.map
vendored
2
js/dist/collapse.js.map
vendored
File diff suppressed because one or more lines are too long
30
js/dist/dropdown.js
vendored
30
js/dist/dropdown.js
vendored
@@ -90,15 +90,6 @@ var Dropdown = function ($) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
|
||||
|
||||
// if mobile we use a backdrop because click events don't delegate
|
||||
var dropdown = document.createElement('div');
|
||||
dropdown.className = ClassName.BACKDROP;
|
||||
$(dropdown).insertBefore(this);
|
||||
$(dropdown).on('click', Dropdown._clearMenus);
|
||||
}
|
||||
|
||||
var relatedTarget = {
|
||||
relatedTarget: this
|
||||
};
|
||||
@@ -110,6 +101,16 @@ var Dropdown = function ($) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// set the backdrop only if the dropdown menu will be opened
|
||||
if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {
|
||||
|
||||
// if mobile we use a backdrop because click events don't delegate
|
||||
var dropdown = document.createElement('div');
|
||||
dropdown.className = ClassName.BACKDROP;
|
||||
$(dropdown).insertBefore(this);
|
||||
$(dropdown).on('click', Dropdown._clearMenus);
|
||||
}
|
||||
|
||||
this.focus();
|
||||
this.setAttribute('aria-expanded', true);
|
||||
|
||||
@@ -156,11 +157,6 @@ var Dropdown = function ($) {
|
||||
return;
|
||||
}
|
||||
|
||||
var backdrop = $(Selector.BACKDROP)[0];
|
||||
if (backdrop) {
|
||||
backdrop.parentNode.removeChild(backdrop);
|
||||
}
|
||||
|
||||
var toggles = $.makeArray($(Selector.DATA_TOGGLE));
|
||||
|
||||
for (var i = 0; i < toggles.length; i++) {
|
||||
@@ -183,6 +179,12 @@ var Dropdown = function ($) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// remove backdrop only if the dropdown menu will be hidden
|
||||
var backdrop = $(parent).find(Selector.BACKDROP)[0];
|
||||
if (backdrop) {
|
||||
backdrop.parentNode.removeChild(backdrop);
|
||||
}
|
||||
|
||||
toggles[i].setAttribute('aria-expanded', 'false');
|
||||
|
||||
$(parent).removeClass(ClassName.SHOW).trigger($.Event(Event.HIDDEN, relatedTarget));
|
||||
|
2
js/dist/dropdown.js.map
vendored
2
js/dist/dropdown.js.map
vendored
File diff suppressed because one or more lines are too long
11
js/dist/util.js
vendored
11
js/dist/util.js
vendored
@@ -111,13 +111,16 @@ var Util = function ($) {
|
||||
},
|
||||
getSelectorFromElement: function getSelectorFromElement(element) {
|
||||
var selector = element.getAttribute('data-target');
|
||||
|
||||
if (!selector) {
|
||||
if (!selector || selector === '#') {
|
||||
selector = element.getAttribute('href') || '';
|
||||
selector = /^#[a-z]/i.test(selector) ? selector : null;
|
||||
}
|
||||
|
||||
return selector;
|
||||
try {
|
||||
var $selector = $(selector);
|
||||
return $selector.length > 0 ? selector : null;
|
||||
} catch (error) {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
reflow: function reflow(element) {
|
||||
return element.offsetHeight;
|
||||
|
2
js/dist/util.js.map
vendored
2
js/dist/util.js.map
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user