Indicator as Clean Architecture

This commit is contained in:
Shin'ya Ueoka 2018-07-22 15:39:23 +09:00
parent b130fd5268
commit 42d902982a
7 changed files with 77 additions and 2 deletions

View file

@ -9,4 +9,17 @@ export default class ContentMessageClient {
});
}
}
async getAddonEnabled(tabId) {
let { enabled } = await browser.tabs.sendMessage(tabId, {
type: messages.ADDON_ENABLED_QUERY,
});
return enabled;
}
toggleAddonEnabled(tabId) {
return browser.tabs.sendMessage(tabId, {
type: messages.ADDON_TOGGLE_ENABLED,
});
}
}

View file

@ -2,12 +2,14 @@ import messages from '../../shared/messages';
import CompletionsController from '../controllers/completions';
import SettingController from '../controllers/setting';
import FindController from '../controllers/find';
import AddonEnabledController from '../controllers/addon-enabled';
export default class ContentMessageListener {
constructor() {
this.settingController = new SettingController();
this.completionsController = new CompletionsController();
this.findController = new FindController();
this.addonEnabledController = new AddonEnabledController();
}
run() {
@ -35,6 +37,8 @@ export default class ContentMessageListener {
return this.onFindGetKeyword();
case messages.FIND_SET_KEYWORD:
return this.onFindSetKeyword(message.keyword);
case messages.ADDON_ENABLED_RESPONSE:
return this.onAddonEnabledResponse(message.enabled);
}
}
@ -58,4 +62,8 @@ export default class ContentMessageListener {
onFindSetKeyword(keyword) {
return this.findController.setKeyword(keyword);
}
onAddonEnabledResponse(enabled) {
return this.addonEnabledController.indicate(enabled);
}
}