From d7cded54e4a1c02c3e5f8ae80299c9920721b8e7 Mon Sep 17 00:00:00 2001 From: Chocobo1 Date: Mon, 15 Apr 2024 12:50:07 +0800 Subject: [PATCH] WebUI: enforce parentheses around operators PR #20696. --- src/webui/www/.eslintrc.json | 8 +++++ src/webui/www/private/rename.html | 2 +- src/webui/www/private/scripts/client.js | 6 ++-- src/webui/www/private/scripts/contextmenu.js | 14 ++++---- src/webui/www/private/scripts/dynamicTable.js | 32 +++++++++---------- src/webui/www/private/scripts/misc.js | 4 +-- src/webui/www/private/scripts/progressbar.js | 2 +- src/webui/www/private/scripts/rename-files.js | 6 ++-- src/webui/www/private/shareratio.html | 6 ++-- src/webui/www/private/views/preferences.html | 28 ++++++++-------- src/webui/www/private/views/rss.html | 12 +++---- src/webui/www/private/views/search.html | 4 +-- 12 files changed, 67 insertions(+), 57 deletions(-) diff --git a/src/webui/www/.eslintrc.json b/src/webui/www/.eslintrc.json index 6ca9d01ce..0c222b019 100644 --- a/src/webui/www/.eslintrc.json +++ b/src/webui/www/.eslintrc.json @@ -8,6 +8,14 @@ "html" ], "rules": { + "no-mixed-operators": [ + "error", + { + "groups": [ + ["&", "|", "^", "~", "<<", ">>", ">>>", "==", "!=", "===", "!==", ">", ">=", "<", "<=", "&&", "||", "in", "instanceof"] + ] + } + ], "no-undef": "off", "no-unused-vars": "off", "nonblock-statement-body-position": ["error", "below"], diff --git a/src/webui/www/private/rename.html b/src/webui/www/private/rename.html index 1775f0119..df61934b5 100644 --- a/src/webui/www/private/rename.html +++ b/src/webui/www/private/rename.html @@ -40,7 +40,7 @@ new Event(e).stop(); // check field const name = $('rename').value.trim(); - if (name === null || name === "") + if ((name === null) || (name === "")) return false; const hash = new URI().getData('hash'); diff --git a/src/webui/www/private/scripts/client.js b/src/webui/www/private/scripts/client.js index 005f449a1..ea84639f4 100644 --- a/src/webui/www/private/scripts/client.js +++ b/src/webui/www/private/scripts/client.js @@ -1567,7 +1567,7 @@ window.addEventListener("DOMContentLoaded", function() { defaultEventType: 'keydown', events: { 'ctrl+a': function(event) { - if (event.target.nodeName == "INPUT" || event.target.nodeName == "TEXTAREA") + if ((event.target.nodeName === "INPUT") || (event.target.nodeName === "TEXTAREA")) return; if (event.target.isContentEditable) return; @@ -1575,7 +1575,7 @@ window.addEventListener("DOMContentLoaded", function() { event.preventDefault(); }, 'delete': function(event) { - if (event.target.nodeName == "INPUT" || event.target.nodeName == "TEXTAREA") + if ((event.target.nodeName === "INPUT") || (event.target.nodeName === "TEXTAREA")) return; if (event.target.isContentEditable) return; @@ -1583,7 +1583,7 @@ window.addEventListener("DOMContentLoaded", function() { event.preventDefault(); }, 'shift+delete': (event) => { - if (event.target.nodeName == "INPUT" || event.target.nodeName == "TEXTAREA") + if ((event.target.nodeName === "INPUT") || (event.target.nodeName === "TEXTAREA")) return; if (event.target.isContentEditable) return; diff --git a/src/webui/www/private/scripts/contextmenu.js b/src/webui/www/private/scripts/contextmenu.js index fbe2434c9..56bda526e 100644 --- a/src/webui/www/private/scripts/contextmenu.js +++ b/src/webui/www/private/scripts/contextmenu.js @@ -119,9 +119,9 @@ window.qBittorrent.ContextMenu = (function() { // position the menu let xPosMenu = e.page.x + this.options.offsets.x; let yPosMenu = e.page.y + this.options.offsets.y; - if (xPosMenu + this.menu.offsetWidth > document.documentElement.clientWidth) + if ((xPosMenu + this.menu.offsetWidth) > document.documentElement.clientWidth) xPosMenu -= this.menu.offsetWidth; - if (yPosMenu + this.menu.offsetHeight > document.documentElement.clientHeight) + if ((yPosMenu + this.menu.offsetHeight) > document.documentElement.clientHeight) yPosMenu = document.documentElement.clientHeight - this.menu.offsetHeight; if (xPosMenu < 0) xPosMenu = 0; @@ -145,9 +145,9 @@ window.qBittorrent.ContextMenu = (function() { const yPosOrigin = rectParent.bottom; let xPos = xPosOrigin + rectParent.width - 1; let yPos = yPosOrigin - rectParent.height - 1; - if (xPos + ul.offsetWidth > document.documentElement.clientWidth) + if ((xPos + ul.offsetWidth) > document.documentElement.clientWidth) xPos -= (ul.offsetWidth + rectParent.width - 2); - if (yPos + ul.offsetHeight > document.documentElement.clientHeight) + if ((yPos + ul.offsetHeight) > document.documentElement.clientHeight) yPos = document.documentElement.clientHeight - ul.offsetHeight; if (xPos < 0) xPos = 0; @@ -240,7 +240,7 @@ window.qBittorrent.ContextMenu = (function() { //show menu show: function(trigger) { - if (lastShownContextMenu && lastShownContextMenu != this) + if (lastShownContextMenu && (lastShownContextMenu != this)) lastShownContextMenu.hide(); this.fx.start(1); this.fireEvent('show'); @@ -338,7 +338,7 @@ window.qBittorrent.ContextMenu = (function() { else if (data['super_seeding'] !== true) all_are_super_seeding = false; - if (data['state'] != 'stoppedUP' && data['state'] != 'stoppedDL') + if ((data['state'] != 'stoppedUP') && (data['state'] != 'stoppedDL')) all_are_stopped = false; else there_are_stopped = true; @@ -363,7 +363,7 @@ window.qBittorrent.ContextMenu = (function() { // hide renameFiles when more than 1 torrent is selected if (selectedRows.length == 1) { const data = torrentsTable.rows.get(selectedRows[0]).full_data; - let metadata_downloaded = !(data['state'] == 'metaDL' || data['state'] == 'forcedMetaDL' || data['total_size'] == -1); + let metadata_downloaded = !((data['state'] == 'metaDL') || (data['state'] == 'forcedMetaDL') || (data['total_size'] == -1)); // hide renameFiles when metadata hasn't been downloaded yet metadata_downloaded diff --git a/src/webui/www/private/scripts/dynamicTable.js b/src/webui/www/private/scripts/dynamicTable.js index c5843b076..aa584c654 100644 --- a/src/webui/www/private/scripts/dynamicTable.js +++ b/src/webui/www/private/scripts/dynamicTable.js @@ -151,12 +151,12 @@ window.qBittorrent.DynamicTable = (function() { this.canResize = false; const resetElementBorderStyle = function(el, side) { - if (side === 'left' || side !== 'right') { + if ((side === 'left') || (side !== 'right')) { el.setStyle('border-left-style', ''); el.setStyle('border-left-color', ''); el.setStyle('border-left-width', ''); } - if (side === 'right' || side !== 'left') { + if ((side === 'right') || (side !== 'left')) { el.setStyle('border-right-style', ''); el.setStyle('border-right-color', ''); el.setStyle('border-right-width', ''); @@ -167,7 +167,7 @@ window.qBittorrent.DynamicTable = (function() { const brect = e.target.getBoundingClientRect(); const mouseXRelative = e.event.clientX - brect.left; if (this.currentHeaderAction === '') { - if (brect.width - mouseXRelative < 5) { + if ((brect.width - mouseXRelative) < 5) { this.resizeTh = e.target; this.canResize = true; e.target.getParent("tr").style.cursor = 'col-resize'; @@ -187,7 +187,7 @@ window.qBittorrent.DynamicTable = (function() { let borderChangeElement = previousVisibleSibling; let changeBorderSide = 'right'; - if (mouseXRelative > brect.width / 2) { + if (mouseXRelative > (brect.width / 2)) { borderChangeElement = e.target; this.dropSide = 'right'; } @@ -200,7 +200,7 @@ window.qBittorrent.DynamicTable = (function() { if (!previousVisibleSibling) { // right most column borderChangeElement = e.target; - if (mouseXRelative <= brect.width / 2) + if (mouseXRelative <= (brect.width / 2)) changeBorderSide = 'left'; } @@ -429,7 +429,7 @@ window.qBittorrent.DynamicTable = (function() { loadColumnsOrder: function() { const columnsOrder = []; const val = LocalPreferences.get('columns_order_' + this.dynamicTableDivId); - if (val === null || val === undefined) + if ((val === null) || (val === undefined)) return; val.split(',').forEach(function(v) { if ((v in this.columns) && (!columnsOrder.contains(v))) @@ -1141,7 +1141,7 @@ window.qBittorrent.DynamicTable = (function() { this.columns['progress'].updateTd = function(td, row) { const progress = this.getRowValue(row); let progressFormatted = (progress * 100).round(1); - if (progressFormatted == 100.0 && progress != 1.0) + if ((progressFormatted == 100.0) && (progress != 1.0)) progressFormatted = 99.9; if (td.getChildren('div').length > 0) { @@ -1310,7 +1310,7 @@ window.qBittorrent.DynamicTable = (function() { td.set('title', '∞'); } else { - const formattedVal = 'QBT_TR(%1 ago)QBT_TR[CONTEXT=TransferListDelegate]'.replace('%1', window.qBittorrent.Misc.friendlyDuration((new Date()) / 1000 - val)); + const formattedVal = 'QBT_TR(%1 ago)QBT_TR[CONTEXT=TransferListDelegate]'.replace('%1', window.qBittorrent.Misc.friendlyDuration((new Date() / 1000) - val)); td.set('text', formattedVal); td.set('title', formattedVal); } @@ -1343,7 +1343,7 @@ window.qBittorrent.DynamicTable = (function() { return false; break; case 'seeding': - if (state != 'uploading' && state != 'forcedUP' && state != 'stalledUP' && state != 'queuedUP' && state != 'checkingUP') + if ((state != 'uploading') && (state != 'forcedUP') && (state != 'stalledUP') && (state != 'queuedUP') && (state != 'checkingUP')) return false; break; case 'completed': @@ -1377,12 +1377,12 @@ window.qBittorrent.DynamicTable = (function() { if (state == 'stalledDL') r = (row['full_data'].upspeed > 0); else - r = state == 'metaDL' || state == 'forcedMetaDL' || state == 'downloading' || state == 'forcedDL' || state == 'uploading' || state == 'forcedUP'; + r = (state == 'metaDL') || (state == 'forcedMetaDL') || (state == 'downloading') || (state == 'forcedDL') || (state == 'uploading') || (state == 'forcedUP'); if (r == inactive) return false; break; case 'checking': - if (state !== 'checkingUP' && state !== 'checkingDL' && state !== 'checkingResumeData') + if ((state !== 'checkingUP') && (state !== 'checkingDL') && (state !== 'checkingResumeData')) return false; break; case 'moving': @@ -1390,7 +1390,7 @@ window.qBittorrent.DynamicTable = (function() { return false; break; case 'errored': - if (state != 'error' && state != "unknown" && state != "missingFiles") + if ((state != 'error') && (state != 'unknown') && (state != 'missingFiles')) return false; break; } @@ -1632,7 +1632,7 @@ window.qBittorrent.DynamicTable = (function() { this.columns['progress'].updateTd = function(td, row) { const progress = this.getRowValue(row); let progressFormatted = (progress * 100).round(1); - if (progressFormatted == 100.0 && progress != 1.0) + if ((progressFormatted == 100.0) && (progress != 1.0)) progressFormatted = 99.9; progressFormatted += "%"; td.set('text', progressFormatted); @@ -3157,12 +3157,12 @@ window.qBittorrent.DynamicTable = (function() { this.filterText = window.qBittorrent.Log.getFilterText(); const filterTerms = (this.filterText.length > 0) ? this.filterText.toLowerCase().split(' ') : []; const logLevels = window.qBittorrent.Log.getSelectedLevels(); - if (filterTerms.length > 0 || logLevels.length < 4) { + if ((filterTerms.length > 0) || (logLevels.length < 4)) { for (let i = 0; i < rows.length; ++i) { if (logLevels.indexOf(rows[i].full_data.type.toString()) == -1) continue; - if (filterTerms.length > 0 && !window.qBittorrent.Misc.containsAllTerms(rows[i].full_data.message, filterTerms)) + if ((filterTerms.length > 0) && !window.qBittorrent.Misc.containsAllTerms(rows[i].full_data.message, filterTerms)) continue; filteredRows.push(rows[i]); @@ -3225,7 +3225,7 @@ window.qBittorrent.DynamicTable = (function() { const filterTerms = (this.filterText.length > 0) ? this.filterText.toLowerCase().split(' ') : []; if (filterTerms.length > 0) { for (let i = 0; i < rows.length; ++i) { - if (filterTerms.length > 0 && !window.qBittorrent.Misc.containsAllTerms(rows[i].full_data.ip, filterTerms)) + if ((filterTerms.length > 0) && !window.qBittorrent.Misc.containsAllTerms(rows[i].full_data.ip, filterTerms)) continue; filteredRows.push(rows[i]); diff --git a/src/webui/www/private/scripts/misc.js b/src/webui/www/private/scripts/misc.js index 61fa34406..7ca895ae3 100644 --- a/src/webui/www/private/scripts/misc.js +++ b/src/webui/www/private/scripts/misc.js @@ -71,7 +71,7 @@ window.qBittorrent.Misc = (function() { return "QBT_TR(Unknown)QBT_TR[CONTEXT=misc]"; let i = 0; - while (value >= 1024.0 && i < 6) { + while ((value >= 1024.0) && (i < 6)) { value /= 1024.0; ++i; } @@ -104,7 +104,7 @@ window.qBittorrent.Misc = (function() { * JS counterpart of the function in src/misc.cpp */ const friendlyDuration = function(seconds, maxCap = -1) { - if (seconds < 0 || ((seconds >= maxCap) && (maxCap >= 0))) + if ((seconds < 0) || ((seconds >= maxCap) && (maxCap >= 0))) return "∞"; if (seconds === 0) return "0"; diff --git a/src/webui/www/private/scripts/progressbar.js b/src/webui/www/private/scripts/progressbar.js index e2d542144..17c296f5d 100644 --- a/src/webui/www/private/scripts/progressbar.js +++ b/src/webui/www/private/scripts/progressbar.js @@ -52,7 +52,7 @@ window.qBittorrent.ProgressBar = (function() { 'lightbg': 'var(--color-background-default)', 'lightfg': 'var(--color-text-default)' }; - if (parameters && $type(parameters) == 'object') + if (parameters && ($type(parameters) == 'object')) $extend(vals, parameters); if (vals.height < 12) vals.height = 12; diff --git a/src/webui/www/private/scripts/rename-files.js b/src/webui/www/private/scripts/rename-files.js index d9a2e2d6f..0269bfefb 100644 --- a/src/webui/www/private/scripts/rename-files.js +++ b/src/webui/www/private/scripts/rename-files.js @@ -76,7 +76,7 @@ window.qBittorrent.MultiRename = (function() { // Maximum of 250 matches per file ++count; - } while (regex.global && count < 250); + } while (regex.global && (count < 250)); return matches; }; @@ -182,7 +182,7 @@ window.qBittorrent.MultiRename = (function() { break; } // Ignore rows without a match - if (!matches || matches.length == 0) { + if (!matches || (matches.length === 0)) { continue; } @@ -219,7 +219,7 @@ window.qBittorrent.MultiRename = (function() { }, rename: async function() { - if (!this.matchedFiles || this.matchedFiles.length === 0 || !this.hash) { + if (!this.matchedFiles || (this.matchedFiles.length === 0) || !this.hash) { this.onRenamed([]); return; } diff --git a/src/webui/www/private/shareratio.html b/src/webui/www/private/shareratio.html index 9dc804ae6..c3c2df90d 100644 --- a/src/webui/www/private/shareratio.html +++ b/src/webui/www/private/shareratio.html @@ -46,8 +46,10 @@ }; // select default when orig values not passed. using double equals to compare string and int - if ((origValues[0] === "") || ((values.ratioLimit == UseGlobalLimit) && (values.seedingTimeLimit == UseGlobalLimit)) - && (values.inactiveSeedingTimeLimit == UseGlobalLimit)) { + if ((origValues[0] === "") + || ((values.ratioLimit == UseGlobalLimit) + && (values.seedingTimeLimit == UseGlobalLimit) + && (values.inactiveSeedingTimeLimit == UseGlobalLimit))) { // use default option setSelectedRadioValue('shareLimit', 'default'); } diff --git a/src/webui/www/private/views/preferences.html b/src/webui/www/private/views/preferences.html index 769e26d76..aaee0d682 100644 --- a/src/webui/www/private/views/preferences.html +++ b/src/webui/www/private/views/preferences.html @@ -1591,10 +1591,10 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD const min = input.getAttribute("min"); const max = input.getAttribute("max"); - if (min && input.value.toInt() < min.toInt()) + if (min && (input.value.toInt() < min.toInt())) input.value = min; - if (max && input.value.toInt() > max.toInt()) + if (max && (input.value.toInt() > max.toInt())) input.value = max; }; @@ -2470,7 +2470,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD let max_connec = -1; if ($('max_connec_checkbox').getProperty('checked')) { max_connec = $('max_connec_value').getProperty('value').toInt(); - if (isNaN(max_connec) || max_connec <= 0) { + if (isNaN(max_connec) || (max_connec <= 0)) { alert("QBT_TR(Maximum number of connections limit must be greater than 0 or disabled.)QBT_TR[CONTEXT=HttpServer]"); return; } @@ -2479,7 +2479,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD let max_connec_per_torrent = -1; if ($('max_connec_per_torrent_checkbox').getProperty('checked')) { max_connec_per_torrent = $('max_connec_per_torrent_value').getProperty('value').toInt(); - if (isNaN(max_connec_per_torrent) || max_connec_per_torrent <= 0) { + if (isNaN(max_connec_per_torrent) || (max_connec_per_torrent <= 0)) { alert("QBT_TR(Maximum number of connections per torrent limit must be greater than 0 or disabled.)QBT_TR[CONTEXT=HttpServer]"); return; } @@ -2488,7 +2488,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD let max_uploads = -1; if ($('max_uploads_checkbox').getProperty('checked')) { max_uploads = $('max_uploads_value').getProperty('value').toInt(); - if (isNaN(max_uploads) || max_uploads <= 0) { + if (isNaN(max_uploads) || (max_uploads <= 0)) { alert("QBT_TR(Global number of upload slots limit must be greater than 0 or disabled.)QBT_TR[CONTEXT=HttpServer]"); return; } @@ -2497,7 +2497,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD let max_uploads_per_torrent = -1; if ($('max_uploads_per_torrent_checkbox').getProperty('checked')) { max_uploads_per_torrent = $('max_uploads_per_torrent_value').getProperty('value').toInt(); - if (isNaN(max_uploads_per_torrent) || max_uploads_per_torrent <= 0) { + if (isNaN(max_uploads_per_torrent) || (max_uploads_per_torrent <= 0)) { alert("QBT_TR(Maximum number of upload slots per torrent limit must be greater than 0 or disabled.)QBT_TR[CONTEXT=HttpServer]"); return; } @@ -2532,14 +2532,14 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD // Speed tab // Global Rate Limits const up_limit = $('up_limit_value').getProperty('value').toInt() * 1024; - if (isNaN(up_limit) || up_limit < 0) { + if (isNaN(up_limit) || (up_limit < 0)) { alert("QBT_TR(Global upload rate limit must be greater than 0 or disabled.)QBT_TR[CONTEXT=HttpServer]"); return; } settings['up_limit'] = up_limit; const dl_limit = $('dl_limit_value').getProperty('value').toInt() * 1024; - if (isNaN(dl_limit) || dl_limit < 0) { + if (isNaN(dl_limit) || (dl_limit < 0)) { alert("QBT_TR(Global download rate limit must be greater than 0 or disabled.)QBT_TR[CONTEXT=HttpServer]"); return; } @@ -2547,14 +2547,14 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD // Alternative Global Rate Limits const alt_up_limit = $('alt_up_limit_value').getProperty('value').toInt() * 1024; - if (isNaN(alt_up_limit) || alt_up_limit < 0) { + if (isNaN(alt_up_limit) || (alt_up_limit < 0)) { alert("QBT_TR(Alternative upload rate limit must be greater than 0 or disabled.)QBT_TR[CONTEXT=HttpServer]"); return; } settings['alt_up_limit'] = alt_up_limit; const alt_dl_limit = $('alt_dl_limit_value').getProperty('value').toInt() * 1024; - if (isNaN(alt_dl_limit) || alt_dl_limit < 0) { + if (isNaN(alt_dl_limit) || (alt_dl_limit < 0)) { alert("QBT_TR(Alternative download rate limit must be greater than 0 or disabled.)QBT_TR[CONTEXT=HttpServer]"); return; } @@ -2590,19 +2590,19 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD settings['queueing_enabled'] = $('queueing_checkbox').getProperty('checked'); if ($('queueing_checkbox').getProperty('checked')) { const max_active_downloads = $('max_active_dl_value').getProperty('value').toInt(); - if (isNaN(max_active_downloads) || max_active_downloads < -1) { + if (isNaN(max_active_downloads) || (max_active_downloads < -1)) { alert("QBT_TR(Maximum active downloads must be greater than -1.)QBT_TR[CONTEXT=HttpServer]"); return; } settings['max_active_downloads'] = max_active_downloads; const max_active_uploads = $('max_active_up_value').getProperty('value').toInt(); - if (isNaN(max_active_uploads) || max_active_uploads < -1) { + if (isNaN(max_active_uploads) || (max_active_uploads < -1)) { alert("QBT_TR(Maximum active uploads must be greater than -1.)QBT_TR[CONTEXT=HttpServer]"); return; } settings['max_active_uploads'] = max_active_uploads; const max_active_torrents = $('max_active_to_value').getProperty('value').toInt(); - if (isNaN(max_active_torrents) || max_active_torrents < -1) { + if (isNaN(max_active_torrents) || (max_active_torrents < -1)) { alert("QBT_TR(Maximum active torrents must be greater than -1.)QBT_TR[CONTEXT=HttpServer]"); return; } @@ -2686,7 +2686,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD settings['web_ui_domain_list'] = $('webui_domain_textarea').getProperty('value'); const web_ui_address = $('webui_address_value').getProperty('value').toString(); const web_ui_port = $('webui_port_value').getProperty('value').toInt(); - if (isNaN(web_ui_port) || web_ui_port < 1 || web_ui_port > 65535) { + if (isNaN(web_ui_port) || (web_ui_port < 1) || (web_ui_port > 65535)) { alert("QBT_TR(The port used for the WebUI must be between 1 and 65535.)QBT_TR[CONTEXT=HttpServer]"); return; } diff --git a/src/webui/www/private/views/rss.html b/src/webui/www/private/views/rss.html index f2e2f5c42..b5f8e0bce 100644 --- a/src/webui/www/private/views/rss.html +++ b/src/webui/www/private/views/rss.html @@ -470,11 +470,11 @@ // check if rows matches flattened response let match = false; - if (rssFeedTable.rows.getLength() - 1 === flattenedResp.length) { + if ((rssFeedTable.rows.getLength() - 1) === flattenedResp.length) { match = true; for (let i = 0; i < flattenedResp.length; ++i) { - if ((flattenedResp[i].uid ? flattenedResp[i].uid : '') !== rssFeedTable.rows[i + 1].full_data.dataUid - || flattenedResp[i].fullName !== rssFeedTable.rows[i + 1].full_data.dataPath) { + if (((flattenedResp[i].uid ? flattenedResp[i].uid : '') !== rssFeedTable.rows[i + 1].full_data.dataUid) + || (flattenedResp[i].fullName !== rssFeedTable.rows[i + 1].full_data.dataPath)) { match = false; break; } @@ -541,7 +541,7 @@ feedData[r.uid] = r.articles; // if feed that is open changed, reload - if (openedFeedPath !== undefined && r.fullName.slice(0, openedFeedPath.length) === openedFeedPath) + if ((openedFeedPath !== undefined) && (r.fullName.slice(0, openedFeedPath.length) === openedFeedPath)) showRssFeed(r.fullName); } else { @@ -565,7 +565,7 @@ .each((row) => row.full_data.unread += readDifference); // if feed that is opened changed update dynamically - if (openedFeedPath !== undefined && r.fullName.slice(0, openedFeedPath.length) === openedFeedPath) { + if ((openedFeedPath !== undefined) && (r.fullName.slice(0, openedFeedPath.length) === openedFeedPath)) { for (let i = 0; i < r.articles.length; ++i) { let matchingRow = rssArticleTable.rows.filter((row) => row.full_data.feedUid === r.uid) .filter((row) => row.full_data.dataId === r.articles[i].id); @@ -714,7 +714,7 @@ rssArticleTable.rows.each((el) => el.full_data.isRead = true); // find all children and set unread count to 0 - rssFeedTable.rows.filter((row) => row.full_data.dataPath.slice(0, path.length) === path && path !== row.full_data.dataPath) + rssFeedTable.rows.filter((row) => (row.full_data.dataPath.slice(0, path.length) === path) && (path !== row.full_data.dataPath)) .each((row) => row.full_data.unread = 0); // find selected row diff --git a/src/webui/www/private/views/search.html b/src/webui/www/private/views/search.html index 084762bc6..df399f1cb 100644 --- a/src/webui/www/private/views/search.html +++ b/src/webui/www/private/views/search.html @@ -516,7 +516,7 @@ $('searchMaxSizePrefix').set('value', state.sizeFilter.maxUnit); const currentSearchPattern = $('searchPattern').getProperty('value').trim(); - if (state.running && state.searchPattern === currentSearchPattern) { + if (state.running && (state.searchPattern === currentSearchPattern)) { // allow search to be stopped $('startSearchButton').set('text', 'QBT_TR(Stop)QBT_TR[CONTEXT=SearchEngineWidget]'); searchPatternChanged = false; @@ -708,7 +708,7 @@ const state = searchState.get(currentSearchId); const currentSearchPattern = $('searchPattern').getProperty('value').trim(); // start a new search if pattern has changed, otherwise allow the search to be stopped - if (state && state.searchPattern === currentSearchPattern) { + if (state && (state.searchPattern === currentSearchPattern)) { searchPatternChanged = false; $('startSearchButton').set('text', 'QBT_TR(Stop)QBT_TR[CONTEXT=SearchEngineWidget]'); }