aboutsummaryrefslogtreecommitdiff
path: root/html/preferences_panel/pref.js
diff options
context:
space:
mode:
authorNateN1222 <nathannichols454@gmail.com>2017-07-28 12:16:55 -0500
committerNateN1222 <nathannichols454@gmail.com>2017-07-28 12:16:55 -0500
commit08e2c650cacb372b913e60c91874af9fcbb786a0 (patch)
tree387ac2383fa7582d6e361b0408918e2e85d7058b /html/preferences_panel/pref.js
Initial commit
Diffstat (limited to 'html/preferences_panel/pref.js')
-rw-r--r--html/preferences_panel/pref.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/html/preferences_panel/pref.js b/html/preferences_panel/pref.js
new file mode 100644
index 0000000..aa88f5d
--- /dev/null
+++ b/html/preferences_panel/pref.js
@@ -0,0 +1,56 @@
+/**
+*
+* Sets global variable "webex" to either "chrome" or "browser" for
+* use on Chrome or a Firefox variant.
+*
+* Change this to support a new browser that isn't Chrome or Firefox,
+* given that it supports webExtensions.
+*
+* (Use the variable "webex" for all API calls after calling this)
+*/
+var store;
+function set_webex(){
+ if(typeof(browser) == "undefined"){
+ webex = chrome;
+ } else{
+ webex = browser;
+ }
+}
+set_webex();
+
+function storage_got(items){
+ var inputs = document.getElementsByTagName("input");
+ for(var i = 0; i < inputs.length; i++){
+ if(inputs[i].id.indexOf("pref_") != -1){
+ if(inputs[i].type == "checkbox" && items[inputs[i].id]){
+ inputs[i].checked = true;
+ }
+ if(inputs[i].type == "text"){
+ inputs[i].value = items[inputs[i].id];
+ }
+ }
+ }
+}
+webex.storage.local.get(storage_got);
+
+document.getElementById("save_changes").addEventListener("click", function(){
+ var inputs = document.getElementsByTagName("input");
+ // TODO: validate/sanitize the user inputs
+ var data = {};
+ for(var i = 0; i < inputs.length; i++){
+ if(inputs[i].id.indexOf("pref_") != -1){
+ var input_val = "";
+ if(inputs[i].type == "checkbox"){
+ input_val = inputs[i].checked;
+ } else{
+ input_val = inputs[i].value;
+ }
+ var input_id = inputs[i].id;
+ data[input_id] = input_val;
+ }
+ }
+ console.log(data);
+ webex.storage.local.set(data);
+});
+
+