show "off" on button when extension is disabled

This commit is contained in:
Alex Yatskov 2017-03-26 17:14:50 -07:00
parent fefadf7808
commit 5de3005d0b
2 changed files with 21 additions and 12 deletions

View File

@ -256,7 +256,7 @@ function optionsSave(options) {
* Dictionary
*/
function dictEnabled(options) {
function dictEnabledSet(options) {
const dictionaries = {};
for (const title in options.dictionaries) {
const dictionary = options.dictionaries[title];
@ -268,6 +268,16 @@ function dictEnabled(options) {
return dictionaries;
}
function dictConfigured(options) {
for (const title in options.dictionaries) {
if (options.dictionaries[title].enabled) {
return true;
}
}
return false;
}
function dictRowsSort(rows, options) {
return rows.sort((ra, rb) => {
const pa = (options.dictionaries[ra.title] || {}).priority || 0;

View File

@ -37,16 +37,15 @@ window.yomichan = new class {
optionsSet(options) {
this.options = options;
let configured = false;
for (const title in options.dictionaries) {
if (options.dictionaries[title].enabled) {
configured = true;
break;
}
}
if (!options.general.enable) {
chrome.browserAction.setBadgeBackgroundColor({color: '#d9534f'});
chrome.browserAction.setBadgeText({text: 'off'});
} else if (!dictConfigured(options)) {
chrome.browserAction.setBadgeBackgroundColor({color: '#f0ad4e'});
chrome.browserAction.setBadgeText({text: configured ? '' : '!'});
chrome.browserAction.setBadgeText({text: '!'});
} else {
chrome.browserAction.setBadgeText({text: ''});
}
if (options.anki.enable) {
this.anki = new AnkiConnect(this.options.anki.server);
@ -108,13 +107,13 @@ window.yomichan = new class {
this.translator.findTermsGrouped.bind(this.translator) :
this.translator.findTerms.bind(this.translator);
return searcher(text, dictEnabled(this.options), this.options.general.softKatakana).then(({definitions, length}) => {
return searcher(text, dictEnabledSet(this.options), this.options.general.softKatakana).then(({definitions, length}) => {
return {length, definitions: definitions.slice(0, this.options.general.maxResults)};
});
}
kanjiFind(text) {
return this.translator.findKanji(text, dictEnabled(this.options)).then(definitions => {
return this.translator.findKanji(text, dictEnabledSet(this.options)).then(definitions => {
return definitions.slice(0, this.options.general.maxResults);
});
}