1 package nl.gridshore.samples.raffle.web.wicket;
2
3 import nl.gridshore.samples.raffle.business.RaffleService;
4 import nl.gridshore.samples.raffle.web.wicket.raffle.AllRafflesPage;
5 import nl.gridshore.samples.raffle.web.wicket.raffle.DoTheRafflePage;
6 import org.apache.wicket.markup.html.WebPage;
7 import org.apache.wicket.markup.html.basic.Label;
8 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
9 import org.apache.wicket.markup.html.list.ListItem;
10 import org.apache.wicket.markup.html.list.ListView;
11 import org.apache.wicket.spring.injection.annot.SpringBean;
12
13 import java.util.ArrayList;
14 import java.util.List;
15
16
17
18
19
20
21
22
23 public class BasePage extends WebPage {
24 @SpringBean
25 protected RaffleService raffleService;
26
27 public BasePage() {
28 List<MenuItem> menuItems = new ArrayList<MenuItem>();
29 menuItems.add(new MenuItem("Home", HomePage.class));
30 menuItems.add(new MenuItem("All raffles", AllRafflesPage.class));
31 menuItems.add(new MenuItem("Do the raffle", DoTheRafflePage.class));
32 ListView menuItemsComponent = new ListView("menu", menuItems) {
33
34 protected void populateItem(ListItem item) {
35 MenuItem menuItem = (MenuItem) item.getModelObject();
36 BookmarkablePageLink link = new BookmarkablePageLink("link", menuItem.getLinkedPage());
37 link.add(new Label("caption", menuItem.getCaption()));
38 item.add(link);
39 }
40 };
41 add(menuItemsComponent);
42 }
43 }