From b10a745c7f0f46f4f014e1ba7fa71172d7442b83 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sat, 8 Jul 2017 03:03:55 -0400 Subject: Dev-1.1.7 (#39) - feature overload + context menu * Address some crashlytics issues * Add text scaling * Kau fixes and cleanup * WIP formatter * Create in house url formatter * Update context menu * Update themes * Test proguard without R * Implement sharing and clean up context menu * Disable viewpager swipe on long press * Test keeping lib strings * Update changelog and proguard --- app/src/main/assets/js/context_a.js | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'app/src/main/assets/js/context_a.js') diff --git a/app/src/main/assets/js/context_a.js b/app/src/main/assets/js/context_a.js index 5e09ffcd..395dfca1 100644 --- a/app/src/main/assets/js/context_a.js +++ b/app/src/main/assets/js/context_a.js @@ -1,31 +1,46 @@ //context menu for links //largely mimics click_a.js +//we will also bind a listener here to notify the activity not to deal with viewpager scrolls +//since the long press is also associated witho if (!window.hasOwnProperty('frost_context_a')) { console.log('frost_context_a frost_click_a'); window.frost_context_a = true; - var _frostAContext = function(e) { + var longClick = false; + var _frostAContext = function(e) { + Frost.longClick(true); + longClick = true; /* * Commonality; check for valid target */ - var element = e.target || e.srcElement; + var element = e.target || e.currentTarget || e.srcElement; + if (!element) return; 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) return; if (url.includes('photoset_token')) return; + var text = element.parentNode.innerText; - - console.log('Context Intercept', url); - Frost.contextMenu(url); + // console.log('Context Intercept', element.tagName, element.id, element.className) + console.log('Context Content', url, text); + Frost.contextMenu(url, text); e.stopPropagation(); e.preventDefault(); } } document.addEventListener('contextmenu', _frostAContext, true); + + document.addEventListener('touchend', function _frostEnd(e) { + if (longClick) { + Frost.longClick(false); + longClick = false; + } + }, true); } -- cgit v1.2.3