エディターを使用して変更を加えた後、セルテーブルを更新する方法がわかりません。編集したプロキシを取得できれば、データプロバイダーを使用してセルテーブルを更新できます。
public void saveCampaign() {
driver.flush();
// the problem. proxy at this point should have the new values?....
context.persist().using(proxy).fire(new Receiver<Void>() {
@Override
public void onSuccess(Void response) {
showListView();
}
});
}
.using(proxy)のプロキシには、エディターで行われた変更は含まれていません。ただし、サーバーのpersistメソッドは更新された値を取得します。サーバーからデータをリロードすると、セルテーブルに正しい値が取得されます。
public void editCampaign(CampaignProxy proxy) {
this.proxy = proxy;
if (proxy != null) {
context = AEHOME.requestFactory.campaignRequest();
showEditView();
}
}
private void showEditView() {
driver.initialize(eventBus, AEHOME.requestFactory, editView);
driver.edit(proxy, context);
deckPanel.showWidget(deckPanel.getWidgetIndex(editView));
}
プロキシはリストビューで設定されます。configurationPageView.proxy=selectionModel.getSelectedObject();
アドバイスをいただければ幸いです。ありがとうございました。