parent
2c366ac3b1
commit
129aae38df
9 changed files with 86 additions and 3 deletions
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1,38 @@ |
||||
import * as indicators from '../shared/indicators'; |
||||
import messages from 'shared/messages'; |
||||
|
||||
export default class IndicatorComponent { |
||||
constructor(store) { |
||||
this.store = store; |
||||
|
||||
messages.onMessage(this.onMessage.bind(this)); |
||||
|
||||
browser.tabs.onActivated.addListener((info) => { |
||||
return browser.tabs.query({ currentWindow: true }).then(() => { |
||||
return this.onTabActivated(info); |
||||
}); |
||||
}); |
||||
} |
||||
|
||||
onTabActivated(info) { |
||||
return browser.tabs.sendMessage(info.tabId, { |
||||
type: messages.ADDON_ENABLED_QUERY, |
||||
}).then((resp) => { |
||||
return this.updateIndicator(resp.enabled); |
||||
}); |
||||
} |
||||
|
||||
onMessage(message) { |
||||
switch (message.type) { |
||||
case messages.ADDON_ENABLED_RESPONSE: |
||||
return this.updateIndicator(message.enabled); |
||||
} |
||||
} |
||||
|
||||
updateIndicator(enabled) { |
||||
if (enabled) { |
||||
return indicators.enable(); |
||||
} |
||||
return indicators.disable(); |
||||
} |
||||
} |
@ -0,0 +1,13 @@ |
||||
const enable = () => { |
||||
return browser.browserAction.setIcon({ |
||||
path: 'resources/enabled_32x32.png', |
||||
}); |
||||
}; |
||||
|
||||
const disable = () => { |
||||
return browser.browserAction.setIcon({ |
||||
path: 'resources/disabled_32x32.png', |
||||
}); |
||||
}; |
||||
|
||||
export { enable, disable }; |
Reference in new issue