From 4d101491da094418a768ff2f44be1ca85fd85922 Mon Sep 17 00:00:00 2001 From: Markus Hatvan Date: Thu, 22 Aug 2019 21:17:34 +0200 Subject: Remaining JS linting TODO (#29289) * Enable and fix all occurrences with no-mixed-operators rule * Take care of the max-depth warning in button.js Signed-off-by: mhatvan --- .eslintrc.json | 2 +- js/src/button/button.js | 20 +++++++++----------- js/src/carousel/carousel.js | 8 ++++---- js/src/dom/event-handler.js | 2 +- js/src/dropdown/dropdown.js | 16 ++++++++-------- js/src/tab/tab.js | 6 +++--- 6 files changed, 26 insertions(+), 28 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index c4ae0d667f..54e952e360 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -27,7 +27,7 @@ "always-multiline" ], "new-cap": "off", - "no-mixed-operators": "off", + "no-mixed-operators": "error", "object-curly-spacing": [ "error", "always" diff --git a/js/src/button/button.js b/js/src/button/button.js index d64f5130e2..4418ba6b87 100644 --- a/js/src/button/button.js +++ b/js/src/button/button.js @@ -74,17 +74,15 @@ class Button { if (rootElement) { const input = SelectorEngine.findOne(Selector.INPUT, this._element) - if (input) { - if (input.type === 'radio') { - if (input.checked && - this._element.classList.contains(ClassName.ACTIVE)) { - triggerChangeEvent = false - } else { - const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement) - - if (activeElement) { - activeElement.classList.remove(ClassName.ACTIVE) - } + if (input && input.type === 'radio') { + if (input.checked && + this._element.classList.contains(ClassName.ACTIVE)) { + triggerChangeEvent = false + } else { + const activeElement = SelectorEngine.findOne(Selector.ACTIVE, rootElement) + + if (activeElement) { + activeElement.classList.remove(ClassName.ACTIVE) } } diff --git a/js/src/carousel/carousel.js b/js/src/carousel/carousel.js index 40984fe80f..723bf57c66 100644 --- a/js/src/carousel/carousel.js +++ b/js/src/carousel/carousel.js @@ -377,8 +377,8 @@ class Carousel { const isPrevDirection = direction === Direction.PREV const activeIndex = this._getItemIndex(activeElement) const lastItemIndex = this._items.length - 1 - const isGoingToWrap = isPrevDirection && activeIndex === 0 || - isNextDirection && activeIndex === lastItemIndex + const isGoingToWrap = (isPrevDirection && activeIndex === 0) || + (isNextDirection && activeIndex === lastItemIndex) if (isGoingToWrap && !this._config.wrap) { return activeElement @@ -424,8 +424,8 @@ class Carousel { _slide(direction, element) { const activeElement = SelectorEngine.findOne(Selector.ACTIVE_ITEM, this._element) const activeElementIndex = this._getItemIndex(activeElement) - const nextElement = element || activeElement && - this._getItemByDirection(direction, activeElement) + const nextElement = element || (activeElement && + this._getItemByDirection(direction, activeElement)) const nextElementIndex = this._getItemIndex(nextElement) const isCycling = Boolean(this._interval) diff --git a/js/src/dom/event-handler.js b/js/src/dom/event-handler.js index 71b3a643b8..98ebddaa23 100644 --- a/js/src/dom/event-handler.js +++ b/js/src/dom/event-handler.js @@ -81,7 +81,7 @@ const nativeEvents = [ */ function getUidEvent(element, uid) { - return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++ + return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++ } function getEvent(element) { diff --git a/js/src/dropdown/dropdown.js b/js/src/dropdown/dropdown.js index fc51f443cf..d3797b65c8 100644 --- a/js/src/dropdown/dropdown.js +++ b/js/src/dropdown/dropdown.js @@ -390,7 +390,7 @@ class Dropdown { static clearMenus(event) { if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || - event.type === 'keyup' && event.which !== TAB_KEYCODE)) { + (event.type === 'keyup' && event.which !== TAB_KEYCODE))) { return } @@ -415,9 +415,9 @@ class Dropdown { continue } - if (event && (event.type === 'click' && - /input|textarea/i.test(event.target.tagName) || - event.type === 'keyup' && event.which === TAB_KEYCODE) && + if (event && ((event.type === 'click' && + /input|textarea/i.test(event.target.tagName)) || + (event.type === 'keyup' && event.which === TAB_KEYCODE)) && parent.contains(event.target)) { continue } @@ -459,9 +459,9 @@ class Dropdown { // - 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 || - SelectorEngine.closest(event.target, Selector.MENU)) : + event.which === SPACE_KEYCODE || (event.which !== ESCAPE_KEYCODE && + ((event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE) || + SelectorEngine.closest(event.target, Selector.MENU))) : !REGEXP_KEYDOWN.test(event.which)) { return } @@ -476,7 +476,7 @@ class Dropdown { const parent = Dropdown.getParentFromElement(this) const isActive = parent.classList.contains(ClassName.SHOW) - if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) { + if (!isActive || (isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE))) { if (event.which === ESCAPE_KEYCODE) { SelectorEngine.findOne(Selector.DATA_TOGGLE, parent).focus() } diff --git a/js/src/tab/tab.js b/js/src/tab/tab.js index b2374fe919..b356cc0e2b 100644 --- a/js/src/tab/tab.js +++ b/js/src/tab/tab.js @@ -78,9 +78,9 @@ class Tab { // Public show() { - if (this._element.parentNode && + if ((this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && - this._element.classList.contains(ClassName.ACTIVE) || + this._element.classList.contains(ClassName.ACTIVE)) || this._element.classList.contains(ClassName.DISABLED)) { return } @@ -108,7 +108,7 @@ class Tab { }) if (showEvent.defaultPrevented || - hideEvent !== null && hideEvent.defaultPrevented) { + (hideEvent !== null && hideEvent.defaultPrevented)) { return } -- cgit v1.2.3