mirror of
https://github.com/twbs/bootstrap.git
synced 2025-02-26 23:54:23 +01:00
move getJquery
function to another file
This commit is contained in:
parent
dd9f2b31d0
commit
30fd460c6d
@ -5,7 +5,7 @@
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { getjQuery } from '../util/index'
|
||||
import { getjQuery } from '../util/jquery-stuff'
|
||||
|
||||
/**
|
||||
* Constants
|
||||
|
@ -4,7 +4,7 @@
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
import { getJqueryInterfaceForPlugin } from './jquery-stuff'
|
||||
import { getjQuery, getJqueryInterfaceForPlugin } from './jquery-stuff'
|
||||
|
||||
const MAX_UID = 1_000_000
|
||||
const MILLISECONDS_MULTIPLIER = 1000
|
||||
@ -204,14 +204,6 @@ const reflow = element => {
|
||||
element.offsetHeight // eslint-disable-line no-unused-expressions
|
||||
}
|
||||
|
||||
const getjQuery = () => {
|
||||
if (window.jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
||||
return window.jQuery
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
|
||||
const DOMContentLoadedCallbacks = []
|
||||
|
||||
const onDOMContentLoaded = callback => {
|
||||
@ -321,7 +313,6 @@ export {
|
||||
findShadowRoot,
|
||||
getElement,
|
||||
getElementFromSelector,
|
||||
getjQuery,
|
||||
getNextActiveElement,
|
||||
getSelectorFromElement,
|
||||
getTransitionDurationFromElement,
|
||||
|
11
js/src/util/jquery-stuff.js
vendored
11
js/src/util/jquery-stuff.js
vendored
@ -5,6 +5,16 @@
|
||||
* --------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
const getjQuery = () => {
|
||||
const { jQuery } = window
|
||||
|
||||
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
||||
return jQuery
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
|
||||
const defaultJQueryInterface = plugin => {
|
||||
return function (config) {
|
||||
return this.each(function () {
|
||||
@ -26,5 +36,6 @@ const defaultJQueryInterface = plugin => {
|
||||
const getJqueryInterfaceForPlugin = plugin => plugin.jQueryInterface || defaultJQueryInterface(plugin)
|
||||
|
||||
export {
|
||||
getjQuery,
|
||||
getJqueryInterfaceForPlugin
|
||||
}
|
||||
|
@ -538,39 +538,6 @@ describe('Util', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe('getjQuery', () => {
|
||||
const fakejQuery = { trigger() {} }
|
||||
|
||||
beforeEach(() => {
|
||||
Object.defineProperty(window, 'jQuery', {
|
||||
value: fakejQuery,
|
||||
writable: true
|
||||
})
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
window.jQuery = undefined
|
||||
})
|
||||
|
||||
it('should return jQuery object when present', () => {
|
||||
expect(Util.getjQuery()).toEqual(fakejQuery)
|
||||
})
|
||||
|
||||
it('should not return jQuery object when present if data-bs-no-jquery', () => {
|
||||
document.body.setAttribute('data-bs-no-jquery', '')
|
||||
|
||||
expect(window.jQuery).toEqual(fakejQuery)
|
||||
expect(Util.getjQuery()).toBeNull()
|
||||
|
||||
document.body.removeAttribute('data-bs-no-jquery')
|
||||
})
|
||||
|
||||
it('should not return jQuery if not present', () => {
|
||||
window.jQuery = undefined
|
||||
expect(Util.getjQuery()).toBeNull()
|
||||
})
|
||||
})
|
||||
|
||||
describe('onDOMContentLoaded', () => {
|
||||
it('should execute callbacks when DOMContentLoaded is fired and should not add more than one listener', () => {
|
||||
const spy = jasmine.createSpy()
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { getJqueryInterfaceForPlugin } from '../../../src/util/jquery-stuff'
|
||||
import * as jQueryUtil from '../../../src/util/jquery-stuff'
|
||||
|
||||
describe('Jquery Stuff', () => {
|
||||
const fakejQuery = { fn: {} }
|
||||
@ -14,21 +14,54 @@ describe('Jquery Stuff', () => {
|
||||
window.jQuery = undefined
|
||||
})
|
||||
|
||||
describe('getjQuery', () => {
|
||||
const fakejQuery = { trigger() {} }
|
||||
|
||||
beforeEach(() => {
|
||||
Object.defineProperty(window, 'jQuery', {
|
||||
value: fakejQuery,
|
||||
writable: true
|
||||
})
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
window.jQuery = undefined
|
||||
})
|
||||
|
||||
it('should return jQuery object when present', () => {
|
||||
expect(jQueryUtil.getjQuery()).toEqual(fakejQuery)
|
||||
})
|
||||
|
||||
it('should not return jQuery object when present if data-bs-no-jquery', () => {
|
||||
document.body.setAttribute('data-bs-no-jquery', '')
|
||||
|
||||
expect(window.jQuery).toEqual(fakejQuery)
|
||||
expect(jQueryUtil.getjQuery()).toBeNull()
|
||||
|
||||
document.body.removeAttribute('data-bs-no-jquery')
|
||||
})
|
||||
|
||||
it('should not return jQuery if not present', () => {
|
||||
window.jQuery = undefined
|
||||
expect(jQueryUtil.getjQuery()).toBeNull()
|
||||
})
|
||||
})
|
||||
|
||||
describe('getJqueryInterfaceForPlugin', () => {
|
||||
it('should return a plugin jQueryInterface if exists', () => {
|
||||
const pluginMock = function () {}
|
||||
pluginMock.NAME = 'test'
|
||||
pluginMock.jQueryInterface = function () {}
|
||||
|
||||
expect(getJqueryInterfaceForPlugin(pluginMock)).toEqual(pluginMock.jQueryInterface)
|
||||
expect(jQueryUtil.getJqueryInterfaceForPlugin(pluginMock)).toEqual(pluginMock.jQueryInterface)
|
||||
})
|
||||
|
||||
it('should return the default `defaultJQueryInterface`, if plugin jQueryInterface doesn\'t exists', () => {
|
||||
const pluginMock = function () {}
|
||||
pluginMock.NAME = 'test'
|
||||
|
||||
expect(getJqueryInterfaceForPlugin(pluginMock)).not.toEqual(pluginMock.jQueryInterface)
|
||||
expect(getJqueryInterfaceForPlugin(pluginMock)).toEqual(jasmine.any(Function))
|
||||
expect(jQueryUtil.getJqueryInterfaceForPlugin(pluginMock)).not.toEqual(pluginMock.jQueryInterface)
|
||||
expect(jQueryUtil.getJqueryInterfaceForPlugin(pluginMock)).toEqual(jasmine.any(Function))
|
||||
})
|
||||
})
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user