diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2023-12-16 19:55:02 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-17 00:55:02 +0000 |
commit | 95ad1ae1ef4a53802c12eab4c9b1545af0333aa1 (patch) | |
tree | c08016ccb3265a5931baf413cd9d78fcbf600ae9 /ext/js/pages/settings/secondary-search-dictionary-controller.js | |
parent | 77d27113d347b4724302f1c72de1f238e04aeead (diff) |
Safer query selector (#364)
* Add querySelectorNotNull helper function
* Use querySelectorNotNull
* Updates
* Update settings
* Remove unused
* Update
* Update function calls
* More updates
* Update types
* Remove obsolete code
Diffstat (limited to 'ext/js/pages/settings/secondary-search-dictionary-controller.js')
-rw-r--r-- | ext/js/pages/settings/secondary-search-dictionary-controller.js | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/ext/js/pages/settings/secondary-search-dictionary-controller.js b/ext/js/pages/settings/secondary-search-dictionary-controller.js index b20bd475..f24f6ea3 100644 --- a/ext/js/pages/settings/secondary-search-dictionary-controller.js +++ b/ext/js/pages/settings/secondary-search-dictionary-controller.js @@ -17,6 +17,7 @@ */ import {EventListenerCollection} from '../../core.js'; +import {querySelectorNotNull} from '../../dom/query-selector.js'; import {yomitan} from '../../yomitan.js'; export class SecondarySearchDictionaryController { @@ -32,14 +33,12 @@ export class SecondarySearchDictionaryController { this._dictionaryInfoMap = new Map(); /** @type {EventListenerCollection} */ this._eventListeners = new EventListenerCollection(); - /** @type {?HTMLElement} */ - this._container = null; + /** @type {HTMLElement} */ + this._container = querySelectorNotNull(document, '#secondary-search-dictionary-list'); } /** */ async prepare() { - this._container = /** @type {HTMLElement} */ (document.querySelector('#secondary-search-dictionary-list')); - await this._onDatabaseUpdated(); yomitan.on('databaseUpdated', this._onDatabaseUpdated.bind(this)); @@ -83,13 +82,16 @@ export class SecondarySearchDictionaryController { const node = /** @type {HTMLElement} */ (this._settingsController.instantiateTemplate('secondary-search-dictionary')); fragment.appendChild(node); - const nameNode = /** @type {HTMLElement} */ (node.querySelector('.dictionary-title')); + /** @type {HTMLElement} */ + const nameNode = querySelectorNotNull(node, '.dictionary-title'); nameNode.textContent = name; - const versionNode = /** @type {HTMLElement} */ (node.querySelector('.dictionary-version')); + /** @type {HTMLElement} */ + const versionNode = querySelectorNotNull(node, '.dictionary-version'); versionNode.textContent = `rev.${dictionaryInfo.revision}`; - const toggle = /** @type {HTMLElement} */ (node.querySelector('.dictionary-allow-secondary-searches')); + /** @type {HTMLElement} */ + const toggle = querySelectorNotNull(node, '.dictionary-allow-secondary-searches'); toggle.dataset.setting = `dictionaries[${i}].allowSecondarySearches`; this._eventListeners.addEventListener(toggle, 'settingChanged', this._onEnabledChanged.bind(this, node), false); } |