blob: ca9e3fd1e20eff88bbce0de3497874004b854624 [file] [log] [blame]
package org.apache.karaf.webconsole.core;
import org.apache.wicket.ResourceReference;
import org.apache.wicket.markup.html.CSSPackageResource;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.image.Image;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.link.PageLink;
import org.apache.wicket.model.util.ListModel;
import org.ops4j.pax.wicket.api.PaxWicketBean;
import sun.awt.util.IdentityLinkedList;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
public class BasePage extends WebPage {
@PaxWicketBean(name = "tabs")
private List<ConsoleTab> tabs;
public BasePage() {
add(CSSPackageResource.getHeaderContribution(BasePage.class, "style.css"));
add(CSSPackageResource.getHeaderContribution(BasePage.class, "grid.css"));
add(new Label("footer", "Apache Karaf Console"));
add(new Image("karafLogo", new ResourceReference(BasePage.class, "images/karaf-logo.png")));
Link linkFr = new Link("goFrench") {
@Override
public void onClick() {
getSession().setLocale(Locale.FRANCE);
}
};
Link linkEn = new Link("goEnglish") {
@Override
public void onClick() {
getSession().setLocale(Locale.ENGLISH);
}
};
add(linkFr);
linkFr.add(new Image("frenchFlag", new ResourceReference(BasePage.class, "images/french-flag.jpeg")));
add(linkEn);
linkEn.add(new Image("englishFlag", new ResourceReference(BasePage.class, "images/english-flag.jpeg")));
add(new NavigationPanel("navigationPanel", new ListModel<ConsoleTab>(tabs)));
List<Class> subPages = getSubPages();
if (subPages != null && subPages.size() > 0) {
add(new SidebarPanel("sidebar", getClass(), subPages));
} else {
add(new Label("sidebar").setRenderBodyOnly(true));
}
}
protected List<Class> getSubPages() {
return Collections.emptyList();
}
}