diff options
Diffstat (limited to 'web/js/tools.js')
-rw-r--r-- | web/js/tools.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/web/js/tools.js b/web/js/tools.js new file mode 100644 index 00000000..76f27b7d --- /dev/null +++ b/web/js/tools.js @@ -0,0 +1,43 @@ +var tools = new function() { + var __debug = (new URL(window.location.href)).searchParams.get("debug"); + + this.makeRequest = function(method, url, callback, timeout=null) { + var http = new XMLHttpRequest(); + http.open(method, url, true); + http.onreadystatechange = callback; + http.timeout = (timeout ? timeout : 5000); + http.send(); + return http; + }; + + this.setOnClick = function(el, callback) { + el.onclick = el.ontouchend = function(event) { + event.preventDefault(); + callback(); + }; + }; + this.setOnDown = function(el, callback) { + el.onmousedown = el.ontouchstart = function(event) { + event.preventDefault(); + callback(); + }; + }; + this.setOnUp = function(el, callback) { + el.onmouseup = el.ontouchend = function(event) { + event.preventDefault(); + callback(); + }; + }; + + this.debug = function(...args) { + if (__debug) { + console.log("LOG/DEBUG", ...args); // eslint-disable-line no-console + } + }; + + this.info = (...args) => console.log("LOG/INFO", ...args); // eslint-disable-line no-console + this.error = (...args) => console.error("LOG/ERROR", ...args); // eslint-disable-line no-console +}; + +var $ = (id) => document.getElementById(id); +var $$ = (cls) => document.getElementsByClassName(cls); |