From aebfc2791d3e8cad543081b8b405ae42811c4aa4 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Tue, 26 Feb 2013 00:25:01 +0400 Subject: [PATCH] now long-click in full view switches to ribbon and in ribbon centers a page, while short-click in full view either does the default dance or if clicked on a different page toggles that and in ribbon opens the clicked page in full view... Signed-off-by: Alex A. Naanou --- index.html | 1 + layout.js | 35 ++++++++++++++++++++++++++++------- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index a21923f..81e0794 100755 --- a/index.html +++ b/index.html @@ -122,6 +122,7 @@ $(document).ready(function(){ $('.viewer') .on('scrollCancelled swipeUp swipeDown', function(){ setCurrentPage() }) .on('shortClick', handleClick) + .on('longClick', handleLongClick) .on('swipeLeft', handleSwipeLeft) .on('swipeRight', handleSwipeRight) .on('screenReleased', handleScrollRelease) diff --git a/layout.js b/layout.js index 003b9a2..27e2dde 100755 --- a/layout.js +++ b/layout.js @@ -61,15 +61,32 @@ var togglePageView = createCSSClassToggler( /************************************************** event handlers ***/ function handleClick(evt, data){ - // get page target and select it if it's within a page... - var target = $(data.orig_event.target) - target = getPageNumber( - target.hasClass('page') ? target - : target.parents('.page')) + var target = getPageNumber(data.orig_event.target) if(target != -1){ var mag = $('.magazine') - togglePageView() + if(togglePageView('?') == 'on'){ + setTransitionDuration(mag, DEFAULT_TRANSITION_DURATION) + } else { + togglePageView('on') + } + setCurrentPage(target) + + //setTransitionEasing(mag, 'ease') + setTransitionEasing(mag, 'cubic-bezier(0.33,0.66,0.66,1)') + } +} + +function handleLongClick(evt, data){ + var target = getPageNumber(data.orig_event.target) + if(target != -1){ + var mag = $('.magazine') + + if(togglePageView('?') == 'on'){ + togglePageView('off') + } else { + setTransitionDuration(mag, DEFAULT_TRANSITION_DURATION) + } setCurrentPage(target) //setTransitionEasing(mag, 'ease') @@ -354,9 +371,13 @@ function getMagazineOffset(page, scale, align){ function getPageNumber(page){ + page = $(page) + if(!page.hasClass('page')){ + page = page.parents('.page') + } // a page is given explicitly, get the next one... if(page != null){ - return $('.page').index($(page)) + return $('.page').index(page) } // get the next page relative to the current...