Skip to content
GitLab
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
0b16c8c6
Commit
0b16c8c6
authored
7 years ago
by
Johann-S
Committed by
XhmikosR
6 years ago
Browse files
Options
Download
Email Patches
Plain Diff
alert without jquery
parent
8d34bc13
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
js/src/alert.js
+16
-21
js/src/alert.js
js/src/dom/data.js
+51
-0
js/src/dom/data.js
js/src/dom/eventHandler.js
+9
-7
js/src/dom/eventHandler.js
js/src/dom/selectorEngine.js
+42
-0
js/src/dom/selectorEngine.js
js/src/util.js
+2
-2
js/src/util.js
js/tests/index.html
+3
-1
js/tests/index.html
js/tests/unit/.eslintrc.json
+2
-1
js/tests/unit/.eslintrc.json
js/tests/unit/alert.js
+13
-10
js/tests/unit/alert.js
js/tests/visual/alert.html
+3
-1
js/tests/visual/alert.html
js/tests/visual/button.html
+1
-1
js/tests/visual/button.html
js/tests/visual/carousel.html
+1
-1
js/tests/visual/carousel.html
js/tests/visual/collapse.html
+1
-1
js/tests/visual/collapse.html
js/tests/visual/dropdown.html
+1
-1
js/tests/visual/dropdown.html
js/tests/visual/modal.html
+1
-2
js/tests/visual/modal.html
js/tests/visual/popover.html
+1
-2
js/tests/visual/popover.html
js/tests/visual/scrollspy.html
+1
-1
js/tests/visual/scrollspy.html
js/tests/visual/tab.html
+1
-1
js/tests/visual/tab.html
with
149 additions
and
53 deletions
+149
-53
js/src/alert.js
+
16
-
21
View file @
0b16c8c6
...
...
@@ -5,7 +5,9 @@
* --------------------------------------------------------------------------
*/
import
$
from
'
jquery
'
import
Data
from
'
./dom/data
'
import
EventHandler
from
'
./dom/eventHandler
'
import
SelectorEngine
from
'
./dom/selectorEngine
'
import
Util
from
'
./util
'
/**
...
...
@@ -64,7 +66,7 @@ class Alert {
const
customEvent
=
this
.
_triggerCloseEvent
(
rootElement
)
if
(
customEvent
.
isD
efaultPrevented
()
)
{
if
(
customEvent
.
d
efaultPrevented
)
{
return
}
...
...
@@ -72,7 +74,7 @@ class Alert {
}
dispose
()
{
$
.
removeData
(
this
.
_element
,
DATA_KEY
)
Data
.
removeData
(
this
.
_element
,
DATA_KEY
)
this
.
_element
=
null
}
...
...
@@ -87,52 +89,45 @@ class Alert {
}
if
(
!
parent
)
{
parent
=
$
(
ele
ment
).
closest
(
`.
${
ClassName
.
ALERT
}
`
)
[
0
]
parent
=
S
ele
ctorEngine
.
closest
(
element
,
`.
${
ClassName
.
ALERT
}
`
)
}
return
parent
}
_triggerCloseEvent
(
element
)
{
const
closeEvent
=
$
.
Event
(
Event
.
CLOSE
)
$
(
element
).
trigger
(
closeEvent
)
return
closeEvent
return
EventHandler
.
trigger
(
element
,
Event
.
CLOSE
)
}
_removeElement
(
element
)
{
$
(
element
)
.
remove
Class
(
ClassName
.
SHOW
)
element
.
classList
.
remove
(
ClassName
.
SHOW
)
if
(
!
$
(
element
).
hasClas
s
(
ClassName
.
FADE
))
{
if
(
!
element
.
classList
.
contain
s
(
ClassName
.
FADE
))
{
this
.
_destroyElement
(
element
)
return
}
const
transitionDuration
=
Util
.
getTransitionDurationFromElement
(
element
)
$
(
element
)
.
one
(
Util
.
TRANSITION_END
,
(
event
)
=>
this
.
_destroyElement
(
element
,
event
))
Util
.
emulateTransitionEnd
(
transitionDuration
)
EventHandler
.
one
(
element
,
Util
.
TRANSITION_END
,
(
event
)
=>
this
.
_destroyElement
(
element
,
event
))
Util
.
emulateTransitionEnd
(
element
,
transitionDuration
)
}
_destroyElement
(
element
)
{
$
(
element
)
.
detach
()
.
trigger
(
Event
.
CLOSED
)
.
remove
()
EventHandler
.
trigger
(
element
,
Event
.
CLOSED
)
element
.
parentNode
.
removeChild
(
element
)
}
// Static
static
_jQueryInterface
(
config
)
{
return
this
.
each
(
function
()
{
const
$element
=
$
(
this
)
let
data
=
$element
.
data
(
DATA_KEY
)
let
data
=
Data
.
getData
(
this
,
DATA_KEY
)
if
(
!
data
)
{
data
=
new
Alert
(
this
)
$element
.
data
(
DATA_KEY
,
data
)
Data
.
setData
(
this
,
DATA_KEY
,
data
)
}
if
(
config
===
'
close
'
)
{
...
...
This diff is collapsed.
Click to expand it.
js/src/dom/data.js
0 → 100644
+
51
-
0
View file @
0b16c8c6
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta): dom/data.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
const
mapData
=
(()
=>
{
const
storeData
=
{}
return
{
set
(
element
,
key
,
data
)
{
let
id
if
(
element
.
key
===
undefined
)
{
element
.
key
=
{
key
,
id
}
}
storeData
[
id
]
=
data
},
get
(
element
,
key
)
{
if
(
element
.
key
===
undefined
||
element
.
key
!==
key
)
{
return
null
}
const
keyProperties
=
element
.
key
return
storeData
[
keyProperties
.
id
]
},
delete
(
element
,
key
)
{
if
(
element
.
key
===
undefined
||
element
.
key
!==
key
)
{
return
}
const
keyProperties
=
element
.
key
delete
storeData
[
keyProperties
.
id
]
}
}
})()
const
Data
=
{
setData
(
instance
,
key
,
data
)
{
mapData
.
set
(
instance
,
key
,
data
)
},
getData
(
instance
,
key
)
{
mapData
.
get
(
instance
,
key
)
},
removeData
(
instance
,
key
)
{
mapData
.
delete
(
instance
,
key
)
}
}
export
default
Data
This diff is collapsed.
Click to expand it.
js/src/dom/event.js
→
js/src/dom/event
Handler
.js
+
9
-
7
View file @
0b16c8c6
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta): dom/event.js
* Bootstrap (v4.0.0-beta): dom/event
Handler
.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
const
Event
=
{
const
Event
Handler
=
{
on
(
element
,
event
,
handler
)
{
if
(
typeof
event
!==
'
string
'
)
{
if
(
typeof
event
!==
'
string
'
||
typeof
element
===
'
undefined
'
)
{
return
}
element
.
addEventListener
(
event
,
handler
,
false
)
...
...
@@ -19,12 +19,12 @@ const Event = {
handler
()
element
.
removeEventListener
(
event
,
complete
,
false
)
}
Event
.
on
(
element
,
event
,
complete
)
Event
Handler
.
on
(
element
,
event
,
complete
)
},
trigger
(
element
,
event
)
{
if
(
typeof
event
!==
'
string
'
)
{
return
if
(
typeof
event
!==
'
string
'
||
typeof
element
===
'
undefined
'
)
{
return
null
}
const
eventToDispatch
=
new
CustomEvent
(
event
,
{
...
...
@@ -32,7 +32,9 @@ const Event = {
cancelable
:
true
})
element
.
dispatchEvent
(
eventToDispatch
)
return
eventToDispatch
}
}
export
default
Event
export
default
Event
Handler
This diff is collapsed.
Click to expand it.
js/src/dom/selectorEngine.js
0 → 100644
+
42
-
0
View file @
0b16c8c6
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0-beta): dom/selectorEngine.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* --------------------------------------------------------------------------
*/
const
SelectorEngine
=
{
matches
:
Element
.
prototype
.
msMatchesSelector
||
Element
.
prototype
.
webkitMatchesSelector
,
find
(
selector
)
{
if
(
typeof
selector
!==
'
string
'
)
{
return
null
}
let
selectorType
=
'
querySelectorAll
'
if
(
selector
.
indexOf
(
'
#
'
)
===
0
)
{
selectorType
=
'
getElementById
'
selector
=
selector
.
substr
(
1
,
selector
.
length
)
}
return
document
[
selectorType
](
selector
)
},
closest
(
element
,
selector
)
{
let
ancestor
=
element
if
(
!
document
.
documentElement
.
contains
(
element
))
{
return
null
}
do
{
if
(
SelectorEngine
.
matches
.
call
(
ancestor
,
selector
))
{
return
ancestor
}
ancestor
=
ancestor
.
parentElement
}
while
(
ancestor
!==
null
)
return
null
}
}
export
default
SelectorEngine
This diff is collapsed.
Click to expand it.
js/src/util.js
+
2
-
2
View file @
0b16c8c6
...
...
@@ -5,7 +5,7 @@
* --------------------------------------------------------------------------
*/
import
Event
from
'
./dom/event
'
import
Event
Handler
from
'
./dom/event
Handler
'
/**
* ------------------------------------------------------------------------
...
...
@@ -78,7 +78,7 @@ const Util = {
},
triggerTransitionEnd
(
element
)
{
Event
.
trigger
(
element
,
Util
.
TRANSITION_END
)
Event
Handler
.
trigger
(
element
,
Util
.
TRANSITION_END
)
},
// TODO: Remove in v5
...
...
This diff is collapsed.
Click to expand it.
js/tests/index.html
+
3
-
1
View file @
0b16c8c6
...
...
@@ -97,7 +97,9 @@
</script>
<!-- Transpiled Plugins -->
<script
src=
"../dist/dom/event.js"
></script>
<script
src=
"../dist/dom/eventHandler.js"
></script>
<script
src=
"../dist/dom/selectorEngine.js"
></script>
<script
src=
"../dist/dom/data.js"
></script>
<script
src=
"../dist/util.js"
></script>
<script
src=
"../dist/alert.js"
></script>
<script
src=
"../dist/button.js"
></script>
...
...
This diff is collapsed.
Click to expand it.
js/tests/unit/.eslintrc.json
+
2
-
1
View file @
0b16c8c6
...
...
@@ -12,7 +12,8 @@
"Button"
:
false
,
"Carousel"
:
false
,
"Simulator"
:
false
,
"Toast"
:
false
"Toast"
:
false
,
"EventHandler"
:
false
},
"parserOptions"
:
{
"ecmaVersion"
:
5
,
...
...
This diff is collapsed.
Click to expand it.
js/tests/unit/alert.js
+
13
-
10
View file @
0b16c8c6
...
...
@@ -70,16 +70,19 @@ $(function () {
QUnit
.
test
(
'
should not fire closed when close is prevented
'
,
function
(
assert
)
{
assert
.
expect
(
1
)
var
done
=
assert
.
async
()
$
(
'
<div class="alert"/>
'
)
.
on
(
'
close.bs.alert
'
,
function
(
e
)
{
e
.
preventDefault
()
assert
.
ok
(
true
,
'
close event fired
'
)
done
()
})
.
on
(
'
closed.bs.alert
'
,
function
()
{
assert
.
ok
(
false
,
'
closed event fired
'
)
})
.
bootstrapAlert
(
'
close
'
)
var
$alert
=
$
(
'
<div class="alert"/>
'
)
$alert
.
appendTo
(
'
#qunit-fixture
'
)
EventHandler
.
on
(
$alert
[
0
],
'
close.bs.alert
'
,
function
(
e
)
{
e
.
preventDefault
()
assert
.
ok
(
true
,
'
close event fired
'
)
done
()
})
EventHandler
.
on
(
$alert
[
0
],
'
closed.bs.alert
'
,
function
()
{
assert
.
ok
(
false
,
'
closed event fired
'
)
})
$alert
.
bootstrapAlert
(
'
close
'
)
})
QUnit
.
test
(
'
close should use internal _element if no element provided
'
,
function
(
assert
)
{
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/alert.html
+
3
-
1
View file @
0b16c8c6
...
...
@@ -52,7 +52,9 @@
</div>
<script
src=
"../../../node_modules/jquery/dist/jquery.slim.min.js"
></script>
<script
src=
"../../dist/dom/event.js"
></script>
<script
src=
"../../dist/dom/eventHandler.js"
></script>
<script
src=
"../../dist/dom/selectorEngine.js"
></script>
<script
src=
"../../dist/dom/data.js"
></script>
<script
src=
"../../dist/util.js"
></script>
<script
src=
"../../dist/alert.js"
></script>
</body>
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/button.html
+
1
-
1
View file @
0b16c8c6
...
...
@@ -45,7 +45,7 @@
</div>
<script
src=
"../../../node_modules/jquery/dist/jquery.slim.min.js"
></script>
<script
src=
"../../dist/dom/event.js"
></script>
<script
src=
"../../dist/dom/event
Handler
.js"
></script>
<script
src=
"../../dist/util.js"
></script>
<script
src=
"../../dist/button.js"
></script>
</body>
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/carousel.html
+
1
-
1
View file @
0b16c8c6
...
...
@@ -46,7 +46,7 @@
</div>
<script
src=
"../../../node_modules/jquery/dist/jquery.slim.min.js"
></script>
<script
src=
"../../dist/dom/event.js"
></script>
<script
src=
"../../dist/dom/event
Handler
.js"
></script>
<script
src=
"../../dist/util.js"
></script>
<script
src=
"../../dist/carousel.js"
></script>
<script>
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/collapse.html
+
1
-
1
View file @
0b16c8c6
...
...
@@ -72,7 +72,7 @@
</div>
<script
src=
"../../../node_modules/jquery/dist/jquery.slim.min.js"
></script>
<script
src=
"../../dist/dom/event.js"
></script>
<script
src=
"../../dist/dom/event
Handler
.js"
></script>
<script
src=
"../../dist/util.js"
></script>
<script
src=
"../../dist/collapse.js"
></script>
</body>
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/dropdown.html
+
1
-
1
View file @
0b16c8c6
...
...
@@ -205,7 +205,7 @@
<script
src=
"../../../node_modules/jquery/dist/jquery.slim.min.js"
></script>
<script
src=
"../../../node_modules/popper.js/dist/umd/popper.min.js"
></script>
<script
src=
"../../dist/dom/event.js"
></script>
<script
src=
"../../dist/dom/event
Handler
.js"
></script>
<script
src=
"../../dist/util.js"
></script>
<script
src=
"../../dist/dropdown.js"
></script>
<script
src=
"../../dist/collapse.js"
></script>
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/modal.html
+
1
-
2
View file @
0b16c8c6
...
...
@@ -207,13 +207,12 @@
<script
src=
"../../../node_modules/jquery/dist/jquery.slim.min.js"
></script>
<script
src=
"../../../node_modules/popper.js/dist/umd/popper.min.js"
></script>
<script
src=
"../../dist/dom/event.js"
></script>
<script
src=
"../../dist/dom/event
Handler
.js"
></script>
<script
src=
"../../dist/util.js"
></script>
<script
src=
"../../dist/modal.js"
></script>
<script
src=
"../../dist/collapse.js"
></script>
<script
src=
"../../dist/tooltip.js"
></script>
<script
src=
"../../dist/popover.js"
></script>
<script>
var
firefoxTestDone
=
false
function
reportFirefoxTestResult
(
result
)
{
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/popover.html
+
1
-
2
View file @
0b16c8c6
...
...
@@ -33,11 +33,10 @@
<script
src=
"../../../node_modules/jquery/dist/jquery.slim.min.js"
></script>
<script
src=
"../../../node_modules/popper.js/dist/umd/popper.min.js"
></script>
<script
src=
"../../dist/dom/event.js"
></script>
<script
src=
"../../dist/dom/event
Handler
.js"
></script>
<script
src=
"../../dist/util.js"
></script>
<script
src=
"../../dist/tooltip.js"
></script>
<script
src=
"../../dist/popover.js"
></script>
<script>
$
(
function
()
{
$
(
'
[data-toggle="popover"]
'
).
popover
()
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/scrollspy.html
+
1
-
1
View file @
0b16c8c6
...
...
@@ -88,7 +88,7 @@
<script
src=
"../../../node_modules/jquery/dist/jquery.slim.min.js"
></script>
<script
src=
"../../../site/docs/4.2/assets/js/vendor/popper.min.js"
></script>
<script
src=
"../../dist/dom/event.js"
></script>
<script
src=
"../../dist/dom/event
Handler
.js"
></script>
<script
src=
"../../dist/util.js"
></script>
<script
src=
"../../dist/scrollspy.js"
></script>
<script
src=
"../../dist/dropdown.js"
></script>
...
...
This diff is collapsed.
Click to expand it.
js/tests/visual/tab.html
+
1
-
1
View file @
0b16c8c6
...
...
@@ -227,7 +227,7 @@
<script
src=
"../../../node_modules/jquery/dist/jquery.slim.min.js"
></script>
<script
src=
"../../../node_modules/popper.js/dist/umd/popper.min.js"
></script>
<script
src=
"../../dist/dom/event.js"
></script>
<script
src=
"../../dist/dom/event
Handler
.js"
></script>
<script
src=
"../../dist/util.js"
></script>
<script
src=
"../../dist/tab.js"
></script>
<script
src=
"../../dist/dropdown.js"
></script>
...
...
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