mirror of
https://github.com/twbs/bootstrap.git
synced 2025-08-08 22:56:46 +02:00
JS: minor refactoring (#35183)
* add missing comments * shorten block comments * reorder constants * reorder public/private methods * sort exports alphabetically in util/index.js * fix a couple of typos
This commit is contained in:
@@ -22,9 +22,7 @@ import FocusTrap from './util/focustrap'
|
||||
import { enableDismissTrigger } from './util/component-functions'
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* Constants
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
const NAME = 'offcanvas'
|
||||
@@ -34,18 +32,6 @@ const DATA_API_KEY = '.data-api'
|
||||
const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`
|
||||
const ESCAPE_KEY = 'Escape'
|
||||
|
||||
const Default = {
|
||||
backdrop: true,
|
||||
keyboard: true,
|
||||
scroll: false
|
||||
}
|
||||
|
||||
const DefaultType = {
|
||||
backdrop: 'boolean',
|
||||
keyboard: 'boolean',
|
||||
scroll: 'boolean'
|
||||
}
|
||||
|
||||
const CLASS_NAME_SHOW = 'show'
|
||||
const CLASS_NAME_BACKDROP = 'offcanvas-backdrop'
|
||||
const OPEN_SELECTOR = '.offcanvas.show'
|
||||
@@ -59,10 +45,20 @@ const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`
|
||||
|
||||
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="offcanvas"]'
|
||||
|
||||
const Default = {
|
||||
backdrop: true,
|
||||
keyboard: true,
|
||||
scroll: false
|
||||
}
|
||||
|
||||
const DefaultType = {
|
||||
backdrop: 'boolean',
|
||||
keyboard: 'boolean',
|
||||
scroll: 'boolean'
|
||||
}
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* Class Definition
|
||||
* ------------------------------------------------------------------------
|
||||
* Class definition
|
||||
*/
|
||||
|
||||
class Offcanvas extends BaseComponent {
|
||||
@@ -77,7 +73,6 @@ class Offcanvas extends BaseComponent {
|
||||
}
|
||||
|
||||
// Getters
|
||||
|
||||
static get NAME() {
|
||||
return NAME
|
||||
}
|
||||
@@ -87,7 +82,6 @@ class Offcanvas extends BaseComponent {
|
||||
}
|
||||
|
||||
// Public
|
||||
|
||||
toggle(relatedTarget) {
|
||||
return this._isShown ? this.hide() : this.show(relatedTarget)
|
||||
}
|
||||
@@ -168,7 +162,6 @@ class Offcanvas extends BaseComponent {
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
_getConfig(config) {
|
||||
config = {
|
||||
...Default,
|
||||
@@ -204,7 +197,6 @@ class Offcanvas extends BaseComponent {
|
||||
}
|
||||
|
||||
// Static
|
||||
|
||||
static jQueryInterface(config) {
|
||||
return this.each(function () {
|
||||
const data = Offcanvas.getOrCreateInstance(this, config)
|
||||
@@ -223,9 +215,7 @@ class Offcanvas extends BaseComponent {
|
||||
}
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* Data Api implementation
|
||||
* ------------------------------------------------------------------------
|
||||
* Data API implementation
|
||||
*/
|
||||
|
||||
EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
||||
@@ -247,9 +237,9 @@ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (
|
||||
})
|
||||
|
||||
// avoid conflict when clicking a toggler of an offcanvas, while another is open
|
||||
const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)
|
||||
if (allReadyOpen && allReadyOpen !== target) {
|
||||
Offcanvas.getInstance(allReadyOpen).hide()
|
||||
const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)
|
||||
if (alreadyOpen && alreadyOpen !== target) {
|
||||
Offcanvas.getInstance(alreadyOpen).hide()
|
||||
}
|
||||
|
||||
const data = Offcanvas.getOrCreateInstance(target)
|
||||
@@ -263,10 +253,9 @@ EventHandler.on(window, EVENT_LOAD_DATA_API, () => {
|
||||
})
|
||||
|
||||
enableDismissTrigger(Offcanvas)
|
||||
|
||||
/**
|
||||
* ------------------------------------------------------------------------
|
||||
* jQuery
|
||||
* ------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
defineJQueryPlugin(Offcanvas)
|
||||
|
Reference in New Issue
Block a user