aboutsummaryrefslogtreecommitdiffstats
path: root/options.js
diff options
context:
space:
mode:
authorTeddy Wing2017-03-18 19:49:02 +0100
committerTeddy Wing2017-03-18 19:50:21 +0100
commitc93938d102e05b7875355b80dd6ef64a4d7f9629 (patch)
tree5e8ef3b323cf3f43598b22ace271d9198bea19ab /options.js
parentc1ab874c9f7a4145a3e812d3a724406ecee45c92 (diff)
downloadchrome-timetasker-c93938d102e05b7875355b80dd6ef64a4d7f9629.tar.bz2
Add options.js
Code to save and restore options. Modified from the options code example shown here: https://developer.chrome.com/extensions/optionsV2 Having trouble here as I'm getting an error on `chrome.storage` is undefined. Not sure what's going on with that. Committing what I have and will have to keep investigating the problem.
Diffstat (limited to 'options.js')
-rw-r--r--options.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/options.js b/options.js
new file mode 100644
index 0000000..2e5253a
--- /dev/null
+++ b/options.js
@@ -0,0 +1,52 @@
+function save_options() {
+ var client = document.getElementById('client').value
+ var project = document.getElementById('project').value
+ var module = document.getElementById('module').value
+ var task = document.getElementById('task').value
+ var work_type = document.getElementById('work_type').value
+ var time = document.getElementById('time').value
+ var billable = document.getElementById('billable').checked
+
+ chrome.storage.sync.set({
+ client: client,
+ project: project,
+ module: module,
+ task: task,
+ work_type: work_type,
+ time: time,
+ billable: billable
+ }, function() {
+ // Update status to let user know options were saved.
+ var status = document.getElementById('status');
+ status.textContent = 'Options saved.';
+ setTimeout(function() {
+ status.textContent = '';
+ }, 750);
+ });
+}
+
+function restore_options() {
+ chrome.storage.sync.get({
+ client: '',
+ project: '',
+ module: '',
+ task: 'General Time - No Task',
+ work_type: '',
+ time: 7,
+ billable: true
+ }, function(items) {
+ conosle.log(items);
+ document.getElementById('client').value = items.client;
+ document.getElementById('project').value = items.project;
+ document.getElementById('module').value = items.module;
+ document.getElementById('task').value = items.task;
+ document.getElementById('work_type').value = items.work_type;
+ document.getElementById('time').value = items.time;
+ document.getElementById('billable').checked = items.billable;
+ });
+}
+
+document.addEventListener('DOMContentLoaded', restore_options);
+document
+ .getElementById('save')
+ .addEventListener('click', save_options);