From f0af0858413b90c3f34649a9c8089bd4b7fd7ef5 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Fri, 26 Sep 2014 08:15:21 -0500 Subject: [PATCH] refactor(clickBlock): ensure click block fallback cancels --- js/angular/service/clickBlock.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/js/angular/service/clickBlock.js b/js/angular/service/clickBlock.js index 86d43b0274..22deba1bd9 100644 --- a/js/angular/service/clickBlock.js +++ b/js/angular/service/clickBlock.js @@ -4,21 +4,33 @@ IonicModule '$ionicBody', '$timeout', function($document, $ionicBody, $timeout) { + var fallbackTimer; + var cb = $document[0].createElement('div'); cb.className = 'click-block'; + return { show: function() { + // cancel the fallback timer + $timeout.cancel( fallbackTimer ); + if(cb.parentElement) { cb.classList.remove('hide'); } else { $ionicBody.append(cb); } - $timeout(function(){ + fallbackTimer = $timeout(function(){ cb.classList.add('hide'); }, 500); }, hide: function() { - cb.classList.add('hide'); + // cancel the fallback timer + $timeout.cancel( fallbackTimer ); + + // should be a minimum time it should hide + ionic.requestAnimationFrame(function(){ + cb.classList.add('hide'); + }); } }; }]);