Commit 6211641f authored by Mark Otto's avatar Mark Otto

more grunt

parent 9ccf308f
This diff was suppressed by a .gitattributes entry.
This diff was suppressed by a .gitattributes entry.
This diff was suppressed by a .gitattributes entry.
This diff was suppressed by a .gitattributes entry.
This diff is collapsed.
This diff is collapsed.
...@@ -110,8 +110,8 @@ ...@@ -110,8 +110,8 @@
}, { }, {
key: '_getRootElement', key: '_getRootElement',
value: function _getRootElement(element) { value: function _getRootElement(element) {
var parent = false;
var selector = _Util['default'].getSelectorFromElement(element); var selector = _Util['default'].getSelectorFromElement(element);
var parent = false;
if (selector) { if (selector) {
parent = $(selector)[0]; parent = $(selector)[0];
...@@ -127,6 +127,7 @@ ...@@ -127,6 +127,7 @@
key: '_triggerCloseEvent', key: '_triggerCloseEvent',
value: function _triggerCloseEvent(element) { value: function _triggerCloseEvent(element) {
var closeEvent = $.Event(Event.CLOSE); var closeEvent = $.Event(Event.CLOSE);
$(element).trigger(closeEvent); $(element).trigger(closeEvent);
return closeEvent; return closeEvent;
} }
......
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
var EVENT_KEY = '.' + DATA_KEY; var EVENT_KEY = '.' + DATA_KEY;
var DATA_API_KEY = '.data-api'; var DATA_API_KEY = '.data-api';
var JQUERY_NO_CONFLICT = $.fn[NAME]; var JQUERY_NO_CONFLICT = $.fn[NAME];
var TRANSITION_DURATION = 150;
var ClassName = { var ClassName = {
ACTIVE: 'active', ACTIVE: 'active',
......
...@@ -194,7 +194,7 @@ ...@@ -194,7 +194,7 @@
return; return;
} }
if (activeIndex == index) { if (activeIndex === index) {
this.pause(); this.pause();
this.cycle(); this.cycle();
return; return;
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
$(this._element).on(Event.KEYDOWN, $.proxy(this._keydown, this)); $(this._element).on(Event.KEYDOWN, $.proxy(this._keydown, this));
} }
if (this._config.pause == 'hover' && !('ontouchstart' in document.documentElement)) { if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {
$(this._element).on(Event.MOUSEENTER, $.proxy(this.pause, this)).on(Event.MOUSELEAVE, $.proxy(this.cycle, this)); $(this._element).on(Event.MOUSEENTER, $.proxy(this.pause, this)).on(Event.MOUSELEAVE, $.proxy(this.cycle, this));
} }
} }
...@@ -245,7 +245,9 @@ ...@@ -245,7 +245,9 @@
value: function _keydown(event) { value: function _keydown(event) {
event.preventDefault(); event.preventDefault();
if (/input|textarea/i.test(event.target.tagName)) return; if (/input|textarea/i.test(event.target.tagName)) {
return;
}
switch (event.which) { switch (event.which) {
case 37: case 37:
...@@ -269,13 +271,13 @@ ...@@ -269,13 +271,13 @@
var isPrevDirection = direction === Direction.PREVIOUS; var isPrevDirection = direction === Direction.PREVIOUS;
var activeIndex = this._getItemIndex(activeElement); var activeIndex = this._getItemIndex(activeElement);
var lastItemIndex = this._items.length - 1; var lastItemIndex = this._items.length - 1;
var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex == lastItemIndex; var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;
if (isGoingToWrap && !this._config.wrap) { if (isGoingToWrap && !this._config.wrap) {
return activeElement; return activeElement;
} }
var delta = direction == Direction.PREVIOUS ? -1 : 1; var delta = direction === Direction.PREVIOUS ? -1 : 1;
var itemIndex = (activeIndex + delta) % this._items.length; var itemIndex = (activeIndex + delta) % this._items.length;
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex]; return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
...@@ -313,9 +315,9 @@ ...@@ -313,9 +315,9 @@
var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0]; var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];
var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement); var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);
var isCycling = !!this._interval; var isCycling = Boolean(this._interval);
var directionalClassName = direction == Direction.NEXT ? ClassName.LEFT : ClassName.RIGHT; var directionalClassName = direction === Direction.NEXT ? ClassName.LEFT : ClassName.RIGHT;
if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) { if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {
this._isSliding = false; this._isSliding = false;
...@@ -400,7 +402,7 @@ ...@@ -400,7 +402,7 @@
$(this).data(DATA_KEY, data); $(this).data(DATA_KEY, data);
} }
if (typeof config == 'number') { if (typeof config === 'number') {
data.to(config); data.to(config);
} else if (action) { } else if (action) {
data[action](); data[action]();
...@@ -426,8 +428,8 @@ ...@@ -426,8 +428,8 @@
} }
var config = $.extend({}, $(target).data(), $(this).data()); var config = $.extend({}, $(target).data(), $(this).data());
var slideIndex = this.getAttribute('data-slide-to'); var slideIndex = this.getAttribute('data-slide-to');
if (slideIndex) { if (slideIndex) {
config.interval = false; config.interval = false;
} }
......
...@@ -192,7 +192,8 @@ ...@@ -192,7 +192,8 @@
return; return;
} }
var scrollSize = 'scroll' + (dimension[0].toUpperCase() + dimension.slice(1)); var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
var scrollSize = 'scroll' + capitalizedDimension;
$(this._element).one(_Util['default'].TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); $(this._element).one(_Util['default'].TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
...@@ -238,7 +239,8 @@ ...@@ -238,7 +239,8 @@
this._element.style[dimension] = 0; this._element.style[dimension] = 0;
if (!_Util['default'].supportsTransitionEnd()) { if (!_Util['default'].supportsTransitionEnd()) {
return complete(); complete();
return;
} }
$(this._element).one(_Util['default'].TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); $(this._element).one(_Util['default'].TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
...@@ -266,7 +268,7 @@ ...@@ -266,7 +268,7 @@
key: '_getConfig', key: '_getConfig',
value: function _getConfig(config) { value: function _getConfig(config) {
config = $.extend({}, Default, config); config = $.extend({}, Default, config);
config.toggle = !!config.toggle; // coerce string values config.toggle = Boolean(config.toggle); // coerce string values
_Util['default'].typeCheckConfig(NAME, config, DefaultType); _Util['default'].typeCheckConfig(NAME, config, DefaultType);
return config; return config;
} }
...@@ -352,7 +354,6 @@ ...@@ -352,7 +354,6 @@
event.preventDefault(); event.preventDefault();
var target = Collapse._getTargetFromElement(this); var target = Collapse._getTargetFromElement(this);
var data = $(target).data(DATA_KEY); var data = $(target).data(DATA_KEY);
var config = data ? 'toggle' : $(this).data(); var config = data ? 'toggle' : $(this).data();
......
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
value: function toggle() { value: function toggle() {
if (this.disabled || $(this).hasClass(ClassName.DISABLED)) { if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {
return; return false;
} }
var parent = Dropdown._getParentFromElement(this); var parent = Dropdown._getParentFromElement(this);
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
$(parent).trigger(showEvent); $(parent).trigger(showEvent);
if (showEvent.isDefaultPrevented()) { if (showEvent.isDefaultPrevented()) {
return; return false;
} }
this.focus(); this.focus();
...@@ -259,9 +259,19 @@ ...@@ -259,9 +259,19 @@
var index = items.indexOf(event.target); var index = items.indexOf(event.target);
if (event.which === 38 && index > 0) index--; // up if (event.which === 38 && index > 0) {
if (event.which === 40 && index < items.length - 1) index++; // down // up
if (! ~index) index = 0; index--;
}
if (event.which === 40 && index < items.length - 1) {
// down
index++;
}
if (! ~index) {
index = 0;
}
items[index].focus(); items[index].focus();
} }
......
...@@ -247,14 +247,18 @@ ...@@ -247,14 +247,18 @@
$(this._element).addClass(ClassName.IN); $(this._element).addClass(ClassName.IN);
if (this._config.focus) this._enforceFocus(); if (this._config.focus) {
this._enforceFocus();
}
var shownEvent = $.Event(Event.SHOWN, { var shownEvent = $.Event(Event.SHOWN, {
relatedTarget: relatedTarget relatedTarget: relatedTarget
}); });
var transitionComplete = function transitionComplete() { var transitionComplete = function transitionComplete() {
if (_this2._config.focus) _this2._element.focus(); if (_this2._config.focus) {
_this2._element.focus();
}
$(_this2._element).trigger(shownEvent); $(_this2._element).trigger(shownEvent);
}; };
...@@ -411,7 +415,7 @@ ...@@ -411,7 +415,7 @@
} }
if (this._isBodyOverflowing && !isModalOverflowing) { if (this._isBodyOverflowing && !isModalOverflowing) {
this._element.style.paddingRight = this._scrollbarWidth + 'px'; this._element.style.paddingRight = this._scrollbarWidth + 'px~';
} }
} }
}, { }, {
...@@ -440,7 +444,7 @@ ...@@ -440,7 +444,7 @@
this._originalBodyPadding = document.body.style.paddingRight || ''; this._originalBodyPadding = document.body.style.paddingRight || '';
if (this._isBodyOverflowing) { if (this._isBodyOverflowing) {
document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px'; document.body.style.paddingRight = bodyPadding + (this._scrollbarWidth + 'px');
} }
} }
}, { }, {
......
...@@ -140,7 +140,7 @@ ...@@ -140,7 +140,7 @@
}, { }, {
key: '_getContent', key: '_getContent',
value: function _getContent() { value: function _getContent() {
return this.element.getAttribute('data-content') || (typeof this.config.content == 'function' ? this.config.content.call(this.element) : this.config.content); return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);
} }
// static // static
......
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
value: function show() { value: function show() {
var _this = this; var _this = this;
if (this._element.parentNode && this._element.parentNode.nodeType == Node.ELEMENT_NODE && $(this._element).parent().hasClass(ClassName.ACTIVE)) { if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).parent().hasClass(ClassName.ACTIVE)) {
return; return;
} }
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
key: '_activate', key: '_activate',
value: function _activate(element, container, callback) { value: function _activate(element, container, callback) {
var active = $(container).find(Selector.ACTIVE_CHILD)[0]; 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]); var isTransitioning = callback && _Util['default'].supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));
var complete = $.proxy(this._transitionComplete, this, element, active, isTransitioning, callback); var complete = $.proxy(this._transitionComplete, this, element, active, isTransitioning, callback);
......
...@@ -171,11 +171,9 @@ ...@@ -171,11 +171,9 @@
}, { }, {
key: 'toggle', key: 'toggle',
value: function toggle(event) { value: function toggle(event) {
var context = this;
var dataKey = this.constructor.DATA_KEY;
if (event) { if (event) {
context = $(event.currentTarget).data(dataKey); var dataKey = this.constructor.DATA_KEY;
var context = $(event.currentTarget).data(dataKey);
if (!context) { if (!context) {
context = new this.constructor(event.currentTarget, this._getDelegateConfig()); context = new this.constructor(event.currentTarget, this._getDelegateConfig());
...@@ -190,7 +188,13 @@ ...@@ -190,7 +188,13 @@
context._leave(null, context); context._leave(null, context);
} }
} else { } else {
$(context.getTipElement()).hasClass(ClassName.IN) ? context._leave(null, context) : context._enter(null, context);
if ($(this.getTipElement()).hasClass(ClassName.IN)) {
this._leave(null, this);
return;
}
this._enter(null, this);
} }
} }
}, { }, {
...@@ -255,9 +259,9 @@ ...@@ -255,9 +259,9 @@
$(this.element).trigger(this.constructor.Event.INSERTED); $(this.element).trigger(this.constructor.Event.INSERTED);
this._tether = new Tether({ this._tether = new Tether({
attachment: attachment,
element: tip, element: tip,
target: this.element, target: this.element,
attachment: attachment,
classes: TetherClass, classes: TetherClass,
classPrefix: CLASS_PREFIX, classPrefix: CLASS_PREFIX,
offset: this.config.offset, offset: this.config.offset,
...@@ -280,7 +284,12 @@ ...@@ -280,7 +284,12 @@
} }
}; };
_Util['default'].supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE) ? $(this.tip).one(_Util['default'].TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION) : complete(); if (_Util['default'].supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
$(this.tip).one(_Util['default'].TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
return;
}
complete();
} }
} }
}, { }, {
...@@ -327,7 +336,7 @@ ...@@ -327,7 +336,7 @@
}, { }, {
key: 'isWithContent', key: 'isWithContent',
value: function isWithContent() { value: function isWithContent() {
return !!this.getTitle(); return Boolean(this.getTitle());
} }
}, { }, {
key: 'getTipElement', key: 'getTipElement',
...@@ -390,8 +399,8 @@ ...@@ -390,8 +399,8 @@
if (trigger === 'click') { if (trigger === 'click') {
$(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, $.proxy(_this3.toggle, _this3)); $(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, $.proxy(_this3.toggle, _this3));
} else if (trigger !== Trigger.MANUAL) { } else if (trigger !== Trigger.MANUAL) {
var eventIn = trigger == Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN; var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
var eventOut = trigger == Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT; var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
$(_this3.element).on(eventIn, _this3.config.selector, $.proxy(_this3._enter, _this3)).on(eventOut, _this3.config.selector, $.proxy(_this3._leave, _this3)); $(_this3.element).on(eventIn, _this3.config.selector, $.proxy(_this3._enter, _this3)).on(eventOut, _this3.config.selector, $.proxy(_this3._leave, _this3));
} }
...@@ -433,7 +442,7 @@ ...@@ -433,7 +442,7 @@
} }
if (event) { if (event) {
context._activeTrigger[event.type == 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
} }
if ($(context.getTipElement()).hasClass(ClassName.IN) || context._hoverState === HoverState.IN) { if ($(context.getTipElement()).hasClass(ClassName.IN) || context._hoverState === HoverState.IN) {
...@@ -469,7 +478,7 @@ ...@@ -469,7 +478,7 @@
} }
if (event) { if (event) {
context._activeTrigger[event.type == 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
} }
if (context._isWithActiveTrigger()) { if (context._isWithActiveTrigger()) {
...@@ -525,9 +534,8 @@ ...@@ -525,9 +534,8 @@
if (this.config) { if (this.config) {
for (var key in this.config) { for (var key in this.config) {
var value = this.config[key]; if (this.constructor.Default[key] !== this.config[key]) {
if (this.constructor.Default[key] !== value) { config[key] = this.config[key];
config[key] = value;
} }
} }
} }
......
...@@ -65,9 +65,9 @@ ...@@ -65,9 +65,9 @@
var el = document.createElement('bootstrap'); var el = document.createElement('bootstrap');
for (var name in TransitionEndEvent) { for (var _name in TransitionEndEvent) {
if (el.style[name] !== undefined) { if (el.style[_name] !== undefined) {
return { end: TransitionEndEvent[name] }; return { end: TransitionEndEvent[_name] };
} }
} }
...@@ -113,7 +113,9 @@ ...@@ -113,7 +113,9 @@
TRANSITION_END: 'bsTransitionEnd', TRANSITION_END: 'bsTransitionEnd',
getUID: function getUID(prefix) { getUID: function getUID(prefix) {
do prefix += ~ ~(Math.random() * 1000000); while (document.getElementById(prefix)); do {
prefix += ~ ~(Math.random() * 1000000);
} while (document.getElementById(prefix));
return prefix; return prefix;
}, },
...@@ -137,24 +139,28 @@ ...@@ -137,24 +139,28 @@
}, },
supportsTransitionEnd: function supportsTransitionEnd() { supportsTransitionEnd: function supportsTransitionEnd() {
return !!transition; return Boolean(transition);
}, },
typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) { typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
for (var property in configTypes) { for (var property in configTypes) {
if (configTypes.hasOwnProperty(property)) {
var expectedTypes = configTypes[property]; var expectedTypes = configTypes[property];
var value = config[property]; var value = config[property];
var valueType = undefined; var valueType = undefined;
if (value && isElement(value)) valueType = 'element';else valueType = toType(value); if (value && isElement(value)) {
valueType = 'element';
} else {
valueType = toType(value);
}
if (!new RegExp(expectedTypes).test(valueType)) { 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 + '".'));
} }
} }
} }
}
}; };
setTransitionEndSupport(); setTransitionEndSupport();
......
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