},
{
"path": "./dist/js/bootstrap.bundle.min.js",
- "maxSize": "21.75 kB"
+ "maxSize": "21.5 kB"
},
{
"path": "./dist/js/bootstrap.esm.js",
},
{
"path": "./dist/js/bootstrap.min.js",
- "maxSize": "15.75 kB"
+ "maxSize": "15.5 kB"
}
],
"ci": {
*/
import {
- getjQuery,
- onDOMContentLoaded,
+ defineJQueryPlugin,
TRANSITION_END,
emulateTransitionEnd,
getElementFromSelector,
* add .Alert to jQuery only if jQuery is present
*/
-onDOMContentLoaded(() => {
- const $ = getjQuery()
- /* istanbul ignore if */
- if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = Alert.jQueryInterface
- $.fn[NAME].Constructor = Alert
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Alert.jQueryInterface
- }
- }
-})
+defineJQueryPlugin(NAME, Alert)
export default Alert
* --------------------------------------------------------------------------
*/
-import { getjQuery, onDOMContentLoaded } from './util/index'
+import { defineJQueryPlugin } from './util/index'
import Data from './dom/data'
import EventHandler from './dom/event-handler'
import BaseComponent from './base-component'
* add .Button to jQuery only if jQuery is present
*/
-onDOMContentLoaded(() => {
- const $ = getjQuery()
- /* istanbul ignore if */
- if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = Button.jQueryInterface
- $.fn[NAME].Constructor = Button
-
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Button.jQueryInterface
- }
- }
-})
+defineJQueryPlugin(NAME, Button)
export default Button
*/
import {
- getjQuery,
- onDOMContentLoaded,
+ defineJQueryPlugin,
TRANSITION_END,
emulateTransitionEnd,
getElementFromSelector,
* add .Carousel to jQuery only if jQuery is present
*/
-onDOMContentLoaded(() => {
- const $ = getjQuery()
- /* istanbul ignore if */
- if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = Carousel.jQueryInterface
- $.fn[NAME].Constructor = Carousel
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Carousel.jQueryInterface
- }
- }
-})
+defineJQueryPlugin(NAME, Carousel)
export default Carousel
*/
import {
- getjQuery,
- onDOMContentLoaded,
+ defineJQueryPlugin,
TRANSITION_END,
emulateTransitionEnd,
getSelectorFromElement,
* add .Collapse to jQuery only if jQuery is present
*/
-onDOMContentLoaded(() => {
- const $ = getjQuery()
- /* istanbul ignore if */
- if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = Collapse.jQueryInterface
- $.fn[NAME].Constructor = Collapse
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Collapse.jQueryInterface
- }
- }
-})
+defineJQueryPlugin(NAME, Collapse)
export default Collapse
import * as Popper from '@popperjs/core'
import {
- getjQuery,
- onDOMContentLoaded,
+ defineJQueryPlugin,
getElementFromSelector,
isElement,
isVisible,
* add .Dropdown to jQuery only if jQuery is present
*/
-onDOMContentLoaded(() => {
- const $ = getjQuery()
- /* istanbul ignore if */
- if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = Dropdown.jQueryInterface
- $.fn[NAME].Constructor = Dropdown
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Dropdown.jQueryInterface
- }
- }
-})
+defineJQueryPlugin(NAME, Dropdown)
export default Dropdown
*/
import {
- getjQuery,
- onDOMContentLoaded,
+ defineJQueryPlugin,
TRANSITION_END,
emulateTransitionEnd,
getElementFromSelector,
* add .Modal to jQuery only if jQuery is present
*/
-onDOMContentLoaded(() => {
- const $ = getjQuery()
- /* istanbul ignore if */
- if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = Modal.jQueryInterface
- $.fn[NAME].Constructor = Modal
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Modal.jQueryInterface
- }
- }
-})
+defineJQueryPlugin(NAME, Modal)
export default Modal
* --------------------------------------------------------------------------
*/
-import { getjQuery, onDOMContentLoaded } from './util/index'
+import { defineJQueryPlugin } from './util/index'
import Data from './dom/data'
import SelectorEngine from './dom/selector-engine'
import Tooltip from './tooltip'
* add .Popover to jQuery only if jQuery is present
*/
-onDOMContentLoaded(() => {
- const $ = getjQuery()
- /* istanbul ignore if */
- if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = Popover.jQueryInterface
- $.fn[NAME].Constructor = Popover
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Popover.jQueryInterface
- }
- }
-})
+defineJQueryPlugin(NAME, Popover)
export default Popover
*/
import {
- getjQuery,
- onDOMContentLoaded,
+ defineJQueryPlugin,
getSelectorFromElement,
getUID,
isElement,
* add .ScrollSpy to jQuery only if jQuery is present
*/
-onDOMContentLoaded(() => {
- const $ = getjQuery()
- /* istanbul ignore if */
- if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = ScrollSpy.jQueryInterface
- $.fn[NAME].Constructor = ScrollSpy
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return ScrollSpy.jQueryInterface
- }
- }
-})
+defineJQueryPlugin(NAME, ScrollSpy)
export default ScrollSpy
*/
import {
- getjQuery,
- onDOMContentLoaded,
+ defineJQueryPlugin,
TRANSITION_END,
emulateTransitionEnd,
getElementFromSelector,
* add .Tab to jQuery only if jQuery is present
*/
-onDOMContentLoaded(() => {
- const $ = getjQuery()
- /* istanbul ignore if */
- if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = Tab.jQueryInterface
- $.fn[NAME].Constructor = Tab
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Tab.jQueryInterface
- }
- }
-})
+defineJQueryPlugin(NAME, Tab)
export default Tab
*/
import {
- getjQuery,
- onDOMContentLoaded,
+ defineJQueryPlugin,
TRANSITION_END,
emulateTransitionEnd,
getTransitionDurationFromElement,
* add .Toast to jQuery only if jQuery is present
*/
-onDOMContentLoaded(() => {
- const $ = getjQuery()
- /* istanbul ignore if */
- if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = Toast.jQueryInterface
- $.fn[NAME].Constructor = Toast
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Toast.jQueryInterface
- }
- }
-})
+defineJQueryPlugin(NAME, Toast)
export default Toast
import * as Popper from '@popperjs/core'
import {
- getjQuery,
- onDOMContentLoaded,
+ defineJQueryPlugin,
TRANSITION_END,
emulateTransitionEnd,
findShadowRoot,
* add .Tooltip to jQuery only if jQuery is present
*/
-onDOMContentLoaded(() => {
- const $ = getjQuery()
- /* istanbul ignore if */
- if ($) {
- const JQUERY_NO_CONFLICT = $.fn[NAME]
- $.fn[NAME] = Tooltip.jQueryInterface
- $.fn[NAME].Constructor = Tooltip
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Tooltip.jQueryInterface
- }
- }
-})
+defineJQueryPlugin(NAME, Tooltip)
export default Tooltip
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,
reflow,
getjQuery,
onDOMContentLoaded,
- isRTL
+ isRTL,
+ defineJQueryPlugin
}
expect(spy).toHaveBeenCalled()
})
})
+
+ describe('defineJQueryPlugin', () => {
+ const fakejQuery = { fn: {} }
+
+ beforeEach(() => {
+ Object.defineProperty(window, 'jQuery', {
+ value: fakejQuery,
+ writable: true
+ })
+ })
+
+ afterEach(() => {
+ window.jQuery = undefined
+ })
+
+ it('should define a plugin on the jQuery instance', () => {
+ const pluginMock = function () {}
+ pluginMock.jQueryInterface = function () {}
+
+ Util.defineJQueryPlugin('test', pluginMock)
+ expect(fakejQuery.fn.test).toBe(pluginMock.jQueryInterface)
+ expect(fakejQuery.fn.test.Constructor).toBe(pluginMock)
+ expect(typeof fakejQuery.fn.test.noConflict).toEqual('function')
+ })
+ })
})