2016-04-06 2 views
0

Comment capturer la direction de l'événement de balayage dans un conteneur IronSwipeableContainer?comment capturer la direction de balayage de l'événement IronSwipeableContainer

@UiField IronSwipeableContainer swipeable; 
    ... 
    swipeable.addIronSwipeHandler(new IronSwipeEventHandler() { 

     @Override 
     public void onIronSwipe(IronSwipeEvent event) {     
      log.info("onIronSwiped! "); 
     } 
    }); 

Il est dans l'objet js. Je ne peux pas comprendre comment y accéder à partir de Java.

event_0_g$.nativeEvent_1_g$.detail.direction = "left" 

pour un crédit supplémentaire - Comment puis-je éviter le coup de congédier (balayer loin) le contenant?

Répondre

0

Je pense que la seule façon de gérer cela (avec le code Java courant généré à partir des éléments polymères de Vaadin) serait d'écrire une fonction JSNI et le transmettre event.getNativeElement()

http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html

Par exemple:

public void onIronSwipe(IronSwipeEvent event) {     
     String direction = determineDirection(event.getNativeEvent()); 
    } 
... 
public static native String determineDirection(JavaScriptObject event) /*-{ 
    return event.detail.direction; 
}-*/; 

En ce qui concerne la prévention des renvois, un meilleur flux de travail serait peut-être d'identifier à l'avance quels conteneurs ne devraient pas être rejetés et d'empêcher complètement le glissement en réglant class="disable-swipe"