mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-09 07:06:36 +02:00
Remove jQuery from Util.js
s
This commit is contained in:
@@ -112,7 +112,8 @@ class Alert {
|
|||||||
|
|
||||||
$(element)
|
$(element)
|
||||||
.one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))
|
.one(Util.TRANSITION_END, (event) => this._destroyElement(element, event))
|
||||||
.emulateTransitionEnd(transitionDuration)
|
|
||||||
|
Util.emulateTransitionEnd(transitionDuration)
|
||||||
}
|
}
|
||||||
|
|
||||||
_destroyElement(element) {
|
_destroyElement(element) {
|
||||||
|
@@ -488,7 +488,8 @@ class Carousel {
|
|||||||
|
|
||||||
setTimeout(() => $(this._element).trigger(slidEvent), 0)
|
setTimeout(() => $(this._element).trigger(slidEvent), 0)
|
||||||
})
|
})
|
||||||
.emulateTransitionEnd(transitionDuration)
|
|
||||||
|
Util.emulateTransitionEnd(transitionDuration)
|
||||||
} else {
|
} else {
|
||||||
$(activeElement).removeClass(ClassName.ACTIVE)
|
$(activeElement).removeClass(ClassName.ACTIVE)
|
||||||
$(nextElement).addClass(ClassName.ACTIVE)
|
$(nextElement).addClass(ClassName.ACTIVE)
|
||||||
|
@@ -195,8 +195,8 @@ class Collapse {
|
|||||||
|
|
||||||
$(this._element)
|
$(this._element)
|
||||||
.one(Util.TRANSITION_END, complete)
|
.one(Util.TRANSITION_END, complete)
|
||||||
.emulateTransitionEnd(transitionDuration)
|
|
||||||
|
|
||||||
|
Util.emulateTransitionEnd(transitionDuration)
|
||||||
this._element.style[dimension] = `${this._element[scrollSize]}px`
|
this._element.style[dimension] = `${this._element[scrollSize]}px`
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -254,7 +254,8 @@ class Collapse {
|
|||||||
|
|
||||||
$(this._element)
|
$(this._element)
|
||||||
.one(Util.TRANSITION_END, complete)
|
.one(Util.TRANSITION_END, complete)
|
||||||
.emulateTransitionEnd(transitionDuration)
|
|
||||||
|
Util.emulateTransitionEnd(transitionDuration)
|
||||||
}
|
}
|
||||||
|
|
||||||
setTransitioning(isTransitioning) {
|
setTransitioning(isTransitioning) {
|
||||||
|
38
js/src/dom/event.js
Normal file
38
js/src/dom/event.js
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
/**
|
||||||
|
* --------------------------------------------------------------------------
|
||||||
|
* Bootstrap (v4.0.0-beta): dom/event.js
|
||||||
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
* --------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
const Event = {
|
||||||
|
on(element, event, handler) {
|
||||||
|
if (typeof event !== 'string') {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
element.addEventListener(event, handler, false)
|
||||||
|
},
|
||||||
|
|
||||||
|
one(element, event, handler) {
|
||||||
|
const complete = () => {
|
||||||
|
/* eslint func-style: off */
|
||||||
|
handler()
|
||||||
|
element.removeEventListener(event, complete, false)
|
||||||
|
}
|
||||||
|
Event.on(element, event, complete)
|
||||||
|
},
|
||||||
|
|
||||||
|
trigger(element, event) {
|
||||||
|
if (typeof event !== 'string') {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const eventToDispatch = new CustomEvent(event, {
|
||||||
|
bubbles: true,
|
||||||
|
cancelable: true
|
||||||
|
})
|
||||||
|
element.dispatchEvent(eventToDispatch)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Event
|
@@ -189,7 +189,8 @@ class Modal {
|
|||||||
|
|
||||||
$(this._element)
|
$(this._element)
|
||||||
.one(Util.TRANSITION_END, (event) => this._hideModal(event))
|
.one(Util.TRANSITION_END, (event) => this._hideModal(event))
|
||||||
.emulateTransitionEnd(transitionDuration)
|
|
||||||
|
Util.emulateTransitionEnd(this._element, transitionDuration)
|
||||||
} else {
|
} else {
|
||||||
this._hideModal()
|
this._hideModal()
|
||||||
}
|
}
|
||||||
@@ -280,7 +281,8 @@ class Modal {
|
|||||||
|
|
||||||
$(this._dialog)
|
$(this._dialog)
|
||||||
.one(Util.TRANSITION_END, transitionComplete)
|
.one(Util.TRANSITION_END, transitionComplete)
|
||||||
.emulateTransitionEnd(transitionDuration)
|
|
||||||
|
Util.emulateTransitionEnd(transitionDuration)
|
||||||
} else {
|
} else {
|
||||||
transitionComplete()
|
transitionComplete()
|
||||||
}
|
}
|
||||||
@@ -387,7 +389,8 @@ class Modal {
|
|||||||
|
|
||||||
$(this._backdrop)
|
$(this._backdrop)
|
||||||
.one(Util.TRANSITION_END, callback)
|
.one(Util.TRANSITION_END, callback)
|
||||||
.emulateTransitionEnd(backdropTransitionDuration)
|
|
||||||
|
Util.emulateTransitionEnd(backdropTransitionDuration)
|
||||||
} else if (!this._isShown && this._backdrop) {
|
} else if (!this._isShown && this._backdrop) {
|
||||||
$(this._backdrop).removeClass(ClassName.SHOW)
|
$(this._backdrop).removeClass(ClassName.SHOW)
|
||||||
|
|
||||||
@@ -403,7 +406,8 @@ class Modal {
|
|||||||
|
|
||||||
$(this._backdrop)
|
$(this._backdrop)
|
||||||
.one(Util.TRANSITION_END, callbackRemove)
|
.one(Util.TRANSITION_END, callbackRemove)
|
||||||
.emulateTransitionEnd(backdropTransitionDuration)
|
|
||||||
|
Util.emulateTransitionEnd(backdropTransitionDuration)
|
||||||
} else {
|
} else {
|
||||||
callbackRemove()
|
callbackRemove()
|
||||||
}
|
}
|
||||||
|
@@ -159,7 +159,7 @@ class Tab {
|
|||||||
$(active)
|
$(active)
|
||||||
.removeClass(ClassName.SHOW)
|
.removeClass(ClassName.SHOW)
|
||||||
.one(Util.TRANSITION_END, complete)
|
.one(Util.TRANSITION_END, complete)
|
||||||
.emulateTransitionEnd(transitionDuration)
|
Util.emulateTransitionEnd(active, transitionDuration)
|
||||||
} else {
|
} else {
|
||||||
complete()
|
complete()
|
||||||
}
|
}
|
||||||
|
@@ -344,7 +344,8 @@ class Tooltip {
|
|||||||
|
|
||||||
$(this.tip)
|
$(this.tip)
|
||||||
.one(Util.TRANSITION_END, complete)
|
.one(Util.TRANSITION_END, complete)
|
||||||
.emulateTransitionEnd(transitionDuration)
|
|
||||||
|
Util.emulateTransitionEnd(tip, transitionDuration)
|
||||||
} else {
|
} else {
|
||||||
complete()
|
complete()
|
||||||
}
|
}
|
||||||
|
@@ -5,7 +5,7 @@
|
|||||||
* --------------------------------------------------------------------------
|
* --------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import $ from 'jquery'
|
import Event from './dom/event'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ------------------------------------------------------------------------
|
* ------------------------------------------------------------------------
|
||||||
@@ -118,7 +118,7 @@ const Util = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
triggerTransitionEnd(element) {
|
triggerTransitionEnd(element) {
|
||||||
$(element).trigger(TRANSITION_END)
|
Event.trigger(element, Util.TRANSITION_END)
|
||||||
},
|
},
|
||||||
|
|
||||||
// TODO: Remove in v5
|
// TODO: Remove in v5
|
||||||
@@ -130,6 +130,12 @@ const Util = {
|
|||||||
return (obj[0] || obj).nodeType
|
return (obj[0] || obj).nodeType
|
||||||
},
|
},
|
||||||
|
|
||||||
|
emulateTransitionEnd(element, duration) {
|
||||||
|
setTimeout(() => {
|
||||||
|
Util.triggerTransitionEnd(element)
|
||||||
|
}, duration)
|
||||||
|
},
|
||||||
|
|
||||||
typeCheckConfig(componentName, config, configTypes) {
|
typeCheckConfig(componentName, config, configTypes) {
|
||||||
for (const property in configTypes) {
|
for (const property in configTypes) {
|
||||||
if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
|
if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
|
||||||
@@ -172,6 +178,4 @@ const Util = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setTransitionEndSupport()
|
|
||||||
|
|
||||||
export default Util
|
export default Util
|
||||||
|
@@ -97,6 +97,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- Transpiled Plugins -->
|
<!-- Transpiled Plugins -->
|
||||||
|
<script src="../dist/dom/event.js"></script>
|
||||||
<script src="../dist/util.js"></script>
|
<script src="../dist/util.js"></script>
|
||||||
<script src="../dist/alert.js"></script>
|
<script src="../dist/alert.js"></script>
|
||||||
<script src="../dist/button.js"></script>
|
<script src="../dist/button.js"></script>
|
||||||
|
@@ -52,6 +52,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
||||||
|
<script src="../../dist/dom/event.js"></script>
|
||||||
<script src="../../dist/util.js"></script>
|
<script src="../../dist/util.js"></script>
|
||||||
<script src="../../dist/alert.js"></script>
|
<script src="../../dist/alert.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
@@ -45,6 +45,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
||||||
|
<script src="../../dist/dom/event.js"></script>
|
||||||
<script src="../../dist/util.js"></script>
|
<script src="../../dist/util.js"></script>
|
||||||
<script src="../../dist/button.js"></script>
|
<script src="../../dist/button.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
@@ -46,6 +46,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
||||||
|
<script src="../../dist/dom/event.js"></script>
|
||||||
<script src="../../dist/util.js"></script>
|
<script src="../../dist/util.js"></script>
|
||||||
<script src="../../dist/carousel.js"></script>
|
<script src="../../dist/carousel.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
@@ -72,6 +72,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
||||||
|
<script src="../../dist/dom/event.js"></script>
|
||||||
<script src="../../dist/util.js"></script>
|
<script src="../../dist/util.js"></script>
|
||||||
<script src="../../dist/collapse.js"></script>
|
<script src="../../dist/collapse.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
@@ -205,6 +205,7 @@
|
|||||||
|
|
||||||
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
<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="../../../node_modules/popper.js/dist/umd/popper.min.js"></script>
|
||||||
|
<script src="../../dist/dom/event.js"></script>
|
||||||
<script src="../../dist/util.js"></script>
|
<script src="../../dist/util.js"></script>
|
||||||
<script src="../../dist/dropdown.js"></script>
|
<script src="../../dist/dropdown.js"></script>
|
||||||
<script src="../../dist/collapse.js"></script>
|
<script src="../../dist/collapse.js"></script>
|
||||||
|
@@ -207,6 +207,7 @@
|
|||||||
|
|
||||||
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
<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="../../../node_modules/popper.js/dist/umd/popper.min.js"></script>
|
||||||
|
<script src="../../dist/dom/event.js"></script>
|
||||||
<script src="../../dist/util.js"></script>
|
<script src="../../dist/util.js"></script>
|
||||||
<script src="../../dist/modal.js"></script>
|
<script src="../../dist/modal.js"></script>
|
||||||
<script src="../../dist/collapse.js"></script>
|
<script src="../../dist/collapse.js"></script>
|
||||||
|
@@ -33,6 +33,7 @@
|
|||||||
|
|
||||||
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
<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="../../../node_modules/popper.js/dist/umd/popper.min.js"></script>
|
||||||
|
<script src="../../dist/dom/event.js"></script>
|
||||||
<script src="../../dist/util.js"></script>
|
<script src="../../dist/util.js"></script>
|
||||||
<script src="../../dist/tooltip.js"></script>
|
<script src="../../dist/tooltip.js"></script>
|
||||||
<script src="../../dist/popover.js"></script>
|
<script src="../../dist/popover.js"></script>
|
||||||
|
@@ -87,6 +87,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
<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/util.js"></script>
|
<script src="../../dist/util.js"></script>
|
||||||
<script src="../../dist/scrollspy.js"></script>
|
<script src="../../dist/scrollspy.js"></script>
|
||||||
<script src="../../dist/dropdown.js"></script>
|
<script src="../../dist/dropdown.js"></script>
|
||||||
|
@@ -227,6 +227,7 @@
|
|||||||
|
|
||||||
<script src="../../../node_modules/jquery/dist/jquery.slim.min.js"></script>
|
<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="../../../node_modules/popper.js/dist/umd/popper.min.js"></script>
|
||||||
|
<script src="../../dist/dom/event.js"></script>
|
||||||
<script src="../../dist/util.js"></script>
|
<script src="../../dist/util.js"></script>
|
||||||
<script src="../../dist/tab.js"></script>
|
<script src="../../dist/tab.js"></script>
|
||||||
<script src="../../dist/dropdown.js"></script>
|
<script src="../../dist/dropdown.js"></script>
|
||||||
|
Reference in New Issue
Block a user