diff options
| author | Bobby <[email protected]> | 2024-08-16 20:47:33 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-08-16 20:47:33 -0400 |
| commit | 6b28433d9cfde435be8ec2bd6cf91e6324d08865 (patch) | |
| tree | 8343c27b8b95ff5639233e81cf157f92e5688466 /js/src/popover.js | |
| parent | d53094ec16ba385faae2973ddee648698b32ab24 (diff) | |
| parent | 048f56f51460df75e92a2f7b472e1c56baeb68f7 (diff) | |
| download | bootstrap-main.tar.xz bootstrap-main.zip | |
Diffstat (limited to 'js/src/popover.js')
| -rw-r--r-- | js/src/popover.js | 67 |
1 files changed, 25 insertions, 42 deletions
diff --git a/js/src/popover.js b/js/src/popover.js index 19c1e42a4..612c5218f 100644 --- a/js/src/popover.js +++ b/js/src/popover.js @@ -1,53 +1,38 @@ /** * -------------------------------------------------------------------------- - * Bootstrap (v5.1.3): popover.js + * Bootstrap popover.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ -import { defineJQueryPlugin } from './util/index' -import Tooltip from './tooltip' +import Tooltip from './tooltip.js' +import { defineJQueryPlugin } from './util/index.js' /** * Constants */ const NAME = 'popover' -const DATA_KEY = 'bs.popover' -const EVENT_KEY = `.${DATA_KEY}` const SELECTOR_TITLE = '.popover-header' const SELECTOR_CONTENT = '.popover-body' const Default = { ...Tooltip.Default, - placement: 'right', - offset: [0, 8], - trigger: 'click', content: '', + offset: [0, 8], + placement: 'right', template: '<div class="popover" role="tooltip">' + - '<div class="popover-arrow"></div>' + - '<h3 class="popover-header"></h3>' + - '<div class="popover-body"></div>' + - '</div>' + '<div class="popover-arrow"></div>' + + '<h3 class="popover-header"></h3>' + + '<div class="popover-body"></div>' + + '</div>', + trigger: 'click' } const DefaultType = { ...Tooltip.DefaultType, - content: '(string|element|function)' -} - -const Event = { - HIDE: `hide${EVENT_KEY}`, - HIDDEN: `hidden${EVENT_KEY}`, - SHOW: `show${EVENT_KEY}`, - SHOWN: `shown${EVENT_KEY}`, - INSERTED: `inserted${EVENT_KEY}`, - CLICK: `click${EVENT_KEY}`, - FOCUSIN: `focusin${EVENT_KEY}`, - FOCUSOUT: `focusout${EVENT_KEY}`, - MOUSEENTER: `mouseenter${EVENT_KEY}`, - MOUSELEAVE: `mouseleave${EVENT_KEY}` + content: '(null|string|element|function)' } /** @@ -60,27 +45,23 @@ class Popover extends Tooltip { return Default } - static get NAME() { - return NAME - } - - static get Event() { - return Event - } - static get DefaultType() { return DefaultType } + static get NAME() { + return NAME + } + // Overrides - isWithContent() { - return this.getTitle() || this._getContent() + _isWithContent() { + return this._getTitle() || this._getContent() } // Private _getContentForTemplate() { return { - [SELECTOR_TITLE]: this.getTitle(), + [SELECTOR_TITLE]: this._getTitle(), [SELECTOR_CONTENT]: this._getContent() } } @@ -94,13 +75,15 @@ class Popover extends Tooltip { return this.each(function () { const data = Popover.getOrCreateInstance(this, config) - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new TypeError(`No method named "${config}"`) - } + if (typeof config !== 'string') { + return + } - data[config]() + if (typeof data[config] === 'undefined') { + throw new TypeError(`No method named "${config}"`) } + + data[config]() }) } } |
