Toggle add-on enabled by clicking indicator

This commit is contained in:
Shin'ya Ueoka 2018-05-06 22:47:58 +09:00
parent 129aae38df
commit 6d057a974b
3 changed files with 12 additions and 1 deletions

View file

@ -7,6 +7,7 @@ export default class IndicatorComponent {
messages.onMessage(this.onMessage.bind(this));
browser.browserAction.onClicked.addListener(this.onClicked);
browser.tabs.onActivated.addListener((info) => {
return browser.tabs.query({ currentWindow: true }).then(() => {
return this.onTabActivated(info);
@ -22,6 +23,12 @@ export default class IndicatorComponent {
});
}
onClicked(tab) {
browser.tabs.sendMessage(tab.id, {
type: messages.ADDON_TOGGLE_ENABLED,
});
}
onMessage(message) {
switch (message.type) {
case messages.ADDON_ENABLED_RESPONSE:

View file

@ -3,6 +3,7 @@ import KeymapperComponent from './keymapper';
import FollowComponent from './follow';
import * as settingActions from 'content/actions/setting';
import messages from 'shared/messages';
import * as addonActions from '../../actions/addon';
export default class Common {
constructor(win, store) {
@ -25,7 +26,9 @@ export default class Common {
onMessage(message) {
switch (message.type) {
case messages.SETTINGS_CHANGED:
this.reloadSettings();
return this.reloadSettings();
case messages.ADDON_TOGGLE_ENABLED:
return this.store.dispatch(addonActions.toggleEnabled());
}
}

View file

@ -50,6 +50,7 @@ export default {
ADDON_ENABLED_QUERY: 'addon.enabled.query',
ADDON_ENABLED_RESPONSE: 'addon.enabled.response',
ADDON_TOGGLE_ENABLED: 'addon.toggle.enabled',
OPEN_URL: 'open.url',