Hi,
I'am implementing an FeedbackViewPanel that's shows FeedBackMessages with
Pagination :
public class FeedbackViewPanel extends Panel implements IFeedback {
private static final int PAGE_SIZE = 20;
public FeedbackViewPanel(final String id) {
super(id);
final MessageListView messageListView = new
MessageListView("messages", new FeedbackMessagesModel(this));
messageListView.setVersioned(false);
add(messageListView);
final AjaxPagingNavigator navigator = new
AjaxPagingNavigator("navigator", messageListView) {
public boolean isVisible() {
return messageListView.getPageCount() > 1;
}
};
add(navigator);
}
private final class MessageListView extends PageableListView {
public MessageListView(String id, IModel model) {
super(id, model, PAGE_SIZE);
//setModel();
}
public boolean isVisible() {
final List messages = (List) getModelObject();
return !messages.isEmpty();
}
public void populateItem(ListItem item) {
final FeedbackMessage message = (FeedbackMessage)
item.getModelObject();
message.markRendered();
Label label = new Label("message", new PropertyModel(message,
"message"));
final Label m = new Label("icon");
item.add(m);
m.setModel(new Model("<span class='" + (message.isError() ?
"erro" : "mensagem") + "'/>"));
m.setEscapeModelStrings(false);
m.setRenderBodyOnly(true);
item.add(label);
}
}
}
But I can figure out a way to delete all the messages from the Session as
they get listed on the FeedbackViewPanel .
AT