@@ -765,6 +765,9 @@ function sepiaFW_build_ui(){
765765 var lastDomEventTS = new Date ( ) . getTime ( ) ;
766766 //listener
767767 UI . trackIdleTime = function ( ) {
768+ function resetTimer ( ) {
769+ lastDomEventTS = new Date ( ) . getTime ( ) ;
770+ }
768771 //DOM Events
769772 document . addEventListener ( "keypress" , resetTimer ) ;
770773 document . addEventListener ( "mousemove" , resetTimer ) ;
@@ -775,9 +778,6 @@ function sepiaFW_build_ui(){
775778 document.onload = resetTimer;
776779 document.onscroll = resetTimer; // scrolling with arrow keys
777780 */
778- function resetTimer ( ) {
779- lastDomEventTS = new Date ( ) . getTime ( ) ;
780- }
781781 }
782782 //state
783783 UI . getIdleTime = function ( ) {
@@ -1143,12 +1143,16 @@ function sepiaFW_build_ui(){
11431143 var xDown = 0 ; var xUp = 0 ;
11441144 var yDown = 0 ; var yUp = 0 ;
11451145 var timeDown = 0 ;
1146+ var longPressTime = 625 ;
1147+ var timeDownTimer ;
1148+ var resetTimer ;
11461149 $swipeArea . mouseup ( function ( event ) { up ( this , event ) ;
11471150 } ) . mousedown ( function ( event ) { down ( this , event ) ;
11481151 //}).on('touchstart', function(event){ console.log('touchstart'); down(this, event);
11491152 //}).on('touchend', function(event){ console.log('touchend'); up(this, event);
11501153 } ) ;
11511154 function down ( that , ev ) {
1155+ //console.log('down');
11521156 if ( ! didDown ) {
11531157 didDown = true ;
11541158 didUp = false ;
@@ -1157,24 +1161,32 @@ function sepiaFW_build_ui(){
11571161 $ ( that ) . addClass ( 'sepiaFW-fullSize' ) ;
11581162 timeDown = new Date ( ) . getTime ( ) ;
11591163 //console.log(ev);
1164+ timeDownTimer = setTimeout ( function ( ) {
1165+ up ( that , ev ) ; //note: ev will not be up-to-date here
1166+ } , longPressTime ) ;
11601167 }
11611168 }
11621169 function up ( that , ev ) {
1170+ //console.log('up');
1171+ if ( timeDownTimer ) clearTimeout ( timeDownTimer ) ;
11631172 if ( ! didUp ) {
11641173 didUp = true ;
1165- xUp = ( ev . center ) ? ev . center . x : ev . clientX ;
1166- yUp = ( ev . center ) ? ev . center . y : ev . clientY ;
11671174 $ ( that ) . removeClass ( 'sepiaFW-fullSize' ) ;
1168- var moved = ( xDown - xUp ) * ( xDown - xUp ) + ( yDown - yUp ) * ( yDown - yUp ) ;
1169- //console.log(moved);
1170- if ( moved < 100 ) {
1171- click ( ev ) ;
1172- }
1175+ checkClick ( ev ) ;
11731176 resetTimer = setTimeout ( function ( ) {
11741177 didDown = false ;
11751178 } , 500 ) ;
11761179 }
11771180 }
1181+ function checkClick ( ev ) {
1182+ xUp = ( ev . center ) ? ev . center . x : ev . clientX ;
1183+ yUp = ( ev . center ) ? ev . center . y : ev . clientY ;
1184+ var moved = ( xDown - xUp ) * ( xDown - xUp ) + ( yDown - yUp ) * ( yDown - yUp ) ;
1185+ //console.log(moved);
1186+ if ( moved < 100 ) {
1187+ click ( ev ) ;
1188+ }
1189+ }
11781190 function click ( ev ) {
11791191 if ( onClickCallback ) {
11801192 onClickCallback ( ev ) ;
@@ -1191,7 +1203,7 @@ function sepiaFW_build_ui(){
11911203 //supports sepiaFW-events?
11921204 if ( UI . elementSupportsCustomTriggers ( elementMouseIsOver ) ) {
11931205 var durationDown = new Date ( ) . getTime ( ) - timeDown ;
1194- if ( timeDown && ( durationDown > 625 ) ) {
1206+ if ( timeDown && ( durationDown > longPressTime ) ) {
11951207 $ ( elementMouseIsOver ) . trigger ( 'sepiaFW-events' , { name : 'longpress' } ) ;
11961208 } else {
11971209 $ ( elementMouseIsOver ) . trigger ( 'sepiaFW-events' , { name : 'shortpress' } ) ;
0 commit comments