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
7b0acf14
Commit
7b0acf14
authored
Mar 17, 2014
by
XhmikosR
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Comply to the new style.
parent
5ef9383f
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
171 additions
and
152 deletions
+171
-152
Gruntfile.js
Gruntfile.js
+4
-4
docs/assets/js/_src/application.js
docs/assets/js/_src/application.js
+1
-0
docs/assets/js/_src/customizer.js
docs/assets/js/_src/customizer.js
+7
-4
docs/assets/js/ie10-viewport-bug-workaround.js
docs/assets/js/ie10-viewport-bug-workaround.js
+1
-0
docs/assets/js/ie8-responsive-file-warning.js
docs/assets/js/ie8-responsive-file-warning.js
+1
-1
js/carousel.js
js/carousel.js
+3
-2
js/collapse.js
js/collapse.js
+2
-1
js/modal.js
js/modal.js
+2
-2
js/popover.js
js/popover.js
+1
-1
js/scrollspy.js
js/scrollspy.js
+2
-3
js/tab.js
js/tab.js
+1
-1
js/tests/unit/affix.js
js/tests/unit/affix.js
+6
-5
js/tests/unit/alert.js
js/tests/unit/alert.js
+7
-6
js/tests/unit/button.js
js/tests/unit/button.js
+8
-7
js/tests/unit/carousel.js
js/tests/unit/carousel.js
+3
-2
js/tests/unit/collapse.js
js/tests/unit/collapse.js
+3
-2
js/tests/unit/dropdown.js
js/tests/unit/dropdown.js
+21
-20
js/tests/unit/modal.js
js/tests/unit/modal.js
+3
-2
js/tests/unit/popover.js
js/tests/unit/popover.js
+6
-5
js/tests/unit/scrollspy.js
js/tests/unit/scrollspy.js
+16
-14
js/tests/unit/tab.js
js/tests/unit/tab.js
+3
-2
js/tests/unit/tooltip.js
js/tests/unit/tooltip.js
+64
-63
js/tooltip.js
js/tooltip.js
+4
-4
js/transition.js
js/transition.js
+2
-1
No files found.
Gruntfile.js
View file @
7b0acf14
...
...
@@ -232,7 +232,7 @@ module.exports = function (grunt) {
core
:
{
files
:
{
'
dist/css/<%= pkg.name %>.min.css
'
:
'
dist/css/<%= pkg.name %>.css
'
,
'
dist/css/<%= pkg.name %>-theme.min.css
'
:
'
dist/css/<%= pkg.name %>-theme.css
'
,
'
dist/css/<%= pkg.name %>-theme.min.css
'
:
'
dist/css/<%= pkg.name %>-theme.css
'
}
},
docs
:
{
...
...
@@ -314,9 +314,9 @@ module.exports = function (grunt) {
pretty
:
true
,
data
:
function
()
{
var
filePath
=
path
.
join
(
__dirname
,
'
less/variables.less
'
);
var
fileContent
=
fs
.
readFileSync
(
filePath
,
{
encoding
:
'
utf8
'
});
var
fileContent
=
fs
.
readFileSync
(
filePath
,
{
encoding
:
'
utf8
'
});
var
parser
=
new
BsLessdocParser
(
fileContent
);
return
{
sections
:
parser
.
parseFile
()
};
return
{
sections
:
parser
.
parseFile
()
};
}
},
files
:
{
...
...
@@ -391,7 +391,7 @@ module.exports = function (grunt) {
// These plugins provide necessary tasks.
require
(
'
load-grunt-tasks
'
)(
grunt
,
{
scope
:
'
devDependencies
'
});
require
(
'
load-grunt-tasks
'
)(
grunt
,
{
scope
:
'
devDependencies
'
});
require
(
'
time-grunt
'
)(
grunt
);
// Docs HTML validation task
...
...
docs/assets/js/_src/application.js
View file @
7b0acf14
...
...
@@ -11,6 +11,7 @@
!
function
(
$
)
{
'
use strict
'
;
$
(
function
()
{
...
...
docs/assets/js/_src/customizer.js
View file @
7b0acf14
...
...
@@ -6,7 +6,10 @@
* details, see http://creativecommons.org/licenses/by/3.0/.
*/
/* global JSZip, less, saveAs, UglifyJS, __js, __less, __fonts */
window
.
onload
=
function
()
{
// wait for load in a dumb way because B-0
'
use strict
'
;
var
cw
=
'
/*!
\n
'
+
'
* Bootstrap v3.1.1 (http://getbootstrap.com)
\n
'
+
'
* Copyright 2011-2014 Twitter, Inc.
\n
'
+
...
...
@@ -159,7 +162,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
if
(
fonts
)
{
var
fontsFolder
=
zip
.
folder
(
'
fonts
'
)
for
(
var
fontsFileName
in
fonts
)
{
fontsFolder
.
file
(
fontsFileName
,
fonts
[
fontsFileName
],
{
base64
:
true
})
fontsFolder
.
file
(
fontsFileName
,
fonts
[
fontsFileName
],
{
base64
:
true
})
}
}
...
...
@@ -217,7 +220,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
var
lessSource
=
__less
[
lessFilename
]
var
lessFilenames
=
includedLessFilenames
(
lessFilename
)
$
.
each
(
lessFilenames
,
function
(
index
,
filename
)
{
$
.
each
(
lessFilenames
,
function
(
index
,
filename
)
{
var
fileInclude
=
lessFileIncludes
[
filename
]
// Files not explicitly unchecked are compiled into the final stylesheet.
...
...
@@ -254,7 +257,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
function
generateCSS
(
preamble
)
{
var
oneChecked
=
false
var
lessFileIncludes
=
{}
$
(
'
#less-section input
'
).
each
(
function
()
{
$
(
'
#less-section input
'
).
each
(
function
()
{
var
$this
=
$
(
this
)
var
checked
=
$this
.
is
(
'
:checked
'
)
lessFileIncludes
[
$this
.
val
()]
=
checked
...
...
@@ -405,7 +408,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
var
url
=
window
.
webkitURL
||
window
.
URL
// Safari 6 uses "webkitURL".
var
svg
=
new
Blob
(
[
'
<svg xmlns=
\'
http://www.w3.org/2000/svg
\'
></svg>
'
],
{
type
:
'
image/svg+xml;charset=utf-8
'
}
{
type
:
'
image/svg+xml;charset=utf-8
'
}
)
var
objectUrl
=
url
.
createObjectURL
(
svg
);
if
(
/^blob:/
.
exec
(
objectUrl
)
===
null
)
{
...
...
docs/assets/js/ie10-viewport-bug-workaround.js
View file @
7b0acf14
...
...
@@ -9,6 +9,7 @@
// http://getbootstrap.com/getting-started/#support-ie10-width
(
function
()
{
'
use strict
'
;
if
(
navigator
.
userAgent
.
match
(
/IEMobile
\/
10
\.
0/
))
{
var
msViewportStyle
=
document
.
createElement
(
'
style
'
)
msViewportStyle
.
appendChild
(
...
...
docs/assets/js/ie8-responsive-file-warning.js
View file @
7b0acf14
...
...
@@ -9,5 +9,5 @@
*/
// Intended to prevent false-positive bug reports about responsive styling supposedly not working in IE8.
if
(
window
.
location
.
protocol
==
'
file:
'
)
{
alert
(
'
ERROR: Bootstrap
\'
s responsive CSS is disabled!
\n
See getbootstrap.com/getting-started/#respond-file-proto for details.
'
)
window
.
alert
(
'
ERROR: Bootstrap
\'
s responsive CSS is disabled!
\n
See getbootstrap.com/getting-started/#respond-file-proto for details.
'
)
}
js/carousel.js
View file @
7b0acf14
...
...
@@ -103,7 +103,7 @@
$next
=
this
.
$element
.
find
(
'
.item
'
)[
fallback
]()
}
if
(
$next
.
hasClass
(
'
active
'
))
return
this
.
sliding
=
false
if
(
$next
.
hasClass
(
'
active
'
))
return
(
this
.
sliding
=
false
)
var
relatedTarget
=
$next
[
0
]
var
slideEvent
=
$
.
Event
(
'
slide.bs.carousel
'
,
{
relatedTarget
:
relatedTarget
,
direction
:
direction
})
...
...
@@ -185,7 +185,8 @@
// =================
$
(
document
).
on
(
'
click.bs.carousel.data-api
'
,
'
[data-slide], [data-slide-to]
'
,
function
(
e
)
{
var
$this
=
$
(
this
),
href
var
href
var
$this
=
$
(
this
)
var
$target
=
$
(
$this
.
attr
(
'
data-target
'
)
||
(
href
=
$this
.
attr
(
'
href
'
))
&&
href
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
''
))
//strip for ie7
var
options
=
$
.
extend
({},
$target
.
data
(),
$this
.
data
())
var
slideIndex
=
$this
.
attr
(
'
data-slide-to
'
)
...
...
js/collapse.js
View file @
7b0acf14
...
...
@@ -159,7 +159,8 @@
// =================
$
(
document
).
on
(
'
click.bs.collapse.data-api
'
,
'
[data-toggle="collapse"]
'
,
function
(
e
)
{
var
$this
=
$
(
this
),
href
var
href
var
$this
=
$
(
this
)
var
target
=
$this
.
attr
(
'
data-target
'
)
||
e
.
preventDefault
()
||
(
href
=
$this
.
attr
(
'
href
'
))
&&
href
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
''
)
//strip for ie7
...
...
js/modal.js
View file @
7b0acf14
...
...
@@ -188,7 +188,7 @@
}
else
if
(
!
this
.
isShown
&&
this
.
$backdrop
)
{
this
.
$backdrop
.
removeClass
(
'
in
'
)
var
callbackRemove
=
function
()
{
var
callbackRemove
=
function
()
{
that
.
removeBackdrop
()
callback
&&
callback
()
}
...
...
@@ -209,7 +209,7 @@
}
Modal
.
prototype
.
setScrollbar
=
function
()
{
var
bodyPad
=
parseInt
(
this
.
$body
.
css
(
'
padding-right
'
)
||
0
)
var
bodyPad
=
parseInt
(
(
this
.
$body
.
css
(
'
padding-right
'
)
||
0
),
1
0
)
if
(
this
.
scrollbarWidth
)
this
.
$body
.
css
(
'
padding-right
'
,
bodyPad
+
this
.
scrollbarWidth
)
}
...
...
js/popover.js
View file @
7b0acf14
...
...
@@ -72,7 +72,7 @@
}
Popover
.
prototype
.
arrow
=
function
()
{
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
'
.arrow
'
)
return
(
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
'
.arrow
'
)
)
}
Popover
.
prototype
.
tip
=
function
()
{
...
...
js/scrollspy.js
View file @
7b0acf14
...
...
@@ -43,7 +43,6 @@
this
.
offsets
=
$
([])
this
.
targets
=
$
([])
var
self
=
this
this
.
$body
...
...
@@ -57,7 +56,7 @@
return
(
$href
&&
$href
.
length
&&
$href
.
is
(
'
:visible
'
)
&&
[[
$href
[
offsetMethod
]().
top
+
(
!
$
.
isWindow
(
self
.
$scrollElement
.
get
(
0
))
&&
self
.
$scrollElement
.
scrollTop
()),
href
]])
||
null
&&
[[
$href
[
offsetMethod
]().
top
+
(
!
$
.
isWindow
(
self
.
$scrollElement
.
get
(
0
))
&&
self
.
$scrollElement
.
scrollTop
()),
href
]])
||
null
})
.
sort
(
function
(
a
,
b
)
{
return
a
[
0
]
-
b
[
0
]
})
.
each
(
function
()
{
...
...
@@ -87,7 +86,7 @@
activeTarget
!=
targets
[
i
]
&&
scrollTop
>=
offsets
[
i
]
&&
(
!
offsets
[
i
+
1
]
||
scrollTop
<=
offsets
[
i
+
1
])
&&
this
.
activate
(
targets
[
i
]
)
&&
this
.
activate
(
targets
[
i
]
)
}
}
...
...
js/tab.js
View file @
7b0acf14
...
...
@@ -92,7 +92,7 @@
// TAB PLUGIN DEFINITION
// =====================
function
Plugin
(
option
)
{
function
Plugin
(
option
)
{
return
this
.
each
(
function
()
{
var
$this
=
$
(
this
)
var
data
=
$this
.
data
(
'
bs.tab
'
)
...
...
js/tests/unit/affix.js
View file @
7b0acf14
$
(
function
()
{
'
use strict
'
;
module
(
'
affix plugin
'
)
...
...
@@ -7,11 +8,11 @@ $(function () {
})
module
(
'
affix
'
,
{
setup
:
function
()
{
setup
:
function
()
{
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$
.
fn
.
bootstrapAffix
=
$
.
fn
.
affix
.
noConflict
()
},
teardown
:
function
()
{
teardown
:
function
()
{
$
.
fn
.
affix
=
$
.
fn
.
bootstrapAffix
delete
$
.
fn
.
bootstrapAffix
}
...
...
@@ -45,7 +46,7 @@ $(function () {
.
on
(
'
affix.bs.affix
'
,
function
()
{
ok
(
true
,
'
affix event triggered
'
)
}).
on
(
'
affixed.bs.affix
'
,
function
()
{
ok
(
true
,
'
affixed event triggered
'
)
ok
(
true
,
'
affixed event triggered
'
)
$
(
'
#affixTarget
'
).
remove
()
$
(
'
#affixAfter
'
).
remove
()
start
()
...
...
@@ -53,7 +54,7 @@ $(function () {
setTimeout
(
function
()
{
window
.
scrollTo
(
0
,
document
.
body
.
scrollHeight
)
setTimeout
(
function
()
{
window
.
scroll
(
0
,
0
)
},
0
)
},
0
)
setTimeout
(
function
()
{
window
.
scroll
(
0
,
0
)
},
0
)
},
0
)
})
})
js/tests/unit/alert.js
View file @
7b0acf14
$
(
function
()
{
'
use strict
'
;
module
(
'
alert plugin
'
)
...
...
@@ -7,11 +8,11 @@ $(function () {
})
module
(
'
alert
'
,
{
setup
:
function
()
{
setup
:
function
()
{
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$
.
fn
.
bootstrapAlert
=
$
.
fn
.
alert
.
noConflict
()
},
teardown
:
function
()
{
teardown
:
function
()
{
$
.
fn
.
alert
=
$
.
fn
.
bootstrapAlert
delete
$
.
fn
.
bootstrapAlert
}
...
...
@@ -29,8 +30,8 @@ $(function () {
var
alertHTML
=
'
<div class="alert-message warning fade in">
'
+
'
<a class="close" href="#" data-dismiss="alert">×</a>
'
+
'
<p><strong>Holy guacamole!</strong> Best check yo self, you
\'
re not looking too good.</p>
'
+
'
</div>
'
,
alert
=
$
(
alertHTML
).
bootstrapAlert
()
'
</div>
'
var
alert
=
$
(
alertHTML
).
bootstrapAlert
()
alert
.
find
(
'
.close
'
).
click
()
...
...
@@ -43,8 +44,8 @@ $(function () {
var
alertHTML
=
'
<div class="alert-message warning fade in">
'
+
'
<a class="close" href="#" data-dismiss="alert">×</a>
'
+
'
<p><strong>Holy guacamole!</strong> Best check yo self, you
\'
re not looking too good.</p>
'
+
'
</div>
'
,
alert
=
$
(
alertHTML
).
appendTo
(
'
#qunit-fixture
'
).
bootstrapAlert
()
'
</div>
'
var
alert
=
$
(
alertHTML
).
appendTo
(
'
#qunit-fixture
'
).
bootstrapAlert
()
ok
(
$
(
'
#qunit-fixture
'
).
find
(
'
.alert-message
'
).
length
,
'
element added to dom
'
)
...
...
js/tests/unit/button.js
View file @
7b0acf14
$
(
function
()
{
'
use strict
'
;
module
(
'
button plugin
'
)
...
...
@@ -7,11 +8,11 @@ $(function () {
})
module
(
'
button
'
,
{
setup
:
function
()
{
setup
:
function
()
{
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$
.
fn
.
bootstrapButton
=
$
.
fn
.
button
.
noConflict
()
},
teardown
:
function
()
{
teardown
:
function
()
{
$
.
fn
.
button
=
$
.
fn
.
bootstrapButton
delete
$
.
fn
.
bootstrapButton
}
...
...
@@ -88,8 +89,8 @@ $(function () {
})
test
(
'
should toggle active when btn children are clicked
'
,
function
()
{
var
btn
=
$
(
'
<button class="btn" data-toggle="button">mdo</button>
'
)
,
inner
=
$
(
'
<i></i>
'
)
var
btn
=
$
(
'
<button class="btn" data-toggle="button">mdo</button>
'
)
var
inner
=
$
(
'
<i></i>
'
)
btn
.
append
(
inner
)
.
appendTo
(
$
(
'
#qunit-fixture
'
))
...
...
@@ -99,9 +100,9 @@ $(function () {
})
test
(
'
should toggle active when btn children are clicked within btn-group
'
,
function
()
{
var
btngroup
=
$
(
'
<div class="btn-group" data-toggle="buttons"></div>
'
)
,
btn
=
$
(
'
<button class="btn">fat</button>
'
),
inner
=
$
(
'
<i></i>
'
)
var
btngroup
=
$
(
'
<div class="btn-group" data-toggle="buttons"></div>
'
)
var
btn
=
$
(
'
<button class="btn">fat</button>
'
)
var
inner
=
$
(
'
<i></i>
'
)
btngroup
.
append
(
btn
.
append
(
inner
))
.
appendTo
(
$
(
'
#qunit-fixture
'
))
...
...
js/tests/unit/carousel.js
View file @
7b0acf14
$
(
function
()
{
'
use strict
'
;
module
(
'
carousel plugin
'
)
...
...
@@ -7,11 +8,11 @@ $(function () {
})
module
(
'
carousel
'
,
{
setup
:
function
()
{
setup
:
function
()
{
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$
.
fn
.
bootstrapCarousel
=
$
.
fn
.
carousel
.
noConflict
()
},
teardown
:
function
()
{
teardown
:
function
()
{
$
.
fn
.
carousel
=
$
.
fn
.
bootstrapCarousel
delete
$
.
fn
.
bootstrapCarousel
}
...
...
js/tests/unit/collapse.js
View file @
7b0acf14
$
(
function
()
{
'
use strict
'
;
module
(
'
collapse plugin
'
)
...
...
@@ -7,11 +8,11 @@ $(function () {
})
module
(
'
collapse
'
,
{
setup
:
function
()
{
setup
:
function
()
{
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$
.
fn
.
bootstrapCollapse
=
$
.
fn
.
collapse
.
noConflict
()
},
teardown
:
function
()
{
teardown
:
function
()
{
$
.
fn
.
collapse
=
$
.
fn
.
bootstrapCollapse
delete
$
.
fn
.
bootstrapCollapse
}
...
...
js/tests/unit/dropdown.js
View file @
7b0acf14
$
(
function
()
{
'
use strict
'
;
module
(
'
dropdowns plugin
'
)
...
...
@@ -7,11 +8,11 @@ $(function () {
})
module
(
'
dropdowns
'
,
{
setup
:
function
()
{
setup
:
function
()
{
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$
.
fn
.
bootstrapDropdown
=
$
.
fn
.
dropdown
.
noConflict
()
},
teardown
:
function
()
{
teardown
:
function
()
{
$
.
fn
.
dropdown
=
$
.
fn
.
bootstrapDropdown
delete
$
.
fn
.
bootstrapDropdown
}
...
...
@@ -37,8 +38,8 @@ $(function () {
'
<li><a href="#">Another link</a></li>
'
+
'
</ul>
'
+
'
</li>
'
+
'
</ul>
'
,
dropdown
=
$
(
dropdownHTML
).
find
(
'
[data-toggle="dropdown"]
'
).
bootstrapDropdown
().
click
()
'
</ul>
'
var
dropdown
=
$
(
dropdownHTML
).
find
(
'
[data-toggle="dropdown"]
'
).
bootstrapDropdown
().
click
()
ok
(
!
dropdown
.
parent
(
'
.dropdown
'
).
hasClass
(
'
open
'
),
'
open class added on click
'
)
})
...
...
@@ -54,8 +55,8 @@ $(function () {
'
<li><a href="#">Another link</a></li>
'
+
'
</ul>
'
+
'
</li>
'
+
'
</ul>
'
,
dropdown
=
$
(
dropdownHTML
).
find
(
'
[data-toggle="dropdown"]
'
).
bootstrapDropdown
().
click
()
'
</ul>
'
var
dropdown
=
$
(
dropdownHTML
).
find
(
'
[data-toggle="dropdown"]
'
).
bootstrapDropdown
().
click
()
ok
(
!
dropdown
.
parent
(
'
.dropdown
'
).
hasClass
(
'
open
'
),
'
open class added on click
'
)
})
...
...
@@ -71,8 +72,8 @@ $(function () {
'
<li><a href="#">Another link</a></li>
'
+
'
</ul>
'
+
'
</li>
'
+
'
</ul>
'
,
dropdown
=
$
(
dropdownHTML
).
find
(
'
[data-toggle="dropdown"]
'
).
bootstrapDropdown
().
click
()
'
</ul>
'
var
dropdown
=
$
(
dropdownHTML
).
find
(
'
[data-toggle="dropdown"]
'
).
bootstrapDropdown
().
click
()
ok
(
dropdown
.
parent
(
'
.dropdown
'
).
hasClass
(
'
open
'
),
'
open class added on click
'
)
})
...
...
@@ -88,8 +89,8 @@ $(function () {
'
<li><a href="#">Another link</a></li>
'
+
'
</ul>
'
+
'
</li>
'
+
'
</ul>
'
,
dropdown
=
$
(
dropdownHTML
).
find
(
'
[data-toggle="dropdown"]
'
).
bootstrapDropdown
().
click
()
'
</ul>
'
var
dropdown
=
$
(
dropdownHTML
).
find
(
'
[data-toggle="dropdown"]
'
).
bootstrapDropdown
().
click
()
ok
(
dropdown
.
parent
(
'
.dropdown
'
).
hasClass
(
'
open
'
),
'
open class added on click
'
)
})
...
...
@@ -106,8 +107,8 @@ $(function () {
'
<li><a href="#">Another link</a></li>
'
+
'
</ul>
'
+
'
</li>
'
+
'
</ul>
'
,
dropdown
=
$
(
dropdownHTML
)
'
</ul>
'
var
dropdown
=
$
(
dropdownHTML
)
.
appendTo
(
'
#qunit-fixture
'
)
.
find
(
'
[data-toggle="dropdown"]
'
)
.
bootstrapDropdown
()
...
...
@@ -135,10 +136,10 @@ $(function () {
'
<ul class="dropdown-menu">
'
+
'
<li><a href="#">Action 1</a></li>
'
+
'
</ul>
'
+
'
</div>
'
,
dropdowns
=
$
(
dropdownHTML
).
appendTo
(
'
#qunit-fixture
'
).
find
(
'
[data-toggle="dropdown"]
'
),
first
=
dropdowns
.
first
(),
last
=
dropdowns
.
last
()
'
</div>
'
var
dropdowns
=
$
(
dropdownHTML
).
appendTo
(
'
#qunit-fixture
'
).
find
(
'
[data-toggle="dropdown"]
'
)
var
first
=
dropdowns
.
first
()
var
last
=
dropdowns
.
last
()
ok
(
dropdowns
.
length
==
2
,
'
Should be two dropdowns
'
)
...
...
@@ -168,8 +169,8 @@ $(function () {
'
<li><a href="#">Another link</a></li>
'
+
'
</ul>
'
+
'
</li>
'
+
'
</ul>
'
,
dropdown
=
$
(
dropdownHTML
)
'
</ul>
'
var
dropdown
=
$
(
dropdownHTML
)
.
appendTo
(
'
#qunit-fixture
'
)
.
find
(
'
[data-toggle="dropdown"]
'
)
.
bootstrapDropdown
()
...
...
@@ -202,8 +203,8 @@ $(function () {
'
<li><a href="#">Another link</a></li>
'
+
'
</ul>
'
+
'
</li>
'
+
'
</ul>
'
,
dropdown
=
$
(
dropdownHTML
)
'
</ul>
'
var
dropdown
=
$
(
dropdownHTML
)
.
appendTo
(
'
#qunit-fixture
'
)
.
find
(
'
[data-toggle="dropdown"]
'
)
.
bootstrapDropdown
()
...
...
js/tests/unit/modal.js
View file @
7b0acf14
$
(
function
()
{
'
use strict
'
;
module
(
'
modal plugin
'
)
...
...
@@ -8,11 +9,11 @@ $(function () {
})
module
(
'
modal
'
,
{
setup
:
function
()
{
setup
:
function
()
{
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$
.
fn
.
bootstrapModal
=
$
.
fn
.
modal
.
noConflict
()
},
teardown
:
function
()
{
teardown
:
function
()
{
$
.
fn
.
modal
=
$
.
fn
.
bootstrapModal
delete
$
.
fn
.
bootstrapModal
}
...
...
js/tests/unit/popover.js
View file @
7b0acf14
$
(
function
()
{
'
use strict
'
;
module
(
'
popover plugin
'
)
...
...
@@ -8,11 +9,11 @@ $(function () {
})
module
(
'
popover
'
,
{
setup
:
function
()
{
setup
:
function
()
{
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$
.
fn
.
bootstrapPopover
=
$
.
fn
.
popover
.
noConflict
()
},
teardown
:
function
()
{
teardown
:
function
()
{
$
.
fn
.
popover
=
$
.
fn
.
bootstrapPopover
delete
$
.
fn
.
bootstrapPopover
}
...
...
@@ -83,7 +84,7 @@ $(function () {
test
(
'
should not duplicate HTML object
'
,
function
()
{
$
.
support
.
transition
=
false
$div
=
$
(
'
<div>
'
).
html
(
'
loves writing tests (╯°□°)╯︵ ┻━┻
'
)
var
$div
=
$
(
'
<div>
'
).
html
(
'
loves writing tests (╯°□°)╯︵ ┻━┻
'
)
var
popover
=
$
(
'
<a href="#">@fat</a>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
...
...
@@ -166,7 +167,7 @@ $(function () {
})
test
(
'
should destroy popover
'
,
function
()
{
var
popover
=
$
(
'
<div/>
'
).
bootstrapPopover
({
trigger
:
'
hover
'
}).
on
(
'
click.foo
'
,
function
()
{})
var
popover
=
$
(
'
<div/>
'
).
bootstrapPopover
({
trigger
:
'
hover
'
}).
on
(
'
click.foo
'
,
function
()
{})
ok
(
popover
.
data
(
'
bs.popover
'
),
'
popover has data
'
)
ok
(
$
.
_data
(
popover
[
0
],
'
events
'
).
mouseover
&&
$
.
_data
(
popover
[
0
],
'
events
'
).
mouseout
,
'
popover has hover event
'
)
ok
(
$
.
_data
(
popover
[
0
],
'
events
'
).
click
[
0
].
namespace
==
'
foo
'
,
'
popover has extra click.foo event
'
)
...
...
@@ -174,7 +175,7 @@ $(function () {
popover
.
bootstrapPopover
(
'
destroy
'
)
ok
(
!
popover
.
hasClass
(
'
in
'
),
'
popover is hidden
'
)
ok
(
!
popover
.
data
(
'
popover
'
),
'
popover does not have data
'
)
ok
(
$
.
_data
(
popover
[
0
],
'
events
'
).
click
[
0
].
namespace
==
'
foo
'
,
'
popover still has click.foo
'
)
ok
(
$
.
_data
(
popover
[
0
],
'
events
'
).
click
[
0
].
namespace
==
'
foo
'
,
'
popover still has click.foo
'
)
ok
(
!
$
.
_data
(
popover
[
0
],
'
events
'
).
mouseover
&&
!
$
.
_data
(
popover
[
0
],
'
events
'
).
mouseout
,
'
popover does not have any events
'
)
})
...
...
js/tests/unit/scrollspy.js
View file @
7b0acf14
$
(
function
()
{
'
use strict
'
;
module
(
'
scrollspy plugin
'
)
...
...
@@ -7,11 +8,11 @@ $(function () {
})
module
(
'
scrollspy
'
,
{
setup
:
function
()
{
setup
:
function
()
{
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$
.
fn
.
bootstrapScrollspy
=
$
.
fn
.
scrollspy
.
noConflict
()
},
teardown
:
function
()
{
teardown
:
function
()
{
$
.
fn
.
scrollspy
=
$
.
fn
.
bootstrapScrollspy
delete
$
.
fn
.
bootstrapScrollspy
}
...
...
@@ -26,8 +27,9 @@ $(function () {
})
test
(
'
should switch active class on scroll
'
,
function
()
{
var
sectionHTML
=
'
<div id="masthead"></div>
'
,
topbarHTML
=
'
<div class="topbar">
'
+
var
sectionHTML
=
'
<div id="masthead"></div>
'
$
(
sectionHTML
).
append
(
'
#qunit-fixture
'
)
var
topbarHTML
=
'
<div class="topbar">
'
+
'
<div class="topbar-inner">
'
+
'
<div class="container">
'
+
'
<h3><a href="#">Bootstrap</a></h3>
'
+
...
...
@@ -35,8 +37,8 @@ $(function () {
'
</ul>
'
+
'
</div>
'
+
'
</div>
'
+
'
</div>
'
,
$topbar
=
$
(
topbarHTML
).
bootstrapScrollspy
()
'
</div>
'
var
$topbar
=
$
(
topbarHTML
).
bootstrapScrollspy
()
$
(
sectionHTML
).
append
(
'
#qunit-fixture
'
)
ok
(
$topbar
.
find
(
'
.active
'
,
true
))
...
...
@@ -69,12 +71,12 @@ $(function () {
'
</p>
'
+
'
</div>
'
+
'
</div>
'
+
'
</div>
'
,
$section
=
$
(
sectionHTML
).
appendTo
(
'
#qunit-fixture
'
),
$scrollSpy
=
$section
'
</div>
'
var
$section
=
$
(
sectionHTML
).
appendTo
(
'
#qunit-fixture
'
)
var
$scrollSpy
=
$section
.
show
()
.
find
(
'
#scrollspy-example
'
)
.
bootstrapScrollspy
({
target
:
'
#ss-target
'
})
.
bootstrapScrollspy
({
target
:
'
#ss-target
'
})
$scrollSpy
.
on
(
'
scroll.bs.scrollspy
'
,
function
()
{
ok
(
$section
.
hasClass
(
'
active
'
),
'
Active class still on root node
'
)
...
...
@@ -97,12 +99,12 @@ $(function () {
'
<div id="one" style="height: 500px;"></div>
'
+
'
<div id="two" style="height: 300px;"></div>
'
+
'
<div id="three" style="height: 10px;"></div>
'
+
'
</div>
'
,
$section
=
$
(
sectionHTML
).
appendTo
(
'
#qunit-fixture
'
),
$scrollSpy
=
$section
'
</div>
'
var
$section
=
$
(
sectionHTML
).
appendTo
(
'
#qunit-fixture
'
)
var
$scrollSpy
=
$section
.
show
()
.
filter
(
'
#content
'
)
$scrollSpy
.
bootstrapScrollspy
({
target
:
'
#navigation
'
,
offset
:
$scrollSpy
.
position
().
top
})
$scrollSpy
.
bootstrapScrollspy
({
target
:
'
#navigation
'
,
offset
:
$scrollSpy
.
position
().
top
})
$scrollSpy
.
on
(
'
scroll.bs.scrollspy
'
,
function
()
{
ok
(
!
$section
.
find
(
'
#one-link
'
).
parent
().
hasClass
(
'
active
'
),
'
Active class removed from first section
'
)
...
...
js/tests/unit/tab.js
View file @
7b0acf14
$
(
function
()
{
'
use strict
'
;
module
(
'
tabs plugin
'
)
...
...
@@ -7,11 +8,11 @@ $(function () {
})
module
(
'
tabs
'
,
{
setup
:
function
()
{
setup
:
function
()
{
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$
.
fn
.
bootstrapTab
=
$
.
fn
.
tab
.
noConflict
()
},
teardown
:
function
()
{
teardown
:
function
()
{
$
.
fn
.
tab
=
$
.
fn
.
bootstrapTab
delete
$
.
fn
.
bootstrapTab
}
...
...
js/tests/unit/tooltip.js
View file @
7b0acf14
$
(
function
()
{
'
use strict
'
;
module
(
'
tooltip plugin
'
)
...
...
@@ -8,11 +9,11 @@ $(function () {
})
module
(
'
tooltip
'
,
{
setup
:
function
()
{
setup
:
function
()
{
// Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
$
.
fn
.
bootstrapTooltip
=
$
.
fn
.
tooltip
.
noConflict
()
},
teardown
:
function
()
{
teardown
:
function
()
{
$
.
fn
.
tooltip
=
$
.
fn
.
bootstrapTooltip
delete
$
.
fn
.
bootstrapTooltip
}
...
...
@@ -41,7 +42,7 @@ $(function () {
equal
(
tooltip
.
attr
(
'
data-original-title
'
),
'
Another tooltip
'
,
'
original title preserved in data attribute
'
)
})
test
(
'
should add set set aria describedby to the element called on show
'
,
function
()
{
test
(
'
should add set set aria describedby to the element called on show
'
,
function
()
{
var
tooltip
=
$
(
'
<a href="#" rel="tooltip" title="Another tooltip"></a>
'
).
bootstrapTooltip
()
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
(
'
show
'
)
...
...
@@ -53,7 +54,7 @@ $(function () {
ok
(
tooltip
.
attr
(
'
aria-describedby
'
)
!==
undefined
,
'
has the right attributes
'
)
})
test
(
'
should remove the aria-describedby attributes on hide
'
,
function
()
{
test
(
'
should remove the aria-describedby attributes on hide
'
,
function
()
{
var
tooltip
=
$
(
'
<a href="#" rel="tooltip" title="Another tooltip"></a>
'
).
bootstrapTooltip
()
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
(
'
show
'
)
...
...
@@ -65,17 +66,17 @@ $(function () {
test
(
'
should assign a unique id tooltip element
'
,
function
()
{
$
(
'
<a href="#" rel="tooltip" title="Another tooltip"></a>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
(
'
show
'
)
,
id
=
$
(
'
.tooltip
'
).
attr
(
'
id
'
)
.
bootstrapTooltip
(
'
show
'
)
var
id
=
$
(
'
.tooltip
'
).
attr
(
'
id
'
)
ok
(
$
(
'
#
'
+
id
).
length
==
1
&&
id
.
indexOf
(
'
tooltip
'
)
===
0
,
'
generated prefixed and unique tooltip id
'
)
ok
(
$
(
'
#
'
+
id
).
length
==
1
&&
id
.
indexOf
(
'
tooltip
'
)
===
0
,
'
generated prefixed and unique tooltip id
'
)
})
test
(
'
should place tooltips relative to placement option
'
,
function
()
{
$
.
support
.
transition
=
false
var
tooltip
=
$
(
'
<a href="#" rel="tooltip" title="Another tooltip"></a>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
({
placement
:
'
bottom
'
})
.
bootstrapTooltip
({
placement
:
'
bottom
'
})
.
bootstrapTooltip
(
'
show
'
)
ok
(
$
(
'
.tooltip
'
).
is
(
'
.fade.bottom.in
'
),
'
has correct classes applied
'
)
...
...
@@ -86,7 +87,7 @@ $(function () {
$
.
support
.
transition
=
false
var
tooltip
=
$
(
'
<a href="#" rel="tooltip" title="<b>@fat</b>"></a>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
({
html
:
true
})
.
bootstrapTooltip
({
html
:
true
})
.
bootstrapTooltip
(
'
show
'
)
ok
(
$
(
'
.tooltip b
'
).
length
,
'
b tag was inserted
'
)
...
...
@@ -97,7 +98,7 @@ $(function () {
test
(
'
should respect custom classes
'
,
function
()
{
var
tooltip
=
$
(
'
<a href="#" rel="tooltip" title="Another tooltip"></a>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
({
template
:
'
<div class="tooltip some-class"><div class="tooltip-arrow"/><div class="tooltip-inner"/></div>
'
})
.
bootstrapTooltip
({
template
:
'
<div class="tooltip some-class"><div class="tooltip-arrow"/><div class="tooltip-inner"/></div>
'
})
.
bootstrapTooltip
(
'
show
'
)
ok
(
$
(
'
.tooltip
'
).
hasClass
(
'
some-class
'
),
'
custom class is present
'
)
...
...
@@ -204,7 +205,7 @@ $(function () {
test
(
'
should not show tooltip if leave event occurs before delay expires, even if hide delay is 0
'
,
function
()
{
var
tooltip
=
$
(
'
<a href="#" rel="tooltip" title="Another tooltip"></a>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
({
delay
:
{
show
:
200
,
hide
:
0
}
})
.
bootstrapTooltip
({
delay
:
{
show
:
200
,
hide
:
0
}
})
stop
()
...
...
@@ -223,7 +224,7 @@ $(function () {
test
(
'
should wait 200 ms before hiding the tooltip
'
,
3
,
function
()
{
var
tooltip
=
$
(
'
<a href="#" rel="tooltip" title="Another tooltip"></a>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
({
delay
:
{
show
:
0
,
hide
:
200
}
})
.
bootstrapTooltip
({
delay
:
{
show
:
0
,
hide
:
200
}
})
stop
()
...
...
@@ -245,7 +246,7 @@ $(function () {
test
(
'
should not hide tooltip if leave event occurs, then tooltip is show immediately again
'
,
function
()
{
var
tooltip
=
$
(
'
<a href="#" rel="tooltip" title="Another tooltip"></a>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
({
delay
:
{
show
:
0
,
hide
:
200
}
})
.
bootstrapTooltip
({
delay
:
{
show
:
0
,
hide
:
200
}
})
stop
()
...
...
@@ -320,7 +321,7 @@ $(function () {
test
(
'
should show tooltip when toggle is called
'
,
function
()
{
$
(
'
<a href="#" rel="tooltip" title="tooltip on toggle"></a>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
({
trigger
:
'
manual
'
})
.
bootstrapTooltip
({
trigger
:
'
manual
'
})
.
bootstrapTooltip
(
'
toggle
'
)
ok
(
$
(
'
.tooltip
'
).
is
(
'
.fade.in
'
),
'
tooltip should be toggled in
'
)
})
...
...
@@ -328,7 +329,7 @@ $(function () {
test
(
'
should hide shown tooltip when toggle is called on tooltip
'
,
function
()
{
var
tooltip
=
$
(
'
<a href="#" rel="tooltip" title="tooltip on toggle">@ResentedHook</a>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
({
trigger
:
'
manual
'
})
.
bootstrapTooltip
({
trigger
:
'
manual
'
})
.
bootstrapTooltip
(
'
toggle
'
)
$
(
'
.tooltip
'
,
'
#qunit-fixture
'
).
bootstrapTooltip
(
'
toggle
'
)
ok
(
$
(
'
.tooltip
'
).
not
(
'
.fade.in
'
),
'
tooltip should be toggled out
'
)
...
...
@@ -339,7 +340,7 @@ $(function () {
test
(
'
should place tooltips inside the body
'
,
function
()
{
var
tooltip
=
$
(
'
<a href="#" rel="tooltip" title="Another tooltip"></a>
'
)
.
appendTo
(
'
#qunit-fixture
'
)
.
bootstrapTooltip
({
container
:
'
body
'
})
.
bootstrapTooltip
({
container
:
'
body
'
})
.
bootstrapTooltip
(
'
show
'
)
ok
(
$
(
'
body > .tooltip
'
).
length
,
'
inside the body
'
)
ok
(
!
$
(
'
#qunit-fixture > .tooltip
'
).
length
,
'
not found in parent
'
)
...
...
@@ -348,11 +349,11 @@ $(function () {
test
(
'
should place tooltip inside window
'
,
function
()
{
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
.
css
({
position
:
'
absolute
'
,
width
:
200
,
height
:
200
,
bottom
:
0
,
left
:
0
})
.
css
({
position
:
'
absolute
'
,
width
:
200
,
height
:
200
,
bottom
:
0
,
left
:
0
})
$
(
'
<a href="#" title="Very very very very very very very very long tooltip">Hover me</a>
'
)
.
css
({
position
:
'
absolute
'
,
top
:
0
,
left
:
0
})
.
css
({
position
:
'
absolute
'
,
top
:
0
,
left
:
0
})
.
appendTo
(
container
)
.
bootstrapTooltip
({
placement
:
'
top
'
,
animate
:
false
})
.
bootstrapTooltip
({
placement
:
'
top
'
,
animate
:
false
})
.
bootstrapTooltip
(
'
show
'
)
stop
()
...
...
@@ -367,12 +368,12 @@ $(function () {
test
(
'
should place tooltip on top of element
'
,
function
()
{
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
.
css
({
position
:
'
absolute
'
,
bottom
:
0
,
left
:
0
,
textAlign
:
'
right
'
,
width
:
300
,
height
:
300
}),
p
=
$
(
'
<p style="margin-top:200px" />
'
).
appendTo
(
container
),
tooltiped
=
$
(
'
<a href="#" title="very very very very very very very long tooltip">Hover me</a>
'
)
.
css
({
marginTop
:
200
})
.
css
({
position
:
'
absolute
'
,
bottom
:
0
,
left
:
0
,
textAlign
:
'
right
'
,
width
:
300
,
height
:
300
})
var
p
=
$
(
'
<p style="margin-top:200px" />
'
).
appendTo
(
container
)
var
tooltiped
=
$
(
'
<a href="#" title="very very very very very very very long tooltip">Hover me</a>
'
)
.
css
({
marginTop
:
200
})
.
appendTo
(
p
)
.
bootstrapTooltip
({
placement
:
'
top
'
,
animate
:
false
})
.
bootstrapTooltip
({
placement
:
'
top
'
,
animate
:
false
})
.
bootstrapTooltip
(
'
show
'
)
stop
()
...
...
@@ -389,17 +390,17 @@ $(function () {
test
(
'
should add position class before positioning so that position-specific styles are taken into account
'
,
function
()
{
$
(
'
head
'
).
append
(
'
<style id="test"> .tooltip.right { white-space: nowrap; } .tooltip.right .tooltip-inner { max-width: none; } </style>
'
)
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
,
target
=
$
(
'
<a href="#" rel="tooltip" title="very very very very very very very very long tooltip in one line"></a>
'
)
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
var
target
=
$
(
'
<a href="#" rel="tooltip" title="very very very very very very very very long tooltip in one line"></a>
'
)
.
appendTo
(
container
)
.
bootstrapTooltip
({
placement
:
'
right
'
,
viewport
:
null
})
.
bootstrapTooltip
(
'
show
'
)
,
tooltip
=
container
.
find
(
'
.tooltip
'
)
.
bootstrapTooltip
({
placement
:
'
right
'
,
viewport
:
null
})
.
bootstrapTooltip
(
'
show
'
)
var
tooltip
=
container
.
find
(
'
.tooltip
'
)
// this is some dumb hack shit because sub pixels in firefox
var
top
=
Math
.
round
(
target
.
offset
().
top
+
(
target
[
0
].
offsetHeight
/
2
)
-
(
tooltip
[
0
].
offsetHeight
/
2
))
var
top2
=
Math
.
round
(
tooltip
.
offset
().
top
)
var
topDiff
=
top
-
top2
var
topDiff
=
top
-
top2
ok
(
topDiff
<=
1
&&
topDiff
>=
-
1
)
target
.
bootstrapTooltip
(
'
hide
'
)
$
(
'
head #test
'
).
remove
()
...
...
@@ -453,7 +454,7 @@ $(function () {
var
topTooltip
=
$
(
'
<div style="display: inline-block; position: absolute; left: 0; top: 0;" rel="tooltip" title="Top tooltip">Top Dynamic Tooltip</div>
'
)
.
appendTo
(
'
#dynamic-tt-test
'
)
.
bootstrapTooltip
({
placement
:
'
auto
'
})
.
bootstrapTooltip
({
placement
:
'
auto
'
})
.
bootstrapTooltip
(
'
show
'
)
ok
(
$
(
'
.tooltip
'
).
is
(
'
.bottom
'
),
'
top positioned tooltip is dynamically positioned bottom
'
)
...
...
@@ -462,7 +463,7 @@ $(function () {
var
rightTooltip
=
$
(
'
<div style="display: inline-block; position: absolute; right: 0;" rel="tooltip" title="Right tooltip">Right Dynamic Tooltip</div>
'
)
.
appendTo
(
'
#dynamic-tt-test
'
)
.
bootstrapTooltip
({
placement
:
'
right auto
'
})
.
bootstrapTooltip
({
placement
:
'
right auto
'
})
.
bootstrapTooltip
(
'
show
'
)
ok
(
$
(
'
.tooltip
'
).
is
(
'
.left
'
),
'
right positioned tooltip is dynamically positioned left
'
)
...
...
@@ -470,7 +471,7 @@ $(function () {
var
leftTooltip
=
$
(
'
<div style="display: inline-block; position: absolute; left: 0;" rel="tooltip" title="Left tooltip">Left Dynamic Tooltip</div>
'
)
.
appendTo
(
'
#dynamic-tt-test
'
)
.
bootstrapTooltip
({
placement
:
'
auto left
'
})
.
bootstrapTooltip
({
placement
:
'
auto left
'
})
.
bootstrapTooltip
(
'
show
'
)
ok
(
$
(
'
.tooltip
'
).
is
(
'
.right
'
),
'
left positioned tooltip is dynamically positioned right
'
)
...
...
@@ -482,14 +483,14 @@ $(function () {
test
(
'
should adjust the tip
\'
s top when up against the top of the viewport
'
,
function
()
{
$
(
'
head
'
).
append
(
'
<style id="test"> .tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; } </style>
'
)
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
,
target
=
$
(
'
<a href="#" rel="tooltip" title="tip" style="position: fixed; top: 0px; left: 0px;"></a>
'
)
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
var
target
=
$
(
'
<a href="#" rel="tooltip" title="tip" style="position: fixed; top: 0px; left: 0px;"></a>
'
)
.
appendTo
(
container
)
.
bootstrapTooltip
({
placement
:
'
right
'
,
viewport
:
{
selector
:
'
body
'
,
padding
:
12
}})
.
bootstrapTooltip
(
'
show
'
)
,
tooltip
=
container
.
find
(
'
.tooltip
'
)
.
bootstrapTooltip
({
placement
:
'
right
'
,
viewport
:
{
selector
:
'
body
'
,
padding
:
12
}})
.
bootstrapTooltip
(
'
show
'
)
var
tooltip
=
container
.
find
(
'
.tooltip
'
)
ok
(
Math
.
round
(
tooltip
.
offset
().
top
)
===
12
)
ok
(
Math
.
round
(
tooltip
.
offset
().
top
)
===
12
)
target
.
bootstrapTooltip
(
'
hide
'
)
$
(
'
head #test
'
).
remove
()
})
...
...
@@ -497,14 +498,14 @@ $(function () {
test
(
'
should adjust the tip
\'
s top when up against the bottom of the viewport
'
,
function
()
{
$
(
'
head
'
).
append
(
'
<style id="test"> .tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; } </style>
'
)
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
,
target
=
$
(
'
<a href="#" rel="tooltip" title="tip" style="position: fixed; bottom: 0px; left: 0px;"></a>
'
)
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
var
target
=
$
(
'
<a href="#" rel="tooltip" title="tip" style="position: fixed; bottom: 0px; left: 0px;"></a>
'
)
.
appendTo
(
container
)
.
bootstrapTooltip
({
placement
:
'
right
'
,
viewport
:
{
selector
:
'
body
'
,
padding
:
12
}})
.
bootstrapTooltip
(
'
show
'
)
,
tooltip
=
container
.
find
(
'
.tooltip
'
)
.
bootstrapTooltip
({
placement
:
'
right
'
,
viewport
:
{
selector
:
'
body
'
,
padding
:
12
}})
.
bootstrapTooltip
(
'
show
'
)
var
tooltip
=
container
.
find
(
'
.tooltip
'
)
ok
(
Math
.
round
(
tooltip
.
offset
().
top
)
===
Math
.
round
(
$
(
window
).
height
()
-
12
-
tooltip
[
0
].
offsetHeight
)
)
ok
(
Math
.
round
(
tooltip
.
offset
().
top
)
===
Math
.
round
(
$
(
window
).
height
()
-
12
-
tooltip
[
0
].
offsetHeight
)
)
target
.
bootstrapTooltip
(
'
hide
'
)
$
(
'
head #test
'
).
remove
()
})
...
...
@@ -512,14 +513,14 @@ $(function () {
test
(
'
should adjust the tip
\'
s left when up against the left of the viewport
'
,
function
()
{
$
(
'
head
'
).
append
(
'
<style id="test"> .tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; } </style>
'
)
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
,
target
=
$
(
'
<a href="#" rel="tooltip" title="tip" style="position: fixed; top: 0px; left: 0px;"></a>
'
)
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
var
target
=
$
(
'
<a href="#" rel="tooltip" title="tip" style="position: fixed; top: 0px; left: 0px;"></a>
'
)
.
appendTo
(
container
)
.
bootstrapTooltip
({
placement
:
'
bottom
'
,
viewport
:
{
selector
:
'
body
'
,
padding
:
12
}})
.
bootstrapTooltip
(
'
show
'
)
,
tooltip
=
container
.
find
(
'
.tooltip
'
)
.
bootstrapTooltip
({
placement
:
'
bottom
'
,
viewport
:
{
selector
:
'
body
'
,
padding
:
12
}})
.
bootstrapTooltip
(
'
show
'
)
var
tooltip
=
container
.
find
(
'
.tooltip
'
)
ok
(
Math
.
round
(
tooltip
.
offset
().
left
)
===
12
)
ok
(
Math
.
round
(
tooltip
.
offset
().
left
)
===
12
)
target
.
bootstrapTooltip
(
'
hide
'
)
$
(
'
head #test
'
).
remove
()
})
...
...
@@ -527,14 +528,14 @@ $(function () {
test
(
'
should adjust the tip
\'
s left when up against the right of the viewport
'
,
function
()
{
$
(
'
head
'
).
append
(
'
<style id="test"> .tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; } </style>
'
)
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
,
target
=
$
(
'
<a href="#" rel="tooltip" title="tip" style="position: fixed; top: 0px; right: 0px;"></a>
'
)
var
container
=
$
(
'
<div />
'
).
appendTo
(
'
body
'
)
var
target
=
$
(
'
<a href="#" rel="tooltip" title="tip" style="position: fixed; top: 0px; right: 0px;"></a>
'
)
.
appendTo
(
container
)
.
bootstrapTooltip
({
placement
:
'
bottom
'
,
viewport
:
{
selector
:
'
body
'
,
padding
:
12
}})
.
bootstrapTooltip
(
'
show
'
)
,
tooltip
=
container
.
find
(
'
.tooltip
'
)
.
bootstrapTooltip
({
placement
:
'
bottom
'
,
viewport
:
{
selector
:
'
body
'
,
padding
:
12
}})
.
bootstrapTooltip
(
'
show
'
)
var
tooltip
=
container
.
find
(
'
.tooltip
'
)
ok
(
Math
.
round
(
tooltip
.
offset
().
left
)
===
Math
.
round
(
$
(
window
).
width
()
-
12
-
tooltip
[
0
].
offsetWidth
)
)
ok
(
Math
.
round
(
tooltip
.
offset
().
left
)
===
Math
.
round
(
$
(
window
).
width
()
-
12
-
tooltip
[
0
].
offsetWidth
)
)
target
.
bootstrapTooltip
(
'
hide
'
)
$
(
'
head #test
'
).
remove
()
})
...
...
@@ -543,14 +544,14 @@ $(function () {
$
(
'
head
'
).
append
(
'
<style id="test"> .tooltip, .tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; } </style>
'
)
$
(
'
head
'
).
append
(
'
<style id="viewport-style"> .container-viewport { position: absolute; top: 50px; left: 60px; width: 300px; height: 300px; } </style>
'
)
var
container
=
$
(
'
<div />
'
,
{
class
:
'
container-viewport
'
}).
appendTo
(
'
body
'
),
target
=
$
(
'
<a href="#" rel="tooltip" title="tip" style="position: fixed; top: 50px; left: 350px;"></a>
'
)
var
container
=
$
(
'
<div />
'
,
{
'
class
'
:
'
container-viewport
'
}).
appendTo
(
'
body
'
)
var
target
=
$
(
'
<a href="#" rel="tooltip" title="tip" style="position: fixed; top: 50px; left: 350px;"></a>
'
)
.
appendTo
(
container
)
.
bootstrapTooltip
({
placement
:
'
bottom
'
,
viewport
:
'
.container-viewport
'
})
.
bootstrapTooltip
(
'
show
'
)
,
tooltip
=
container
.
find
(
'
.tooltip
'
)
.
bootstrapTooltip
({
placement
:
'
bottom
'
,
viewport
:
'
.container-viewport
'
})
.
bootstrapTooltip
(
'
show
'
)
var
tooltip
=
container
.
find
(
'
.tooltip
'
)
ok
(
Math
.
round
(
tooltip
.
offset
().
left
)
===
Math
.
round
(
60
+
container
.
width
()
-
tooltip
[
0
].
offsetWidth
)
)
ok
(
Math
.
round
(
tooltip
.
offset
().
left
)
===
Math
.
round
(
60
+
container
.
width
()
-
tooltip
[
0
].
offsetWidth
)
)
target
.
bootstrapTooltip
(
'
hide
'
)
$
(
'
head #test
'
).
remove
()
$
(
'
head #viewport-style
'
).
remove
()
...
...
js/tooltip.js
View file @
7b0acf14
...
...
@@ -199,7 +199,7 @@
this
.
applyPlacement
(
calculatedOffset
,
placement
)
this
.
hoverState
=
null
var
complete
=
function
()
{
var
complete
=
function
()
{
that
.
$element
.
trigger
(
'
shown.bs.
'
+
that
.
type
)
}
...
...
@@ -321,7 +321,7 @@
scroll
:
isBody
?
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
:
$element
.
scrollTop
(),
width
:
isBody
?
$
(
window
).
width
()
:
$element
.
outerWidth
(),
height
:
isBody
?
$
(
window
).
height
()
:
$element
.
outerHeight
()
},
isBody
?
{
top
:
0
,
left
:
0
}
:
$element
.
offset
())
},
isBody
?
{
top
:
0
,
left
:
0
}
:
$element
.
offset
())
}
Tooltip
.
prototype
.
getCalculatedOffset
=
function
(
placement
,
pos
,
actualWidth
,
actualHeight
)
{
...
...
@@ -378,11 +378,11 @@
}
Tooltip
.
prototype
.
tip
=
function
()
{
return
this
.
$tip
=
this
.
$tip
||
$
(
this
.
options
.
template
)
return
(
this
.
$tip
=
this
.
$tip
||
$
(
this
.
options
.
template
)
)
}
Tooltip
.
prototype
.
arrow
=
function
()
{
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
'
.tooltip-arrow
'
)
return
(
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
'
.tooltip-arrow
'
)
)
}
Tooltip
.
prototype
.
validate
=
function
()
{
...
...
js/transition.js
View file @
7b0acf14
...
...
@@ -34,7 +34,8 @@
// http://blog.alexmaccaw.com/css-transitions
$
.
fn
.
emulateTransitionEnd
=
function
(
duration
)
{
var
called
=
false
,
$el
=
this
var
called
=
false
var
$el
=
this
$
(
this
).
one
(
$
.
support
.
transition
.
end
,
function
()
{
called
=
true
})
var
callback
=
function
()
{
if
(
!
called
)
$
(
$el
).
trigger
(
$
.
support
.
transition
.
end
)
}
setTimeout
(
callback
,
duration
)
...
...
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