Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorJohann-S <johann.servoire@gmail.com>2018-11-14 12:16:56 +0300
committerJohann-S <johann.servoire@gmail.com>2018-11-14 12:54:50 +0300
commit9201a805101943f9ec088639d520d7d2874bbed1 (patch)
treeb103dea4a9d52bac3bb849c6c14277f4000a1f9c /js
parentfab1dea92773e796a75ac4a2fadb645714ac80ce (diff)
some cleaning and changes for readability
Diffstat (limited to 'js')
-rw-r--r--js/src/alert.js6
-rw-r--r--js/src/button.js4
-rw-r--r--js/src/carousel.js7
-rw-r--r--js/src/collapse.js11
-rw-r--r--js/src/dropdown.js48
-rw-r--r--js/src/modal.js16
-rw-r--r--js/src/popover.js6
-rw-r--r--js/src/scrollspy.js22
-rw-r--r--js/src/tab.js24
-rw-r--r--js/src/toast.js334
-rw-r--r--js/src/tooltip.js76
-rw-r--r--js/src/util.js3
12 files changed, 273 insertions, 284 deletions
diff --git a/js/src/alert.js b/js/src/alert.js
index 777f8ffa1d..7edc96a3a8 100644
--- a/js/src/alert.js
+++ b/js/src/alert.js
@@ -1,6 +1,3 @@
-import $ from 'jquery'
-import Util from './util'
-
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.1.3): alert.js
@@ -8,6 +5,9 @@ import Util from './util'
* --------------------------------------------------------------------------
*/
+import $ from 'jquery'
+import Util from './util'
+
/**
* ------------------------------------------------------------------------
* Constants
diff --git a/js/src/button.js b/js/src/button.js
index 6a2a545973..75b21d94d1 100644
--- a/js/src/button.js
+++ b/js/src/button.js
@@ -1,5 +1,3 @@
-import $ from 'jquery'
-
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.1.3): button.js
@@ -7,6 +5,8 @@ import $ from 'jquery'
* --------------------------------------------------------------------------
*/
+import $ from 'jquery'
+
/**
* ------------------------------------------------------------------------
* Constants
diff --git a/js/src/carousel.js b/js/src/carousel.js
index 550c48eb55..734e155965 100644
--- a/js/src/carousel.js
+++ b/js/src/carousel.js
@@ -60,10 +60,7 @@ const Event = {
TOUCHMOVE : `touchmove${EVENT_KEY}`,
TOUCHEND : `touchend${EVENT_KEY}`,
POINTERDOWN : `pointerdown${EVENT_KEY}`,
- POINTERMOVE : `pointermove${EVENT_KEY}`,
POINTERUP : `pointerup${EVENT_KEY}`,
- POINTERLEAVE : `pointerleave${EVENT_KEY}`,
- POINTERCANCEL : `pointercancel${EVENT_KEY}`,
DRAG_START : `dragstart${EVENT_KEY}`,
LOAD_DATA_API : `load${EVENT_KEY}${DATA_API_KEY}`,
CLICK_DATA_API : `click${EVENT_KEY}${DATA_API_KEY}`
@@ -280,7 +277,7 @@ class Carousel {
}
const start = (event) => {
- if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {
+ if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
this.touchStartX = event.originalEvent.clientX
} else if (!this._pointerEvent) {
this.touchStartX = event.originalEvent.touches[0].clientX
@@ -297,7 +294,7 @@ class Carousel {
}
const end = (event) => {
- if (this._pointerEvent && (event.originalEvent.pointerType === PointerType.TOUCH || event.originalEvent.pointerType === PointerType.PEN)) {
+ if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {
this.touchDeltaX = event.originalEvent.clientX - this.touchStartX
}
diff --git a/js/src/collapse.js b/js/src/collapse.js
index 6fe0e4a98d..bf154ab256 100644
--- a/js/src/collapse.js
+++ b/js/src/collapse.js
@@ -1,6 +1,3 @@
-import $ from 'jquery'
-import Util from './util'
-
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.1.3): collapse.js
@@ -8,6 +5,9 @@ import Util from './util'
* --------------------------------------------------------------------------
*/
+import $ from 'jquery'
+import Util from './util'
+
/**
* ------------------------------------------------------------------------
* Constants
@@ -67,10 +67,11 @@ class Collapse {
this._isTransitioning = false
this._element = element
this._config = this._getConfig(config)
- this._triggerArray = $.makeArray(document.querySelectorAll(
+ this._triggerArray = [].slice.call(document.querySelectorAll(
`[data-toggle="collapse"][href="#${element.id}"],` +
`[data-toggle="collapse"][data-target="#${element.id}"]`
))
+
const toggleList = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))
for (let i = 0, len = toggleList.length; i < len; i++) {
const elem = toggleList[i]
@@ -227,6 +228,7 @@ class Collapse {
for (let i = 0; i < triggerArrayLength; i++) {
const trigger = this._triggerArray[i]
const selector = Util.getSelectorFromElement(trigger)
+
if (selector !== null) {
const $elem = $([].slice.call(document.querySelectorAll(selector)))
if (!$elem.hasClass(ClassName.SHOW)) {
@@ -375,6 +377,7 @@ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
const $trigger = $(this)
const selector = Util.getSelectorFromElement(this)
const selectors = [].slice.call(document.querySelectorAll(selector))
+
$(selectors).each(function () {
const $target = $(this)
const data = $target.data(DATA_KEY)
diff --git a/js/src/dropdown.js b/js/src/dropdown.js
index 48b8d62eab..d8fe5fdba1 100644
--- a/js/src/dropdown.js
+++ b/js/src/dropdown.js
@@ -1,7 +1,3 @@
-import $ from 'jquery'
-import Popper from 'popper.js'
-import Util from './util'
-
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.1.3): dropdown.js
@@ -9,6 +5,10 @@ import Util from './util'
* --------------------------------------------------------------------------
*/
+import $ from 'jquery'
+import Popper from 'popper.js'
+import Util from './util'
+
/**
* ------------------------------------------------------------------------
* Constants
@@ -41,13 +41,13 @@ const Event = {
}
const ClassName = {
- DISABLED : 'disabled',
- SHOW : 'show',
- DROPUP : 'dropup',
- DROPRIGHT : 'dropright',
- DROPLEFT : 'dropleft',
- MENURIGHT : 'dropdown-menu-right',
- MENULEFT : 'dropdown-menu-left',
+ DISABLED : 'disabled',
+ SHOW : 'show',
+ DROPUP : 'dropup',
+ DROPRIGHT : 'dropright',
+ DROPLEFT : 'dropleft',
+ MENURIGHT : 'dropdown-menu-right',
+ MENULEFT : 'dropdown-menu-left',
POSITION_STATIC : 'position-static'
}
@@ -71,19 +71,19 @@ const AttachmentMap = {
}
const Default = {
- offset : 0,
- flip : true,
- boundary : 'scrollParent',
- reference : 'toggle',
- display : 'dynamic'
+ offset : 0,
+ flip : true,
+ boundary : 'scrollParent',
+ reference : 'toggle',
+ display : 'dynamic'
}
const DefaultType = {
- offset : '(number|string|function)',
- flip : 'boolean',
- boundary : '(string|element)',
- reference : '(string|element)',
- display : 'string'
+ offset : '(number|string|function)',
+ flip : 'boolean',
+ boundary : '(string|element)',
+ reference : '(string|element)',
+ display : 'string'
}
/**
@@ -203,8 +203,8 @@ class Dropdown {
relatedTarget: this._element
}
const showEvent = $.Event(Event.SHOW, relatedTarget)
-
const parent = Dropdown._getParentFromElement(this._element)
+
$(parent).trigger(showEvent)
if (showEvent.isDefaultPrevented()) {
@@ -226,8 +226,8 @@ class Dropdown {
relatedTarget: this._element
}
const hideEvent = $.Event(Event.HIDE, relatedTarget)
-
const parent = Dropdown._getParentFromElement(this._element)
+
$(parent).trigger(hideEvent)
if (hideEvent.isDefaultPrevented()) {
@@ -287,6 +287,7 @@ class Dropdown {
_getMenuElement() {
if (!this._menu) {
const parent = Dropdown._getParentFromElement(this._element)
+
if (parent) {
this._menu = parent.querySelector(Selector.MENU)
}
@@ -382,6 +383,7 @@ class Dropdown {
}
const toggles = [].slice.call(document.querySelectorAll(Selector.DATA_TOGGLE))
+
for (let i = 0, len = toggles.length; i < len; i++) {
const parent = Dropdown._getParentFromElement(toggles[i])
const context = $(toggles[i]).data(DATA_KEY)
diff --git a/js/src/modal.js b/js/src/modal.js
index 0004fe8bbe..74a16d4611 100644
--- a/js/src/modal.js
+++ b/js/src/modal.js
@@ -1,6 +1,3 @@
-import $ from 'jquery'
-import Util from './util'
-
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.1.3): modal.js
@@ -8,6 +5,9 @@ import Util from './util'
* --------------------------------------------------------------------------
*/
+import $ from 'jquery'
+import Util from './util'
+
/**
* ------------------------------------------------------------------------
* Constants
@@ -59,11 +59,11 @@ const ClassName = {
}
const Selector = {
- DIALOG : '.modal-dialog',
- DATA_TOGGLE : '[data-toggle="modal"]',
- DATA_DISMISS : '[data-dismiss="modal"]',
- FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
- STICKY_CONTENT : '.sticky-top'
+ DIALOG : '.modal-dialog',
+ DATA_TOGGLE : '[data-toggle="modal"]',
+ DATA_DISMISS : '[data-dismiss="modal"]',
+ FIXED_CONTENT : '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
+ STICKY_CONTENT : '.sticky-top'
}
/**
diff --git a/js/src/popover.js b/js/src/popover.js
index 42123d6192..862ec096a5 100644
--- a/js/src/popover.js
+++ b/js/src/popover.js
@@ -1,6 +1,3 @@
-import $ from 'jquery'
-import Tooltip from './tooltip'
-
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.1.3): popover.js
@@ -8,6 +5,9 @@ import Tooltip from './tooltip'
* --------------------------------------------------------------------------
*/
+import $ from 'jquery'
+import Tooltip from './tooltip'
+
/**
* ------------------------------------------------------------------------
* Constants
diff --git a/js/src/scrollspy.js b/js/src/scrollspy.js
index bd77216731..c323c2aea8 100644
--- a/js/src/scrollspy.js
+++ b/js/src/scrollspy.js
@@ -1,6 +1,3 @@
-import $ from 'jquery'
-import Util from './util'
-
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.1.3): scrollspy.js
@@ -8,6 +5,9 @@ import Util from './util'
* --------------------------------------------------------------------------
*/
+import $ from 'jquery'
+import Util from './util'
+
/**
* ------------------------------------------------------------------------
* Constants
@@ -242,12 +242,9 @@ class ScrollSpy {
this._clear()
- let queries = this._selector.split(',')
- // eslint-disable-next-line arrow-body-style
- queries = queries.map((selector) => {
- return `${selector}[data-target="${target}"],` +
- `${selector}[href="${target}"]`
- })
+ const queries = this._selector
+ .split(',')
+ .map((selector) => `${selector}[data-target="${target}"],${selector}[href="${target}"]`)
const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))
@@ -270,8 +267,9 @@ class ScrollSpy {
}
_clear() {
- const nodes = [].slice.call(document.querySelectorAll(this._selector))
- $(nodes).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)
+ [].slice.call(document.querySelectorAll(this._selector))
+ .filter((node) => node.classList.contains(ClassName.ACTIVE))
+ .forEach((node) => node.classList.remove(ClassName.ACTIVE))
}
// Static
@@ -304,8 +302,8 @@ class ScrollSpy {
$(window).on(Event.LOAD_DATA_API, () => {
const scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY))
-
const scrollSpysLength = scrollSpys.length
+
for (let i = scrollSpysLength; i--;) {
const $spy = $(scrollSpys[i])
ScrollSpy._jQueryInterface.call($spy, $spy.data())
diff --git a/js/src/tab.js b/js/src/tab.js
index 7333f22a1f..99cfbe2e85 100644
--- a/js/src/tab.js
+++ b/js/src/tab.js
@@ -1,6 +1,3 @@
-import $ from 'jquery'
-import Util from './util'
-
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.1.3): tab.js
@@ -8,6 +5,9 @@ import Util from './util'
* --------------------------------------------------------------------------
*/
+import $ from 'jquery'
+import Util from './util'
+
/**
* ------------------------------------------------------------------------
* Constants
@@ -141,17 +141,12 @@ class Tab {
// Private
_activate(element, container, callback) {
- let activeElements
- if (container && container.nodeName === 'UL') {
- activeElements = $(container).find(Selector.ACTIVE_UL)
- } else {
- activeElements = $(container).children(Selector.ACTIVE)
- }
+ const activeElements = container && container.nodeName === 'UL'
+ ? $(container).find(Selector.ACTIVE_UL)
+ : $(container).children(Selector.ACTIVE)
const active = activeElements[0]
- const isTransitioning = callback &&
- (active && $(active).hasClass(ClassName.FADE))
-
+ const isTransitioning = callback && (active && $(active).hasClass(ClassName.FADE))
const complete = () => this._transitionComplete(
element,
active,
@@ -195,11 +190,12 @@ class Tab {
Util.reflow(element)
$(element).addClass(ClassName.SHOW)
- if (element.parentNode &&
- $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
+ if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {
const dropdownElement = $(element).closest(Selector.DROPDOWN)[0]
+
if (dropdownElement) {
const dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector.DROPDOWN_TOGGLE))
+
$(dropdownToggleList).addClass(ClassName.ACTIVE)
}
diff --git a/js/src/toast.js b/js/src/toast.js
index 878ffe0296..23d482d35f 100644
--- a/js/src/toast.js
+++ b/js/src/toast.js
@@ -1,6 +1,3 @@
-import $ from 'jquery'
-import Util from './util'
-
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.1.3): toast.js
@@ -8,215 +5,214 @@ import Util from './util'
* --------------------------------------------------------------------------
*/
-const Toast = (($) => {
- /**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
- */
-
- const NAME = 'toast'
- const VERSION = '4.1.3'
- const DATA_KEY = 'bs.toast'
- const EVENT_KEY = `.${DATA_KEY}`
- const JQUERY_NO_CONFLICT = $.fn[NAME]
-
- const Event = {
- CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,
- HIDE : `hide${EVENT_KEY}`,
- HIDDEN : `hidden${EVENT_KEY}`,
- SHOW : `show${EVENT_KEY}`,
- SHOWN : `shown${EVENT_KEY}`
- }
+import $ from 'jquery'
+import Util from './util'
- const ClassName = {
- FADE : 'fade',
- HIDE : 'hide',
- SHOW : 'show'
- }
+/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
- const DefaultType = {
- animation : 'boolean',
- autohide : 'boolean',
- delay : 'number'
- }
+const NAME = 'toast'
+const VERSION = '4.1.3'
+const DATA_KEY = 'bs.toast'
+const EVENT_KEY = `.${DATA_KEY}`
+const JQUERY_NO_CONFLICT = $.fn[NAME]
+
+const Event = {
+ CLICK_DISMISS : `click.dismiss${EVENT_KEY}`,
+ HIDE : `hide${EVENT_KEY}`,
+ HIDDEN : `hidden${EVENT_KEY}`,
+ SHOW : `show${EVENT_KEY}`,
+ SHOWN : `shown${EVENT_KEY}`
+}
+
+const ClassName = {
+ FADE : 'fade',
+ HIDE : 'hide',
+ SHOW : 'show'
+}
+
+const DefaultType = {
+ animation : 'boolean',
+ autohide : 'boolean',
+ delay : 'number'
+}
+
+const Default = {
+ animation : true,
+ autohide : true,
+ delay : 500
+}
+
+const Selector = {
+ DATA_DISMISS : '[data-dismiss="toast"]'
+}
- const Default = {
- animation : true,
- autohide : true,
- delay : 500
- }
+/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
- const Selector = {
- DATA_DISMISS : '[data-dismiss="toast"]'
+class Toast {
+ constructor(element, config) {
+ this._element = element
+ this._config = this._getConfig(config)
+ this._timeout = null
+ this._setListeners()
}
- /**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
- */
-
- class Toast {
- constructor(element, config) {
- this._element = element
- this._config = this._getConfig(config)
- this._timeout = null
- this._setListeners()
- }
+ // Getters
- // Getters
-
- static get VERSION() {
- return VERSION
- }
+ static get VERSION() {
+ return VERSION
+ }
- static get DefaultType() {
- return DefaultType
- }
+ static get DefaultType() {
+ return DefaultType
+ }
- // Public
+ // Public
- show() {
- $(this._element).trigger(Event.SHOW)
+ show() {
+ $(this._element).trigger(Event.SHOW)
- if (this._config.animation) {
- this._element.classList.add(ClassName.FADE)
- }
+ if (this._config.animation) {
+ this._element.classList.add(ClassName.FADE)
+ }
- const complete = () => {
- $(this._element).trigger(Event.SHOWN)
+ const complete = () => {
+ $(this._element).trigger(Event.SHOWN)
- if (this._config.autohide) {
- this.hide()
- }
+ if (this._config.autohide) {
+ this.hide()
}
+ }
- this._element.classList.add(ClassName.SHOW)
- if (this._config.animation) {
- const transitionDuration = Util.getTransitionDurationFromElement(this._element)
+ this._element.classList.add(ClassName.SHOW)
+ if (this._config.animation) {
+ const transitionDuration = Util.getTransitionDurationFromElement(this._element)
- $(this._element)
- .one(Util.TRANSITION_END, complete)
- .emulateTransitionEnd(transitionDuration)
- } else {
- complete()
- }
+ $(this._element)
+ .one(Util.TRANSITION_END, complete)
+ .emulateTransitionEnd(transitionDuration)
+ } else {
+ complete()
}
+ }
- hide(withoutTimeout) {
- if (!this._element.classList.contains(ClassName.SHOW)) {
- return
- }
+ hide(withoutTimeout) {
+ if (!this._element.classList.contains(ClassName.SHOW)) {
+ return
+ }
- $(this._element).trigger(Event.HIDE)
+ $(this._element).trigger(Event.HIDE)
- if (withoutTimeout) {
+ if (withoutTimeout) {
+ this._close()
+ } else {
+ this._timeout = setTimeout(() => {
this._close()
- } else {
- this._timeout = setTimeout(() => {
- this._close()
- }, this._config.delay)
- }
+ }, this._config.delay)
}
+ }
- dispose() {
- clearTimeout(this._timeout)
- this._timeout = null
-
- if (this._element.classList.contains(ClassName.SHOW)) {
- this._element.classList.remove(ClassName.SHOW)
- }
-
- $(this._element).off(Event.CLICK_DISMISS)
+ dispose() {
+ clearTimeout(this._timeout)
+ this._timeout = null
- $.removeData(this._element, DATA_KEY)
- this._element = null
- this._config = null
+ if (this._element.classList.contains(ClassName.SHOW)) {
+ this._element.classList.remove(ClassName.SHOW)
}
- // Private
-
- _getConfig(config) {
- config = {
- ...Default,
- ...$(this._element).data(),
- ...typeof config === 'object' && config ? config : {}
- }
+ $(this._element).off(Event.CLICK_DISMISS)
- Util.typeCheckConfig(
- NAME,
- config,
- this.constructor.DefaultType
- )
+ $.removeData(this._element, DATA_KEY)
+ this._element = null
+ this._config = null
+ }
- return config
- }
+ // Private
- _setListeners() {
- $(this._element).on(
- Event.CLICK_DISMISS,
- Selector.DATA_DISMISS,
- () => this.hide(true)
- )
+ _getConfig(config) {
+ config = {
+ ...Default,
+ ...$(this._element).data(),
+ ...typeof config === 'object' && config ? config : {}
}
- _close() {
- const complete = () => {
- $(this._element).trigger(Event.HIDDEN)
- }
+ Util.typeCheckConfig(
+ NAME,
+ config,
+ this.constructor.DefaultType
+ )
- this._element.classList.remove(ClassName.SHOW)
+ return config
+ }
- if (this._config.animation) {
- const transitionDuration = Util.getTransitionDurationFromElement(this._element)
+ _setListeners() {
+ $(this._element).on(
+ Event.CLICK_DISMISS,
+ Selector.DATA_DISMISS,
+ () => this.hide(true)
+ )
+ }
- $(this._element)
- .one(Util.TRANSITION_END, complete)
- .emulateTransitionEnd(transitionDuration)
- } else {
- complete()
- }
+ _close() {
+ const complete = () => {
+ $(this._element).trigger(Event.HIDDEN)
}
- // Static
+ this._element.classList.remove(ClassName.SHOW)
- static _jQueryInterface(config) {
- return this.each(function () {
- const $element = $(this)
- let data = $element.data(DATA_KEY)
- const _config = typeof config === 'object' && config
+ if (this._config.animation) {
+ const transitionDuration = Util.getTransitionDurationFromElement(this._element)
- if (!data) {
- data = new Toast(this, _config)
- $element.data(DATA_KEY, data)
- }
+ $(this._element)
+ .one(Util.TRANSITION_END, complete)
+ .emulateTransitionEnd(transitionDuration)
+ } else {
+ complete()
+ }
+ }
- if (typeof config === 'string') {
- if (typeof data[config] === 'undefined') {
- throw new TypeError(`No method named "${config}"`)
- }
+ // Static
+
+ static _jQueryInterface(config) {
+ return this.each(function () {
+ const $element = $(this)
+ let data = $element.data(DATA_KEY)
+ const _config = typeof config === 'object' && config
+
+ if (!data) {
+ data = new Toast(this, _config)
+ $element.data(DATA_KEY, data)
+ }
- data[config](this)
+ if (typeof config === 'string') {
+ if (typeof data[config] === 'undefined') {
+ throw new TypeError(`No method named "${config}"`)
}
- })
- }
- }
- /**
- * ------------------------------------------------------------------------
- * jQuery
- * ------------------------------------------------------------------------
- */
-
- $.fn[NAME] = Toast._jQueryInterface
- $.fn[NAME].Constructor = Toast
- $.fn[NAME].noConflict = () => {
- $.fn[NAME] = JQUERY_NO_CONFLICT
- return Toast._jQueryInterface
+ data[config](this)
+ }
+ })
}
+}
+
+/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
- return Toast
-})($)
+$.fn[NAME] = Toast._jQueryInterface
+$.fn[NAME].Constructor = Toast
+$.fn[NAME].noConflict = () => {
+ $.fn[NAME] = JQUERY_NO_CONFLICT
+ return Toast._jQueryInterface
+}
export default Toast
diff --git a/js/src/tooltip.js b/js/src/tooltip.js
index cf8b8e1186..f428a79ebd 100644
--- a/js/src/tooltip.js
+++ b/js/src/tooltip.js
@@ -1,7 +1,3 @@
-import $ from 'jquery'
-import Popper from 'popper.js'
-import Util from './util'
-
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.1.3): tooltip.js
@@ -9,6 +5,10 @@ import Util from './util'
* --------------------------------------------------------------------------
*/
+import $ from 'jquery'
+import Popper from 'popper.js'
+import Util from './util'
+
/**
* ------------------------------------------------------------------------
* Constants
@@ -24,18 +24,18 @@ const CLASS_PREFIX = 'bs-tooltip'
const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g')
const DefaultType = {
- animation : 'boolean',
- template : 'string',
- title : '(string|element|function)',
- trigger : 'string',
- delay : '(number|object)',
- html : 'boolean',
- selector : '(string|boolean)',
- placement : '(string|function)',
- offset : '(number|string)',
- container : '(string|element|boolean)',
- fallbackPlacement : '(string|array)',
- boundary : '(string|element)'
+ animation : 'boolean',
+ template : 'string',
+ title : '(string|element|function)',
+ trigger : 'string',
+ delay : '(number|object)',
+ html : 'boolean',
+ selector : '(string|boolean)',
+ placement : '(string|function)',
+ offset : '(number|string)',
+ container : '(string|element|boolean)',
+ fallbackPlacement : '(string|array)',
+ boundary : '(string|element)'
}
const AttachmentMap = {
@@ -47,20 +47,20 @@ const AttachmentMap = {
}
const Default = {
- animation : true,
- template : '<div class="tooltip" role="tooltip">' +
- '<div class="arrow"></div>' +
- '<div class="tooltip-inner"></div></div>',
- trigger : 'hover focus',
- title : '',
- delay : 0,
- html : false,
- selector : false,
- placement : 'top',
- offset : 0,
- container : false,
- fallbackPlacement : 'flip',
- boundary : 'scrollParent'
+ animation : true,
+ template : '<div class="tooltip" role="tooltip">' +
+ '<div class="arrow"></div>' +
+ '<div class="tooltip-inner"></div></div>',
+ trigger : 'hover focus',
+ title : '',
+ delay : 0,
+ html : false,
+ selector : false,
+ placement : 'top',
+ offset : 0,
+ container : false,
+ fallbackPlacement : 'flip',
+ boundary : 'scrollParent'
}
const HoverState = {
@@ -303,9 +303,7 @@ class Tooltip {
this._handlePopperPlacementChange(data)
}
},
- onUpdate: (data) => {
- this._handlePopperPlacementChange(data)
- }
+ onUpdate: (data) => this._handlePopperPlacementChange(data)
})
$(tip).addClass(ClassName.SHOW)
@@ -510,19 +508,19 @@ class Tooltip {
_fixTitle() {
const titleType = typeof this.element.getAttribute('data-original-title')
- if (this.element.getAttribute('title') ||
- titleType !== 'string') {
+
+ if (this.element.getAttribute('title') || titleType !== 'string') {
this.element.setAttribute(
'data-original-title',
this.element.getAttribute('title') || ''
)
+
this.element.setAttribute('title', '')
}
}
_enter(event, context) {
const dataKey = this.constructor.DATA_KEY
-
context = context || $(event.currentTarget).data(dataKey)
if (!context) {
@@ -539,8 +537,7 @@ class Tooltip {
] = true
}
- if ($(context.getTipElement()).hasClass(ClassName.SHOW) ||
- context._hoverState === HoverState.SHOW) {
+ if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
context._hoverState = HoverState.SHOW
return
}
@@ -563,7 +560,6 @@ class Tooltip {
_leave(event, context) {
const dataKey = this.constructor.DATA_KEY
-
context = context || $(event.currentTarget).data(dataKey)
if (!context) {
@@ -673,9 +669,11 @@ class Tooltip {
_fixTransition() {
const tip = this.getTipElement()
const initConfigAnimation = this.config.animation
+
if (tip.getAttribute('x-placement') !== null) {
return
}
+
$(tip).removeClass(ClassName.FADE)
this.config.animation = false
this.hide()
diff --git a/js/src/util.js b/js/src/util.js
index 92ad2a7220..e9665d24fd 100644
--- a/js/src/util.js
+++ b/js/src/util.js
@@ -1,5 +1,3 @@
-import $ from 'jquery'
-
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.1.3): util.js
@@ -7,6 +5,7 @@ import $ from 'jquery'
* --------------------------------------------------------------------------
*/
+import $ from 'jquery'
/**
* ------------------------------------------------------------------------