summaryrefslogtreecommitdiff
path: root/old/server/app/static/js/util.js
diff options
context:
space:
mode:
Diffstat (limited to 'old/server/app/static/js/util.js')
-rw-r--r--old/server/app/static/js/util.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/old/server/app/static/js/util.js b/old/server/app/static/js/util.js
new file mode 100644
index 00000000..851f634a
--- /dev/null
+++ b/old/server/app/static/js/util.js
@@ -0,0 +1,32 @@
+var is_iphone = (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))
+var is_ipad = (navigator.userAgent.match(/iPad/i))
+var is_android = (navigator.userAgent.match(/Android/i))
+var is_mobile = is_iphone || is_ipad || is_android
+var is_desktop = ! is_mobile;
+
+document.body.parentNode.classList.add(is_desktop ? 'desktop' : 'mobile')
+
+function preventDefault(e){
+ e.preventDefault()
+ e.stopPropagation()
+}
+
+var decodeEntities = (function() {
+ // this prevents any overhead from creating the object each time
+ var element = document.createElement('div');
+
+ function decodeHTMLEntities (str) {
+ if(str && typeof str === 'string') {
+ // strip script/html tags
+ str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, '');
+ str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, '');
+ element.innerHTML = str;
+ str = element.textContent;
+ element.textContent = '';
+ }
+
+ return str;
+ }
+
+ return decodeHTMLEntities;
+})(); \ No newline at end of file