fix Backend prepare issues in settings
This commit is contained in:
parent
bd48d2f919
commit
e0edb30efd
@ -39,6 +39,8 @@ class Backend {
|
||||
url: window.location.href
|
||||
};
|
||||
|
||||
this.isPrepared = false;
|
||||
|
||||
this.clipboardPasteTarget = document.querySelector('#clipboard-paste-target');
|
||||
|
||||
this.popupWindow = null;
|
||||
@ -108,6 +110,8 @@ class Backend {
|
||||
}
|
||||
chrome.runtime.onMessage.addListener(this.onMessage.bind(this));
|
||||
|
||||
this.isPrepared = true;
|
||||
|
||||
const options = this.getOptions(this.optionsContext);
|
||||
if (options.general.showGuide) {
|
||||
chrome.tabs.create({url: chrome.runtime.getURL('/bg/guide.html')});
|
||||
|
@ -362,10 +362,10 @@ async function _onSettingsResetConfirmClick() {
|
||||
|
||||
// Setup
|
||||
|
||||
window.addEventListener('DOMContentLoaded', () => {
|
||||
function backupInitialize() {
|
||||
document.querySelector('#settings-export').addEventListener('click', _onSettingsExportClick, false);
|
||||
document.querySelector('#settings-import').addEventListener('click', _onSettingsImportClick, false);
|
||||
document.querySelector('#settings-import-file').addEventListener('change', _onSettingsImportFileChange, false);
|
||||
document.querySelector('#settings-reset').addEventListener('click', _onSettingsResetClick, false);
|
||||
document.querySelector('#settings-reset-modal-confirm').addEventListener('click', _onSettingsResetConfirmClick, false);
|
||||
}, false);
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ utilBackend, utilIsolate, utilBackgroundIsolate
|
||||
ankiErrorShown, ankiFieldsToDict
|
||||
ankiTemplatesUpdateValue, onAnkiOptionsChanged, onDictionaryOptionsChanged
|
||||
appearanceInitialize, audioSettingsInitialize, profileOptionsSetup, dictSettingsInitialize
|
||||
ankiInitialize, ankiTemplatesInitialize, storageInfoInitialize
|
||||
ankiInitialize, ankiTemplatesInitialize, storageInfoInitialize, backupInitialize
|
||||
*/
|
||||
|
||||
function getOptionsMutable(optionsContext) {
|
||||
@ -262,6 +262,8 @@ function showExtensionInformation() {
|
||||
|
||||
|
||||
async function onReady() {
|
||||
await yomichan.prepare();
|
||||
|
||||
showExtensionInformation();
|
||||
|
||||
formSetupEventListeners();
|
||||
@ -271,6 +273,7 @@ async function onReady() {
|
||||
await dictSettingsInitialize();
|
||||
ankiInitialize();
|
||||
ankiTemplatesInitialize();
|
||||
backupInitialize();
|
||||
|
||||
storageInfoInitialize();
|
||||
|
||||
|
@ -73,7 +73,11 @@ function utilStringHashCode(string) {
|
||||
}
|
||||
|
||||
function utilBackend() {
|
||||
return chrome.extension.getBackgroundPage().yomichanBackend;
|
||||
const backend = chrome.extension.getBackgroundPage().yomichanBackend;
|
||||
if (!backend.isPrepared) {
|
||||
throw new Error('Backend not ready yet');
|
||||
}
|
||||
return backend;
|
||||
}
|
||||
|
||||
async function utilAnkiGetModelNames() {
|
||||
|
Loading…
Reference in New Issue
Block a user