Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Bootstrap
bootstrap
Commits
ac800119
Commit
ac800119
authored
13 years ago
by
Jacob Thornton
Browse files
Options
Download
Email Patches
Plain Diff
force reflow instead of relying on eventloop (firefox)
listen to window for escape press
parent
ba6f4f03
main
cleanup-floating-forms
cssvar-function
dependabot/npm_and_yarn/stylelint-and-stylelint-config-twbs-bootstrap-15.3.0
extend-snippets
feat/data-target
floating-always-visible
floating-labels-icons
fod-main-banner
form-controls-with-icons
gh-pages
gh-pages-530-alpha2
github/fork/719media/patch-13
github/fork/719media/patch-14
github/fork/719media/patch-9
github/fork/ChellyAhmed/fix-typo-reboot.md
github/fork/ChellyAhmed/offcanvas-scroll-back
github/fork/CtrlAltLilith/main
github/fork/Elysiome/offcanvas-optional-window-resizing
github/fork/JanSargsyan/main
github/fork/LunicLynx/support-different-line-height-for-buttons
github/fork/Psixodelik/main
github/fork/Ronid1/ronid1/offcanvas_static_backdrop
github/fork/RyanBerliner/tooltip-accessibility
github/fork/SantiagoPVazquez/Feature-default-border-bottom-to-dropdown-item
github/fork/Sir-Genius/utils
github/fork/Sumit-Singh-8/main
github/fork/Viktor-VERA2020/offcanvas-slide
github/fork/Zivangu9/input-group-for-form-control-plaintext
github/fork/alpadev/alpadev/call-dispose-on-component-reinstantiation
github/fork/astagi/fix/tree-shake-modules
github/fork/compnerd/dark-accordion-icon
github/fork/derSascha/dropdown-dont-close-on-input-click
github/fork/dev-ph1l/main
github/fork/donquixote/issue-33861-utl-mixin
github/fork/florianlacreuse/mixin-make-row-gutter-y
github/fork/gregorw/main
github/fork/iteggmbh/transitionend-dispose-race
github/fork/jdelStrother/patch-1
github/fork/jonnysp/form-floating
github/fork/jonnysp/independent-offcanvas
github/fork/jonnysp/theme-dark-on-card-and-modal-fix
github/fork/josefdlange/floating-label-placeholder-opacity
github/fork/julien-deramond/enhance-change-version.js
github/fork/julien-deramond/main-jd-fix-offset-content
github/fork/julien-deramond/main-jd-issue-with-utitlies
github/fork/julien-deramond/main-xmr-pa11y-ci-jd-add-hideElements
github/fork/kyletsang/fix-tooltip-padding
github/fork/lacutah/CheckboxCenteringDocumentation
github/fork/lekoala/patch-3
github/fork/louismaximepiton/main-kld-lmp-collapse-proposal
github/fork/louismaximepiton/main-lmp-card-inner-border-radius-fix
github/fork/louismaximepiton/main-lmp-carousel-multiple-images
github/fork/louismaximepiton/main-lmp-css-var-init
github/fork/louismaximepiton/main-lmp-disabled-floating-label-fix
github/fork/louismaximepiton/main-lmp-input-range-fix
github/fork/louismaximepiton/main-lmp-shift-color
github/fork/louismaximepiton/main-lmp-table-active-tr-fix
github/fork/maciek-szn/switch
github/fork/michael-roth/feature/19964-multiple-tab-targets
github/fork/mistic100/dom-utils
github/fork/nkdas91/accordion
github/fork/nstungcom/fix-missing-modal-open-class
github/fork/oraliahdz/animation-utilities
github/fork/pine3ree/patch-7
github/fork/pouwerkerk/unindent-scss-docs-shortcode
github/fork/smares/smares-no-scolling-on-modal-close
github/fork/tgm-git/patch-1
gs-forms
gs-toasts-with-animated-progress-bar
gs/add-history-helper
gs/change-version-dir-on-docs
gs/data-must-set-onlu-one-instance
gs/docs/fix-drop-down-error
gs/event-handler-2
gs/make-docs-js-build
gs/make-simple-attribute-toggler
gs/popover-fix-doc
gs/provide-steConfig-method
gs/scrollspy-smoothscroll-option-use-browser-history
gs/streamline-jqueryInterface
gs/support-drop-down-in-navbar
gs/test-js-generic-trigger
gs/try-web-components
gs/tweak-collapse-js-selector
gs/use-event-handler-in-cocmponent
gs/use-rollup-replace-for-version
jo-docs-thanks-page
jo-ssr-friendly
logical-props-spacing-utils
main-fod-disabled-form-check-label
main-fod-nested-accordion
main-fod-simpler-table-structure
main-fod-table-separator
main-fod-utilities-contrast
main-jd-abbr-title
main-jd-add-chips
main-jd-add-doc-for-sass-custom-colors
main-jd-add-enable-host-to-handle-web-components
main-jd-browserstack-fine-tune
main-jd-browserstack-updates
main-jd-docs-consistent-usage-of-css-sections-step-2
main-jd-fix-docs-headers-in-white
main-jd-fix-highlight-docs-border-radius
main-jd-fix-placeholder-color-background-params-for-img-markup
main-jd-glossary-experiment
main-jd-postcss-drop-empty-css-vars
main-jd-proto-doc-astro
main-jd-skip-navigation-component
main-jd-stackblitz-for-examples
main-jd-upgrade-browserlistrc
main-jd-use-host
main-lmp-dark-theme-customization
main-lmp-handle-scroll-target
main-lmp-tab-fix
main-mc-opensearch
main-xmr-bundlewatch-action
main-xmr-eslint-plugin-compat
main-xmr-hugo-docs-vendor
main-xmr-hugo-rm-ver
main-xmr-linkinator-prod
main-xmr-min-mangle
main-xmr-pa11y-ci
more-darkmode-examples
nested-dropdowns
patrickhlauke-issue37428
patrickhlauke-use-of-color-tweaks
pr/34102
pr/37590
previous-next-docs-links
sticky-thead
utilities-functions-mixin
v3-dev
v4-dev
v4-dev-dropdown-hide-method
v530-dev
v6-postcss-custom-media
v6-spinner-dots
v6/gs/use-floating-ui-in-place-of-popper
xmr/dev
xmr/docs-png
xmr/docs-svgs
xmr/hugo-reorg-files
xmr/js-2
xmr/markdownlint
xmr/prepare-530-alpha2
xmr/xo
v5.3.0-alpha1
v5.2.3
v5.2.2
v5.2.1
v5.2.0
v5.2.0-beta1
v5.1.3
v5.1.2
v5.1.1
v5.1.0
v5.0.2
v5.0.1
v5.0.0
v5.0.0-beta3
v5.0.0-beta2
v5.0.0-beta1
v5.0.0-alpha3
v5.0.0-alpha2
v5.0.0-alpha1
v4.6.2
v4.6.1
v4.6.0
v4.5.3
v4.5.2
v4.5.1
v4.5.0
v4.4.1
v4.4.0
v4.3.1
v4.3.0
v4.2.1
v4.2.0
v4.1.3
v4.1.2
v4.1.1
v4.1.0
v4.0.0
v4.0.0-beta.3
v4.0.0-beta.2
v4.0.0-beta
v4.0.0-alpha.6
v4.0.0-alpha.5
v4.0.0-alpha.4
v4.0.0-alpha.3
v4.0.0-alpha.2
v4.0.0-alpha
v3.4.1
v3.4.0
v3.3.7
v3.3.6
v3.3.5
v3.3.4
v3.3.2
v3.3.1
v3.3.0
v3.2.0
v3.1.1
v3.1.0
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v3.0.0-rc.2
v3.0.0-rc1
v2.3.2
v2.3.1
v2.3.0
v2.2.2
v2.2.1
v2.2.0
v2.1.1
v2.1.0
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v1.4.0
1 merge request
!631
Responsive design
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
docs/javascript.html
+1
-1
docs/javascript.html
js/bootstrap-modal.js
+20
-13
js/bootstrap-modal.js
js/tests/unit/bootstrap-modal.js
+137
-137
js/tests/unit/bootstrap-modal.js
with
158 additions
and
151 deletions
+158
-151
docs/javascript.html
+
1
-
1
View file @
ac800119
...
...
@@ -12,7 +12,7 @@
<![endif]-->
<!-- Le javascript -->
<script
src=
"http://
code.jquery.com
/jquery
-1.5.2
.min.js"
></script>
<script
src=
"http
s
://
ajax.googleapis.com/ajax/libs/jquery/1.6.4
/jquery.min.js"
></script>
<script
src=
"assets/js/google-code-prettify/prettify.js"
></script>
<script>
$
(
function
()
{
prettyPrint
()
})
</script>
<script
src=
"../js/bootstrap-modal.js"
></script>
...
...
This diff is collapsed.
Click to expand it.
js/bootstrap-modal.js
+
20
-
13
View file @
ac800119
...
...
@@ -85,11 +85,13 @@
.
appendTo
(
document
.
body
)
.
show
()
setTimeout
(
function
()
{
that
.
$element
.
addClass
(
'
in
'
)
.
trigger
(
'
shown
'
)
},
0
)
if
(
$
.
support
.
transition
&&
that
.
$element
.
hasClass
(
'
fade
'
))
{
that
.
$backdrop
[
0
].
offsetWidth
// force reflow
}
that
.
$element
.
addClass
(
'
in
'
)
.
trigger
(
'
shown
'
)
})
return
this
...
...
@@ -132,6 +134,8 @@
var
that
=
this
,
animate
=
this
.
$element
.
hasClass
(
'
fade
'
)
?
'
fade
'
:
''
if
(
this
.
isShown
&&
this
.
settings
.
backdrop
)
{
var
doAnimate
=
$
.
support
.
transition
&&
animate
this
.
$backdrop
=
$
(
'
<div class="modal-backdrop
'
+
animate
+
'
" />
'
)
.
appendTo
(
document
.
body
)
...
...
@@ -139,12 +143,15 @@
this
.
$backdrop
.
click
(
$
.
proxy
(
this
.
hide
,
this
))
}
setTimeout
(
function
()
{
that
.
$backdrop
&&
that
.
$backdrop
.
addClass
(
'
in
'
)
$
.
support
.
transition
&&
that
.
$backdrop
.
hasClass
(
'
fade
'
)
?
that
.
$backdrop
.
one
(
transitionEnd
,
callback
)
:
callback
()
},
0
)
if
(
doAnimate
)
{
that
.
$backdrop
[
0
].
offsetWidth
// force reflow
}
that
.
$backdrop
&&
that
.
$backdrop
.
addClass
(
'
in
'
)
doAnimate
?
that
.
$backdrop
.
one
(
transitionEnd
,
callback
)
:
callback
()
}
else
if
(
!
this
.
isShown
&&
this
.
$backdrop
)
{
this
.
$backdrop
.
removeClass
(
'
in
'
)
...
...
@@ -165,13 +172,13 @@
function
escape
()
{
var
that
=
this
if
(
this
.
isShown
&&
this
.
settings
.
keyboard
)
{
$
(
'
body
'
).
bind
(
'
keyup.modal
'
,
function
(
e
)
{
$
(
window
).
bind
(
'
keyup.modal
'
,
function
(
e
)
{
if
(
e
.
which
==
27
)
{
that
.
hide
()
}
})
}
else
if
(
!
this
.
isShown
)
{
$
(
'
body
'
).
unbind
(
'
keyup.modal
'
)
$
(
window
).
unbind
(
'
keyup.modal
'
)
}
}
...
...
This diff is collapsed.
Click to expand it.
js/tests/unit/bootstrap-modal.js
+
137
-
137
View file @
ac800119
$
(
function
()
{
module
(
"
bootstrap-modal
"
)
module
(
"
bootstrap-modal
"
)
test
(
"
should be defined on jquery object
"
,
function
()
{
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
ok
(
div
.
modal
,
'
modal method is defined
'
)
})
test
(
"
should be defined on jquery object
"
,
function
()
{
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
ok
(
div
.
modal
,
'
modal method is defined
'
)
})
test
(
"
should return element
"
,
function
()
{
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
ok
(
div
.
modal
()
==
div
,
'
d
ocument.body
returned
'
)
})
test
(
"
should return element
"
,
function
()
{
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
ok
(
div
.
modal
()
==
div
,
'
d
iv element
returned
'
)
})
test
(
"
should expose defaults var for settings
"
,
function
()
{
ok
(
$
.
fn
.
modal
.
defaults
,
'
default object exposed
'
)
})
test
(
"
should expose defaults var for settings
"
,
function
()
{
ok
(
$
.
fn
.
modal
.
defaults
,
'
default object exposed
'
)
})
test
(
"
should insert into dom when show method is called
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
()
.
modal
(
"
show
"
)
.
bind
(
"
shown
"
,
function
()
{
ok
(
$
(
'
#modal-test
'
).
length
,
'
modal insterted into dom
'
)
start
()
div
.
remove
(
)
}
)
})
test
(
"
should insert into dom when show method is called
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
()
.
bind
(
"
shown
"
,
function
()
{
ok
(
$
(
'
#modal-test
'
).
length
,
'
modal insterted into dom
'
)
start
(
)
div
.
remove
()
}
)
.
modal
(
"
show
"
)
})
test
(
"
should hide modal when hide is called
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
()
.
bind
(
"
shown
"
,
function
()
{
ok
(
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal visible
'
)
ok
(
$
(
'
#modal-test
'
).
length
,
'
modal insterted into dom
'
)
div
.
modal
(
"
hide
"
)
})
.
bind
(
"
hidden
"
,
function
()
{
ok
(
!
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal hidden
'
)
start
()
div
.
remove
()
})
.
modal
(
"
show
"
)
})
test
(
"
should hide modal when hide is called
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
()
.
bind
(
"
shown
"
,
function
()
{
ok
(
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal visible
'
)
ok
(
$
(
'
#modal-test
'
).
length
,
'
modal insterted into dom
'
)
div
.
modal
(
"
hide
"
)
})
.
bind
(
"
hidden
"
,
function
()
{
ok
(
!
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal hidden
'
)
start
()
div
.
remove
()
})
.
modal
(
"
show
"
)
})
test
(
"
should toggle when toggle is called
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
()
.
bind
(
"
shown
"
,
function
()
{
ok
(
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal visible
'
)
ok
(
$
(
'
#modal-test
'
).
length
,
'
modal insterted into dom
'
)
div
.
modal
(
"
toggle
"
)
})
.
bind
(
"
hidden
"
,
function
()
{
ok
(
!
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal hidden
'
)
start
()
div
.
remove
()
})
.
modal
(
"
toggle
"
)
})
test
(
"
should toggle when toggle is called
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
()
.
bind
(
"
shown
"
,
function
()
{
ok
(
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal visible
'
)
ok
(
$
(
'
#modal-test
'
).
length
,
'
modal insterted into dom
'
)
div
.
modal
(
"
toggle
"
)
})
.
bind
(
"
hidden
"
,
function
()
{
ok
(
!
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal hidden
'
)
start
()
div
.
remove
()
})
.
modal
(
"
toggle
"
)
})
test
(
"
should remove from dom when click .close
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'><span class='close'></span></div>
"
)
div
.
modal
()
.
bind
(
"
shown
"
,
function
()
{
ok
(
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal visible
'
)
ok
(
$
(
'
#modal-test
'
).
length
,
'
modal insterted into dom
'
)
div
.
find
(
'
.close
'
).
click
()
})
.
bind
(
"
hidden
"
,
function
()
{
ok
(
!
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal hidden
'
)
start
()
div
.
remove
()
})
.
modal
(
"
toggle
"
)
})
test
(
"
should remove from dom when click .close
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'><span class='close'></span></div>
"
)
div
.
modal
()
.
bind
(
"
shown
"
,
function
()
{
ok
(
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal visible
'
)
ok
(
$
(
'
#modal-test
'
).
length
,
'
modal insterted into dom
'
)
div
.
find
(
'
.close
'
).
click
()
})
.
bind
(
"
hidden
"
,
function
()
{
ok
(
!
$
(
'
#modal-test
'
).
is
(
"
:visible
"
),
'
modal hidden
'
)
start
()
div
.
remove
()
})
.
modal
(
"
toggle
"
)
})
test
(
"
should add backdrop when desired
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
({
backdrop
:
true
})
.
modal
(
"
show
"
)
.
bind
(
"
shown
"
,
function
()
{
equal
(
$
(
'
.modal-backdrop
'
).
length
,
1
,
'
modal backdrop inserted into dom
'
)
start
()
div
.
remove
()
$
(
'
.modal-backdrop
'
).
remove
(
)
}
)
})
test
(
"
should add backdrop when desired
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
({
backdrop
:
true
})
.
bind
(
"
shown
"
,
function
()
{
equal
(
$
(
'
.modal-backdrop
'
).
length
,
1
,
'
modal backdrop inserted into dom
'
)
start
(
)
div
.
remove
()
$
(
'
.modal-backdrop
'
)
.
remove
()
}
)
.
modal
(
"
show
"
)
})
test
(
"
should not add backdrop when not desired
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
({
backdrop
:
false
})
.
modal
(
"
show
"
)
.
bind
(
"
shown
"
,
function
()
{
equal
(
$
(
'
.modal-backdrop
'
).
length
,
0
,
'
modal backdrop not inserted into dom
'
)
start
()
div
.
remove
(
)
}
)
})
test
(
"
should not add backdrop when not desired
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
({
backdrop
:
false
})
.
bind
(
"
shown
"
,
function
()
{
equal
(
$
(
'
.modal-backdrop
'
).
length
,
0
,
'
modal backdrop not inserted into dom
'
)
start
(
)
div
.
remove
()
}
)
.
modal
(
"
show
"
)
})
test
(
"
should close backdrop when clicked
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
({
backdrop
:
true
})
.
modal
(
"
show
"
)
.
bind
(
"
shown
"
,
function
()
{
equal
(
$
(
'
.modal-backdrop
'
).
length
,
1
,
'
modal backdrop inserted into dom
'
)
$
(
'
.modal-backdrop
'
).
click
(
)
equal
(
$
(
'
.modal-backdrop
'
).
length
,
0
,
'
modal backdrop removed from dom
'
)
start
()
div
.
remove
(
)
}
)
})
test
(
"
should close backdrop when clicked
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
({
backdrop
:
true
})
.
bind
(
"
shown
"
,
function
()
{
equal
(
$
(
'
.modal-backdrop
'
).
length
,
1
,
'
modal backdrop inserted into dom
'
)
$
(
'
.modal-backdrop
'
).
click
(
)
equal
(
$
(
'
.modal-backdrop
'
).
length
,
0
,
'
modal backdrop removed from dom
'
)
start
(
)
div
.
remove
()
}
)
.
modal
(
"
show
"
)
})
test
(
"
should not close backdrop when click disabled
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
({
backdrop
:
'
static
'
})
.
modal
(
"
show
"
)
.
bind
(
"
shown
"
,
function
()
{
equal
(
$
(
'
.modal-backdrop
'
).
length
,
1
,
'
modal backdrop inserted into dom
'
)
$
(
'
.modal-backdrop
'
).
click
(
)
equal
(
$
(
'
.modal-backdrop
'
).
length
,
1
,
'
modal backdrop still in dom
'
)
start
()
div
.
remove
()
$
(
'
.modal-backdrop
'
).
remove
(
)
}
)
})
test
(
"
should not close backdrop when click disabled
"
,
function
()
{
stop
()
$
.
support
.
transition
=
false
var
div
=
$
(
"
<div id='modal-test'></div>
"
)
div
.
modal
({
backdrop
:
'
static
'
})
.
bind
(
"
shown
"
,
function
()
{
equal
(
$
(
'
.modal-backdrop
'
).
length
,
1
,
'
modal backdrop inserted into dom
'
)
$
(
'
.modal-backdrop
'
).
click
(
)
equal
(
$
(
'
.modal-backdrop
'
).
length
,
1
,
'
modal backdrop still in dom
'
)
start
(
)
div
.
remove
()
$
(
'
.modal-backdrop
'
)
.
remove
()
}
)
.
modal
(
"
show
"
)
})
})
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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
Menu
Explore
Projects
Groups
Snippets