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

Reply via email to