diff options
Diffstat (limited to '2016_lamp_browser/firefox-old/index.js')
-rw-r--r-- | 2016_lamp_browser/firefox-old/index.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/2016_lamp_browser/firefox-old/index.js b/2016_lamp_browser/firefox-old/index.js new file mode 100644 index 0000000..c83160e --- /dev/null +++ b/2016_lamp_browser/firefox-old/index.js @@ -0,0 +1,55 @@ +var { ToggleButton } = require('sdk/ui/button/toggle'); +var panels = require("sdk/panel"); +var self = require("sdk/self").data; +var pageMod = require("sdk/page-mod"); +var state = false; + +var button = ToggleButton({ + id: "my-button", + label: "lamp", + icon: { + "16": "./icon-16.png", + "32": "./icon-32.png", + "64": "./icon-64.png" + }, + onChange: handleChange +}); + +var panel = panels.Panel({ + width: 500, + height: 130, + contentURL: self.url("panel.html"), + contentScriptFile: self.url("onoff.js"), + onHide: handleHide +}); + +function handleChange(state) { + if (state.checked) { + panel.show({ + position: button + }); + } +} + +function handleHide() { + button.state('window', {checked: false}); +} + +var workers = []; +panel.port.on("lamp", function (text) { + if(text == "on"){ + state = true; + pageMod.PageMod({ + include: "*", + attachTo: ["existing", "top"], + contentScript: 'document.getElementsByTagName("body")[0].style = "transition: opacity 0.2s ease-in; opacity: 1"' + }); + } else if (text == "off"){ + state == false; + pageMod.PageMod({ + include: "*", + attachTo: ["existing", "top"], + contentScript: 'document.getElementsByTagName("body")[0].style = "transition: opacity 0.2s ease-in; opacity: 0.0"' + }); + } +}); |