AjaxPagingNavigator があります。基本的に、特定の条件で、AjaxPagingNavigator ページがリロードされるリスト。これが発生した場合、リストに複数のページが含まれている場合にのみナビゲーターをレンダリングしたいと考えています。
AjaxPagingNavigator で表示条件を確認し、ナビゲーターが更新されたときに表示を有効/無効にできるように、ハンドラーをアタッチできる場所を知っている人はいますか。ajaxは表示されているかどうか?
マークアップ:
<div wicket:id="mainWrap">
<div wicket:id="navigator"/>
<div wicket:id="listWrap">
<div wicket:id="list><!-- here be content --></div>
</div>
</div>
したがって、「リスト」とラッピングとともに「ナビゲーター」をリフレッシュする「mainWrap」をリフレッシュするajaxイベントがあります。
これは、すべてをトリガーするイベントです。
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
List foo = null; // do work to get list
model.setFound(found); // update the model (thus updating "list")
target.addComponent(mainWrap);
}
編集:私は書くことができることを知っています
navigator.setVisibility(list.getPageCount() > 1);
ナビゲーターを作成した後、モデルを更新した後ですが、それを AjaxPagingNavigator のサブクラスにカプセル化することを望んでいました。