mirror of
https://github.com/twbs/bootstrap.git
synced 2025-05-29 00:03:29 -04:00
grunt
This commit is contained in:
parent
36e3d07c12
commit
94b544c229
65
dist/js/bootstrap.js
vendored
65
dist/js/bootstrap.js
vendored
@ -541,9 +541,15 @@ if (typeof jQuery === 'undefined') {
|
|||||||
var Collapse = function (element, options) {
|
var Collapse = function (element, options) {
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.options = $.extend({}, Collapse.DEFAULTS, options)
|
this.options = $.extend({}, Collapse.DEFAULTS, options)
|
||||||
|
this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]')
|
||||||
this.transitioning = null
|
this.transitioning = null
|
||||||
|
|
||||||
if (this.options.parent) this.$parent = $(this.options.parent)
|
if (this.options.parent) {
|
||||||
|
this.$parent = this.getParent()
|
||||||
|
} else {
|
||||||
|
this.addAriaAndCollapsedClass(this.$element, this.$trigger)
|
||||||
|
}
|
||||||
|
|
||||||
if (this.options.toggle) this.toggle()
|
if (this.options.toggle) this.toggle()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -552,7 +558,8 @@ if (typeof jQuery === 'undefined') {
|
|||||||
Collapse.TRANSITION_DURATION = 350
|
Collapse.TRANSITION_DURATION = 350
|
||||||
|
|
||||||
Collapse.DEFAULTS = {
|
Collapse.DEFAULTS = {
|
||||||
toggle: true
|
toggle: true,
|
||||||
|
trigger: '[data-toggle="collapse"]'
|
||||||
}
|
}
|
||||||
|
|
||||||
Collapse.prototype.dimension = function () {
|
Collapse.prototype.dimension = function () {
|
||||||
@ -587,6 +594,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
.addClass('collapsing')[dimension](0)
|
.addClass('collapsing')[dimension](0)
|
||||||
.attr('aria-expanded', true)
|
.attr('aria-expanded', true)
|
||||||
|
|
||||||
|
this.$trigger
|
||||||
|
.removeClass('collapsed')
|
||||||
|
.attr('aria-expanded', true)
|
||||||
|
|
||||||
this.transitioning = 1
|
this.transitioning = 1
|
||||||
|
|
||||||
var complete = function () {
|
var complete = function () {
|
||||||
@ -623,6 +634,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
.removeClass('collapse in')
|
.removeClass('collapse in')
|
||||||
.attr('aria-expanded', false)
|
.attr('aria-expanded', false)
|
||||||
|
|
||||||
|
this.$trigger
|
||||||
|
.addClass('collapsed')
|
||||||
|
.attr('aria-expanded', false)
|
||||||
|
|
||||||
this.transitioning = 1
|
this.transitioning = 1
|
||||||
|
|
||||||
var complete = function () {
|
var complete = function () {
|
||||||
@ -645,6 +660,33 @@ if (typeof jQuery === 'undefined') {
|
|||||||
this[this.$element.hasClass('in') ? 'hide' : 'show']()
|
this[this.$element.hasClass('in') ? 'hide' : 'show']()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Collapse.prototype.getParent = function () {
|
||||||
|
return $(this.options.parent)
|
||||||
|
.find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
|
||||||
|
.each($.proxy(function (i, element) {
|
||||||
|
var $element = $(element)
|
||||||
|
this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
|
||||||
|
}, this))
|
||||||
|
.end()
|
||||||
|
}
|
||||||
|
|
||||||
|
Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
|
||||||
|
var isOpen = $element.hasClass('in')
|
||||||
|
|
||||||
|
$element.attr('aria-expanded', isOpen)
|
||||||
|
$trigger
|
||||||
|
.toggleClass('collapsed', !isOpen)
|
||||||
|
.attr('aria-expanded', isOpen)
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTargetFromTrigger($trigger) {
|
||||||
|
var href
|
||||||
|
var target = $trigger.attr('data-target')
|
||||||
|
|| (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
|
||||||
|
|
||||||
|
return $(target)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// COLLAPSE PLUGIN DEFINITION
|
// COLLAPSE PLUGIN DEFINITION
|
||||||
// ==========================
|
// ==========================
|
||||||
@ -680,22 +722,13 @@ if (typeof jQuery === 'undefined') {
|
|||||||
// =================
|
// =================
|
||||||
|
|
||||||
$(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
|
$(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
|
||||||
var href
|
|
||||||
var $this = $(this)
|
var $this = $(this)
|
||||||
var target = $this.attr('data-target')
|
|
||||||
|| e.preventDefault()
|
|
||||||
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
|
|
||||||
var $target = $(target)
|
|
||||||
var data = $target.data('bs.collapse')
|
|
||||||
var option = data ? 'toggle' : $this.data()
|
|
||||||
var parent = $this.attr('data-parent')
|
|
||||||
var $parent = parent && $(parent)
|
|
||||||
|
|
||||||
if (!data || !data.transitioning) {
|
if (!$this.attr('data-target')) e.preventDefault()
|
||||||
if ($parent) $parent.find('[data-toggle="collapse"][data-parent="' + parent + '"]').not($this).addClass('collapsed').attr('aria-expanded', false)
|
|
||||||
var isCollapsed = $target.hasClass('in')
|
var $target = getTargetFromTrigger($this)
|
||||||
$this.toggleClass('collapsed', isCollapsed).attr('aria-expanded', !isCollapsed)
|
var data = $target.data('bs.collapse')
|
||||||
}
|
var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this })
|
||||||
|
|
||||||
Plugin.call($target, option)
|
Plugin.call($target, option)
|
||||||
})
|
})
|
||||||
|
4
dist/js/bootstrap.min.js
vendored
4
dist/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
2
docs/assets/js/customize.min.js
vendored
2
docs/assets/js/customize.min.js
vendored
File diff suppressed because one or more lines are too long
2
docs/assets/js/raw-files.min.js
vendored
2
docs/assets/js/raw-files.min.js
vendored
File diff suppressed because one or more lines are too long
65
docs/dist/js/bootstrap.js
vendored
65
docs/dist/js/bootstrap.js
vendored
@ -541,9 +541,15 @@ if (typeof jQuery === 'undefined') {
|
|||||||
var Collapse = function (element, options) {
|
var Collapse = function (element, options) {
|
||||||
this.$element = $(element)
|
this.$element = $(element)
|
||||||
this.options = $.extend({}, Collapse.DEFAULTS, options)
|
this.options = $.extend({}, Collapse.DEFAULTS, options)
|
||||||
|
this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]')
|
||||||
this.transitioning = null
|
this.transitioning = null
|
||||||
|
|
||||||
if (this.options.parent) this.$parent = $(this.options.parent)
|
if (this.options.parent) {
|
||||||
|
this.$parent = this.getParent()
|
||||||
|
} else {
|
||||||
|
this.addAriaAndCollapsedClass(this.$element, this.$trigger)
|
||||||
|
}
|
||||||
|
|
||||||
if (this.options.toggle) this.toggle()
|
if (this.options.toggle) this.toggle()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -552,7 +558,8 @@ if (typeof jQuery === 'undefined') {
|
|||||||
Collapse.TRANSITION_DURATION = 350
|
Collapse.TRANSITION_DURATION = 350
|
||||||
|
|
||||||
Collapse.DEFAULTS = {
|
Collapse.DEFAULTS = {
|
||||||
toggle: true
|
toggle: true,
|
||||||
|
trigger: '[data-toggle="collapse"]'
|
||||||
}
|
}
|
||||||
|
|
||||||
Collapse.prototype.dimension = function () {
|
Collapse.prototype.dimension = function () {
|
||||||
@ -587,6 +594,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
.addClass('collapsing')[dimension](0)
|
.addClass('collapsing')[dimension](0)
|
||||||
.attr('aria-expanded', true)
|
.attr('aria-expanded', true)
|
||||||
|
|
||||||
|
this.$trigger
|
||||||
|
.removeClass('collapsed')
|
||||||
|
.attr('aria-expanded', true)
|
||||||
|
|
||||||
this.transitioning = 1
|
this.transitioning = 1
|
||||||
|
|
||||||
var complete = function () {
|
var complete = function () {
|
||||||
@ -623,6 +634,10 @@ if (typeof jQuery === 'undefined') {
|
|||||||
.removeClass('collapse in')
|
.removeClass('collapse in')
|
||||||
.attr('aria-expanded', false)
|
.attr('aria-expanded', false)
|
||||||
|
|
||||||
|
this.$trigger
|
||||||
|
.addClass('collapsed')
|
||||||
|
.attr('aria-expanded', false)
|
||||||
|
|
||||||
this.transitioning = 1
|
this.transitioning = 1
|
||||||
|
|
||||||
var complete = function () {
|
var complete = function () {
|
||||||
@ -645,6 +660,33 @@ if (typeof jQuery === 'undefined') {
|
|||||||
this[this.$element.hasClass('in') ? 'hide' : 'show']()
|
this[this.$element.hasClass('in') ? 'hide' : 'show']()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Collapse.prototype.getParent = function () {
|
||||||
|
return $(this.options.parent)
|
||||||
|
.find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
|
||||||
|
.each($.proxy(function (i, element) {
|
||||||
|
var $element = $(element)
|
||||||
|
this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
|
||||||
|
}, this))
|
||||||
|
.end()
|
||||||
|
}
|
||||||
|
|
||||||
|
Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
|
||||||
|
var isOpen = $element.hasClass('in')
|
||||||
|
|
||||||
|
$element.attr('aria-expanded', isOpen)
|
||||||
|
$trigger
|
||||||
|
.toggleClass('collapsed', !isOpen)
|
||||||
|
.attr('aria-expanded', isOpen)
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTargetFromTrigger($trigger) {
|
||||||
|
var href
|
||||||
|
var target = $trigger.attr('data-target')
|
||||||
|
|| (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
|
||||||
|
|
||||||
|
return $(target)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// COLLAPSE PLUGIN DEFINITION
|
// COLLAPSE PLUGIN DEFINITION
|
||||||
// ==========================
|
// ==========================
|
||||||
@ -680,22 +722,13 @@ if (typeof jQuery === 'undefined') {
|
|||||||
// =================
|
// =================
|
||||||
|
|
||||||
$(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
|
$(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
|
||||||
var href
|
|
||||||
var $this = $(this)
|
var $this = $(this)
|
||||||
var target = $this.attr('data-target')
|
|
||||||
|| e.preventDefault()
|
|
||||||
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
|
|
||||||
var $target = $(target)
|
|
||||||
var data = $target.data('bs.collapse')
|
|
||||||
var option = data ? 'toggle' : $this.data()
|
|
||||||
var parent = $this.attr('data-parent')
|
|
||||||
var $parent = parent && $(parent)
|
|
||||||
|
|
||||||
if (!data || !data.transitioning) {
|
if (!$this.attr('data-target')) e.preventDefault()
|
||||||
if ($parent) $parent.find('[data-toggle="collapse"][data-parent="' + parent + '"]').not($this).addClass('collapsed').attr('aria-expanded', false)
|
|
||||||
var isCollapsed = $target.hasClass('in')
|
var $target = getTargetFromTrigger($this)
|
||||||
$this.toggleClass('collapsed', isCollapsed).attr('aria-expanded', !isCollapsed)
|
var data = $target.data('bs.collapse')
|
||||||
}
|
var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this })
|
||||||
|
|
||||||
Plugin.call($target, option)
|
Plugin.call($target, option)
|
||||||
})
|
})
|
||||||
|
4
docs/dist/js/bootstrap.min.js
vendored
4
docs/dist/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user