summaryrefslogtreecommitdiff
path: root/ext/js/pages/settings/secondary-search-dictionary-controller.js
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2023-12-16 19:55:02 -0500
committerGitHub <noreply@github.com>2023-12-17 00:55:02 +0000
commit95ad1ae1ef4a53802c12eab4c9b1545af0333aa1 (patch)
treec08016ccb3265a5931baf413cd9d78fcbf600ae9 /ext/js/pages/settings/secondary-search-dictionary-controller.js
parent77d27113d347b4724302f1c72de1f238e04aeead (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.js16
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);
}