From a10945c770dc6c587f6130d45de29e2c98667b8f Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Sun, 21 Dec 2014 12:47:47 +0000 Subject: Exclusion; unique keys; update state on add/remove rule. --- pages/options.coffee | 29 +++++++++++++++-------------- pages/popup.html | 3 ++- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/pages/options.coffee b/pages/options.coffee index bad4732b..13d51f72 100644 --- a/pages/options.coffee +++ b/pages/options.coffee @@ -251,13 +251,27 @@ initOptionsPage = -> new type(name,enableSaveButton) initPopupPage = -> + exclusions = null chrome.tabs.getSelected null, (tab) -> document.getElementById("optionsLink").setAttribute "href", chrome.runtime.getURL("pages/options.html") + updateState = -> + rules = exclusions.readValueFromElement() + isEnabled = bgExclusions.getRule tab.url, rules + console.log isEnabled + $("state").innerHTML = + if isEnabled and isEnabled.passKeys + "Excluded: #{isEnabled.passKeys}" + else if isEnabled + "Disabled" + else + "Enabled" + onUpdated = -> $("helpText").innerHTML = "Type Ctrl-Enter to save and close." $("saveOptions").removeAttribute "disabled" $("saveOptions").innerHTML = "Save Changes" + updateState() if exclusions saveOptions = -> Option.saveOptions() @@ -277,21 +291,8 @@ initPopupPage = -> # Populate options. Just one, here. exclusions = new ExclusionRulesOption("exclusionRules", onUpdated, tab.url) - updateState = -> - rules = exclusions.readValueFromElement() - isEnabled = bgExclusions.getRule tab.url, rules - console.log isEnabled - $("state").innerHTML = - if isEnabled and isEnabled.passKeys - "Excluded: #{isEnabled.passKeys}" - else if isEnabled - "Disabled" - else - "Enabled" - updateState() - for event in ["keyup", "DOMNodeInserted", "DOMNodeRemoved"] - document.addEventListener event, updateState + document.addEventListener "keyup", updateState # # Initialization. diff --git a/pages/popup.html b/pages/popup.html index 370751ff..dcf123a9 100644 --- a/pages/popup.html +++ b/pages/popup.html @@ -44,6 +44,7 @@
+