Commit 11abb0f7 authored by Jacob Thornton's avatar Jacob Thornton

fix modal

parent 9bdb6d13
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -51,7 +51,7 @@
var Event = {
CLOSE: 'close' + EVENT_KEY,
CLOSED: 'closed' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -73,6 +73,14 @@
this._element = element;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Alert, [{
key: 'close',
......@@ -96,11 +104,11 @@
$.removeData(this._element, DATA_KEY);
this._element = null;
}
}, {
key: '_getRootElement',
// private
}, {
key: '_getRootElement',
value: function _getRootElement(element) {
var parent = false;
var selector = _Util['default'].getSelectorFromElement(element);
......@@ -139,11 +147,11 @@
value: function _destroyElement(element) {
$(element).detach().trigger(Event.CLOSED).remove();
}
}], [{
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var $element = $(this);
......@@ -172,10 +180,7 @@
}
}, {
key: 'VERSION',
// getters
get: function () {
get: function get() {
return VERSION;
}
}]);
......@@ -183,12 +188,6 @@
return Alert;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
/**
......
......@@ -55,8 +55,8 @@
};
var Event = {
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY,
FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + '' + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + '' + DATA_API_KEY)
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
};
/**
......@@ -72,6 +72,14 @@
this._element = element;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Button, [{
key: 'toggle',
......@@ -116,11 +124,11 @@
$.removeData(this._element, DATA_KEY);
this._element = null;
}
}], [{
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -137,10 +145,7 @@
}
}, {
key: 'VERSION',
// getters
get: function () {
get: function get() {
return VERSION;
}
}]);
......@@ -148,12 +153,6 @@
return Button;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
event.preventDefault();
......
......@@ -71,8 +71,8 @@
KEYDOWN: 'keydown' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + '' + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -118,6 +118,14 @@
this._addEventListeners();
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Carousel, [{
key: 'next',
......@@ -211,11 +219,11 @@
this._activeElement = null;
this._indicatorsElement = null;
}
}, {
key: '_getConfig',
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
_Util['default'].typeCheckConfig(NAME, config, DefaultType);
......@@ -371,11 +379,11 @@
this.cycle();
}
}
}], [{
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -434,15 +442,12 @@
}
}, {
key: 'VERSION',
// getters
get: function () {
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function () {
get: function get() {
return Default;
}
}]);
......@@ -450,12 +455,6 @@
return Carousel;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
$(window).on(Event.LOAD_DATA_API, function () {
......
......@@ -59,7 +59,7 @@
SHOWN: 'shown' + EVENT_KEY,
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -105,6 +105,14 @@
}
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Collapse, [{
key: 'toggle',
......@@ -251,11 +259,11 @@
this._triggerArray = null;
this._isTransitioning = null;
}
}, {
key: '_getConfig',
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
config.toggle = !!config.toggle; // coerce string values
......@@ -294,11 +302,11 @@
}
}
}
}], [{
key: '_getTargetFromElement',
// static
}], [{
key: '_getTargetFromElement',
value: function _getTargetFromElement(element) {
var selector = _Util['default'].getSelectorFromElement(element);
return selector ? $(selector)[0] : null;
......@@ -327,15 +335,12 @@
}
}, {
key: 'VERSION',
// getters
get: function () {
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function () {
get: function get() {
return Default;
}
}]);
......@@ -343,12 +348,6 @@
return Collapse;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
......
......@@ -49,8 +49,8 @@
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY,
KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + '' + DATA_API_KEY
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -84,6 +84,14 @@
this._addEventListeners();
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Dropdown, [{
key: 'toggle',
......@@ -136,19 +144,19 @@
$(this._element).off(EVENT_KEY);
this._element = null;
}
}, {
key: '_addEventListeners',
// private
}, {
key: '_addEventListeners',
value: function _addEventListeners() {
$(this._element).on(Event.CLICK, this.toggle);
}
}], [{
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -259,10 +267,7 @@
}
}, {
key: 'VERSION',
// getters
get: function () {
get: function get() {
return VERSION;
}
}]);
......@@ -270,12 +275,6 @@
return Dropdown;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
e.stopPropagation();
});
......
......@@ -70,7 +70,7 @@
KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -108,6 +108,14 @@
this._scrollbarWidth = 0;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Modal, [{
key: 'toggle',
......@@ -207,11 +215,11 @@
this._originalBodyPadding = null;
this._scrollbarWidth = null;
}
}, {
key: '_getConfig',
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
_Util['default'].typeCheckConfig(NAME, config, DefaultType);
......@@ -329,7 +337,7 @@
$(this._backdrop).addClass(animate);
}
$(this._backdrop).appendTo(this.$body);
$(this._backdrop).appendTo(document.body);
$(this._element).on(Event.CLICK_DISMISS, function (event) {
if (_this6._ignoreBackdropClick) {
......@@ -381,14 +389,14 @@
callback();
}
}
}, {
key: '_handleUpdate',
// ----------------------------------------------------------------------
// the following methods are used to handle overflowing modals
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
}, {
key: '_handleUpdate',
value: function _handleUpdate() {
this._adjustDialog();
}
......@@ -450,11 +458,11 @@
document.body.removeChild(scrollDiv);
return scrollbarWidth;
}
}], [{
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config, relatedTarget) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -474,15 +482,12 @@
}
}, {
key: 'VERSION',
// getters
get: function () {
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function () {
get: function get() {
return Default;
}
}]);
......@@ -490,12 +495,6 @@
return Modal;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
var _this7 = this;
......
......@@ -15,11 +15,13 @@
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; }; })();
var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; }
function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var _Tooltip2 = _interopRequireDefault(_tooltip);
......@@ -86,15 +88,19 @@
*/
var Popover = (function (_Tooltip) {
_inherits(Popover, _Tooltip);
function Popover() {
_classCallCheck(this, Popover);
if (_Tooltip != null) {
_Tooltip.apply(this, arguments);
}
_get(Object.getPrototypeOf(Popover.prototype), 'constructor', this).apply(this, arguments);
}
_inherits(Popover, _Tooltip);
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
_createClass(Popover, [{
key: 'isWithContent',
......@@ -128,19 +134,19 @@
this.cleanupTether();
}
}, {
key: '_getContent',
// private
}, {
key: '_getContent',
value: function _getContent() {
return this.element.getAttribute('data-content') || (typeof this.config.content == 'function' ? this.config.content.call(this.element) : this.config.content);
}
}], [{
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -165,37 +171,37 @@
// getters
get: function () {
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function () {
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function () {
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function () {
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function () {
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function () {
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function () {
get: function get() {
return DefaultType;
}
}]);
......@@ -203,12 +209,6 @@
return Popover;
})(_Tooltip2['default']);
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = Popover._jQueryInterface;
$.fn[NAME].Constructor = Popover;
$.fn[NAME].noConflict = function () {
......
......@@ -58,7 +58,7 @@
var Event = {
ACTIVATE: 'activate' + EVENT_KEY,
SCROLL: 'scroll' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + '' + DATA_API_KEY
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -92,7 +92,7 @@
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
this._selector = '' + this._config.target + ' ' + Selector.NAV_ANCHORS;
this._selector = this._config.target + ' ' + Selector.NAV_ANCHORS;
this._offsets = [];
this._targets = [];
this._activeTarget = null;
......@@ -104,6 +104,14 @@
this._process();
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(ScrollSpy, [{
key: 'refresh',
......@@ -161,11 +169,11 @@
this._activeTarget = null;
this._scrollHeight = null;
}
}, {
key: '_getConfig',
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
......@@ -232,7 +240,7 @@
this._clear();
var selector = '' + this._selector + '[data-target="' + target + '"],' + ('' + this._selector + '[href="' + target + '"]');
var selector = this._selector + '[data-target="' + target + '"],' + (this._selector + '[href="' + target + '"]');
// todo (fat): getting all the raw li's up the tree is not great.
var parentListItems = $(selector).parents(Selector.LI);
......@@ -261,11 +269,11 @@
$(activeParents[i]).removeClass(ClassName.ACTIVE);
}
}
}], [{
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -283,15 +291,12 @@
}
}, {
key: 'VERSION',
// getters
get: function () {
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function () {
get: function get() {
return Default;
}
}]);
......@@ -299,12 +304,6 @@
return ScrollSpy;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(window).on(Event.LOAD_DATA_API, function () {
var scrollSpys = $.makeArray($(Selector.DATA_SPY));
......
......@@ -49,7 +49,7 @@
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -84,6 +84,14 @@
this._element = element;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Tab, [{
key: 'show',
......@@ -159,11 +167,11 @@
$.removeClass(this._element, DATA_KEY);
this._element = null;
}
}, {
key: '_activate',
// private
}, {
key: '_activate',
value: function _activate(element, container, callback) {
var active = $(container).find(Selector.ACTIVE_CHILD)[0];
var isTransitioning = callback && _Util['default'].supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || !!$(container).find(Selector.FADE_CHILD)[0]);
......@@ -228,11 +236,11 @@
callback();
}
}
}], [{
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
......@@ -250,10 +258,7 @@
}
}, {
key: 'VERSION',
// getters
get: function () {
get: function get() {
return VERSION;
}
}]);
......@@ -261,12 +266,6 @@
return Tab;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
Tab._jQueryInterface.call($(this), 'show');
......
......@@ -142,6 +142,14 @@
this._setListeners();
}
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
// getters
_createClass(Tooltip, [{
key: 'enable',
......@@ -313,11 +321,11 @@
this._hoverState = '';
}
}, {
key: 'isWithContent',
// protected
}, {
key: 'isWithContent',
value: function isWithContent() {
return !!this.getTitle();
}
......@@ -363,11 +371,11 @@
$(this.tip).removeClass(this._removeTetherClasses);
}
}
}, {
key: '_getAttachment',
// private
}, {
key: '_getAttachment',
value: function _getAttachment(placement) {
return AttachmentMap[placement.toUpperCase()];
}
......@@ -526,11 +534,11 @@
return config;
}
}], [{
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -552,40 +560,37 @@
}
}, {
key: 'VERSION',
// getters
get: function () {
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function () {
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function () {
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function () {
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function () {
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function () {
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function () {
get: function get() {
return DefaultType;
}
}]);
......@@ -593,12 +598,6 @@
return Tooltip;
})();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = Tooltip._jQueryInterface;
$.fn[NAME].Constructor = Tooltip;
$.fn[NAME].noConflict = function () {
......
......@@ -150,7 +150,7 @@
if (value && isElement(value)) valueType = 'element';else valueType = toType(value);
if (!new RegExp(expectedTypes).test(valueType)) {
throw new Error('' + componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
}
}
}
......
......@@ -172,19 +172,23 @@ Use the tab JavaScript plugin—include it individually or through the compiled
<div class="bd-example bd-example-tabs" role="tabpanel">
<ul id="myTab" class="nav nav-tabs" role="tablist">
<li class="active">
<a href="#home" id="home-tab" role="tab" data-toggle="tab" aria-controls="home" aria-expanded="true">Home</a>
<li class="nav-item active">
<a class="nav-link" href="#home" id="home-tab" role="tab" data-toggle="tab" aria-controls="home" aria-expanded="true">Home</a>
</li>
<li>
<a href="#profile" role="tab" id="profile-tab" data-toggle="tab" aria-controls="profile">Profile</a>
<li class="nav-item">
<a class="nav-link" href="#profile" role="tab" id="profile-tab" data-toggle="tab" aria-controls="profile">Profile</a>
</li>
<li class="dropdown">
<a href="#" id="myTabDrop1" class="dropdown-toggle" data-toggle="dropdown" aria-controls="myTabDrop1-contents">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">
Dropdown
</a>
<ul class="dropdown-menu" aria-labelledby="myTabDrop1" id="myTabDrop1-contents">
<li><a href="#dropdown1" role="tab" id="dropdown1-tab" data-toggle="tab" aria-controls="dropdown1">@fat</a></li>
<li><a href="#dropdown2" role="tab" id="dropdown2-tab" data-toggle="tab" aria-controls="dropdown2">@mdo</a></li>
<ul class="dropdown-menu">
<li>
<a href="#dropdown1" role="tab" id="dropdown1-tab" data-toggle="tab" aria-controls="dropdown1">@fat</a>
</li>
<li>
<a href="#dropdown2" role="tab" id="dropdown2-tab" data-toggle="tab" aria-controls="dropdown2">@mdo</a>
</li>
</ul>
</li>
</ul>
......@@ -212,10 +216,18 @@ You can activate a tab or pill navigation without writing any JavaScript by simp
{% highlight html %}
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>
<li><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>
<li><a href="#messages" role="tab" data-toggle="tab">Messages</a></li>
<li><a href="#settings" role="tab" data-toggle="tab">Settings</a></li>
<li class="nav-item active">
<a class="nav-link" href="#home" role="tab" data-toggle="tab">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#profile" role="tab" data-toggle="tab">Profile</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#messages" role="tab" data-toggle="tab">Messages</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#settings" role="tab" data-toggle="tab">Settings</a>
</li>
</ul>
<!-- Tab panes -->
......@@ -269,17 +281,17 @@ Activates a tab element and content container. Tab should have either a `data-ta
{% highlight html %}
<ul class="nav nav-tabs" role="tablist" id="myTab">
<li class="active">
<a href="#home" role="tab" data-toggle="tab" aria-controls="home">Home</a>
<li class="nav-item active">
<a class="nav-link" href="#home" role="tab" data-toggle="tab" aria-controls="home">Home</a>
</li>
<li>
<a href="#profile" role="tab" data-toggle="tab" aria-controls="profile">Profile</a>
<li class="nav-item">
<a class="nav-link" href="#profile" role="tab" data-toggle="tab" aria-controls="profile">Profile</a>
</li>
<li>
<a href="#messages" role="tab" data-toggle="tab" aria-controls="messages">Messages</a>
<li class="nav-item">
<a class="nav-link" href="#messages" role="tab" data-toggle="tab" aria-controls="messages">Messages</a>
</li>
<li>
<a href="#settings" role="tab" data-toggle="tab" aria-controls="settings">Settings</a>
<li class="nav-item">
<a class="nav-link" href="#settings" role="tab" data-toggle="tab" aria-controls="settings">Settings</a>
</li>
</ul>
......
......@@ -257,12 +257,16 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>How popover is triggered - click | hover | focus | manual. You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.</td>
</tr>
<tr>
<td>viewport</td>
<td>string | object</td>
<td>{ selector: 'body', padding: 0 }</td>
<td>
<p>Keeps the popover within the bounds of this element. Example: <code>viewport: '#viewport'</code> or <code>{ "selector": "#viewport", "padding": 0 }</code></p>
</td>
<td>constraints</td>
<td>Array</td>
<td>'hover focus'</td>
<td>An array of constraints - passed through to tether. For more information refer to tether's <a href="http://github.hubspot.com/tether/#constraints">constraint docs</a>.</td>
</tr>
<tr>
<td>offsets</td>
<td>string</td>
<td>'0 0'</td>
<td>Offset of the popover relative to it's target. For more information refer to tether's <a href="http://github.hubspot.com/tether/#constraints">offset docs</a>.</td>
</tr>
</tbody>
</table>
......
......@@ -13,7 +13,7 @@ Inspired by the excellent Tipsy jQuery plugin written by Jason Frame. Tooltips a
## Overview
Things to know when using the popover plugin:
Things to know when using the tooltip plugin:
- Tooltips are opt-in for performance reasons, so **you must initialize them yourself**.
- Tooltips with zero-length titles are never displayed.
......@@ -24,7 +24,7 @@ Things to know when using the popover plugin:
Got all that? Great, let's see how they work with some examples.
## Example: Enable popovers everywhere
## Example: Enable tooltips everywhere
One way to initialize all tooltips on a page would be to select them by their `data-toggle` attribute:
......@@ -216,12 +216,16 @@ Options can be passed via data attributes or JavaScript. For data attributes, ap
<td>How tooltip is triggered - click | hover | focus | manual. You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.</td>
</tr>
<tr>
<td>viewport</td>
<td>string | object</td>
<td>{ selector: 'body', padding: 0 }</td>
<td>
<p>Keeps the tooltip within the bounds of this element. Example: <code>viewport: '#viewport'</code> or <code>{ "selector": "#viewport", "padding": 0 }</code></p>
</td>
<td>constraints</td>
<td>Array</td>
<td>'hover focus'</td>
<td>An array of constraints - passed through to tether. For more information refer to tether's <a href="http://github.hubspot.com/tether/#constraints">constraint docs</a>.</td>
</tr>
<tr>
<td>offsets</td>
<td>string</td>
<td>'0 0'</td>
<td>Offset of the popover relative to it's target. For more information refer to tether's <a href="http://github.hubspot.com/tether/#constraints">offset docs</a>.</td>
</tr>
</tbody>
</table>
......
......@@ -34,7 +34,7 @@ var Alert = (function ($) {
var Event = {
CLOSE: 'close' + EVENT_KEY,
CLOSED: 'closed' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -56,6 +56,14 @@ var Alert = (function ($) {
this._element = element;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Alert, [{
key: 'close',
......@@ -79,11 +87,11 @@ var Alert = (function ($) {
$.removeData(this._element, DATA_KEY);
this._element = null;
}
}, {
key: '_getRootElement',
// private
}, {
key: '_getRootElement',
value: function _getRootElement(element) {
var parent = false;
var selector = Util.getSelectorFromElement(element);
......@@ -122,19 +130,11 @@ var Alert = (function ($) {
value: function _destroyElement(element) {
$(element).detach().trigger(Event.CLOSED).remove();
}
}], [{
key: 'VERSION',
// getters
get: function () {
return VERSION;
}
}, {
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var $element = $(this);
......@@ -161,17 +161,16 @@ var Alert = (function ($) {
alertInstance.close(this);
};
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
return Alert;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));
/**
......@@ -189,4 +188,4 @@ var Alert = (function ($) {
return Alert;
})(jQuery);
//# sourceMappingURL=alert.js.map
\ No newline at end of file
//# sourceMappingURL=alert.js.map
This diff was suppressed by a .gitattributes entry.
'use strict';
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'); } }
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.0.0): button.js
......@@ -11,6 +5,12 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
* --------------------------------------------------------------------------
*/
'use strict';
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'); } }
var Button = (function ($) {
/**
......@@ -42,8 +42,8 @@ var Button = (function ($) {
};
var Event = {
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY,
FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + '' + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + '' + DATA_API_KEY)
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)
};
/**
......@@ -59,6 +59,14 @@ var Button = (function ($) {
this._element = element;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Button, [{
key: 'toggle',
......@@ -103,19 +111,11 @@ var Button = (function ($) {
$.removeData(this._element, DATA_KEY);
this._element = null;
}
}], [{
key: 'VERSION',
// getters
get: function () {
return VERSION;
}
}, {
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -130,17 +130,16 @@ var Button = (function ($) {
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
return Button;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {
event.preventDefault();
......@@ -171,4 +170,4 @@ var Button = (function ($) {
return Button;
})(jQuery);
//# sourceMappingURL=button.js.map
\ No newline at end of file
//# sourceMappingURL=button.js.map
This diff was suppressed by a .gitattributes entry.
......@@ -54,8 +54,8 @@ var Carousel = (function ($) {
KEYDOWN: 'keydown' + EVENT_KEY,
MOUSEENTER: 'mouseenter' + EVENT_KEY,
MOUSELEAVE: 'mouseleave' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + '' + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -101,6 +101,14 @@ var Carousel = (function ($) {
this._addEventListeners();
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Carousel, [{
key: 'next',
......@@ -194,11 +202,11 @@ var Carousel = (function ($) {
this._activeElement = null;
this._indicatorsElement = null;
}
}, {
key: '_getConfig',
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
......@@ -354,24 +362,11 @@ var Carousel = (function ($) {
this.cycle();
}
}
}], [{
key: 'VERSION',
// getters
get: function () {
return VERSION;
}
}, {
key: 'Default',
get: function () {
return Default;
}
}, {
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -428,17 +423,21 @@ var Carousel = (function ($) {
event.preventDefault();
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
return Carousel;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);
$(window).on(Event.LOAD_DATA_API, function () {
......@@ -463,4 +462,4 @@ var Carousel = (function ($) {
return Carousel;
})(jQuery);
//# sourceMappingURL=carousel.js.map
\ No newline at end of file
//# sourceMappingURL=carousel.js.map
This diff was suppressed by a .gitattributes entry.
......@@ -42,7 +42,7 @@ var Collapse = (function ($) {
SHOWN: 'shown' + EVENT_KEY,
HIDE: 'hide' + EVENT_KEY,
HIDDEN: 'hidden' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -88,6 +88,14 @@ var Collapse = (function ($) {
}
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Collapse, [{
key: 'toggle',
......@@ -234,11 +242,11 @@ var Collapse = (function ($) {
this._triggerArray = null;
this._isTransitioning = null;
}
}, {
key: '_getConfig',
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
config.toggle = !!config.toggle; // coerce string values
......@@ -277,24 +285,11 @@ var Collapse = (function ($) {
}
}
}
}], [{
key: 'VERSION',
// getters
get: function () {
return VERSION;
}
}, {
key: 'Default',
get: function () {
return Default;
}
}, {
key: '_getTargetFromElement',
// static
}], [{
key: '_getTargetFromElement',
value: function _getTargetFromElement(element) {
var selector = Util.getSelectorFromElement(element);
return selector ? $(selector)[0] : null;
......@@ -321,17 +316,21 @@ var Collapse = (function ($) {
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
return Collapse;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
......@@ -358,4 +357,4 @@ var Collapse = (function ($) {
return Collapse;
})(jQuery);
//# sourceMappingURL=collapse.js.map
\ No newline at end of file
//# sourceMappingURL=collapse.js.map
This diff was suppressed by a .gitattributes entry.
......@@ -32,8 +32,8 @@ var Dropdown = (function ($) {
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK: 'click' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY,
KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + '' + DATA_API_KEY
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,
KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -67,6 +67,14 @@ var Dropdown = (function ($) {
this._addEventListeners();
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Dropdown, [{
key: 'toggle',
......@@ -119,27 +127,19 @@ var Dropdown = (function ($) {
$(this._element).off(EVENT_KEY);
this._element = null;
}
}, {
key: '_addEventListeners',
// private
}, {
key: '_addEventListeners',
value: function _addEventListeners() {
$(this._element).on(Event.CLICK, this.toggle);
}
}], [{
key: 'VERSION',
// getters
get: function () {
return VERSION;
}
}, {
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -248,17 +248,16 @@ var Dropdown = (function ($) {
items[index].focus();
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
return Dropdown;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {
e.stopPropagation();
});
......@@ -278,4 +277,4 @@ var Dropdown = (function ($) {
return Dropdown;
})(jQuery);
//# sourceMappingURL=dropdown.js.map
\ No newline at end of file
//# sourceMappingURL=dropdown.js.map
This diff was suppressed by a .gitattributes entry.
......@@ -53,7 +53,7 @@ var Modal = (function ($) {
KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,
MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,
MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -91,6 +91,14 @@ var Modal = (function ($) {
this._scrollbarWidth = 0;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Modal, [{
key: 'toggle',
......@@ -190,11 +198,11 @@ var Modal = (function ($) {
this._originalBodyPadding = null;
this._scrollbarWidth = null;
}
}, {
key: '_getConfig',
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
Util.typeCheckConfig(NAME, config, DefaultType);
......@@ -312,7 +320,7 @@ var Modal = (function ($) {
$(this._backdrop).addClass(animate);
}
$(this._backdrop).appendTo(this.$body);
$(this._backdrop).appendTo(document.body);
$(this._element).on(Event.CLICK_DISMISS, function (event) {
if (_this6._ignoreBackdropClick) {
......@@ -364,14 +372,14 @@ var Modal = (function ($) {
callback();
}
}
}, {
key: '_handleUpdate',
// ----------------------------------------------------------------------
// the following methods are used to handle overflowing modals
// todo (fat): these should probably be refactored out of modal.js
// ----------------------------------------------------------------------
}, {
key: '_handleUpdate',
value: function _handleUpdate() {
this._adjustDialog();
}
......@@ -433,24 +441,11 @@ var Modal = (function ($) {
document.body.removeChild(scrollDiv);
return scrollbarWidth;
}
}], [{
key: 'VERSION',
// getters
get: function () {
return VERSION;
}
}, {
key: 'Default',
get: function () {
return Default;
}
}, {
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config, relatedTarget) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -468,17 +463,21 @@ var Modal = (function ($) {
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
return Modal;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
var _this7 = this;
......@@ -526,4 +525,4 @@ var Modal = (function ($) {
return Modal;
})(jQuery);
//# sourceMappingURL=modal.js.map
\ No newline at end of file
//# sourceMappingURL=modal.js.map
This diff was suppressed by a .gitattributes entry.
......@@ -2,9 +2,11 @@
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; }; })();
var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; desc = parent = getter = undefined; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; }
function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
/**
* --------------------------------------------------------------------------
......@@ -69,15 +71,19 @@ var Popover = (function ($) {
*/
var Popover = (function (_Tooltip) {
_inherits(Popover, _Tooltip);
function Popover() {
_classCallCheck(this, Popover);
if (_Tooltip != null) {
_Tooltip.apply(this, arguments);
}
_get(Object.getPrototypeOf(Popover.prototype), 'constructor', this).apply(this, arguments);
}
_inherits(Popover, _Tooltip);
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
_createClass(Popover, [{
key: 'isWithContent',
......@@ -111,87 +117,81 @@ var Popover = (function ($) {
this.cleanupTether();
}
}, {
key: '_getContent',
// private
}, {
key: '_getContent',
value: function _getContent() {
return this.element.getAttribute('data-content') || (typeof this.config.content == 'function' ? this.config.content.call(this.element) : this.config.content);
}
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = typeof config === 'object' ? config : null;
if (!data && /destroy|hide/.test(config)) {
return;
}
if (!data) {
data = new Popover(this, _config);
$(this).data(DATA_KEY, data);
}
if (typeof config === 'string') {
data[config]();
}
});
}
}, {
key: 'VERSION',
// getters
get: function () {
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function () {
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function () {
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function () {
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function () {
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function () {
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function () {
get: function get() {
return DefaultType;
}
}, {
key: '_jQueryInterface',
// static
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = typeof config === 'object' ? config : null;
if (!data && /destroy|hide/.test(config)) {
return;
}
if (!data) {
data = new Popover(this, _config);
$(this).data(DATA_KEY, data);
}
if (typeof config === 'string') {
data[config]();
}
});
}
}]);
return Popover;
})(Tooltip);
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = Popover._jQueryInterface;
$.fn[NAME].Constructor = Popover;
$.fn[NAME].noConflict = function () {
......@@ -201,4 +201,4 @@ var Popover = (function ($) {
return Popover;
})(jQuery);
//# sourceMappingURL=popover.js.map
\ No newline at end of file
//# sourceMappingURL=popover.js.map
This diff was suppressed by a .gitattributes entry.
......@@ -41,7 +41,7 @@ var ScrollSpy = (function ($) {
var Event = {
ACTIVATE: 'activate' + EVENT_KEY,
SCROLL: 'scroll' + EVENT_KEY,
LOAD_DATA_API: 'load' + EVENT_KEY + '' + DATA_API_KEY
LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -75,7 +75,7 @@ var ScrollSpy = (function ($) {
this._element = element;
this._scrollElement = element.tagName === 'BODY' ? window : element;
this._config = this._getConfig(config);
this._selector = '' + this._config.target + ' ' + Selector.NAV_ANCHORS;
this._selector = this._config.target + ' ' + Selector.NAV_ANCHORS;
this._offsets = [];
this._targets = [];
this._activeTarget = null;
......@@ -87,6 +87,14 @@ var ScrollSpy = (function ($) {
this._process();
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(ScrollSpy, [{
key: 'refresh',
......@@ -144,11 +152,11 @@ var ScrollSpy = (function ($) {
this._activeTarget = null;
this._scrollHeight = null;
}
}, {
key: '_getConfig',
// private
}, {
key: '_getConfig',
value: function _getConfig(config) {
config = $.extend({}, Default, config);
......@@ -215,7 +223,7 @@ var ScrollSpy = (function ($) {
this._clear();
var selector = '' + this._selector + '[data-target="' + target + '"],' + ('' + this._selector + '[href="' + target + '"]');
var selector = this._selector + '[data-target="' + target + '"],' + (this._selector + '[href="' + target + '"]');
// todo (fat): getting all the raw li's up the tree is not great.
var parentListItems = $(selector).parents(Selector.LI);
......@@ -244,24 +252,11 @@ var ScrollSpy = (function ($) {
$(activeParents[i]).removeClass(ClassName.ACTIVE);
}
}
}], [{
key: 'VERSION',
// getters
get: function () {
return VERSION;
}
}, {
key: 'Default',
get: function () {
return Default;
}
}, {
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
......@@ -277,17 +272,21 @@ var ScrollSpy = (function ($) {
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function get() {
return Default;
}
}]);
return ScrollSpy;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(window).on(Event.LOAD_DATA_API, function () {
var scrollSpys = $.makeArray($(Selector.DATA_SPY));
......@@ -312,4 +311,4 @@ var ScrollSpy = (function ($) {
return ScrollSpy;
})(jQuery);
//# sourceMappingURL=scrollspy.js.map
\ No newline at end of file
//# sourceMappingURL=scrollspy.js.map
This diff was suppressed by a .gitattributes entry.
......@@ -32,7 +32,7 @@ var Tab = (function ($) {
HIDDEN: 'hidden' + EVENT_KEY,
SHOW: 'show' + EVENT_KEY,
SHOWN: 'shown' + EVENT_KEY,
CLICK_DATA_API: 'click' + EVENT_KEY + '' + DATA_API_KEY
CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY
};
var ClassName = {
......@@ -67,6 +67,14 @@ var Tab = (function ($) {
this._element = element;
}
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
// getters
_createClass(Tab, [{
key: 'show',
......@@ -142,11 +150,11 @@ var Tab = (function ($) {
$.removeClass(this._element, DATA_KEY);
this._element = null;
}
}, {
key: '_activate',
// private
}, {
key: '_activate',
value: function _activate(element, container, callback) {
var active = $(container).find(Selector.ACTIVE_CHILD)[0];
var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || !!$(container).find(Selector.FADE_CHILD)[0]);
......@@ -211,19 +219,11 @@ var Tab = (function ($) {
callback();
}
}
}], [{
key: 'VERSION',
// getters
get: function () {
return VERSION;
}
}, {
key: '_jQueryInterface',
// static
}], [{
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var $this = $(this);
......@@ -239,17 +239,16 @@ var Tab = (function ($) {
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}]);
return Tab;
})();
/**
* ------------------------------------------------------------------------
* Data Api implementation
* ------------------------------------------------------------------------
*/
$(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
event.preventDefault();
Tab._jQueryInterface.call($(this), 'show');
......@@ -270,4 +269,4 @@ var Tab = (function ($) {
return Tab;
})(jQuery);
//# sourceMappingURL=tab.js.map
\ No newline at end of file
//# sourceMappingURL=tab.js.map
This diff was suppressed by a .gitattributes entry.
......@@ -125,6 +125,14 @@ var Tooltip = (function ($) {
this._setListeners();
}
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
// getters
_createClass(Tooltip, [{
key: 'enable',
......@@ -296,11 +304,11 @@ var Tooltip = (function ($) {
this._hoverState = '';
}
}, {
key: 'isWithContent',
// protected
}, {
key: 'isWithContent',
value: function isWithContent() {
return !!this.getTitle();
}
......@@ -346,11 +354,11 @@ var Tooltip = (function ($) {
$(this.tip).removeClass(this._removeTetherClasses);
}
}
}, {
key: '_getAttachment',
// private
}, {
key: '_getAttachment',
value: function _getAttachment(placement) {
return AttachmentMap[placement.toUpperCase()];
}
......@@ -509,79 +517,70 @@ var Tooltip = (function ($) {
return config;
}
// static
}], [{
key: 'VERSION',
key: '_jQueryInterface',
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = typeof config === 'object' ? config : null;
if (!data && /destroy|hide/.test(config)) {
return;
}
// getters
if (!data) {
data = new Tooltip(this, _config);
$(this).data(DATA_KEY, data);
}
get: function () {
if (typeof config === 'string') {
data[config]();
}
});
}
}, {
key: 'VERSION',
get: function get() {
return VERSION;
}
}, {
key: 'Default',
get: function () {
get: function get() {
return Default;
}
}, {
key: 'NAME',
get: function () {
get: function get() {
return NAME;
}
}, {
key: 'DATA_KEY',
get: function () {
get: function get() {
return DATA_KEY;
}
}, {
key: 'Event',
get: function () {
get: function get() {
return Event;
}
}, {
key: 'EVENT_KEY',
get: function () {
get: function get() {
return EVENT_KEY;
}
}, {
key: 'DefaultType',
get: function () {
get: function get() {
return DefaultType;
}
}, {
key: '_jQueryInterface',
// static
value: function _jQueryInterface(config) {
return this.each(function () {
var data = $(this).data(DATA_KEY);
var _config = typeof config === 'object' ? config : null;
if (!data && /destroy|hide/.test(config)) {
return;
}
if (!data) {
data = new Tooltip(this, _config);
$(this).data(DATA_KEY, data);
}
if (typeof config === 'string') {
data[config]();
}
});
}
}]);
return Tooltip;
})();
/**
* ------------------------------------------------------------------------
* jQuery
* ------------------------------------------------------------------------
*/
$.fn[NAME] = Tooltip._jQueryInterface;
$.fn[NAME].Constructor = Tooltip;
$.fn[NAME].noConflict = function () {
......@@ -591,4 +590,4 @@ var Tooltip = (function ($) {
return Tooltip;
})(jQuery);
//# sourceMappingURL=tooltip.js.map
\ No newline at end of file
//# sourceMappingURL=tooltip.js.map
This diff was suppressed by a .gitattributes entry.
......@@ -137,7 +137,7 @@ var Util = (function ($) {
if (value && isElement(value)) valueType = 'element';else valueType = toType(value);
if (!new RegExp(expectedTypes).test(valueType)) {
throw new Error('' + componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
throw new Error(componentName.toUpperCase() + ': ' + ('Option "' + property + '" provided type "' + valueType + '" ') + ('but expected type "' + expectedTypes + '".'));
}
}
}
......@@ -148,4 +148,4 @@ var Util = (function ($) {
return Util;
})(jQuery);
//# sourceMappingURL=util.js.map
\ No newline at end of file
//# sourceMappingURL=util.js.map
This diff was suppressed by a .gitattributes entry.
......@@ -313,7 +313,7 @@ const Modal = (($) => {
$(this._backdrop).addClass(animate)
}
$(this._backdrop).appendTo(this.$body)
$(this._backdrop).appendTo(document.body)
$(this._element).on(Event.CLICK_DISMISS, (event) => {
if (this._ignoreBackdropClick) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment