コンテナIDで渡す必要があるこのJSNIを持つアプリがあり、その中でDIVIDを渡します。
HTML:
<div class='example-waveform' id='example4'></div>
JAVA:
initWave("example4");
public native void initWave(String __id)/*-{
var instance = this;
var data = $wnd.data = [];
var waveform = $wnd._waveform = new $wnd.Waveform({
container: $doc.getElementById(__id),
interpolate: false
});
}-*/;
これは正常に機能しますが、HTMLdivだけでなくGWTコンテナーを使用する必要があります。
私は試した:
HTMLPanel container = new HTMLPanel("Test");
container.getElement().setId("someid");
String id = container.getElement().getId();
initWave(id);
ただし、Javascript関数は渡した要素IDを受け入れることができないため(サードパーティのJSライブラリを使用しているため、これをデバッグできません)、DIVIDを渡す必要があると想定しています。 DIVは問題ありませんが、GWTUIで表示/非表示などのように操作できるGWTウィジェットが必要です。
この場合、GWTパネル(HTMLPanelまたはVerticalPanel)のDIV要素とIDを取得して、これをJSNI関数に渡す方法はありますか。