diff options
author | Mark Otto <markdotto@gmail.com> | 2017-10-01 00:28:03 +0300 |
---|---|---|
committer | Mark Otto <markdotto@gmail.com> | 2017-10-01 00:28:03 +0300 |
commit | f5ad6e3987788ae5903a39384c49171bf52bd7b8 (patch) | |
tree | 4ef5356be5901c7b6933781cce13f26b02fb9353 /js/dist/tab.js | |
parent | 136c49a13fc347752674d57442eefc10f050aee0 (diff) |
dist
Diffstat (limited to 'js/dist/tab.js')
-rw-r--r-- | js/dist/tab.js | 289 |
1 files changed, 137 insertions, 152 deletions
diff --git a/js/dist/tab.js b/js/dist/tab.js index 3efbf5d5d1..892b848be2 100644 --- a/js/dist/tab.js +++ b/js/dist/tab.js @@ -1,8 +1,6 @@ -'use strict'; +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } /** * -------------------------------------------------------------------------- @@ -10,31 +8,26 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ - var Tab = function () { - /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ - var NAME = 'tab'; var VERSION = '4.0.0-beta'; var DATA_KEY = 'bs.tab'; - var EVENT_KEY = '.' + DATA_KEY; + var EVENT_KEY = "." + DATA_KEY; var DATA_API_KEY = '.data-api'; var JQUERY_NO_CONFLICT = $.fn[NAME]; var TRANSITION_DURATION = 150; - var Event = { - HIDE: 'hide' + EVENT_KEY, - HIDDEN: 'hidden' + EVENT_KEY, - SHOW: 'show' + EVENT_KEY, - SHOWN: 'shown' + EVENT_KEY, - CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY + HIDE: "hide" + EVENT_KEY, + HIDDEN: "hidden" + EVENT_KEY, + SHOW: "show" + EVENT_KEY, + SHOWN: "shown" + EVENT_KEY, + CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY }; - var ClassName = { DROPDOWN_MENU: 'dropdown-menu', ACTIVE: 'active', @@ -42,7 +35,6 @@ var Tab = function () { FADE: 'fade', SHOW: 'show' }; - var Selector = { DROPDOWN: '.dropdown', NAV_LIST_GROUP: '.nav, .list-group', @@ -51,7 +43,6 @@ var Tab = function () { DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', DROPDOWN_TOGGLE: '.dropdown-toggle', DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active' - /** * ------------------------------------------------------------------------ * Class Definition @@ -59,184 +50,177 @@ var Tab = function () { */ }; - var Tab = function () { - function Tab(element) { - _classCallCheck(this, Tab); + var Tab = + /*#__PURE__*/ + function () { + function Tab(element) { this._element = element; - } + } // getters - // getters - _createClass(Tab, [{ - key: 'show', + var _proto = Tab.prototype; + // public + _proto.show = function show() { + var _this = this; - // public + if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) { + return; + } - value: function show() { - var _this = this; + var target; + var previous; + var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]; + var selector = Util.getSelectorFromElement(this._element); - if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE) || $(this._element).hasClass(ClassName.DISABLED)) { - return; - } - - var target = void 0; - var previous = void 0; - var listElement = $(this._element).closest(Selector.NAV_LIST_GROUP)[0]; - var selector = Util.getSelectorFromElement(this._element); + if (listElement) { + var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE; + previous = $.makeArray($(listElement).find(itemSelector)); + previous = previous[previous.length - 1]; + } - if (listElement) { - var itemSelector = listElement.nodeName === 'UL' ? Selector.ACTIVE_UL : Selector.ACTIVE; - previous = $.makeArray($(listElement).find(itemSelector)); - previous = previous[previous.length - 1]; - } + var hideEvent = $.Event(Event.HIDE, { + relatedTarget: this._element + }); + var showEvent = $.Event(Event.SHOW, { + relatedTarget: previous + }); - var hideEvent = $.Event(Event.HIDE, { - relatedTarget: this._element - }); + if (previous) { + $(previous).trigger(hideEvent); + } - var showEvent = $.Event(Event.SHOW, { - relatedTarget: previous - }); + $(this._element).trigger(showEvent); - if (previous) { - $(previous).trigger(hideEvent); - } + if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) { + return; + } - $(this._element).trigger(showEvent); + if (selector) { + target = $(selector)[0]; + } - if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) { - return; - } + this._activate(this._element, listElement); - if (selector) { - target = $(selector)[0]; - } + var complete = function complete() { + var hiddenEvent = $.Event(Event.HIDDEN, { + relatedTarget: _this._element + }); + var shownEvent = $.Event(Event.SHOWN, { + relatedTarget: previous + }); + $(previous).trigger(hiddenEvent); + $(_this._element).trigger(shownEvent); + }; + + if (target) { + this._activate(target, target.parentNode, complete); + } else { + complete(); + } + }; - this._activate(this._element, listElement); + _proto.dispose = function dispose() { + $.removeData(this._element, DATA_KEY); + this._element = null; + }; // private - var complete = function complete() { - var hiddenEvent = $.Event(Event.HIDDEN, { - relatedTarget: _this._element - }); - var shownEvent = $.Event(Event.SHOWN, { - relatedTarget: previous - }); + _proto._activate = function _activate(element, container, callback) { + var _this2 = this; - $(previous).trigger(hiddenEvent); - $(_this._element).trigger(shownEvent); - }; + var activeElements; - if (target) { - this._activate(target, target.parentNode, complete); - } else { - complete(); - } - } - }, { - key: 'dispose', - value: function dispose() { - $.removeData(this._element, DATA_KEY); - this._element = null; + if (container.nodeName === 'UL') { + activeElements = $(container).find(Selector.ACTIVE_UL); + } else { + activeElements = $(container).children(Selector.ACTIVE); } - // private + var active = activeElements[0]; + var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE); - }, { - key: '_activate', - value: function _activate(element, container, callback) { - var _this2 = this; + var complete = function complete() { + return _this2._transitionComplete(element, active, isTransitioning, callback); + }; - var activeElements = void 0; - if (container.nodeName === 'UL') { - activeElements = $(container).find(Selector.ACTIVE_UL); - } else { - activeElements = $(container).children(Selector.ACTIVE); - } + if (active && isTransitioning) { + $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + } else { + complete(); + } - var active = activeElements[0]; - var isTransitioning = callback && Util.supportsTransitionEnd() && active && $(active).hasClass(ClassName.FADE); + if (active) { + $(active).removeClass(ClassName.SHOW); + } + }; - var complete = function complete() { - return _this2._transitionComplete(element, active, isTransitioning, callback); - }; + _proto._transitionComplete = function _transitionComplete(element, active, isTransitioning, callback) { + if (active) { + $(active).removeClass(ClassName.ACTIVE); + var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0]; - if (active && isTransitioning) { - $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); - } else { - complete(); + if (dropdownChild) { + $(dropdownChild).removeClass(ClassName.ACTIVE); } - if (active) { - $(active).removeClass(ClassName.SHOW); + if (active.getAttribute('role') === 'tab') { + active.setAttribute('aria-selected', false); } } - }, { - key: '_transitionComplete', - value: function _transitionComplete(element, active, isTransitioning, callback) { - if (active) { - $(active).removeClass(ClassName.ACTIVE); - var dropdownChild = $(active.parentNode).find(Selector.DROPDOWN_ACTIVE_CHILD)[0]; + $(element).addClass(ClassName.ACTIVE); - if (dropdownChild) { - $(dropdownChild).removeClass(ClassName.ACTIVE); - } + if (element.getAttribute('role') === 'tab') { + element.setAttribute('aria-selected', true); + } - active.setAttribute('aria-expanded', false); - } + if (isTransitioning) { + Util.reflow(element); + $(element).addClass(ClassName.SHOW); + } else { + $(element).removeClass(ClassName.FADE); + } - $(element).addClass(ClassName.ACTIVE); - element.setAttribute('aria-expanded', true); + if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) { + var dropdownElement = $(element).closest(Selector.DROPDOWN)[0]; - if (isTransitioning) { - Util.reflow(element); - $(element).addClass(ClassName.SHOW); - } else { - $(element).removeClass(ClassName.FADE); + if (dropdownElement) { + $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); } - if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) { - - var dropdownElement = $(element).closest(Selector.DROPDOWN)[0]; - if (dropdownElement) { - $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE); - } - - element.setAttribute('aria-expanded', true); - } + element.setAttribute('aria-expanded', true); + } - if (callback) { - callback(); - } + if (callback) { + callback(); } + }; // static - // static - }], [{ - key: '_jQueryInterface', - value: function _jQueryInterface(config) { - return this.each(function () { - var $this = $(this); - var data = $this.data(DATA_KEY); + Tab._jQueryInterface = function _jQueryInterface(config) { + return this.each(function () { + var $this = $(this); + var data = $this.data(DATA_KEY); - if (!data) { - data = new Tab(this); - $this.data(DATA_KEY, data); - } + if (!data) { + data = new Tab(this); + $this.data(DATA_KEY, data); + } - if (typeof config === 'string') { - if (typeof data[config] === 'undefined') { - throw new Error('No method named "' + config + '"'); - } - data[config](); + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error("No method named \"" + config + "\""); } - }); - } - }, { - key: 'VERSION', + + data[config](); + } + }); + }; + + _createClass(Tab, null, [{ + key: "VERSION", get: function get() { return VERSION; } @@ -244,18 +228,18 @@ var Tab = function () { return Tab; }(); - /** * ------------------------------------------------------------------------ * Data Api implementation * ------------------------------------------------------------------------ */ + $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) { event.preventDefault(); + Tab._jQueryInterface.call($(this), 'show'); }); - /** * ------------------------------------------------------------------------ * jQuery @@ -264,6 +248,7 @@ var Tab = function () { $.fn[NAME] = Tab._jQueryInterface; $.fn[NAME].Constructor = Tab; + $.fn[NAME].noConflict = function () { $.fn[NAME] = JQUERY_NO_CONFLICT; return Tab._jQueryInterface; |