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

github.com/twbs/bootstrap-rubygem.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'assets/javascripts/bootstrap/dropdown.js')
-rw-r--r--assets/javascripts/bootstrap/dropdown.js143
1 files changed, 66 insertions, 77 deletions
diff --git a/assets/javascripts/bootstrap/dropdown.js b/assets/javascripts/bootstrap/dropdown.js
index 6f419dc..9bb9d58 100644
--- a/assets/javascripts/bootstrap/dropdown.js
+++ b/assets/javascripts/bootstrap/dropdown.js
@@ -1,5 +1,5 @@
/*!
- * Bootstrap dropdown.js v4.6.0 (https://getbootstrap.com/)
+ * Bootstrap dropdown.js v4.6.1 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
@@ -7,7 +7,7 @@
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) :
typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global.jQuery, global.Popper, global.Util));
-}(this, (function ($, Popper, Util) { 'use strict';
+})(this, (function ($, Popper, Util) { 'use strict';
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -50,17 +50,15 @@
}
/**
- * ------------------------------------------------------------------------
* Constants
- * ------------------------------------------------------------------------
*/
var NAME = 'dropdown';
- var VERSION = '4.6.0';
+ var VERSION = '4.6.1';
var DATA_KEY = 'bs.dropdown';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
- var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
+ var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key
@@ -74,6 +72,13 @@
var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)
var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + "|" + ARROW_DOWN_KEYCODE + "|" + ESCAPE_KEYCODE);
+ var CLASS_NAME_DISABLED = 'disabled';
+ var CLASS_NAME_SHOW = 'show';
+ var CLASS_NAME_DROPUP = 'dropup';
+ var CLASS_NAME_DROPRIGHT = 'dropright';
+ var CLASS_NAME_DROPLEFT = 'dropleft';
+ var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
+ var CLASS_NAME_POSITION_STATIC = 'position-static';
var EVENT_HIDE = "hide" + EVENT_KEY;
var EVENT_HIDDEN = "hidden" + EVENT_KEY;
var EVENT_SHOW = "show" + EVENT_KEY;
@@ -82,13 +87,6 @@
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY + DATA_API_KEY;
var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY + DATA_API_KEY;
- var CLASS_NAME_DISABLED = 'disabled';
- var CLASS_NAME_SHOW = 'show';
- var CLASS_NAME_DROPUP = 'dropup';
- var CLASS_NAME_DROPRIGHT = 'dropright';
- var CLASS_NAME_DROPLEFT = 'dropleft';
- var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';
- var CLASS_NAME_POSITION_STATIC = 'position-static';
var SELECTOR_DATA_TOGGLE = '[data-toggle="dropdown"]';
var SELECTOR_FORM_CHILD = '.dropdown form';
var SELECTOR_MENU = '.dropdown-menu';
@@ -117,9 +115,7 @@
popperConfig: '(null|object)'
};
/**
- * ------------------------------------------------------------------------
- * Class Definition
- * ------------------------------------------------------------------------
+ * Class definition
*/
var Dropdown = /*#__PURE__*/function () {
@@ -138,11 +134,11 @@
// Public
_proto.toggle = function toggle() {
- if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED)) {
+ if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED)) {
return;
}
- var isActive = $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW);
+ var isActive = $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW);
Dropdown._clearMenus();
@@ -158,18 +154,18 @@
usePopper = false;
}
- if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || $__default['default'](this._menu).hasClass(CLASS_NAME_SHOW)) {
+ if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED) || $__default["default"](this._menu).hasClass(CLASS_NAME_SHOW)) {
return;
}
var relatedTarget = {
relatedTarget: this._element
};
- var showEvent = $__default['default'].Event(EVENT_SHOW, relatedTarget);
+ var showEvent = $__default["default"].Event(EVENT_SHOW, relatedTarget);
var parent = Dropdown._getParentFromElement(this._element);
- $__default['default'](parent).trigger(showEvent);
+ $__default["default"](parent).trigger(showEvent);
if (showEvent.isDefaultPrevented()) {
return;
@@ -177,11 +173,8 @@
if (!this._inNavbar && usePopper) {
- /**
- * Check for Popper dependency
- * Popper - https://popper.js.org
- */
- if (typeof Popper__default['default'] === 'undefined') {
+ // Check for Popper dependency
+ if (typeof Popper__default["default"] === 'undefined') {
throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
}
@@ -189,7 +182,7 @@
if (this._config.reference === 'parent') {
referenceElement = parent;
- } else if (Util__default['default'].isElement(this._config.reference)) {
+ } else if (Util__default["default"].isElement(this._config.reference)) {
referenceElement = this._config.reference; // Check if it's jQuery element
if (typeof this._config.reference.jquery !== 'undefined') {
@@ -201,41 +194,41 @@
if (this._config.boundary !== 'scrollParent') {
- $__default['default'](parent).addClass(CLASS_NAME_POSITION_STATIC);
+ $__default["default"](parent).addClass(CLASS_NAME_POSITION_STATIC);
}
- this._popper = new Popper__default['default'](referenceElement, this._menu, this._getPopperConfig());
+ this._popper = new Popper__default["default"](referenceElement, this._menu, this._getPopperConfig());
} // If this is a touch-enabled device we add extra
// empty mouseover listeners to the body's immediate children;
// only needed because of broken event delegation on iOS
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
- if ('ontouchstart' in document.documentElement && $__default['default'](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
- $__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);
+ if ('ontouchstart' in document.documentElement && $__default["default"](parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {
+ $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop);
}
this._element.focus();
this._element.setAttribute('aria-expanded', true);
- $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW);
- $__default['default'](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default['default'].Event(EVENT_SHOWN, relatedTarget));
+ $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW);
+ $__default["default"](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_SHOWN, relatedTarget));
};
_proto.hide = function hide() {
- if (this._element.disabled || $__default['default'](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default['default'](this._menu).hasClass(CLASS_NAME_SHOW)) {
+ if (this._element.disabled || $__default["default"](this._element).hasClass(CLASS_NAME_DISABLED) || !$__default["default"](this._menu).hasClass(CLASS_NAME_SHOW)) {
return;
}
var relatedTarget = {
relatedTarget: this._element
};
- var hideEvent = $__default['default'].Event(EVENT_HIDE, relatedTarget);
+ var hideEvent = $__default["default"].Event(EVENT_HIDE, relatedTarget);
var parent = Dropdown._getParentFromElement(this._element);
- $__default['default'](parent).trigger(hideEvent);
+ $__default["default"](parent).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
return;
@@ -245,13 +238,13 @@
this._popper.destroy();
}
- $__default['default'](this._menu).toggleClass(CLASS_NAME_SHOW);
- $__default['default'](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default['default'].Event(EVENT_HIDDEN, relatedTarget));
+ $__default["default"](this._menu).toggleClass(CLASS_NAME_SHOW);
+ $__default["default"](parent).toggleClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_HIDDEN, relatedTarget));
};
_proto.dispose = function dispose() {
- $__default['default'].removeData(this._element, DATA_KEY);
- $__default['default'](this._element).off(EVENT_KEY);
+ $__default["default"].removeData(this._element, DATA_KEY);
+ $__default["default"](this._element).off(EVENT_KEY);
this._element = null;
this._menu = null;
@@ -274,7 +267,7 @@
_proto._addEventListeners = function _addEventListeners() {
var _this = this;
- $__default['default'](this._element).on(EVENT_CLICK, function (event) {
+ $__default["default"](this._element).on(EVENT_CLICK, function (event) {
event.preventDefault();
event.stopPropagation();
@@ -283,8 +276,8 @@
};
_proto._getConfig = function _getConfig(config) {
- config = _extends({}, this.constructor.Default, $__default['default'](this._element).data(), config);
- Util__default['default'].typeCheckConfig(NAME, config, this.constructor.DefaultType);
+ config = _extends({}, this.constructor.Default, $__default["default"](this._element).data(), config);
+ Util__default["default"].typeCheckConfig(NAME, config, this.constructor.DefaultType);
return config;
};
@@ -301,16 +294,16 @@
};
_proto._getPlacement = function _getPlacement() {
- var $parentDropdown = $__default['default'](this._element.parentNode);
+ var $parentDropdown = $__default["default"](this._element.parentNode);
var placement = PLACEMENT_BOTTOM; // Handle dropup
if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {
- placement = $__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;
+ placement = $__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;
} else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {
placement = PLACEMENT_RIGHT;
} else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {
placement = PLACEMENT_LEFT;
- } else if ($__default['default'](this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
+ } else if ($__default["default"](this._menu).hasClass(CLASS_NAME_MENURIGHT)) {
placement = PLACEMENT_BOTTOMEND;
}
@@ -318,7 +311,7 @@
};
_proto._detectNavbar = function _detectNavbar() {
- return $__default['default'](this._element).closest('.navbar').length > 0;
+ return $__default["default"](this._element).closest('.navbar').length > 0;
};
_proto._getOffset = function _getOffset() {
@@ -328,7 +321,7 @@
if (typeof this._config.offset === 'function') {
offset.fn = function (data) {
- data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
+ data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element));
return data;
};
} else {
@@ -364,13 +357,13 @@
Dropdown._jQueryInterface = function _jQueryInterface(config) {
return this.each(function () {
- var data = $__default['default'](this).data(DATA_KEY);
+ var data = $__default["default"](this).data(DATA_KEY);
var _config = typeof config === 'object' ? config : null;
if (!data) {
data = new Dropdown(this, _config);
- $__default['default'](this).data(DATA_KEY, data);
+ $__default["default"](this).data(DATA_KEY, data);
}
if (typeof config === 'string') {
@@ -393,7 +386,7 @@
for (var i = 0, len = toggles.length; i < len; i++) {
var parent = Dropdown._getParentFromElement(toggles[i]);
- var context = $__default['default'](toggles[i]).data(DATA_KEY);
+ var context = $__default["default"](toggles[i]).data(DATA_KEY);
var relatedTarget = {
relatedTarget: toggles[i]
};
@@ -408,16 +401,16 @@
var dropdownMenu = context._menu;
- if (!$__default['default'](parent).hasClass(CLASS_NAME_SHOW)) {
+ if (!$__default["default"](parent).hasClass(CLASS_NAME_SHOW)) {
continue;
}
- if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default['default'].contains(parent, event.target)) {
+ if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $__default["default"].contains(parent, event.target)) {
continue;
}
- var hideEvent = $__default['default'].Event(EVENT_HIDE, relatedTarget);
- $__default['default'](parent).trigger(hideEvent);
+ var hideEvent = $__default["default"].Event(EVENT_HIDE, relatedTarget);
+ $__default["default"](parent).trigger(hideEvent);
if (hideEvent.isDefaultPrevented()) {
continue;
@@ -426,7 +419,7 @@
if ('ontouchstart' in document.documentElement) {
- $__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);
+ $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop);
}
toggles[i].setAttribute('aria-expanded', 'false');
@@ -435,14 +428,14 @@
context._popper.destroy();
}
- $__default['default'](dropdownMenu).removeClass(CLASS_NAME_SHOW);
- $__default['default'](parent).removeClass(CLASS_NAME_SHOW).trigger($__default['default'].Event(EVENT_HIDDEN, relatedTarget));
+ $__default["default"](dropdownMenu).removeClass(CLASS_NAME_SHOW);
+ $__default["default"](parent).removeClass(CLASS_NAME_SHOW).trigger($__default["default"].Event(EVENT_HIDDEN, relatedTarget));
}
};
Dropdown._getParentFromElement = function _getParentFromElement(element) {
var parent;
- var selector = Util__default['default'].getSelectorFromElement(element);
+ var selector = Util__default["default"].getSelectorFromElement(element);
if (selector) {
parent = document.querySelector(selector);
@@ -460,17 +453,17 @@
// - If key is other than escape
// - If key is not up or down => not a dropdown command
// - If trigger inside the menu => not a dropdown command
- if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default['default'](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
+ if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $__default["default"](event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {
return;
}
- if (this.disabled || $__default['default'](this).hasClass(CLASS_NAME_DISABLED)) {
+ if (this.disabled || $__default["default"](this).hasClass(CLASS_NAME_DISABLED)) {
return;
}
var parent = Dropdown._getParentFromElement(this);
- var isActive = $__default['default'](parent).hasClass(CLASS_NAME_SHOW);
+ var isActive = $__default["default"](parent).hasClass(CLASS_NAME_SHOW);
if (!isActive && event.which === ESCAPE_KEYCODE) {
return;
@@ -481,15 +474,15 @@
if (!isActive || event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE) {
if (event.which === ESCAPE_KEYCODE) {
- $__default['default'](parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus');
+ $__default["default"](parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus');
}
- $__default['default'](this).trigger('click');
+ $__default["default"](this).trigger('click');
return;
}
var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {
- return $__default['default'](item).is(':visible');
+ return $__default["default"](item).is(':visible');
});
if (items.length === 0) {
@@ -535,34 +528,30 @@
return Dropdown;
}();
/**
- * ------------------------------------------------------------------------
- * Data Api implementation
- * ------------------------------------------------------------------------
+ * Data API implementation
*/
- $__default['default'](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
+ $__default["default"](document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API + " " + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
event.preventDefault();
event.stopPropagation();
- Dropdown._jQueryInterface.call($__default['default'](this), 'toggle');
+ Dropdown._jQueryInterface.call($__default["default"](this), 'toggle');
}).on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, function (e) {
e.stopPropagation();
});
/**
- * ------------------------------------------------------------------------
* jQuery
- * ------------------------------------------------------------------------
*/
- $__default['default'].fn[NAME] = Dropdown._jQueryInterface;
- $__default['default'].fn[NAME].Constructor = Dropdown;
+ $__default["default"].fn[NAME] = Dropdown._jQueryInterface;
+ $__default["default"].fn[NAME].Constructor = Dropdown;
- $__default['default'].fn[NAME].noConflict = function () {
- $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
+ $__default["default"].fn[NAME].noConflict = function () {
+ $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
return Dropdown._jQueryInterface;
};
return Dropdown;
-})));
+}));