mirror of
https://github.com/twbs/bootstrap.git
synced 2024-12-01 13:24:25 +01:00
Merge pull request #20467 from maxbeatty/v4-dev-17754
add support for ol in tab plugin
This commit is contained in:
commit
73154d0392
@ -44,7 +44,7 @@ const Tab = (($) => {
|
|||||||
A : 'a',
|
A : 'a',
|
||||||
LI : 'li',
|
LI : 'li',
|
||||||
DROPDOWN : '.dropdown',
|
DROPDOWN : '.dropdown',
|
||||||
UL : 'ul:not(.dropdown-menu)',
|
LIST : 'ul:not(.dropdown-menu), ol:not(.dropdown-menu)',
|
||||||
FADE_CHILD : '> .nav-item .fade, > .fade',
|
FADE_CHILD : '> .nav-item .fade, > .fade',
|
||||||
ACTIVE : '.active',
|
ACTIVE : '.active',
|
||||||
ACTIVE_CHILD : '> .nav-item > .active, > .active',
|
ACTIVE_CHILD : '> .nav-item > .active, > .active',
|
||||||
@ -85,11 +85,11 @@ const Tab = (($) => {
|
|||||||
|
|
||||||
let target
|
let target
|
||||||
let previous
|
let previous
|
||||||
let ulElement = $(this._element).closest(Selector.UL)[0]
|
let listElement = $(this._element).closest(Selector.LIST)[0]
|
||||||
let selector = Util.getSelectorFromElement(this._element)
|
let selector = Util.getSelectorFromElement(this._element)
|
||||||
|
|
||||||
if (ulElement) {
|
if (listElement) {
|
||||||
previous = $.makeArray($(ulElement).find(Selector.ACTIVE))
|
previous = $.makeArray($(listElement).find(Selector.ACTIVE))
|
||||||
previous = previous[previous.length - 1]
|
previous = previous[previous.length - 1]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ const Tab = (($) => {
|
|||||||
|
|
||||||
this._activate(
|
this._activate(
|
||||||
this._element,
|
this._element,
|
||||||
ulElement
|
listElement
|
||||||
)
|
)
|
||||||
|
|
||||||
let complete = () => {
|
let complete = () => {
|
||||||
|
@ -76,6 +76,22 @@ $(function () {
|
|||||||
assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'home')
|
assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'home')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
QUnit.test('should activate element by tab id in ordered list', function (assert) {
|
||||||
|
assert.expect(2)
|
||||||
|
var pillsHTML = '<ol class="pills">'
|
||||||
|
+ '<li><a href="#home">Home</a></li>'
|
||||||
|
+ '<li><a href="#profile">Profile</a></li>'
|
||||||
|
+ '</ol>'
|
||||||
|
|
||||||
|
$('<ol><li id="home"/><li id="profile"/></ol>').appendTo('#qunit-fixture')
|
||||||
|
|
||||||
|
$(pillsHTML).find('li:last a').bootstrapTab('show')
|
||||||
|
assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'profile')
|
||||||
|
|
||||||
|
$(pillsHTML).find('li:first a').bootstrapTab('show')
|
||||||
|
assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'home')
|
||||||
|
})
|
||||||
|
|
||||||
QUnit.test('should not fire shown when show is prevented', function (assert) {
|
QUnit.test('should not fire shown when show is prevented', function (assert) {
|
||||||
assert.expect(1)
|
assert.expect(1)
|
||||||
var done = assert.async()
|
var done = assert.async()
|
||||||
|
Loading…
Reference in New Issue
Block a user