aboutsummaryrefslogtreecommitdiff
path: root/js/src/util
diff options
context:
space:
mode:
authoralpadev <[email protected]>2020-12-08 07:16:50 +0100
committerGitHub <[email protected]>2020-12-08 08:16:50 +0200
commit85208ae5570aeefe4e94c1ceb29ca3b6ffdf83a1 (patch)
treeaa53633a26516f28ea292749f2389c1708ce2c44 /js/src/util
parent07b60d2c3e0744d1a3182228caa0eec42a8328b1 (diff)
downloadbootstrap-85208ae5570aeefe4e94c1ceb29ca3b6ffdf83a1.tar.xz
bootstrap-85208ae5570aeefe4e94c1ceb29ca3b6ffdf83a1.zip
Refactor components to use a utility function to define jQuery plugins (#32285)
* refactor: use an utility function to define jQuery plugins * test: add spec for defineJQueryPlugin utility function * Update .bundlewatch.config.json Co-authored-by: XhmikosR <[email protected]>
Diffstat (limited to 'js/src/util')
-rw-r--r--js/src/util/index.js19
1 files changed, 18 insertions, 1 deletions
diff --git a/js/src/util/index.js b/js/src/util/index.js
index f1bf6c9fc..1bf9fe954 100644
--- a/js/src/util/index.js
+++ b/js/src/util/index.js
@@ -188,6 +188,22 @@ const onDOMContentLoaded = callback => {
const isRTL = document.documentElement.dir === 'rtl'
+const defineJQueryPlugin = (name, plugin) => {
+ onDOMContentLoaded(() => {
+ const $ = getjQuery()
+ /* istanbul ignore if */
+ if ($) {
+ const JQUERY_NO_CONFLICT = $.fn[name]
+ $.fn[name] = plugin.jQueryInterface
+ $.fn[name].Constructor = plugin
+ $.fn[name].noConflict = () => {
+ $.fn[name] = JQUERY_NO_CONFLICT
+ return plugin.jQueryInterface
+ }
+ }
+ })
+}
+
export {
TRANSITION_END,
getUID,
@@ -204,5 +220,6 @@ export {
reflow,
getjQuery,
onDOMContentLoaded,
- isRTL
+ isRTL,
+ defineJQueryPlugin
}