aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiernov <piernov@piernov.org>2016-04-24 22:28:22 +0200
committerpiernov <piernov@piernov.org>2016-04-24 22:28:22 +0200
commit96b345cdd68e0d5f434cd1bd25417e0b9eb62ba6 (patch)
treec28d1865e53bc7ab6334936e996c26dd9969e7fa
parent5ff6c7051867ed14ecbbc391709f25106c1bef1f (diff)
downloadcandybox-96b345cdd68e0d5f434cd1bd25417e0b9eb62ba6.tar.gz
candybox-96b345cdd68e0d5f434cd1bd25417e0b9eb62ba6.tar.bz2
candybox-96b345cdd68e0d5f434cd1bd25417e0b9eb62ba6.tar.xz
candybox-96b345cdd68e0d5f434cd1bd25417e0b9eb62ba6.zip
Add JS GUI helpers
-rw-r--r--js/gui.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/js/gui.js b/js/gui.js
new file mode 100644
index 0000000..bdf1710
--- /dev/null
+++ b/js/gui.js
@@ -0,0 +1,42 @@
+var MESSAGE_TIMEOUT = 4000;
+
+function changeTab() {
+ var hashtype = window.location.hash.substr(1,3);
+ if(hashtype != "tab") return;
+ var id = window.location.hash.substr(4);
+ var tabs = document.querySelectorAll("#tabs-panel > ul > li");
+ for(var i=0; i < tabs.length; i++) {
+ if(i == id-1)
+ tabs[i].className = "active";
+ else
+ tabs[i].className = "";
+ }
+
+}
+
+function showMessage(type, msg) {
+ var msg_box = document.getElementById(type+"-box");
+ msg_box.style.display = "initial";
+ var msg_list = msg_box.firstElementChild.firstElementChild.firstElementChild;
+ msg_list.innerHTML = "<li>" + msg + "</li>\n" + msg_list.innerHTML;
+
+ window.setTimeout(hideMessage.bind(null, type), MESSAGE_TIMEOUT);
+}
+
+function hideMessage(type) {
+ var msg_box = document.getElementById(type+"-box");
+ var msg_list = msg_box.firstElementChild.firstElementChild.firstElementChild;
+ var item = msg_list.lastElementChild;
+ msg_list.removeChild(item);
+
+ if(msg_list.children.length <= 0)
+ msg_box.style.display = "none";
+}
+
+function showError(msg) {
+ showMessage("error", msg);
+}
+
+function showInfo(msg) {
+ showMessage("info", msg);
+}