1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-08-10 23:54:08 +02:00

fix one forgets of using jQuery in Carousel and Tooltip

This commit is contained in:
Johann-S
2017-10-20 21:11:16 +02:00
committed by XhmikosR
parent 2929bf9619
commit b5077a1a81

View File

@@ -7,6 +7,7 @@
import Data from './dom/data' import Data from './dom/data'
import EventHandler from './dom/eventHandler' import EventHandler from './dom/eventHandler'
import Manipulator from './dom/manipulator'
import SelectorEngine from './dom/selectorEngine' import SelectorEngine from './dom/selectorEngine'
import Util from './util' import Util from './util'
@@ -322,6 +323,7 @@ class Carousel {
[].slice.call(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach((itemImg) => { [].slice.call(SelectorEngine.find(Selector.ITEM_IMG, this._element)).forEach((itemImg) => {
EventHandler.on(itemImg, Event.DRAG_START, (e) => e.preventDefault()) EventHandler.on(itemImg, Event.DRAG_START, (e) => e.preventDefault())
}) })
if (this._pointerEvent) { if (this._pointerEvent) {
EventHandler.on(this._element, Event.POINTERDOWN, (event) => start(event)) EventHandler.on(this._element, Event.POINTERDOWN, (event) => start(event))
EventHandler.on(this._element, Event.POINTERUP, (event) => end(event)) EventHandler.on(this._element, Event.POINTERUP, (event) => end(event))
@@ -507,12 +509,11 @@ class Carousel {
// Static // Static
static _jQueryInterface(config) { static _carouselInterface(element, config) {
return this.each(function () { let data = Data.getData(element, DATA_KEY)
let data = Data.getData(this, DATA_KEY)
let _config = { let _config = {
...Default, ...Default,
...Data.getData(this, DATA_KEY) ...Manipulator.getDataAttributes(element)
} }
if (typeof config === 'object') { if (typeof config === 'object') {
@@ -525,21 +526,25 @@ class Carousel {
const action = typeof config === 'string' ? config : _config.slide const action = typeof config === 'string' ? config : _config.slide
if (!data) { if (!data) {
data = new Carousel(this, _config) data = new Carousel(element, _config)
Data.setData(this, DATA_KEY, data)
} }
if (typeof config === 'number') { if (typeof config === 'number') {
data.to(config) data.to(config)
} else if (typeof action === 'string') { } else if (typeof action === 'string') {
if (typeof data[action] === 'undefined') { if (typeof data[action] === 'undefined') {
throw new TypeError(`No method named "${action}"`) throw new Error(`No method named "${action}"`)
} }
data[action]() data[action]()
} else if (_config.interval && _config.ride) { } else if (_config.interval && _config.ride) {
data.pause() data.pause()
data.cycle() data.cycle()
} }
}
static _jQueryInterface(config) {
return this.each(function () {
Carousel._carouselInterface(this, config)
}) })
} }
@@ -588,7 +593,7 @@ EventHandler
EventHandler.on(window, Event.LOAD_DATA_API, () => { EventHandler.on(window, Event.LOAD_DATA_API, () => {
const carousels = Util.makeArray(SelectorEngine.find(Selector.DATA_RIDE)) const carousels = Util.makeArray(SelectorEngine.find(Selector.DATA_RIDE))
for (let i = 0, len = carousels.length; i < len; i++) { for (let i = 0, len = carousels.length; i < len; i++) {
Carousel._jQueryInterface.call($(carousels[i]), Data.getData(carousels[i], DATA_KEY)) Carousel._carouselInterface.call(carousels[i], Data.getData(carousels[i], DATA_KEY))
} }
}) })