summaryrefslogtreecommitdiff
path: root/js/options
diff options
context:
space:
mode:
Diffstat (limited to 'js/options')
-rw-r--r--js/options/general.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/js/options/general.js b/js/options/general.js
new file mode 100644
index 00000000..f95ba04f
--- /dev/null
+++ b/js/options/general.js
@@ -0,0 +1,44 @@
+/*
+ * options/general.js - general settings tab for options panel
+ *
+ * Copyright (c) 2014 Marcin Ɓabanowski <marcin@6irc.net>
+ *
+ * Usage:
+ * $config['additional_javascript'][] = 'js/jquery.min.js';
+ * $config['additional_javascript'][] = 'js/options.js';
+ * $config['additional_javascript'][] = 'js/style-select.js';
+ * $config['additional_javascript'][] = 'js/options/general.js';
+ */
+
++function(){
+
+var tab = Options.add_tab("general", "home", _("General"));
+
+$(function(){
+ var stor = $("<div>"+_("Storage: ")+"</div>");
+ stor.appendTo(tab.content);
+
+ $("<button>"+_("Export")+"</button>").appendTo(stor).on("click", function() {
+ var str = JSON.stringify(localStorage);
+
+ $(".output").remove();
+ $("<input type='text' class='output'>").appendTo(stor).val(str);
+ });
+ $("<button>"+_("Import")+"</button>").appendTo(stor).on("click", function() {
+ var str = prompt(_("Paste your storage data"));
+ if (!str) return false;
+ var obj = JSON.parse(str);
+ if (!obj) return false;
+
+ localStorage.clear();
+ for (var i in obj) {
+ localStorage[i] = obj[i];
+ }
+
+ document.location.reload();
+ });
+
+ $("#style-select").detach().css({float:"none","margin-bottom":0}).appendTo(tab.content);
+});
+
+}();