(Калитка) видимость Изменения во время ajax ответа

У меня есть AjaxPagingNavigator. В основном на определенном условии, список, который перезагружаются страницы AjaxPagingNavigator. Когда это происходит, я только хочу представить навигатора, когда список содержит больше чем 1 страницу.

Делает любой знает, где я могу присоединить обработчик так, чтобы я мог проверить на условие видимости в своем AjaxPagingNavigator и позволить/запретить видимость так, чтобы, когда навигатор обновляется через. ajax это или видимо или нет?

Разметка:

<div wicket:id="mainWrap">
    <div wicket:id="navigator"/>
    <div wicket:id="listWrap">
        <div wicket:id="list><!-- here be content --></div>
    </div>
</div>

Таким образом, у меня есть ajax событие, которое обновляет "mainWrap", который обновляет "навигатора" наряду со "списком" и переносами.

это - событие, которое инициировало все это.

 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.

8
задан Martijn Dashorst 15 April 2013 в 07:13
поделиться

1 ответ

Давненько я не прикасался к Wicket, но если память не изменяет:

Можете ли вы не переопределить метод isVisible() вашего объекта "навигатора", так, чтобы он отображался только при желаемом вами условии?

например, что-то вроде

.addComponent(new AjaxPagingNavigator(...) {
  @Override public boolean isVisible() { 
    return model.getFound().size() > 25;
  }
});
1
ответ дан 5 December 2019 в 10:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: