aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--TODO5
-rw-r--r--better-scrumdo-background.js13
-rw-r--r--better-scrumdo.js9
-rw-r--r--manifest.json2
-rw-r--r--options.html22
-rw-r--r--options.js25
6 files changed, 76 insertions, 0 deletions
diff --git a/TODO b/TODO
index 83a9c9f..94b186c 100644
--- a/TODO
+++ b/TODO
@@ -1,6 +1,11 @@
TODO
====
+# 2013.02.24:
+v Add a Chrome options panel to allow users to select the refresh interval
+- If you press numbers and then Enter in a short enough amount of time, the
+ story corresponding to the numbers you typed in gets selected
+
# 2013.02.23:
> Create mechanism to select stories on board using arrow keys
v Use 'i' key (or other that makes sense) to bring up story info/edit modal
diff --git a/better-scrumdo-background.js b/better-scrumdo-background.js
index faec893..9082913 100644
--- a/better-scrumdo-background.js
+++ b/better-scrumdo-background.js
@@ -17,4 +17,17 @@
}
});
});
+
+
+ // set interval value
+ chrome.extension.onMessage.addListener(
+ function(request, sender, send_response) {
+ if (request.get_option) {
+ resp_hash = {};
+ resp_hash[request.get_option] = localStorage[request.get_option];
+
+ send_response(resp_hash);
+ }
+ }
+ );
})(); \ No newline at end of file
diff --git a/better-scrumdo.js b/better-scrumdo.js
index d2c4b2a..ce4196c 100644
--- a/better-scrumdo.js
+++ b/better-scrumdo.js
@@ -25,6 +25,15 @@
}
);
+ // Set reload interval to user-defined interval
+ chrome.extension.sendMessage({ get_option: 'refresh_interval' }, function(response) {
+ if (response.refresh_interval) {
+ clear_reload_interval();
+ RELOAD_INTERVAL = response.refresh_interval * 1000;
+ set_reload_interval();
+ }
+ });
+
var set_reload_interval = function() {
reload_interval_obj = window.setInterval(reload_page, RELOAD_INTERVAL);
};
diff --git a/manifest.json b/manifest.json
index 7f9142b..8dab69a 100644
--- a/manifest.json
+++ b/manifest.json
@@ -17,6 +17,8 @@
"css": ["better-scrumdo.css"]
}
],
+
+ "options_page": "options.html",
"permissions": [
"*://*.scrumdo.com/",
diff --git a/options.html b/options.html
new file mode 100644
index 0000000..083f5ba
--- /dev/null
+++ b/options.html
@@ -0,0 +1,22 @@
+<html>
+<head>
+ <title>ScrumDo Trellic Options</title>
+</head>
+
+<body>
+ <h1>ScrumDo Trellic Options</h1>
+
+ <div>
+ <label for="refresh-interval">Refresh Interval: </label>
+ <input type="text" id="refresh-interval" name="refresh-interval" />
+ in seconds (default: 60)
+ </div>
+
+ <br>
+ <div id="status"></div>
+ <button id="save">Save</button>
+</body>
+
+<script src="options.js"></script>
+
+</html> \ No newline at end of file
diff --git a/options.js b/options.js
new file mode 100644
index 0000000..f3c3f4a
--- /dev/null
+++ b/options.js
@@ -0,0 +1,25 @@
+// Saves options to localStorage.
+function save_options() {
+ var refresh_interval_el = document.getElementById("refresh-interval");
+ var refresh_interval = refresh_interval_el.value;
+ localStorage["refresh_interval"] = refresh_interval;
+
+ // Update status to let user know options were saved.
+ var status = document.getElementById("status");
+ status.innerHTML = "Options Saved.";
+ setTimeout(function() {
+ status.innerHTML = "";
+ }, 750);
+}
+
+// Restores select box state to saved value from localStorage.
+function restore_options() {
+ var refresh_interval = localStorage["refresh_interval"];
+ if (!refresh_interval) {
+ return;
+ }
+ var refresh_interval_el = document.getElementById("refresh-interval");
+ refresh_interval_el.value = refresh_interval;
+}
+document.addEventListener('DOMContentLoaded', restore_options);
+document.querySelector('#save').addEventListener('click', save_options);