2011-12-21 9 views
3

種類にかかわらず、Event Busで送信されたすべてのイベントを聴きたいと思っています。これどうやってするの?GWTイベントバスでディスパッチされたすべてのイベントを聴くには?

+1

トラヴィス、これはかなり興味深い質問です。 @Thomas Broyerが以下に示唆したように進めば、同じことをしようとする人のためにいくつかのソリューションの詳細を投稿すればそれは素晴らしいだろう。あなたの拡張イベントバスに追加のメソッドを導入することを諦めるのかどうかを知ることは面白いでしょう。 –

+0

私はBroyerの提案と一緒に行った - うまくいくようです。今日は仕事の後に私のソリューションを掲載します。 –

+2

あなたの解決策はどこですか? –

答えて

4

は、ここにサンプル溶液である:

public class MyEventBus extends SimpleEventBus { 

    @Override 
    public void fireEvent(GwtEvent<?> event) { 
     trackEvent("Event Fired", event.getClass().toString()); 
     super.fireEvent(event); 
    } 

    public native void trackEvent(String category, String action) /*-{ 
     $wnd._gaq.push([ '_trackEvent', category, action ]); 
    }-*/; 
} 
3

SimpleEventBusでこれを行なわせることはできませんが、簡単にラップまたは拡張してfireEventなどをオーバーライドできます。すべての派遣イベントをキャッチする。トーマスの提案からヒントを得

関連する問題