Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bootstrap
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
bootstrap
Commits
1b323762
Commit
1b323762
authored
Jul 18, 2014
by
Andrew S. Brown
Committed by
Heinrich Fenkart
Oct 26, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow multiple delegated tooltip selectors on a node
Fixes #14167. Closes #14189 by merging it.
parent
0521913a
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
95 additions
and
8 deletions
+95
-8
js/popover.js
js/popover.js
+10
-4
js/tests/unit/popover.js
js/tests/unit/popover.js
+44
-0
js/tests/unit/tooltip.js
js/tests/unit/tooltip.js
+31
-0
js/tooltip.js
js/tooltip.js
+10
-4
No files found.
js/popover.js
View file @
1b323762
...
@@ -89,9 +89,15 @@
...
@@ -89,9 +89,15 @@
var
$this
=
$
(
this
)
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'
bs.popover
'
)
var
data
=
$this
.
data
(
'
bs.popover
'
)
var
options
=
typeof
option
==
'
object
'
&&
option
var
options
=
typeof
option
==
'
object
'
&&
option
var
selector
=
options
&&
options
.
selector
if
(
!
data
&&
option
==
'
destroy
'
)
return
if
(
!
data
&&
option
==
'
destroy
'
)
return
if
(
selector
)
{
if
(
!
data
)
$this
.
data
(
'
bs.popover
'
,
(
data
=
{}))
if
(
!
data
[
selector
])
data
[
selector
]
=
new
Popover
(
this
,
options
)
}
else
{
if
(
!
data
)
$this
.
data
(
'
bs.popover
'
,
(
data
=
new
Popover
(
this
,
options
)))
if
(
!
data
)
$this
.
data
(
'
bs.popover
'
,
(
data
=
new
Popover
(
this
,
options
)))
}
if
(
typeof
option
==
'
string
'
)
data
[
option
]()
if
(
typeof
option
==
'
string
'
)
data
[
option
]()
})
})
}
}
...
...
js/tests/unit/popover.js
View file @
1b323762
...
@@ -173,4 +173,48 @@ $(function () {
...
@@ -173,4 +173,48 @@ $(function () {
ok
(
!
$
.
_data
(
$popover
[
0
],
'
events
'
).
mouseover
&&
!
$
.
_data
(
$popover
[
0
],
'
events
'
).
mouseout
,
'
popover does not have any events
'
)
ok
(
!
$
.
_data
(
$popover
[
0
],
'
events
'
).
mouseover
&&
!
$
.
_data
(
$popover
[
0
],
'
events
'
).
mouseout
,
'
popover does not have any events
'
)
})
})
test
(
'
should render popover element using delegated selector
'
,
function
()
{
var
$div
=
$
(
'
<div><a href="#" title="mdo" data-content="http://twitter.com/mdo">@mdo</a></div>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapPopover
({
selector
:
'
a
'
,
trigger
:
'
click
'
})
$div
.
find
(
'
a
'
).
click
()
notEqual
(
$
(
'
.popover
'
).
length
,
0
,
'
popover was inserted
'
)
$div
.
find
(
'
a
'
).
click
()
equal
(
$
(
'
.popover
'
).
length
,
0
,
'
popover was removed
'
)
})
test
(
'
should render popover elements using different delegated selectors on the same node
'
,
function
()
{
var
popoverHTML
=
'
<div>
'
+
'
<a href="#" class="first" title="mdo" data-content="http://twitter.com/mdo">@mdo</a>
'
+
'
<a href="#" class="second" title="mdo" data-content="http://twitter.com/mdo">@mdo</a>
'
+
'
</div>
'
var
$div
=
$
(
popoverHTML
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapPopover
({
selector
:
'
a.first
'
,
trigger
:
'
click
'
})
.
bootstrapPopover
({
selector
:
'
a.second
'
,
trigger
:
'
click
'
})
$div
.
find
(
'
a.first
'
).
click
()
notEqual
(
$
(
'
.popover
'
).
length
,
0
,
'
first popover was inserted
'
)
$div
.
find
(
'
a.first
'
).
click
()
equal
(
$
(
'
.popover
'
).
length
,
0
,
'
first popover removed
'
)
$div
.
find
(
'
a.second
'
).
click
()
notEqual
(
$
(
'
.popover
'
).
length
,
0
,
'
second popover was inserted
'
)
$div
.
find
(
'
a.second
'
).
click
()
equal
(
$
(
'
.popover
'
).
length
,
0
,
'
second popover removed
'
)
})
})
})
js/tests/unit/tooltip.js
View file @
1b323762
...
@@ -235,6 +235,37 @@ $(function () {
...
@@ -235,6 +235,37 @@ $(function () {
equal
(
$
(
'
.tooltip
'
).
length
,
0
,
'
tooltip was removed from dom
'
)
equal
(
$
(
'
.tooltip
'
).
length
,
0
,
'
tooltip was removed from dom
'
)
})
})
test
(
'
should show tooltips with different delegate selectors on the same node on click
'
,
function
()
{
var
tooltipHTML
=
'
<div>
'
+
'
<a href="#" class="first" rel="tooltip" title="First delegated tooltip"/>
'
+
'
<a href="#" class="second" rel="tooltip" title="Second delegated tooltip"/>
'
+
'
</div>
'
var
$div
=
$
(
tooltipHTML
)
.
append
()
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
({
selector
:
'
a.first[rel="tooltip"]
'
,
trigger
:
'
click
'
})
.
bootstrapTooltip
({
selector
:
'
a.second[rel="tooltip"]
'
,
trigger
:
'
click
'
})
$div
.
find
(
'
a.first
'
).
click
()
ok
(
$
(
'
.tooltip
'
).
is
(
'
.fade.in
'
),
'
first tooltip is faded in
'
)
$div
.
find
(
'
a.first
'
).
click
()
equal
(
$
(
'
.tooltip
'
).
length
,
0
,
'
first tooltip was removed from dom
'
)
$div
.
find
(
'
a.second
'
).
click
()
ok
(
$
(
'
.tooltip
'
).
is
(
'
.fade.in
'
),
'
second tooltip is faded in
'
)
$div
.
find
(
'
a.second
'
).
click
()
equal
(
$
(
'
.tooltip
'
).
length
,
0
,
'
second tooltip was removed from dom
'
)
})
test
(
'
should show tooltip when toggle is called
'
,
function
()
{
test
(
'
should show tooltip when toggle is called
'
,
function
()
{
$
(
'
<a href="#" rel="tooltip" title="tooltip on toggle"/>
'
)
$
(
'
<a href="#" rel="tooltip" title="tooltip on toggle"/>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
appendTo
(
'
#qunit-fixture
'
)
...
...
js/tooltip.js
View file @
1b323762
...
@@ -445,9 +445,15 @@
...
@@ -445,9 +445,15 @@
var
$this
=
$
(
this
)
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'
bs.tooltip
'
)
var
data
=
$this
.
data
(
'
bs.tooltip
'
)
var
options
=
typeof
option
==
'
object
'
&&
option
var
options
=
typeof
option
==
'
object
'
&&
option
var
selector
=
options
&&
options
.
selector
if
(
!
data
&&
option
==
'
destroy
'
)
return
if
(
!
data
&&
option
==
'
destroy
'
)
return
if
(
selector
)
{
if
(
!
data
)
$this
.
data
(
'
bs.tooltip
'
,
(
data
=
{}))
if
(
!
data
[
selector
])
data
[
selector
]
=
new
Tooltip
(
this
,
options
)
}
else
{
if
(
!
data
)
$this
.
data
(
'
bs.tooltip
'
,
(
data
=
new
Tooltip
(
this
,
options
)))
if
(
!
data
)
$this
.
data
(
'
bs.tooltip
'
,
(
data
=
new
Tooltip
(
this
,
options
)))
}
if
(
typeof
option
==
'
string
'
)
data
[
option
]()
if
(
typeof
option
==
'
string
'
)
data
[
option
]()
})
})
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment