diff options
| -rw-r--r-- | TODO | 5 | ||||
| -rw-r--r-- | better-scrumdo-background.js | 13 | ||||
| -rw-r--r-- | better-scrumdo.js | 9 | ||||
| -rw-r--r-- | manifest.json | 2 | ||||
| -rw-r--r-- | options.html | 22 | ||||
| -rw-r--r-- | options.js | 25 | 
6 files changed, 76 insertions, 0 deletions
| @@ -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); | 
