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-toggle-controller.js | 45 ++++++++++++++++++---- 1 file changed, 38 insertions(+), 7 deletions(-) (limited to 'ext/js/pages/settings/permissions-toggle-controller.js') diff --git a/ext/js/pages/settings/permissions-toggle-controller.js b/ext/js/pages/settings/permissions-toggle-controller.js index 0e486c1e..ed4f7a8c 100644 --- a/ext/js/pages/settings/permissions-toggle-controller.js +++ b/ext/js/pages/settings/permissions-toggle-controller.js @@ -19,11 +19,17 @@ import {ObjectPropertyAccessor} from '../../general/object-property-accessor.js'; export class PermissionsToggleController { + /** + * @param {SettingsController} settingsController + */ constructor(settingsController) { + /** @type {SettingsController} */ this._settingsController = settingsController; + /** @type {?NodeListOf} */ this._toggles = null; } + /** */ async prepare() { this._toggles = document.querySelectorAll('.permissions-toggle'); @@ -34,14 +40,18 @@ export class PermissionsToggleController { this._settingsController.on('permissionsChanged', this._onPermissionsChanged.bind(this)); const options = await this._settingsController.getOptions(); - this._onOptionsChanged({options}); + const optionsContext = this._settingsController.getOptionsContext(); + this._onOptionsChanged({options, optionsContext}); } // Private + /** + * @param {import('settings-controller').OptionsChangedEvent} details + */ _onOptionsChanged({options}) { let accessor = null; - for (const toggle of this._toggles) { + for (const toggle of /** @type {NodeListOf} */ (this._toggles)) { const {permissionsSetting} = toggle.dataset; if (typeof permissionsSetting !== 'string') { continue; } @@ -61,8 +71,11 @@ export class PermissionsToggleController { this._updateValidity(); } + /** + * @param {Event} e + */ async _onPermissionsToggleChange(e) { - const toggle = e.currentTarget; + const toggle = /** @type {HTMLInputElement} */ (e.currentTarget); let value = toggle.checked; const valuePre = !value; const {permissionsSetting} = toggle.dataset; @@ -90,9 +103,13 @@ export class PermissionsToggleController { } } - _onPermissionsChanged({permissions: {permissions}}) { - const permissionsSet = new Set(permissions); - for (const toggle of this._toggles) { + /** + * @param {import('settings-controller').PermissionsChangedEvent} details + */ + _onPermissionsChanged({permissions}) { + const permissions2 = permissions.permissions; + const permissionsSet = new Set(typeof permissions2 !== 'undefined' ? permissions2 : []); + for (const toggle of /** @type {NodeListOf} */ (this._toggles)) { const {permissionsSetting} = toggle.dataset; const hasPermissions = this._hasAll(permissionsSet, this._getRequiredPermissions(toggle)); @@ -105,17 +122,27 @@ export class PermissionsToggleController { } } + /** + * @param {HTMLInputElement} toggle + * @param {boolean} valid + */ _setToggleValid(toggle, valid) { - const relative = toggle.closest('.settings-item'); + const relative = /** @type {?HTMLElement} */ (toggle.closest('.settings-item')); if (relative === null) { return; } relative.dataset.invalid = `${!valid}`; } + /** */ async _updateValidity() { const permissions = await this._settingsController.permissionsUtil.getAllPermissions(); this._onPermissionsChanged({permissions}); } + /** + * @param {Set} set + * @param {string[]} values + * @returns {boolean} + */ _hasAll(set, values) { for (const value of values) { if (!set.has(value)) { return false; } @@ -123,6 +150,10 @@ export class PermissionsToggleController { return true; } + /** + * @param {HTMLInputElement} toggle + * @returns {string[]} + */ _getRequiredPermissions(toggle) { const requiredPermissions = toggle.dataset.requiredPermissions; return (typeof requiredPermissions === 'string' && requiredPermissions.length > 0 ? requiredPermissions.split(' ') : []); -- 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-toggle-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