From 39182a76e4070d3b92af10bf609fef8151bce6e4 Mon Sep 17 00:00:00 2001 From: supahgreg Date: Sun, 12 Oct 2025 21:02:39 +0000 Subject: Address ESLint rule 'eqeqeq'. https://eslint.org/docs/latest/rules/eqeqeq --- js/form/Select.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'js/form/Select.js') diff --git a/js/form/Select.js b/js/form/Select.js index 0c73cd52c..2259fd762 100755 --- a/js/form/Select.js +++ b/js/form/Select.js @@ -15,7 +15,7 @@ define(["dojo/_base/declare", startup: function() { this.inherited(arguments); - if (this.attr('data-dropdown-skip-first') == 'true') { + if (this.attr('data-dropdown-skip-first') === 'true') { aspect.before(this, "_loadChildren", () => { this.options = this.options.splice(1); }); @@ -26,7 +26,7 @@ define(["dojo/_base/declare", // }, _setValueAttr: function(/*anything*/ newValue, /*Boolean?*/ priorityChange){ - if (this.attr('data-prevent-value-change') == 'true' && newValue != '') + if (this.attr('data-prevent-value-change') === 'true' && newValue !== '') return; this.inherited(arguments); -- cgit v1.2.3-54-g00ecf From cde120b3d730dfb56fa59759bb9a7369584f551c Mon Sep 17 00:00:00 2001 From: supahgreg Date: Sun, 12 Oct 2025 22:26:51 +0000 Subject: Clean up unnecessary eslint-disable directives (per ESLint). --- js/App.js | 1 - js/Article.js | 1 - js/CommonDialogs.js | 3 --- js/CommonFilters.js | 2 -- js/FeedTree.js | 2 -- js/Headlines.js | 2 -- js/PrefFeedTree.js | 2 -- js/PrefFilterTree.js | 2 -- js/PrefHelpers.js | 1 - js/PrefLabelTree.js | 2 -- js/SingleUseDialog.js | 1 - js/common.js | 1 - js/form/ComboButton.js | 1 - js/form/DropDownButton.js | 1 - js/form/Select.js | 1 - js/form/ValidationTextArea.js | 2 -- 16 files changed, 25 deletions(-) (limited to 'js/form/Select.js') diff --git a/js/App.js b/js/App.js index 80fbabe82..0adf291c2 100644 --- a/js/App.js +++ b/js/App.js @@ -1,6 +1,5 @@ 'use strict'; -/* eslint-disable new-cap */ /* global __, Article, Headlines, Filters, fox */ /* global xhr, PluginHost, Notify, Feeds, Cookie */ /* global CommonDialogs, Plugins */ diff --git a/js/Article.js b/js/Article.js index 1f4cf931e..f7672033c 100644 --- a/js/Article.js +++ b/js/Article.js @@ -1,6 +1,5 @@ 'use strict' -/* eslint-disable no-new */ /* global __, ngettext, App, Headlines, xhr, PluginHost, Notify, fox */ const Article = { diff --git a/js/CommonDialogs.js b/js/CommonDialogs.js index 43c22b5f6..16c1f5f46 100644 --- a/js/CommonDialogs.js +++ b/js/CommonDialogs.js @@ -1,8 +1,5 @@ 'use strict' -/* eslint-disable new-cap */ -/* eslint-disable no-new */ - /* global __, Notify, App, Feeds, xhr, Tables, fox */ /* exported CommonDialogs */ diff --git a/js/CommonFilters.js b/js/CommonFilters.js index 3e68168fe..54df70266 100644 --- a/js/CommonFilters.js +++ b/js/CommonFilters.js @@ -1,7 +1,5 @@ 'use strict' -/* eslint-disable no-new */ - /* global __, App, Article, Lists, fox */ /* global xhr, Notify, Feeds */ diff --git a/js/FeedTree.js b/js/FeedTree.js index 86a396068..f0041640d 100755 --- a/js/FeedTree.js +++ b/js/FeedTree.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-rest-params */ /* global __, define, App, Feeds, CommonDialogs */ define(["dojo/_base/declare", "dojo/dom-construct", "dojo/_base/array", "dojo/cookie", "dijit/Tree", "dijit/Menu"], function (declare, domConstruct, array, cookie) { @@ -208,7 +207,6 @@ define(["dojo/_base/declare", "dojo/dom-construct", "dojo/_base/array", "dojo/co return [item.updated, item.error].filter((x) => x && x !== "").join(" - "); }, getIconClass: function (item, opened) { - // eslint-disable-next-line no-nested-ternary return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "feed-icon"; }, getLabelClass: function (item/* , opened */) { diff --git a/js/Headlines.js b/js/Headlines.js index 1a59ffda0..1725998bc 100755 --- a/js/Headlines.js +++ b/js/Headlines.js @@ -228,7 +228,6 @@ const Headlines = { } else if (event.ctrlKey) { Headlines.select('invert', id); } else { - // eslint-disable-next-line no-lonely-if if (App.isCombinedMode()) { if (event.altKey && !in_body) { @@ -268,7 +267,6 @@ const Headlines = { return in_body; } else { - // eslint-disable-next-line no-lonely-if if (event.altKey) { Article.openInNewWindow(id); Headlines.toggleUnread(id, 0); diff --git a/js/PrefFeedTree.js b/js/PrefFeedTree.js index 92e748903..142060488 100644 --- a/js/PrefFeedTree.js +++ b/js/PrefFeedTree.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-rest-params */ /* global __, lib, define, CommonDialogs, Notify, Tables, xhr, fox, App */ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dojo/_base/array", "dojo/cookie"], @@ -143,7 +142,6 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dojo/_b return rc; }, getIconClass: function (item, opened) { - // eslint-disable-next-line no-nested-ternary return (!item || this.model.store.getValue(item, 'type') === 'category') ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "feed-icon"; }, reload: function() { diff --git a/js/PrefFilterTree.js b/js/PrefFilterTree.js index 64984b107..1f20da581 100644 --- a/js/PrefFilterTree.js +++ b/js/PrefFilterTree.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-rest-params */ /* global __, define, lib, xhr, App, Notify, Filters */ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], function (declare, domConstruct) { @@ -71,7 +70,6 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio return label; }, getIconClass: function (item, opened) { - // eslint-disable-next-line no-nested-ternary return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "invisible"; }, getRowClass: function (item, opened) { diff --git a/js/PrefHelpers.js b/js/PrefHelpers.js index 38fa7e243..fbe1d37f5 100644 --- a/js/PrefHelpers.js +++ b/js/PrefHelpers.js @@ -1,6 +1,5 @@ 'use strict'; -/* eslint-disable no-new */ /* global __, Tables, Notify, xhr, App, fox */ const Helpers = { diff --git a/js/PrefLabelTree.js b/js/PrefLabelTree.js index 1859906ee..a4540deec 100644 --- a/js/PrefLabelTree.js +++ b/js/PrefLabelTree.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-rest-params */ /* global __, define, lib, xhr, Notify, fox, App */ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/form/DropDownButton"], function (declare, domConstruct) { @@ -40,7 +39,6 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dijit/f return tnode; }, getIconClass: function (item, opened) { - // eslint-disable-next-line no-nested-ternary return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "invisible"; }, getSelectedLabels: function() { diff --git a/js/SingleUseDialog.js b/js/SingleUseDialog.js index b38b3f969..a207c0c44 100644 --- a/js/SingleUseDialog.js +++ b/js/SingleUseDialog.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-rest-params */ /* global define */ define(["dojo/_base/declare", "dijit/Dialog"], function (declare) { return declare("fox.SingleUseDialog", dijit.Dialog, { diff --git a/js/common.js b/js/common.js index bccd0dcbb..3e8a66e5b 100755 --- a/js/common.js +++ b/js/common.js @@ -1,7 +1,6 @@ 'use strict'; /* global App, __csrf_token */ -/* eslint-disable no-new */ /* exported __ */ function __(msg) { diff --git a/js/form/ComboButton.js b/js/form/ComboButton.js index 4c97809e4..98386eead 100755 --- a/js/form/ComboButton.js +++ b/js/form/ComboButton.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-rest-params */ /* global define */ define(["dojo/_base/declare", "dijit/form/ComboButton"], function (declare) { return declare("fox.form.ComboButton", dijit.form.ComboButton, { diff --git a/js/form/DropDownButton.js b/js/form/DropDownButton.js index 357d5de91..60d8e86ef 100755 --- a/js/form/DropDownButton.js +++ b/js/form/DropDownButton.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-rest-params */ /* global define */ define(["dojo/_base/declare", "dijit/form/DropDownButton"], function (declare) { return declare("fox.form.DropDownButton", dijit.form.DropDownButton, { diff --git a/js/form/Select.js b/js/form/Select.js index 2259fd762..bc352e612 100755 --- a/js/form/Select.js +++ b/js/form/Select.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-rest-params */ /* global define */ // FIXME: there probably is a better, more dojo-like notation for custom data- properties define(["dojo/_base/declare", diff --git a/js/form/ValidationTextArea.js b/js/form/ValidationTextArea.js index c53260f40..ced4f8fe7 100644 --- a/js/form/ValidationTextArea.js +++ b/js/form/ValidationTextArea.js @@ -1,5 +1,4 @@ // https://stackoverflow.com/questions/19317258/how-to-use-dijit-textarea-validation-dojo-1-9 -/* eslint-disable no-new */ /* global define */ define(["dojo/_base/declare", "dojo/_base/lang", "dijit/form/SimpleTextarea", "dijit/form/ValidationTextBox"], @@ -10,7 +9,6 @@ define(["dojo/_base/declare", "dojo/_base/lang", "dijit/form/SimpleTextarea", "d this.constraints = {}; this.baseClass += ' dijitValidationTextArea'; }, - // eslint-disable-next-line no-template-curly-in-string templateString: "", validator: function(value, constraints) { //console.log(this, value, constraints); -- cgit v1.2.3-54-g00ecf From 7d6d32144177ce8c516092a114435988864ff6fa Mon Sep 17 00:00:00 2001 From: supahgreg Date: Mon, 13 Oct 2025 02:54:36 +0000 Subject: Address remaining ESLint 'no-undef' and 'no-unused-vars' occurrences. * https://eslint.org/docs/latest/rules/no-undef * https://eslint.org/docs/latest/rules/no-unused-vars --- js/App.js | 5 +++-- js/Article.js | 4 ++-- js/FeedTree.js | 6 +++--- js/Feeds.js | 8 ++++---- js/Headlines.js | 6 +++--- js/PrefFeedTree.js | 3 +-- js/PrefFilterTree.js | 2 +- js/form/Select.js | 2 +- js/form/ValidationMultiSelect.js | 4 ++-- js/form/ValidationTextArea.js | 4 ++-- js/utility.js | 3 ++- plugins/hotkeys_force_top/init.js | 2 ++ plugins/share/share_prefs.js | 2 +- plugins/toggle_sidebar/init.js | 2 ++ 14 files changed, 29 insertions(+), 24 deletions(-) (limited to 'js/form/Select.js') diff --git a/js/App.js b/js/App.js index 0adf291c2..571e3373f 100644 --- a/js/App.js +++ b/js/App.js @@ -196,7 +196,7 @@ const App = { mql.addEventListener("change", () => { this.nightModeChanged(mql.matches, App.byId("theme_auto_css")); }); - } catch (e) { + } catch { console.warn("exception while trying to set MQL event listener"); } @@ -276,7 +276,7 @@ const App = { try { const results = new RegExp('[?&]' + name + '=([^&#]*)').exec(window.location.href); return decodeURIComponent(results[1].replace(/\+/g, " ")) || 0; - } catch (e) { + } catch { return 0; } }, @@ -701,6 +701,7 @@ const App = { this.is_prefs = is_prefs; window.onerror = this.Error.onWindowError; + /* global __default_dark_theme, __default_light_theme */ this.setInitParam("csrf_token", __csrf_token); this.setInitParam("default_light_theme", __default_light_theme); this.setInitParam("default_dark_theme", __default_dark_theme); diff --git a/js/Article.js b/js/Article.js index f7672033c..88c1cb0e0 100644 --- a/js/Article.js +++ b/js/Article.js @@ -220,7 +220,7 @@ const Article = { try { c.domNode.scrollTop = 0; - } catch (e) { + } catch { } c.attr('content', article); @@ -230,7 +230,7 @@ const Article = { try { c.focus(); - } catch (e) { + } catch { } }, formatComments: function(hl) { diff --git a/js/FeedTree.js b/js/FeedTree.js index f0041640d..970efe335 100755 --- a/js/FeedTree.js +++ b/js/FeedTree.js @@ -209,10 +209,10 @@ define(["dojo/_base/declare", "dojo/dom-construct", "dojo/_base/array", "dojo/co getIconClass: function (item, opened) { return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "feed-icon"; }, - getLabelClass: function (item/* , opened */) { + getLabelClass: function (item /*, opened */) { return (item.unread <= 0) ? "dijitTreeLabel" : "dijitTreeLabel Unread"; }, - getRowClass: function (item/*, opened */) { + getRowClass: function (item /*, opened */) { let rc = "dijitTreeRow dijitTreeRowFlex"; const is_cat = String(item.id).indexOf('CAT:') !== -1; @@ -490,7 +490,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "dojo/_base/array", "dojo/co _itemsByIdentity["FEED:" + feed])[0]. getParent().item.bare_id[0]; - } catch (e) { + } catch { return false; } }, diff --git a/js/Feeds.js b/js/Feeds.js index bfe901737..f99d86943 100644 --- a/js/Feeds.js +++ b/js/Feeds.js @@ -544,7 +544,7 @@ const Feeds = { if (tree && tree.model) return tree.model.getFeedUnread(feed, is_cat); - } catch (e) { + } catch { // } @@ -557,7 +557,7 @@ const Feeds = { if (tree && tree.model) return tree.getFeedCategory(feed); - } catch (e) { + } catch { // } @@ -584,7 +584,7 @@ const Feeds = { if (tree && tree.model) return tree.model.setFeedValue(feed, is_cat, key, value); - } catch (e) { + } catch { // } }, @@ -595,7 +595,7 @@ const Feeds = { if (tree && tree.model) return tree.model.getFeedValue(feed, is_cat, key); - } catch (e) { + } catch { // } return ''; diff --git a/js/Headlines.js b/js/Headlines.js index 1725998bc..c27b214dc 100755 --- a/js/Headlines.js +++ b/js/Headlines.js @@ -16,7 +16,7 @@ const Headlines = { default_move_on_expand: true, line_scroll_offset: 120, /* px */ sticky_header_observer: new IntersectionObserver( - (entries, observer) => { + (entries) => { entries.forEach((entry) => { const header = entry.target.closest('.cdm').querySelector(".header"); @@ -32,7 +32,7 @@ const Headlines = { {threshold: [0, 1], root: document.querySelector("#headlines-frame")} ), sticky_content_observer: new IntersectionObserver( - (entries, observer) => { + (entries) => { entries.forEach((entry) => { const header = entry.target.closest('.cdm').querySelector(".header"); @@ -44,7 +44,7 @@ const Headlines = { {threshold: [0, 1], root: document.querySelector("#headlines-frame")} ), unpack_observer: new IntersectionObserver( - (entries, observer) => { + (entries) => { entries.forEach((entry) => { if (entry.intersectionRatio > 0) Article.unpack(entry.target); diff --git a/js/PrefFeedTree.js b/js/PrefFeedTree.js index 142060488..4e9cb58a5 100644 --- a/js/PrefFeedTree.js +++ b/js/PrefFeedTree.js @@ -132,8 +132,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree", "dojo/_b this.inherited(arguments); this.tree.model.store.save(); }, - // eslint-disable-next-line no-unused-vars - getRowClass: function (item, opened) { + getRowClass: function (item /*, opened */) { let rc = (!item.error || item.error === '') ? "dijitTreeRow" : "dijitTreeRow Error"; diff --git a/js/PrefFilterTree.js b/js/PrefFilterTree.js index 1f20da581..4b077259a 100644 --- a/js/PrefFilterTree.js +++ b/js/PrefFilterTree.js @@ -72,7 +72,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio getIconClass: function (item, opened) { return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "invisible"; }, - getRowClass: function (item, opened) { + getRowClass: function (item /*, opened */) { const enabled = this.model.store.getValue(item, 'enabled'); return enabled ? "dijitTreeRow" : "dijitTreeRow filterDisabled"; diff --git a/js/form/Select.js b/js/form/Select.js index bc352e612..c44674e2a 100755 --- a/js/form/Select.js +++ b/js/form/Select.js @@ -24,7 +24,7 @@ define(["dojo/_base/declare", onItemClick: function(/*item, menu*/) { // }, - _setValueAttr: function(/*anything*/ newValue, /*Boolean?*/ priorityChange){ + _setValueAttr: function(/*anything*/ newValue, /*Boolean? priorityChange */){ if (this.attr('data-prevent-value-change') === 'true' && newValue !== '') return; diff --git a/js/form/ValidationMultiSelect.js b/js/form/ValidationMultiSelect.js index a0199c9c6..5a7918271 100644 --- a/js/form/ValidationMultiSelect.js +++ b/js/form/ValidationMultiSelect.js @@ -6,11 +6,11 @@ define(["dojo/_base/declare", "dojo/_base/lang", "dijit/form/MultiSelect", ], function(declare, lang, MultiSelect) { return declare('fox.form.ValidationMultiSelect', [MultiSelect], { - constructor: function(params){ + constructor: function(/* params */) { this.constraints = {}; this.baseClass += ' dijitValidationMultiSelect'; }, - validate: function(/*Boolean*/ isFocused){ + validate: function(/*Boolean isFocused */) { if (this.required && this.attr('value').length === 0) return false; diff --git a/js/form/ValidationTextArea.js b/js/form/ValidationTextArea.js index ced4f8fe7..a71a490c1 100644 --- a/js/form/ValidationTextArea.js +++ b/js/form/ValidationTextArea.js @@ -5,7 +5,7 @@ define(["dojo/_base/declare", "dojo/_base/lang", "dijit/form/SimpleTextarea", "d function(declare, lang, SimpleTextarea, ValidationTextBox) { return declare('fox.form.ValidationTextArea', [SimpleTextarea, ValidationTextBox], { - constructor: function(params){ + constructor: function(/* params */) { this.constraints = {}; this.baseClass += ' dijitValidationTextArea'; }, @@ -19,7 +19,7 @@ define(["dojo/_base/declare", "dojo/_base/lang", "dijit/form/SimpleTextarea", "d if (this.validregexp) { try { new RegExp("/" + value + "/"); - } catch (e) { + } catch { return false; } } diff --git a/js/utility.js b/js/utility.js index e5de5f300..0a9b59454 100644 --- a/js/utility.js +++ b/js/utility.js @@ -7,6 +7,7 @@ window.addEventListener("load", function() { apply_night_mode: function (is_night, link) { console.log("night mode changed to", is_night); + /* global __default_dark_theme, __default_light_theme */ const light_theme = typeof __default_light_theme !== 'undefined' ? __default_light_theme : 'themes/light.css'; const dark_theme = typeof __default_dark_theme !== 'undefined' ? __default_dark_theme : 'themes/night.css'; @@ -35,7 +36,7 @@ window.addEventListener("load", function() { mql.addEventListener("change", () => { UtilityJS.apply_night_mode(mql.matches, link); }); - } catch (e) { + } catch { console.warn("exception while trying to set MQL event listener"); } diff --git a/plugins/hotkeys_force_top/init.js b/plugins/hotkeys_force_top/init.js index 8d6280fc9..242d14ecf 100644 --- a/plugins/hotkeys_force_top/init.js +++ b/plugins/hotkeys_force_top/init.js @@ -1,3 +1,5 @@ +/* global Headlines, require */ + require(['dojo/_base/kernel', 'dojo/ready'], function (dojo, ready) { ready(function () { Headlines.default_force_to_top = true; diff --git a/plugins/share/share_prefs.js b/plugins/share/share_prefs.js index d974af618..e2151065f 100644 --- a/plugins/share/share_prefs.js +++ b/plugins/share/share_prefs.js @@ -1,4 +1,4 @@ -/* global Plugins, Notify, xhr, App */ +/* global __, Plugins, Notify, xhr, App */ Plugins.Share = { clearKeys: function() { diff --git a/plugins/toggle_sidebar/init.js b/plugins/toggle_sidebar/init.js index 9efb06193..6ac74d3c3 100644 --- a/plugins/toggle_sidebar/init.js +++ b/plugins/toggle_sidebar/init.js @@ -1,3 +1,5 @@ +/* global Plugins, Feeds */ + Plugins.Toggle_Sidebar = { toggle: function() { Feeds.toggle(); -- cgit v1.2.3-54-g00ecf