aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/assets/js/click_a.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/assets/js/click_a.js')
-rw-r--r--app/src/main/assets/js/click_a.js69
1 files changed, 36 insertions, 33 deletions
diff --git a/app/src/main/assets/js/click_a.js b/app/src/main/assets/js/click_a.js
index 1ced820a..e3ea7f31 100644
--- a/app/src/main/assets/js/click_a.js
+++ b/app/src/main/assets/js/click_a.js
@@ -1,57 +1,60 @@
-// we will handle click events
-if (!window.hasOwnProperty('frost_click_a')) {
- console.log('Registering frost_click_a');
- window.frost_click_a = true;
+"use strict";
- var prevented = false;
+(function () {
- var _frostAClick = function(e) {
+ /*
+ * On top of the click event, we must stop it for long presses
+ * Since that will conflict with the context menu
+ * Note that we only override it on conditions where the context menu
+ * Will occur
+ */
+ var _frostAClick, _frostPreventClick, clickTimeout, prevented;
+ prevented = false;
+ _frostAClick = function _frostAClick(e) {
/*
* Commonality; check for valid target
*/
- var element = e.target || e.srcElement;
-
- if (element.tagName !== 'A') element = element.parentNode;
- //Notifications is two layers under
- if (element.tagName !== 'A') element = element.parentNode;
- if (element.tagName === 'A') {
+ var element, url;
+ element = e.target || e.srcElement;
+ if (element.tagName !== "A") {
+ element = element.parentNode;
+ }
+ // Notifications is two layers under
+ if (element.tagName !== "A") {
+ element = element.parentNode;
+ }
+ if (element.tagName === "A") {
if (!prevented) {
- var url = element.getAttribute('href');
- console.log('Click Intercept', url);
+ url = element.getAttribute("href");
+ console.log("Click Intercept " + url);
// if frost is injected, check if loading the url through an overlay works
- if (typeof Frost !== 'undefined' && Frost.loadUrl(url)) {
- e.stopPropagation();
- e.preventDefault();
+ if ((typeof Frost !== "undefined" && Frost !== null ? Frost.loadUrl(url) : void 0) === true) {
+ e.stopPropagation();
+ e.preventDefault();
}
} else {
- console.log('Click Intercept Prevented');
+ console.log("Click Intercept Prevented");
}
}
- }
+ };
- /*
- * On top of the click event, we must stop it for long presses
- * Since that will conflict with the context menu
- * Note that we only override it on conditions where the context menu
- * Will occur
- */
- var _frostPreventClick = function() {
- console.log('Click prevented')
+ _frostPreventClick = function _frostPreventClick() {
+ console.log("Click prevented");
prevented = true;
- }
+ };
- document.addEventListener('click', _frostAClick, true);
+ document.addEventListener("click", _frostAClick, true);
- var clickTimeout;
+ clickTimeout = void 0;
- document.addEventListener('touchstart', function _frostStart(e) {
+ document.addEventListener("touchstart", function (e) {
clickTimeout = setTimeout(_frostPreventClick, 400);
}, true);
- document.addEventListener('touchend', function _frostEnd(e) {
+ document.addEventListener("touchend", function (e) {
prevented = false;
clearTimeout(clickTimeout);
}, true);
-}
+}).call(undefined); \ No newline at end of file