package de.alpharogroup.wicket.components.examples.navbar;
import java.util.ArrayList;
import java.util.List;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.link.AbstractLink;
import org.apache.wicket.markup.html.link.ExternalLink;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.util.ListModel;
import de.alpharogroup.resourcebundle.locale.ResourceBundleKey;
import de.alpharogroup.wicket.bootstrap3.components.navbar.brand.NavbarBrandPanel;
import de.alpharogroup.wicket.bootstrap3.components.navbar.dropdown.NavbarDropdownPanel;
import de.alpharogroup.wicket.components.examples.imprint.ImprintPage;
import de.alpharogroup.wicket.components.examples.termofuse.TermOfUsePage;
import de.alpharogroup.wicket.components.link.DefaultTargets;
import de.alpharogroup.wicket.components.link.LinkItem;
public class NavbarExamplePanel extends Panel
{
private static final long serialVersionUID = 1L;
public NavbarExamplePanel(final String id, final IModel<?> model)
{
super(id, model);
add(new NavbarBrandPanel("brandPanel", model)
{
@Override
protected AbstractLink newNavbarBrandLink(final String id)
{
final AbstractLink link = super.newNavbarBrandLink(id);
link.setBody(Model.of("Brand a"));
return link;
}
@Override
public void onClick(final AjaxRequestTarget target)
{
// TODO Auto-generated method stub
}
});
add(new NavbarDropdownPanel("dropdownPanel", newNavbarLinkItems(), Model.of("Legal")));
}
/**
* Factory method for creating a new list with the link items for the nav bar area.
*
* @return the new <code>{@link IModel}</code> with the link items for the nav bar area.
*/
protected IModel<List<LinkItem>> newNavbarLinkItems()
{
final List<LinkItem> linkModel = new ArrayList<>();
linkModel
.add(LinkItem.builder().url("http://www.alpharogroup.de/")
.target(DefaultTargets.BLANK.getTarget()).linkClass(ExternalLink.class)
// open in a new tab or window...
.resourceModelKey(ResourceBundleKey.builder().key("main.footer.copyright.label")
.defaultValue("\u0040 copyright 2012 Design by Alpha Ro Group").build())
.build());
linkModel
.add(LinkItem.builder()
.pageClass(ImprintPage.class).resourceModelKey(ResourceBundleKey.builder()
.key("main.global.menu.masthead.label").defaultValue("Imprint").build())
.build());
linkModel
.add(LinkItem.builder().pageClass(TermOfUsePage.class)
.resourceModelKey(ResourceBundleKey.builder()
.key("main.global.menu.term.of.use.label").defaultValue("AGBs").build())
.build());
final IModel<List<LinkItem>> listModel = new ListModel<>(linkModel);
return listModel;
}
}