From 4da4827bcbcdd1ef163f635d9b29416ff272b0bb Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Mon, 27 Nov 2023 12:48:14 -0500 Subject: Add JSDoc type annotations to project (rebased) --- .../settings/permissions-origin-controller.js | 73 ++++++++++++++++------ 1 file changed, 54 insertions(+), 19 deletions(-) (limited to 'ext/js/pages/settings/permissions-origin-controller.js') diff --git a/ext/js/pages/settings/permissions-origin-controller.js b/ext/js/pages/settings/permissions-origin-controller.js index d234faa0..9cad2fb2 100644 --- a/ext/js/pages/settings/permissions-origin-controller.js +++ b/ext/js/pages/settings/permissions-origin-controller.js @@ -19,24 +19,36 @@ import {EventListenerCollection} from '../../core.js'; export class PermissionsOriginController { + /** + * @param {SettingsController} settingsController + */ constructor(settingsController) { + /** @type {SettingsController} */ this._settingsController = settingsController; + /** @type {?HTMLElement} */ this._originContainer = null; + /** @type {?HTMLElement} */ this._originEmpty = null; + /** @type {?NodeListOf} */ this._originToggleNodes = null; + /** @type {?HTMLInputElement} */ this._addOriginInput = null; + /** @type {?HTMLElement} */ this._errorContainer = null; + /** @type {ChildNode[]} */ this._originContainerChildren = []; + /** @type {EventListenerCollection} */ this._eventListeners = new EventListenerCollection(); } + /** */ async prepare() { - this._originContainer = document.querySelector('#permissions-origin-list'); - this._originEmpty = document.querySelector('#permissions-origin-list-empty'); - this._originToggleNodes = document.querySelectorAll('.permissions-origin-toggle'); - this._addOriginInput = document.querySelector('#permissions-origin-new-input'); - this._errorContainer = document.querySelector('#permissions-origin-list-error'); - const addButton = document.querySelector('#permissions-origin-add'); + this._originContainer = /** @type {HTMLElement} */ (document.querySelector('#permissions-origin-list')); + this._originEmpty = /** @type {HTMLElement} */ (document.querySelector('#permissions-origin-list-empty')); + this._originToggleNodes = /** @type {NodeListOf} */ (document.querySelectorAll('.permissions-origin-toggle')); + this._addOriginInput = /** @type {HTMLInputElement} */ (document.querySelector('#permissions-origin-new-input')); + this._errorContainer = /** @type {HTMLElement} */ (document.querySelector('#permissions-origin-list-error')); + const addButton = /** @type {HTMLButtonElement} */ (document.querySelector('#permissions-origin-add')); for (const node of this._originToggleNodes) { node.addEventListener('change', this._onOriginToggleChange.bind(this), false); @@ -49,6 +61,9 @@ export class PermissionsOriginController { // Private + /** + * @param {import('settings-controller').PermissionsChangedEvent} details + */ _onPermissionsChanged({permissions}) { this._eventListeners.removeAllEventListeners(); for (const node of this._originContainerChildren) { @@ -57,9 +72,11 @@ export class PermissionsOriginController { } this._originContainerChildren = []; + /** @type {Set} */ const originsSet = new Set(permissions.origins); - for (const node of this._originToggleNodes) { - node.checked = originsSet.has(node.dataset.origin); + for (const node of /** @type {NodeListOf} */ (this._originToggleNodes)) { + const {origin} = node.dataset; + node.checked = typeof origin === 'string' && originsSet.has(origin); } let any = false; @@ -67,60 +84,78 @@ export class PermissionsOriginController { '' ]); const fragment = document.createDocumentFragment(); - for (const origin of permissions.origins) { + for (const origin of originsSet) { if (excludeOrigins.has(origin)) { continue; } const node = this._settingsController.instantiateTemplateFragment('permissions-origin'); - const input = node.querySelector('.permissions-origin-input'); - const menuButton = node.querySelector('.permissions-origin-button'); + const input = /** @type {HTMLInputElement} */ (node.querySelector('.permissions-origin-input')); + const menuButton = /** @type {HTMLElement} */ (node.querySelector('.permissions-origin-button')); input.value = origin; this._eventListeners.addEventListener(menuButton, 'menuClose', this._onOriginMenuClose.bind(this, origin), false); this._originContainerChildren.push(...node.childNodes); fragment.appendChild(node); any = true; } - this._originContainer.insertBefore(fragment, this._originContainer.firstChild); - this._originEmpty.hidden = any; + const container = /** @type {HTMLElement} */ (this._originContainer); + container.insertBefore(fragment, container.firstChild); + /** @type {HTMLElement} */ (this._originEmpty).hidden = any; - this._errorContainer.hidden = true; + /** @type {HTMLElement} */ (this._errorContainer).hidden = true; } + /** + * @param {Event} e + */ _onOriginToggleChange(e) { - const node = e.currentTarget; + const node = /** @type {HTMLInputElement} */ (e.currentTarget); const value = node.checked; node.checked = !value; const {origin} = node.dataset; + if (typeof origin !== 'string') { return; } this._setOriginPermissionEnabled(origin, value); } + /** + * @param {string} origin + */ _onOriginMenuClose(origin) { this._setOriginPermissionEnabled(origin, false); } + /** */ _onAddButtonClick() { this._addOrigin(); } + /** */ async _addOrigin() { - const origin = this._addOriginInput.value; + const input = /** @type {HTMLInputElement} */ (this._addOriginInput); + const origin = input.value; const added = await this._setOriginPermissionEnabled(origin, true); if (added) { - this._addOriginInput.value = ''; + input.value = ''; } } + /** */ async _updatePermissions() { const permissions = await this._settingsController.permissionsUtil.getAllPermissions(); this._onPermissionsChanged({permissions}); } + /** + * @param {string} origin + * @param {boolean} enabled + * @returns {Promise} + */ async _setOriginPermissionEnabled(origin, enabled) { let added = false; try { added = await this._settingsController.permissionsUtil.setPermissionsGranted({origins: [origin]}, enabled); } catch (e) { - this._errorContainer.hidden = false; - this._errorContainer.textContent = e.message; + const errorContainer = /** @type {HTMLElement} */ (this._errorContainer); + errorContainer.hidden = false; + errorContainer.textContent = e instanceof Error ? e.message : `${e}`; } if (!added) { return false; } await this._updatePermissions(); -- cgit v1.2.3 From 208c43edbd714041b7f956d288e29172f1c0ce78 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Mon, 27 Nov 2023 14:11:31 -0500 Subject: Update some common types --- .vscode/settings.json | 2 +- ext/js/pages/settings/anki-controller.js | 10 +++++----- ext/js/pages/settings/anki-templates-controller.js | 4 ++-- ext/js/pages/settings/audio-controller.js | 6 +++--- ext/js/pages/settings/backup-controller.js | 4 ++-- ext/js/pages/settings/collapsible-dictionary-controller.js | 4 ++-- ext/js/pages/settings/dictionary-controller.js | 6 +++--- ext/js/pages/settings/dictionary-import-controller.js | 4 ++-- .../pages/settings/extension-keyboard-shortcuts-controller.js | 4 ++-- ext/js/pages/settings/generic-setting-controller.js | 4 ++-- ext/js/pages/settings/keyboard-shortcuts-controller.js | 6 +++--- ext/js/pages/settings/nested-popups-controller.js | 4 ++-- ext/js/pages/settings/permissions-origin-controller.js | 4 ++-- ext/js/pages/settings/permissions-toggle-controller.js | 4 ++-- ext/js/pages/settings/popup-preview-controller.js | 4 ++-- ext/js/pages/settings/profile-conditions-ui.js | 10 +++++----- ext/js/pages/settings/profile-controller.js | 4 ++-- ext/js/pages/settings/scan-inputs-controller.js | 4 ++-- ext/js/pages/settings/scan-inputs-simple-controller.js | 4 ++-- .../pages/settings/secondary-search-dictionary-controller.js | 4 ++-- .../settings/sentence-termination-characters-controller.js | 6 +++--- ext/js/pages/settings/settings-display-controller.js | 4 ++-- ext/js/pages/settings/sort-frequency-dictionary-controller.js | 4 ++-- .../pages/settings/translation-text-replacements-controller.js | 4 ++-- 24 files changed, 57 insertions(+), 57 deletions(-) (limited to 'ext/js/pages/settings/permissions-origin-controller.js') diff --git a/.vscode/settings.json b/.vscode/settings.json index 81cd7b9c..734f6360 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,7 +2,7 @@ "markdown.extension.toc.levels": "1..3", "editor.codeActionsOnSave": { "source.addMissingImports": false, - "source.organizeImports": true, + "source.organizeImports": false, "source.fixAll.eslint": false }, "eslint.format.enable": true, diff --git a/ext/js/pages/settings/anki-controller.js b/ext/js/pages/settings/anki-controller.js index 722459df..05bfdadc 100644 --- a/ext/js/pages/settings/anki-controller.js +++ b/ext/js/pages/settings/anki-controller.js @@ -26,10 +26,10 @@ import {yomitan} from '../../yomitan.js'; export class AnkiController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {AnkiConnect} */ this._ankiConnect = new AnkiConnect(); @@ -67,7 +67,7 @@ export class AnkiController { this._validateFieldsToken = null; } - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ get settingsController() { return this._settingsController; } @@ -562,12 +562,12 @@ export class AnkiController { class AnkiCardController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController * @param {AnkiController} ankiController * @param {HTMLElement} node */ constructor(settingsController, ankiController, node) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {AnkiController} */ this._ankiController = ankiController; diff --git a/ext/js/pages/settings/anki-templates-controller.js b/ext/js/pages/settings/anki-templates-controller.js index a0ff96b2..875ade3c 100644 --- a/ext/js/pages/settings/anki-templates-controller.js +++ b/ext/js/pages/settings/anki-templates-controller.js @@ -23,12 +23,12 @@ import {yomitan} from '../../yomitan.js'; export class AnkiTemplatesController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController * @param {ModalController} modalController * @param {AnkiController} ankiController */ constructor(settingsController, modalController, ankiController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {ModalController} */ this._modalController = modalController; diff --git a/ext/js/pages/settings/audio-controller.js b/ext/js/pages/settings/audio-controller.js index 480597af..0bd56ff0 100644 --- a/ext/js/pages/settings/audio-controller.js +++ b/ext/js/pages/settings/audio-controller.js @@ -24,12 +24,12 @@ import {AudioSystem} from '../../media/audio-system.js'; */ export class AudioController extends EventDispatcher { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController * @param {ModalController} modalController */ constructor(settingsController, modalController) { super(); - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {ModalController} */ this._modalController = modalController; @@ -47,7 +47,7 @@ export class AudioController extends EventDispatcher { this._voices = []; } - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ get settingsController() { return this._settingsController; } diff --git a/ext/js/pages/settings/backup-controller.js b/ext/js/pages/settings/backup-controller.js index a05d0056..c701b975 100644 --- a/ext/js/pages/settings/backup-controller.js +++ b/ext/js/pages/settings/backup-controller.js @@ -25,11 +25,11 @@ import {DictionaryController} from './dictionary-controller.js'; export class BackupController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController * @param {?ModalController} modalController */ constructor(settingsController, modalController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {?ModalController} */ this._modalController = modalController; diff --git a/ext/js/pages/settings/collapsible-dictionary-controller.js b/ext/js/pages/settings/collapsible-dictionary-controller.js index a508bae4..355292ad 100644 --- a/ext/js/pages/settings/collapsible-dictionary-controller.js +++ b/ext/js/pages/settings/collapsible-dictionary-controller.js @@ -21,10 +21,10 @@ import {yomitan} from '../../yomitan.js'; export class CollapsibleDictionaryController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {?import('core').TokenObject} */ this._getDictionaryInfoToken = null; diff --git a/ext/js/pages/settings/dictionary-controller.js b/ext/js/pages/settings/dictionary-controller.js index 85f7493f..aa59bb97 100644 --- a/ext/js/pages/settings/dictionary-controller.js +++ b/ext/js/pages/settings/dictionary-controller.js @@ -335,12 +335,12 @@ class DictionaryExtraInfo { export class DictionaryController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController * @param {ModalController} modalController * @param {StatusFooter} statusFooter */ constructor(settingsController, modalController, statusFooter) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {ModalController} */ this._modalController = modalController; @@ -494,7 +494,7 @@ export class DictionaryController { } /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController * @param {import('dictionary-importer').Summary[]|undefined} dictionaries * @param {import('settings').Options|undefined} optionsFull * @param {boolean} modifyGlobalSettings diff --git a/ext/js/pages/settings/dictionary-import-controller.js b/ext/js/pages/settings/dictionary-import-controller.js index af8c2fcd..04128b1a 100644 --- a/ext/js/pages/settings/dictionary-import-controller.js +++ b/ext/js/pages/settings/dictionary-import-controller.js @@ -24,12 +24,12 @@ import {DictionaryController} from './dictionary-controller.js'; export class DictionaryImportController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController * @param {ModalController} modalController * @param {StatusFooter} statusFooter */ constructor(settingsController, modalController, statusFooter) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {ModalController} */ this._modalController = modalController; diff --git a/ext/js/pages/settings/extension-keyboard-shortcuts-controller.js b/ext/js/pages/settings/extension-keyboard-shortcuts-controller.js index 6c9a3864..d36d965a 100644 --- a/ext/js/pages/settings/extension-keyboard-shortcuts-controller.js +++ b/ext/js/pages/settings/extension-keyboard-shortcuts-controller.js @@ -23,10 +23,10 @@ import {KeyboardMouseInputField} from './keyboard-mouse-input-field.js'; export class ExtensionKeyboardShortcutController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {?HTMLButtonElement} */ this._resetButton = null; diff --git a/ext/js/pages/settings/generic-setting-controller.js b/ext/js/pages/settings/generic-setting-controller.js index 47c0d6fe..8666614b 100644 --- a/ext/js/pages/settings/generic-setting-controller.js +++ b/ext/js/pages/settings/generic-setting-controller.js @@ -22,10 +22,10 @@ import {DOMDataBinder} from '../../dom/dom-data-binder.js'; export class GenericSettingController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {import('settings-modifications').OptionsScopeType} */ this._defaultScope = 'profile'; diff --git a/ext/js/pages/settings/keyboard-shortcuts-controller.js b/ext/js/pages/settings/keyboard-shortcuts-controller.js index 2fb1ff8a..32f22499 100644 --- a/ext/js/pages/settings/keyboard-shortcuts-controller.js +++ b/ext/js/pages/settings/keyboard-shortcuts-controller.js @@ -24,10 +24,10 @@ import {KeyboardMouseInputField} from './keyboard-mouse-input-field.js'; export class KeyboardShortcutController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {KeyboardShortcutHotkeyEntry[]} */ this._entries = []; @@ -71,7 +71,7 @@ export class KeyboardShortcutController { ]); } - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ get settingsController() { return this._settingsController; } diff --git a/ext/js/pages/settings/nested-popups-controller.js b/ext/js/pages/settings/nested-popups-controller.js index ac078a0c..c01986ab 100644 --- a/ext/js/pages/settings/nested-popups-controller.js +++ b/ext/js/pages/settings/nested-popups-controller.js @@ -20,10 +20,10 @@ import {DocumentUtil} from '../../dom/document-util.js'; export class NestedPopupsController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {number} */ this._popupNestingMaxDepth = 0; diff --git a/ext/js/pages/settings/permissions-origin-controller.js b/ext/js/pages/settings/permissions-origin-controller.js index 9cad2fb2..a4271f92 100644 --- a/ext/js/pages/settings/permissions-origin-controller.js +++ b/ext/js/pages/settings/permissions-origin-controller.js @@ -20,10 +20,10 @@ import {EventListenerCollection} from '../../core.js'; export class PermissionsOriginController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {?HTMLElement} */ this._originContainer = null; diff --git a/ext/js/pages/settings/permissions-toggle-controller.js b/ext/js/pages/settings/permissions-toggle-controller.js index ed4f7a8c..85752a7e 100644 --- a/ext/js/pages/settings/permissions-toggle-controller.js +++ b/ext/js/pages/settings/permissions-toggle-controller.js @@ -20,10 +20,10 @@ import {ObjectPropertyAccessor} from '../../general/object-property-accessor.js' export class PermissionsToggleController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {?NodeListOf} */ this._toggles = null; diff --git a/ext/js/pages/settings/popup-preview-controller.js b/ext/js/pages/settings/popup-preview-controller.js index c555f9cf..7239ca17 100644 --- a/ext/js/pages/settings/popup-preview-controller.js +++ b/ext/js/pages/settings/popup-preview-controller.js @@ -18,10 +18,10 @@ export class PopupPreviewController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {string} */ this._targetOrigin = chrome.runtime.getURL('/').replace(/\/$/, ''); diff --git a/ext/js/pages/settings/profile-conditions-ui.js b/ext/js/pages/settings/profile-conditions-ui.js index 5ebd9011..8711518f 100644 --- a/ext/js/pages/settings/profile-conditions-ui.js +++ b/ext/js/pages/settings/profile-conditions-ui.js @@ -29,11 +29,11 @@ import {KeyboardMouseInputField} from './keyboard-mouse-input-field.js'; */ export class ProfileConditionsUI extends EventDispatcher { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { super(); - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {?import('environment').OperatingSystem} */ this._os = null; @@ -114,7 +114,7 @@ export class ProfileConditionsUI extends EventDispatcher { ]); } - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ get settingsController() { return this._settingsController; } @@ -473,7 +473,7 @@ class ProfileConditionGroupUI { this._eventListeners = new EventListenerCollection(); } - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ get settingsController() { return this._parent.settingsController; } @@ -652,7 +652,7 @@ class ProfileConditionUI { this._inputEventListeners = new EventListenerCollection(); } - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ get settingsController() { return this._parent.parent.settingsController; } diff --git a/ext/js/pages/settings/profile-controller.js b/ext/js/pages/settings/profile-controller.js index a74a7567..64c2e2fd 100644 --- a/ext/js/pages/settings/profile-controller.js +++ b/ext/js/pages/settings/profile-controller.js @@ -22,11 +22,11 @@ import {ProfileConditionsUI} from './profile-conditions-ui.js'; export class ProfileController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController * @param {ModalController} modalController */ constructor(settingsController, modalController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {ModalController} */ this._modalController = modalController; diff --git a/ext/js/pages/settings/scan-inputs-controller.js b/ext/js/pages/settings/scan-inputs-controller.js index f294050b..0686540a 100644 --- a/ext/js/pages/settings/scan-inputs-controller.js +++ b/ext/js/pages/settings/scan-inputs-controller.js @@ -27,10 +27,10 @@ import {KeyboardMouseInputField} from './keyboard-mouse-input-field.js'; export class ScanInputsController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {?import('environment').OperatingSystem} */ this._os = null; diff --git a/ext/js/pages/settings/scan-inputs-simple-controller.js b/ext/js/pages/settings/scan-inputs-simple-controller.js index 1e422c5b..8d52af61 100644 --- a/ext/js/pages/settings/scan-inputs-simple-controller.js +++ b/ext/js/pages/settings/scan-inputs-simple-controller.js @@ -22,10 +22,10 @@ import {ScanInputsController} from './scan-inputs-controller.js'; export class ScanInputsSimpleController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {?HTMLInputElement} */ this._middleMouseButtonScan = null; diff --git a/ext/js/pages/settings/secondary-search-dictionary-controller.js b/ext/js/pages/settings/secondary-search-dictionary-controller.js index 7c2d3907..b20bd475 100644 --- a/ext/js/pages/settings/secondary-search-dictionary-controller.js +++ b/ext/js/pages/settings/secondary-search-dictionary-controller.js @@ -21,10 +21,10 @@ import {yomitan} from '../../yomitan.js'; export class SecondarySearchDictionaryController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {?import('core').TokenObject} */ this._getDictionaryInfoToken = null; diff --git a/ext/js/pages/settings/sentence-termination-characters-controller.js b/ext/js/pages/settings/sentence-termination-characters-controller.js index 3edabb67..80c4cdbe 100644 --- a/ext/js/pages/settings/sentence-termination-characters-controller.js +++ b/ext/js/pages/settings/sentence-termination-characters-controller.js @@ -20,10 +20,10 @@ import {EventListenerCollection} from '../../core.js'; export class SentenceTerminationCharactersController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {SentenceTerminationCharacterEntry[]} */ this._entries = []; @@ -39,7 +39,7 @@ export class SentenceTerminationCharactersController { this._emptyIndicator = null; } - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ get settingsController() { return this._settingsController; } diff --git a/ext/js/pages/settings/settings-display-controller.js b/ext/js/pages/settings/settings-display-controller.js index bcbd6a44..ca4fc32e 100644 --- a/ext/js/pages/settings/settings-display-controller.js +++ b/ext/js/pages/settings/settings-display-controller.js @@ -22,11 +22,11 @@ import {SelectorObserver} from '../../dom/selector-observer.js'; export class SettingsDisplayController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController * @param {ModalController} modalController */ constructor(settingsController, modalController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {ModalController} */ this._modalController = modalController; diff --git a/ext/js/pages/settings/sort-frequency-dictionary-controller.js b/ext/js/pages/settings/sort-frequency-dictionary-controller.js index 5c5841b1..e7759d95 100644 --- a/ext/js/pages/settings/sort-frequency-dictionary-controller.js +++ b/ext/js/pages/settings/sort-frequency-dictionary-controller.js @@ -20,10 +20,10 @@ import {yomitan} from '../../yomitan.js'; export class SortFrequencyDictionaryController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {?HTMLSelectElement} */ this._sortFrequencyDictionarySelect = null; diff --git a/ext/js/pages/settings/translation-text-replacements-controller.js b/ext/js/pages/settings/translation-text-replacements-controller.js index 690ccfe8..050db8d1 100644 --- a/ext/js/pages/settings/translation-text-replacements-controller.js +++ b/ext/js/pages/settings/translation-text-replacements-controller.js @@ -20,10 +20,10 @@ import {EventListenerCollection} from '../../core.js'; export class TranslationTextReplacementsController { /** - * @param {SettingsController} settingsController + * @param {import('./settings-controller.js').SettingsController} settingsController */ constructor(settingsController) { - /** @type {SettingsController} */ + /** @type {import('./settings-controller.js').SettingsController} */ this._settingsController = settingsController; /** @type {?HTMLElement} */ this._entryContainer = null; -- cgit v1.2.3