diff options
author | Allan Wang <me@allanwang.ca> | 2017-07-07 03:26:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-07 03:26:55 -0400 |
commit | 6adfc496374eb88919f70a240eb15a726d2c18e0 (patch) | |
tree | 7cba34515bde7d840d37c50c397e948407776cc9 /app/src/main/assets/js | |
parent | bb70ed737d98abbd6164b66ac5bd667553b312bd (diff) | |
download | frost-6adfc496374eb88919f70a240eb15a726d2c18e0.tar.gz frost-6adfc496374eb88919f70a240eb15a726d2c18e0.tar.bz2 frost-6adfc496374eb88919f70a240eb15a726d2c18e0.zip |
Dev 1.1.6 (#33) - Fix play store listing, add sharing options, update css & jsv1.1.6
* Remove play store listing updates
* Fix up listing
* Combine url getters for overlay activity
* Begin building context menu programmatically
* Update css and js
Diffstat (limited to 'app/src/main/assets/js')
-rw-r--r-- | app/src/main/assets/js/click_a.js | 36 | ||||
-rw-r--r-- | app/src/main/assets/js/click_a.min.js | 35 | ||||
-rw-r--r-- | app/src/main/assets/js/click_interceptor.js | 9 | ||||
-rw-r--r-- | app/src/main/assets/js/click_interceptor.min.js | 8 | ||||
-rw-r--r-- | app/src/main/assets/js/context_a.js | 31 | ||||
-rw-r--r-- | app/src/main/assets/js/context_a.min.js | 15 |
6 files changed, 100 insertions, 34 deletions
diff --git a/app/src/main/assets/js/click_a.js b/app/src/main/assets/js/click_a.js index aabcd7e3..27b09a7e 100644 --- a/app/src/main/assets/js/click_a.js +++ b/app/src/main/assets/js/click_a.js @@ -3,7 +3,14 @@ if (!window.hasOwnProperty('frost_click_a')) { console.log('Registering frost_click_a'); window.frost_click_a = true; + var prevented = false; + var _frostAClick = function(e) { + + + /* + * Commonality; check for valid target + */ var element = e.target || e.srcElement; if (element.tagName !== 'A') element = element.parentNode; //Notifications is two layers under @@ -11,12 +18,37 @@ if (!window.hasOwnProperty('frost_click_a')) { if (element.tagName === 'A' && element.getAttribute('href') !== '#') { var url = element.getAttribute('href'); if (url.includes('photoset_token')) return; - console.log('Click Intercept', url); - Frost.loadUrl(url); + + + + + if (!prevented) { + console.log('Click Intercept', url); + Frost.loadUrl(url); + } e.stopPropagation(); e.preventDefault(); } } + /* + * 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') + prevented = true; + } + document.addEventListener('click', _frostAClick, true); + + document.addEventListener('touchstart', function _frostStart(e) { + setTimeout(_frostPreventClick, 500); + }, true); + + document.addEventListener('touchend', function _frostEnd(e) { + prevented = false; + }, true); } diff --git a/app/src/main/assets/js/click_a.min.js b/app/src/main/assets/js/click_a.min.js index b09e7174..9f955705 100644 --- a/app/src/main/assets/js/click_a.min.js +++ b/app/src/main/assets/js/click_a.min.js @@ -1,17 +1,22 @@ if(!window.hasOwnProperty("frost_click_a")){ -console.log("Registering frost_click_a"); -window.frost_click_a=true; -var _frostAClick=function(e){ -var element=e.target||e.srcElement; -if(element.tagName!=="A")element=element.parentNode; -if(element.tagName!=="A")element=element.parentNode; -if(element.tagName==="A"&&element.getAttribute("href")!=="#"){ -var url=element.getAttribute("href"); -if(url.includes("photoset_token"))return; -console.log("Click Intercept",url); -Frost.loadUrl(url); -e.stopPropagation(); -e.preventDefault(); -}}; -document.addEventListener("click",_frostAClick,true); +console.log("Registering frost_click_a"), +window.frost_click_a=!0 +;var prevented=!1,_frostAClick=function(e){ +var t=e.target||e.srcElement +;if("A"!==t.tagName&&(t=t.parentNode),"A"!==t.tagName&&(t=t.parentNode), +"A"===t.tagName&&"#"!==t.getAttribute("href")){ +var n=t.getAttribute("href") +;if(n.includes("photoset_token"))return +;prevented||(console.log("Click Intercept",n), +Frost.loadUrl(n)),e.stopPropagation(), +e.preventDefault() +} +},_frostPreventClick=function(){ +console.log("Click prevented"),prevented=!0 +} +;document.addEventListener("click",_frostAClick,!0),document.addEventListener("touchstart",function(e){ +setTimeout(_frostPreventClick,500) +},!0),document.addEventListener("touchend",function(e){ +prevented=!1 +},!0) }
\ No newline at end of file diff --git a/app/src/main/assets/js/click_interceptor.js b/app/src/main/assets/js/click_interceptor.js deleted file mode 100644 index debf85dc..00000000 --- a/app/src/main/assets/js/click_interceptor.js +++ /dev/null @@ -1,9 +0,0 @@ -// we will handle click events -if (!window.hasOwnProperty('frost_click_interceptor')) { - console.log('Registering frost_click_interceptor'); - window.frost_click_interceptor = true; - document.addEventListener('click', function _menuClick(e) { - var element = e.target || e.srcElement; - console.log(element.tagName); - }, true); -} diff --git a/app/src/main/assets/js/click_interceptor.min.js b/app/src/main/assets/js/click_interceptor.min.js deleted file mode 100644 index 45649781..00000000 --- a/app/src/main/assets/js/click_interceptor.min.js +++ /dev/null @@ -1,8 +0,0 @@ -if(!window.hasOwnProperty("frost_click_interceptor")){ -console.log("Registering frost_click_interceptor"); -window.frost_click_interceptor=true; -document.addEventListener("click",function _menuClick(e){ -var element=e.target||e.srcElement; -console.log(element.tagName); -},true); -}
\ No newline at end of file diff --git a/app/src/main/assets/js/context_a.js b/app/src/main/assets/js/context_a.js new file mode 100644 index 00000000..5e09ffcd --- /dev/null +++ b/app/src/main/assets/js/context_a.js @@ -0,0 +1,31 @@ +//context menu for links +//largely mimics click_a.js +if (!window.hasOwnProperty('frost_context_a')) { + console.log('frost_context_a frost_click_a'); + window.frost_context_a = true; + + var _frostAContext = function(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' && element.getAttribute('href') !== '#') { + var url = element.getAttribute('href'); + if (url.includes('photoset_token')) return; + + + + console.log('Context Intercept', url); + Frost.contextMenu(url); + e.stopPropagation(); + e.preventDefault(); + } + } + + document.addEventListener('contextmenu', _frostAContext, true); +} diff --git a/app/src/main/assets/js/context_a.min.js b/app/src/main/assets/js/context_a.min.js new file mode 100644 index 00000000..dc68cb3b --- /dev/null +++ b/app/src/main/assets/js/context_a.min.js @@ -0,0 +1,15 @@ +if(!window.hasOwnProperty("frost_context_a")){ +console.log("frost_context_a frost_click_a"), +window.frost_context_a=!0 +;var _frostAContext=function(t){ +var e=t.target||t.srcElement +;if("A"!==e.tagName&&(e=e.parentNode),"A"!==e.tagName&&(e=e.parentNode), +"A"===e.tagName&&"#"!==e.getAttribute("href")){ +var o=e.getAttribute("href") +;if(o.includes("photoset_token"))return +;console.log("Context Intercept",o),Frost.contextMenu(o), +t.stopPropagation(),t.preventDefault() +} +} +;document.addEventListener("contextmenu",_frostAContext,!0) +}
\ No newline at end of file |