Example usage for org.apache.wicket.markup.repeater.data DataView DataView

List of usage examples for org.apache.wicket.markup.repeater.data DataView DataView

Introduction

In this page you can find the example usage for org.apache.wicket.markup.repeater.data DataView DataView.

Prototype

protected DataView(String id, IDataProvider<T> dataProvider) 

Source Link

Usage

From source file:com.tysanclan.site.projectewok.pages.member.admin.UserAgentPage.java

License:Open Source License

public UserAgentPage() {
    super("User agents");

    if (!getUser().equals(roleService.getSteward())) {
        throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class);
    }/*from  www .j  a v  a  2 s . co m*/

    MobileUserAgentFilter filter = new MobileUserAgentFilter();
    filter.addOrderBy("identifier", true);

    add(new DataView<MobileUserAgent>("agents", FilterDataProvider.of(filter, userAgentDAO)) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final Item<MobileUserAgent> item) {
            MobileUserAgent agent = item.getModelObject();

            item.add(new Label("identifier", agent.getIdentifier()));

            String curr = "Unknown";

            if (agent.getMobile() != null) {
                if (agent.getMobile()) {
                    curr = "Mobile";
                } else {
                    curr = "Normal";
                }
            }

            item.add(new Label("current", curr));

            item.add(new IconLink.Builder("images/icons/phone.png",
                    new DefaultClickResponder<MobileUserAgent>(ModelMaker.wrap(agent)) {
                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            userAgentService.setAgentStatus(getModelObject(), true);

                            setResponsePage(new UserAgentPage());
                        }

                    }).newInstance("yes").setVisible(agent.getMobile() == null || !agent.getMobile()));
            item.add(new IconLink.Builder("images/icons/computer.png",
                    new DefaultClickResponder<MobileUserAgent>(ModelMaker.wrap(agent)) {
                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            userAgentService.setAgentStatus(getModelObject(), false);

                            setResponsePage(new UserAgentPage());

                            setResponsePage(new UserAgentPage());
                        }

                    }).newInstance("no").setVisible(agent.getMobile() == null || agent.getMobile()));
        }

    });
}

From source file:com.tysanclan.site.projectewok.pages.member.ChancellorAchievementPage.java

License:Open Source License

public ChancellorAchievementPage() {
    super("Pending achievement proposals");

    AchievementProposalFilter filter = new AchievementProposalFilter();
    filter.setVetoUndecided(true);//from  w w  w .  j  av  a2 s .  c  o  m

    add(new DataView<AchievementProposal>("proposals", FilterDataProvider.of(filter, achievementProposalDAO)) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final Item<AchievementProposal> item) {
            AchievementProposal proposal = item.getModelObject();
            AchievementIcon icon = proposal.getIcon();
            Game game = proposal.getGame();

            item.add(new Label("name", proposal.getName()));

            item.add(new Image("icon",
                    new ByteArrayResource(ImageUtil.getMimeType(icon.getImage()), icon.getImage())));

            byte[] gameImage = game != null ? game.getImage() : new byte[0];

            item.add(new Image("game", new ByteArrayResource(ImageUtil.getMimeType(gameImage), gameImage))
                    .setVisible(game != null));

            boolean hasGroup = proposal.getGroup() != null;

            item.add(new Label("group", hasGroup ? proposal.getGroup().getName() : "-").setVisible(hasGroup));
            item.add(new Label("description", proposal.getDescription()).setEscapeModelStrings(false));

            item.add(new IconLink.Builder("images/icons/tick.png",
                    new DefaultClickResponder<AchievementProposal>(ModelMaker.wrap(proposal)) {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            service.checkProposal(getUser(), getModelObject());
                            setResponsePage(new ChancellorAchievementPage());
                        }

                    }).setText("Yes, this achievement is fine with me").newInstance("yes"));
            item.add(new IconLink.Builder("images/icons/cross.png",
                    new DefaultClickResponder<AchievementProposal>(ModelMaker.wrap(proposal)) {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            service.vetoProposal(getUser(), getModelObject());

                            setResponsePage(new ChancellorAchievementPage());
                        }

                    }).setText("No, this achievement would not be a good addition").newInstance("no"));
        }

    });
}

From source file:com.tysanclan.site.projectewok.pages.member.justice.TruthsayerAchievementProposalPage.java

License:Open Source License

public TruthsayerAchievementProposalPage() {
    super("Achievement Proposals");

    AchievementProposalFilter filter = new AchievementProposalFilter();
    filter.setTruthsayerReviewed(false);

    add(new DataView<AchievementProposal>("proposals", FilterDataProvider.of(filter, achievementProposalDAO)) {

        private static final long serialVersionUID = 1L;

        @Override//from w  w w .j a  v  a2 s  .com
        protected void populateItem(final Item<AchievementProposal> item) {
            AchievementProposal proposal = item.getModelObject();

            item.add(new Label("name", proposal.getName()));
            item.add(new Image("icon", new StoredImageResource(proposal.getIcon().getImage())));
            item.add(new Image("game",
                    new StoredImageResource(
                            proposal.getGame() != null ? proposal.getGame().getImage() : new byte[0]))
                                    .setVisible(proposal.getGame() != null));

            boolean hasGroup = proposal.getGroup() != null;

            item.add(new Label("group", hasGroup ? proposal.getGroup().getName() : "-").setVisible(hasGroup));
            item.add(new Label("description", proposal.getDescription()).setEscapeModelStrings(false));

            item.add(new IconLink.Builder("images/icons/tick.png",
                    new DefaultClickResponder<AchievementProposal>(ModelMaker.wrap(proposal)) {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            service.approveProposal(getModelObject(), getUser());
                            setResponsePage(new TruthsayerAchievementProposalPage());
                        }

                    }).setText("Yes, this achievement is in order").newInstance("yes"));
            item.add(new IconLink.Builder("images/icons/cross.png",
                    new DefaultClickResponder<AchievementProposal>(ModelMaker.wrap(proposal)) {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            setResponsePage(new AchievementRejectionPage(getModelObject()));
                        }

                    }).setText("No, this achievement would be in violation of Regulations").newInstance("no"));
        }

    });
}

From source file:com.tysanclan.site.projectewok.pages.member.LogPage.java

License:Open Source License

public LogPage() {
    super("Clan Log");

    LogItemFilter filter = new LogItemFilter();
    filter.addOrderBy("LogTime", false);

    DataView<LogItem> pageable = new DataView<LogItem>("log", FilterProvider.of(LogItemDAO.class, filter)) {
        private static final long serialVersionUID = 1L;

        @Override/* w  ww .j  av  a 2s .c o m*/
        protected void populateItem(Item<LogItem> item) {
            LogItem logItem = item.getModelObject();

            item.add(new Label("time", DateUtil.getESTFormattedString(new Date(logItem.getLogTime()))));
            item.add(new Label("category", logItem.getCategory()));
            item.add(new Label("user", logItem.getVisibleUsername()));
            item.add(new Label("action", logItem.getMessage()));

        }

    };

    pageable.setItemsPerPage(20);

    add(pageable);
    add(new OtterSniperPanel("otterSniperPanel", 1));

    add(new PagingNavigator("nav", pageable));
}

From source file:com.tysanclan.site.projectewok.pages.member.MessageListPage.java

License:Open Source License

@NoAuto
public MessageListPage(User recipient) {
    super("Messages");

    firstSelect = ModelMaker.wrap(recipient);

    this.selectedTab = recipient != null ? 1 : 0;

    ConversationFilter filter = new ConversationFilter();
    filter.addParticipant(getUser());/*from  w w  w.j a v a2s  . c o  m*/
    filter.setSortByLastResponse(true);

    DataView<Conversation> messageView = new DataView<Conversation>("messages",
            FilterProvider.of(ConversationDAO.class, filter)) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(Item<Conversation> item) {
            Conversation conv = item.getModelObject();

            ConversationParticipation cp = null;

            StringBuilder builder = new StringBuilder();
            int i = 0;
            for (ConversationParticipation cp_ : conv.getParticipants()) {
                if (cp_.getUser().equals(getUser())) {
                    cp = cp_;
                } else {
                    i++;
                    if (i == 3) {
                        builder.append(" and others");
                    }
                    if (i <= 2) {
                        if (i > 1) {
                            builder.append(", ");
                        }
                        builder.append(cp_.getUser().getUsername());
                    }
                }
            }

            item.add(new ContextImage("unread", "images/icons/email_error.png")
                    .setVisible(cp != null && cp.getReadMessages().size() != conv.getMessages().size()));

            Link<ConversationParticipation> link = new Link<ConversationParticipation>("link",
                    ModelMaker.wrap(cp)) {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick() {
                    setResponsePage(new ViewConversationPage(getModelObject()));
                }
            };

            link.add(new Label("title", conv.getTitle()));

            item.add(link);
            item.add(new Label("participants", builder.toString()));
            item.add(new IconLink.Builder("images/icons/delete.png",
                    new DefaultClickResponder<ConversationParticipation>(ModelMaker.wrap(cp)) {

                        private static final long serialVersionUID = 1L;

                        @SpringBean
                        private MessageService messageService;

                        @Override
                        public void onClick() {
                            messageService.ceaseParticipation(getModelObject());
                            setResponsePage(new MessageListPage());
                        }

                    }).newInstance("remove"));

        }

    };

    messageView.setItemsPerPage(15);

    add(messageView);

    add(new PagingNavigator("paging", messageView));

    add(createNewMessageForm("newMessageForm"));
}

From source file:com.tysanclan.site.projectewok.pages.member.OverviewPage.java

License:Open Source License

/**
 * /*from  w  w  w  .j  a  v a2 s  . co  m*/
 */
public OverviewPage() {
    super("Member overview");

    add(new MentorPanel("pupils", getUser()));
    add(new PupilPanel("mentor", getUser()));

    add(new BasicMemberPanel("basicpanel", getUser()));
    add(new TruthsayerPanel("truthsayerpanel").setVisible(getUser().getRank().equals(Rank.TRUTHSAYER)));
    add(new SenatorPanel("senatorpanel").setVisible(getUser().getRank().equals(Rank.SENATOR)));
    add(new ChancellorPanel("chancellorpanel").setVisible(getUser().getRank().equals(Rank.CHANCELLOR)));
    add(new TreasurerPanel("treasurerpanel", getUser()));
    add(new StewardPanel("stewardpanel", getUser()));
    add(new HeraldPanel("heraldpanel", getUser()));

    User user = getUser();
    List<Group> groups = new LinkedList<Group>();
    groups.addAll(user.getGroups());

    add(new ListView<Group>("groups", ModelMaker.wrap(groups)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Group> item) {
            Group group = item.getModelObject();

            item.add(new GroupOverviewPanel("grouppanel", getUser(), group));

        }
    });

    GameFilter gfilter = new GameFilter();
    gfilter.setCoordinator(user);

    add(new DataView<Game>("games", FilterDataProvider.of(gfilter, gameDAO)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(Item<Game> item) {
            Game game = item.getModelObject();

            item.add(new GameSupervisorPanel("supervisorpanel", game));

        }
    });

    RealmFilter rfilter = new RealmFilter();
    rfilter.setOverseer(user);

    add(new DataView<Realm>("realms", FilterDataProvider.of(rfilter, realmDAO)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(Item<Realm> item) {
            Realm realm = item.getModelObject();

            item.add(new RealmSupervisorPanel("supervisorpanel", realm));

        }
    });
}

From source file:com.tysanclan.site.projectewok.pages.member.senate.AchievementProposalApprovalPage.java

License:Open Source License

public AchievementProposalApprovalPage() {
    super("Approve achievements");

    AchievementProposalFilter filter = new AchievementProposalFilter();
    filter.addOrderBy("name", true);

    add(new DataView<AchievementProposal>("proposals", FilterDataProvider.of(filter, achievementProposalDAO)) {
        private static final long serialVersionUID = 1L;

        @Override/*www  . j  av  a2 s.  c o  m*/
        protected void populateItem(final Item<AchievementProposal> item) {
            AchievementProposal proposal = item.getModelObject();

            AchievementIcon icon = proposal.getIcon();
            item.add(new Image("icon",
                    new ByteArrayResource(ImageUtil.getMimeType(icon.getImage()), icon.getImage())));
            item.add(new Label("name", proposal.getName()));
            item.add(new Label("description", proposal.getDescription()).setEscapeModelStrings(false));
            item.add(new Label("game", proposal.getGame() != null ? proposal.getGame().getName() : "-"));
            item.add(new Label("group", proposal.getGroup() != null ? proposal.getGroup().getName() : "-"));

            String currentVote = "Not voted yet";

            for (AchievementProposalVote vote : proposal.getApprovedBy()) {
                if (vote.getSenator().equals(getUser())) {
                    if (vote.isInFavor()) {
                        currentVote = "You have voted in favor";
                    } else {
                        currentVote = "You have voted against";
                    }
                    break;
                }
            }

            item.add(new Label("current", currentVote));

            item.add(new IconLink.Builder("images/icons/tick.png",
                    new DefaultClickResponder<AchievementProposal>(ModelMaker.wrap(proposal)) {

                        private static final long serialVersionUID = 1L;

                        @SpringBean
                        private AchievementService achievementService;

                        /**
                         * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick()
                         */
                        @Override
                        public void onClick() {
                            achievementService.approveProposal(getModelObject(), getUser());

                            setResponsePage(new AchievementProposalApprovalPage());
                        }

                    }).setText("Approve").newInstance("yes"));

            item.add(new IconLink.Builder("images/icons/cross.png",
                    new DefaultClickResponder<AchievementProposal>(ModelMaker.wrap(proposal)) {

                        private static final long serialVersionUID = 1L;

                        @SpringBean
                        private AchievementService achievementService;

                        /**
                         * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick()
                         */
                        @Override
                        public void onClick() {
                            achievementService.rejectProposal(getModelObject(), getUser());

                            setResponsePage(new AchievementProposalApprovalPage());
                        }

                    }).setText("Reject")

                            .newInstance("no"));

        }
    });
}

From source file:com.tysanclan.site.projectewok.pages.NewsPage.java

License:Open Source License

public NewsPage() {
    super("News");

    Forum forum = forumService.getNewsForum();

    ForumThreadFilter filter = new ForumThreadFilter();
    filter.setForum(forum);//from   w  w  w  .j  av a2s . c om
    filter.addOrderBy("postTime", false);

    DataView<ForumThread> newsItems = new DataView<ForumThread>("newsitems",
            FilterDataProvider.of(filter, forumThreadDAO)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(Item<ForumThread> item) {
            User u = NewsPage.this.getTysanSession() != null ? NewsPage.this.getTysanSession().getUser() : null;

            item.add(new NewsPanel("newspanel", item.getModelObject(), u == null));
        }
    };
    newsItems.setItemsPerPage(5);

    add(newsItems);

    add(new AutoForumLink("navigation", forum, "View news archives"));
}

From source file:com.wicket.page.data.view.HomePage.java

License:Apache License

public HomePage(final PageParameters parameters) {
    super(parameters);

    List<String[]> countries = loadCountriesFromCsv();
    ListDataProvider<String[]> listDataProvider = new ListDataProvider<String[]>(countries);

    DataView<String[]> dataView = new DataView<String[]>("rows", listDataProvider) {

        private static final long serialVersionUID = 1L;

        @Override/*from   w ww  . j  a v  a  2s.  c om*/
        protected void populateItem(Item<String[]> item) {
            String[] countriesArr = item.getModelObject();
            RepeatingView repeatingView = new RepeatingView("dataRow");

            for (int i = 0; i < countriesArr.length; i++) {
                repeatingView.add(new AjaxEventBehavior("onclick") {
                    private static final long serialVersionUID = 1L;

                    @Override
                    protected void onEvent(AjaxRequestTarget target) {
                        System.out.println("sdsdsd");
                    }

                });
            }
            item.add(repeatingView);
            item.add(new AjaxEventBehavior("onclick") {
                private static final long serialVersionUID = 1L;

                @Override
                protected void onEvent(AjaxRequestTarget target) {
                    System.out.println("sdsdsd");
                }

            });
        }
    };

    dataView.setItemsPerPage(15);

    add(dataView);
    add(new PagingNavigator("pagingNavigator", dataView));
}

From source file:de.alpharogroup.wicket.components.listview.DataViewPanel.java

License:Apache License

/**
 * Factory method for create a new {@link DataView}. This method is invoked in the constructor
 * from the derived classes and can be overridden so users can provide their own version of a
 * new {@link DataView}.//from w  w w.j  av  a 2  s .  c  om
 *
 * @param id
 *            the id
 * @param dataProvider
 *            the data provider
 * @return the new {@link DataView}
 */
protected DataView<T> newDataView(final String id, final IDataProvider<T> dataProvider) {
    final DataView<T> dataView = new DataView<T>(id, dataProvider) {
        /** The Constant serialVersionUID. */
        private static final long serialVersionUID = 1L;

        /**
         * {@inheritDoc}
         */
        @Override
        protected void populateItem(final Item<T> item) {
            item.add(newListComponent("item", item));
        }

    };
    dataView.setItemsPerPage(newItemsPerPage());
    dataView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance());
    return dataView;
}