Refactored main menu to use another base
This commit is contained in:
parent
0ad3de60b6
commit
7eb784eda3
src/main
@ -1,13 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<html
|
||||
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<header id="main-header" class="span-24">
|
||||
<div class="prepend-1 span-5">
|
||||
<h1 id="logo"><a href="#" wicket:id="homeLink" title="SciPro">SciPro</a></h1>
|
||||
</div>
|
||||
<div wicket:id="mainMenuPanel"></div>
|
||||
</header>
|
||||
</wicket:panel>
|
||||
<wicket:panel>
|
||||
<header id="main-header" class="span-24">
|
||||
<div class="prepend-1 span-5">
|
||||
<h1 id="logo">
|
||||
<a href="#" wicket:id="homeLink" title="SciPro">SciPro</a>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="prepend-2 span-15 last user-links"
|
||||
wicket:id="userLinksPanel"></div>
|
||||
<div wicket:id="mainMenuPanel" class="main-menu prepend-6"></div>
|
||||
<div wicket:id="serviceMenuPanel" class="service-menu"></div>
|
||||
</header>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
@ -1,9 +1,7 @@
|
||||
package se.su.dsv.scipro.basepanels;
|
||||
|
||||
import org.apache.wicket.Page;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
||||
import org.apache.wicket.markup.html.panel.EmptyPanel;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
|
||||
import se.su.dsv.scipro.SciProApplication;
|
||||
@ -14,17 +12,13 @@ import se.su.dsv.scipro.SciProApplication;
|
||||
*
|
||||
*/
|
||||
public class HeaderPanel extends Panel {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public HeaderPanel(String id, Class<? extends Page> containerClass) {
|
||||
super(id);
|
||||
|
||||
add(new BookmarkablePageLink<Void>("homeLink", SciProApplication.get().getHomePage()));
|
||||
|
||||
MainMenuPanel mainMenuPanel = new MainMenuPanel("mainMenuPanel", containerClass);
|
||||
add(mainMenuPanel);
|
||||
|
||||
add(new MainMenuPanel("mainMenuPanel", containerClass));
|
||||
add(new ServiceMenuPanel("serviceMenuPanel", containerClass));
|
||||
add(new UserLinksPanel("userLinksPanel"));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,23 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<nav id="main-nav">
|
||||
<div class="span-18 last">
|
||||
<div class="prepend-2 span-15 last" id="user-links" wicket:id="userLinksPanel"></div>
|
||||
<div class="span-18 last">
|
||||
<ul id="nav-list">
|
||||
<li class="nav-list-item" id="home-menu-item" wicket:id="homeMenuItem"></li>
|
||||
<li class="nav-list-item" id="messages-menu-item" wicket:id="messagesMenuItem"></li>
|
||||
<li class="nav-list-item" id="project-menu-item" wicket:id="projectMenuItem"></li>
|
||||
<li class="nav-list-item" id="supervisor-menu-item" wicket:id="supervisorMenuItem"></li>
|
||||
<li class="nav-list-item" id="resources-menu-item" wicket:id="resourcesMenuItem"></li>
|
||||
<li class="nav-list-item" id="admin-menu-item" wicket:id="adminMenuItem"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
@ -4,123 +4,30 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.wicket.Page;
|
||||
import org.apache.wicket.PageParameters;
|
||||
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
import org.odlabs.wiquery.core.commons.IWiQueryPlugin;
|
||||
import org.odlabs.wiquery.core.commons.WiQueryResourceManager;
|
||||
import org.odlabs.wiquery.core.javascript.JsStatement;
|
||||
|
||||
import se.su.dsv.scipro.HomePage;
|
||||
import se.su.dsv.scipro.SciProApplication;
|
||||
import se.su.dsv.scipro.admin.pages.AdminScheduleTemplatesPage;
|
||||
import se.su.dsv.scipro.admin.pages.AdminStartPage;
|
||||
import se.su.dsv.scipro.admin.pages.ProjectManagementPage;
|
||||
import se.su.dsv.scipro.admin.pages.SystemMaintenancePage;
|
||||
import se.su.dsv.scipro.basepages.MenuPage;
|
||||
import se.su.dsv.scipro.basepanels.mainmenu.MainMenuItem;
|
||||
import se.su.dsv.scipro.basepanels.mainmenu.MenuItem;
|
||||
import se.su.dsv.scipro.knol.resource.page.ResourcePage;
|
||||
import se.su.dsv.scipro.message.pages.PrivateMessagesPage;
|
||||
import se.su.dsv.scipro.peer.pages.PeerReviewTemplatePage;
|
||||
import se.su.dsv.scipro.project.pages.FinalSeminarProjectListPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectOppositionPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectPartnerPage;
|
||||
import se.su.dsv.scipro.components.AbstractMenuPanel;
|
||||
import se.su.dsv.scipro.project.pages.ProjectStartPage;
|
||||
import se.su.dsv.scipro.project.pages.ProjectChecklistPage;
|
||||
import se.su.dsv.scipro.security.auth.MetaDataActionStrategy;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
import se.su.dsv.scipro.supervisor.pages.SupervisorProjectsFinalSeminarPage;
|
||||
import se.su.dsv.scipro.supervisor.pages.SupervisorStartPage;
|
||||
import se.su.dsv.scipro.wiquery.mainmenu.MainMenuJavascriptResourceReference;
|
||||
|
||||
public class MainMenuPanel extends Panel implements IWiQueryPlugin {
|
||||
public class MainMenuPanel extends AbstractMenuPanel {
|
||||
|
||||
private static final long serialVersionUID = 3738086567246191811L;
|
||||
|
||||
public MainMenuPanel(String id, Class<? extends Page> containerClass) {
|
||||
super(id);
|
||||
|
||||
add(new MainMenuItem("homeMenuItem", HomePage.MAIN_MENU_LABEL, HomePage.class, containerClass, null));
|
||||
|
||||
/*
|
||||
* Messages
|
||||
*/
|
||||
MainMenuItem messagesMenuItem = new MainMenuItem("messagesMenuItem", PrivateMessagesPage.MAIN_MENU_LABEL, PrivateMessagesPage.class, containerClass, null);
|
||||
MetaDataActionStrategy.authorize(messagesMenuItem, Roles.SYSADMIN); // TODO: Hidden for initial deployment
|
||||
add(messagesMenuItem);
|
||||
|
||||
/*
|
||||
* Project/Author
|
||||
*/
|
||||
List<MenuItem> projectMenuSubItems = new ArrayList<MenuItem>();
|
||||
projectMenuSubItems.add(new MenuItem(ProjectStartPage.MAIN_MENU_LABEL, ProjectStartPage.class));
|
||||
projectMenuSubItems.add(new MenuItem(ProjectOppositionPage.MAIN_MENU_LABEL, ProjectOppositionPage.class));
|
||||
projectMenuSubItems.add(new MenuItem(FinalSeminarProjectListPage.MAIN_MENU_LABEL, FinalSeminarProjectListPage.class));
|
||||
MainMenuItem projectMenuItem = new MainMenuItem("projectMenuItem", ProjectStartPage.MAIN_MENU_LABEL, ProjectStartPage.class, containerClass, projectMenuSubItems);
|
||||
add(projectMenuItem);
|
||||
|
||||
/*
|
||||
* Supervisor
|
||||
*/
|
||||
List<MenuItem> supervisorMenuSubItems = new ArrayList<MenuItem>();
|
||||
//supervisorMenuSubItems.add(new MenuItem("Schedule Templates", SupervisorProjectsFinalSeminarPage.class));
|
||||
supervisorMenuSubItems.add(new MenuItem(SupervisorStartPage.MAIN_MENU_LABEL, SupervisorStartPage.class));
|
||||
supervisorMenuSubItems.add(new MenuItem(SupervisorProjectsFinalSeminarPage.MAIN_MENU_LABEL, SupervisorProjectsFinalSeminarPage.class));
|
||||
MainMenuItem supervisorMenuItem = new MainMenuItem("supervisorMenuItem", SupervisorStartPage.MAIN_MENU_LABEL, SupervisorStartPage.class, containerClass, supervisorMenuSubItems);
|
||||
MetaDataActionStrategy.authorize(supervisorMenuItem, new Roles[]{Roles.EXTERNAL, Roles.EMPLOYEE});
|
||||
add(supervisorMenuItem);
|
||||
|
||||
/*
|
||||
* Resource
|
||||
*/
|
||||
MainMenuItem resourcesMenuItem = new MainMenuItem("resourcesMenuItem", ResourcePage.MAIN_MENU_LABEL, ResourcePage.class, containerClass, null);
|
||||
MetaDataActionStrategy.authorize(resourcesMenuItem, Roles.SYSADMIN ); // TODO: Hidden for initial deployment
|
||||
add(resourcesMenuItem);
|
||||
|
||||
/*
|
||||
* Admin
|
||||
*/
|
||||
List<MenuItem> adminMenuSubItems = new ArrayList<MenuItem>();
|
||||
adminMenuSubItems.add(new MenuItem(AdminScheduleTemplatesPage.MAIN_MENU_LABEL, AdminScheduleTemplatesPage.class));
|
||||
adminMenuSubItems.add(new MenuItem(SystemMaintenancePage.MAIN_MENU_LABEL, SystemMaintenancePage.class));
|
||||
adminMenuSubItems.add(new MenuItem(ProjectManagementPage.MAIN_MENU_LABEL, ProjectManagementPage.class));
|
||||
adminMenuSubItems.add(new MenuItem(PeerReviewTemplatePage.MAIN_MENU_LABEL, PeerReviewTemplatePage.class));
|
||||
MainMenuItem adminMenuItem = new MainMenuItem("adminMenuItem", AdminStartPage.MAIN_MENU_LABEL, AdminStartPage.class, containerClass, adminMenuSubItems);
|
||||
MetaDataActionStrategy.authorize(adminMenuItem, Roles.ADMIN);
|
||||
add(adminMenuItem);
|
||||
|
||||
UserLinksPanel userLinksPanel = new UserLinksPanel("userLinksPanel");
|
||||
add(userLinksPanel);
|
||||
super(id,HomePage.class,containerClass);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void contribute(WiQueryResourceManager wiQueryResourceManager) {
|
||||
wiQueryResourceManager.addJavaScriptResource(MainMenuJavascriptResourceReference.get());
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsStatement statement() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated see {@link se.su.dsv.scipro.basepanels.mainmenu.AbstractMainMenuItem#getMenuLink(String)}
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
private BookmarkablePageLink<Void> getMenuLink(String id, final Class<? extends Page> targetPageClass, final Class<? extends Page> containerClass){
|
||||
return getMenuLink(id, targetPageClass, null, containerClass);
|
||||
protected List<MenuItem> getItemList(){
|
||||
List<MenuItem> list = new ArrayList<MenuItem>();
|
||||
list.add(new MenuItem(ProjectStartPage.MAIN_MENU_LABEL,ProjectStartPage.class));
|
||||
list.add(new MenuItem(SupervisorStartPage.MAIN_MENU_LABEL,SupervisorStartPage.class));
|
||||
list.add(new MenuItem(AdminStartPage.MAIN_MENU_LABEL,AdminStartPage.class));
|
||||
return list;
|
||||
}
|
||||
/**
|
||||
* @deprecated see {@link se.su.dsv.scipro.basepanels.mainmenu.AbstractMainMenuItem#getMenuLink(String, PageParameters)}
|
||||
*/
|
||||
private BookmarkablePageLink<Void> getMenuLink(String id, final Class<? extends Page> targetPageClass, final PageParameters pp, final Class<? extends Page> containerClass){
|
||||
BookmarkablePageLink<Void> result = new BookmarkablePageLink<Void>(id, targetPageClass, pp);
|
||||
result.setOutputMarkupId(true);
|
||||
if(targetPageClass == containerClass || (targetPageClass.getSuperclass().isAssignableFrom(containerClass) && targetPageClass.getSuperclass() != MenuPage.class) ){
|
||||
result.setMarkupId("current");
|
||||
}
|
||||
return result;
|
||||
@Override
|
||||
protected MenuType getMenuType() {
|
||||
return MenuType.HORIZONTAL;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,29 @@
|
||||
package se.su.dsv.scipro.basepanels;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.wicket.Page;
|
||||
|
||||
import se.su.dsv.scipro.basepages.MenuPage;
|
||||
import se.su.dsv.scipro.components.AbstractMenuPanel;
|
||||
import se.su.dsv.scipro.knol.resource.page.ResourcePage;
|
||||
import se.su.dsv.scipro.message.pages.PrivateMessagesPage;
|
||||
|
||||
public class ServiceMenuPanel extends AbstractMenuPanel {
|
||||
private static final long serialVersionUID = 3738086567246191811L;
|
||||
public ServiceMenuPanel(String id, Class<? extends Page> containerClass) {
|
||||
super(id,MenuPage.class,containerClass);
|
||||
}
|
||||
@Override
|
||||
protected List<MenuItem> getItemList(){
|
||||
List<MenuItem> list = new ArrayList<MenuItem>();
|
||||
list.add(new MenuItem(ResourcePage.MAIN_MENU_LABEL,ResourcePage.class));
|
||||
list.add(new MenuItem(PrivateMessagesPage.MAIN_MENU_LABEL,PrivateMessagesPage.class));
|
||||
return list;
|
||||
}
|
||||
@Override
|
||||
protected MenuType getMenuType() {
|
||||
return MenuType.HORIZONTAL;
|
||||
}
|
||||
}
|
@ -1,62 +0,0 @@
|
||||
package se.su.dsv.scipro.basepanels.mainmenu;
|
||||
|
||||
import org.apache.wicket.Page;
|
||||
import org.apache.wicket.PageParameters;
|
||||
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
|
||||
import org.apache.wicket.markup.html.panel.Panel;
|
||||
|
||||
import se.su.dsv.scipro.basepages.MenuPage;
|
||||
|
||||
/**
|
||||
* Abstract Class for Main Menu Items
|
||||
*
|
||||
* @author patrick
|
||||
*
|
||||
*/
|
||||
public abstract class AbstractMainMenuItem extends Panel {
|
||||
|
||||
private static final long serialVersionUID = 2849283400267381932L;
|
||||
protected Class<? extends Page> targetPageClass;
|
||||
protected Class<? extends Page> containerPageClass;
|
||||
private String menuLabel;
|
||||
protected BookmarkablePageLink<Void> menuItemLink;
|
||||
|
||||
public AbstractMainMenuItem(String id, String label, Class<? extends Page> targetPageClass, Class<? extends Page> containerPageClass) {
|
||||
super(id);
|
||||
this.menuLabel = label;
|
||||
this.targetPageClass = targetPageClass;
|
||||
this.containerPageClass = containerPageClass;
|
||||
}
|
||||
|
||||
public String getMenuLabel() {
|
||||
return menuLabel;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@link #getMenuLink(String, PageParameters)}
|
||||
*/
|
||||
protected BookmarkablePageLink<Void> getMenuLink(String id) {
|
||||
return getMenuLink(id, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a bookmarkable page link for the main menu.
|
||||
*
|
||||
* @param id
|
||||
* @param pp
|
||||
* @return
|
||||
* @author Martin Peters
|
||||
*/
|
||||
protected BookmarkablePageLink<Void> getMenuLink(String id, final PageParameters pp) {
|
||||
BookmarkablePageLink<Void> result = new BookmarkablePageLink<Void>(id, targetPageClass, pp);
|
||||
result.setOutputMarkupId(true);
|
||||
if(targetPageClass == containerPageClass || (targetPageClass.getSuperclass().isAssignableFrom(containerPageClass) && targetPageClass.getSuperclass() != MenuPage.class) ){
|
||||
//TODO Should prefereably be replaced with the line below because repeating id's aren't valid html. I couldn't get the CSS to work though //mpeters
|
||||
result.setMarkupId("current");
|
||||
//result.add(new AttributeAppender("class", new Model<String>("current"), " "));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<span class="menu-item">
|
||||
<a wicket:id="mainMenuItemLink"><span wicket:id="mainMenuItemLabel"></span></a>
|
||||
<img class="nav-arrow" wicket:id="mainMenuItemArrow" />
|
||||
</span>
|
||||
<div class="submenu rounded-bl rounded-br"><span wicket:id="mainMenuListItemSubMenu"><span wicket:id="subMenuItem"></span></span></div>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
@ -1,79 +0,0 @@
|
||||
package se.su.dsv.scipro.basepanels.mainmenu;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.wicket.Page;
|
||||
import org.apache.wicket.behavior.AttributeAppender;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
import org.apache.wicket.markup.html.image.ContextImage;
|
||||
import org.apache.wicket.markup.html.list.ListItem;
|
||||
import org.apache.wicket.markup.html.list.ListView;
|
||||
import org.apache.wicket.model.Model;
|
||||
|
||||
/**
|
||||
* Main Menu Item, the upper level of the main menu hierarchy.
|
||||
*
|
||||
* @author patrick
|
||||
*
|
||||
*/
|
||||
public class MainMenuItem extends AbstractMainMenuItem {
|
||||
|
||||
private static final long serialVersionUID = 6103131868992599100L;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private List<MenuItem> subItems;
|
||||
|
||||
public MainMenuItem(String id, String label, final Class<? extends Page> targetPageClass, final Class<? extends Page> containerClass, final List<MenuItem> subItems) {
|
||||
super(id, label, targetPageClass, containerClass);
|
||||
this.subItems = subItems;
|
||||
|
||||
if (subItems != null)
|
||||
this.add(new AttributeAppender("class", true, new Model<String>("parent"), " "));
|
||||
|
||||
menuItemLink = getMenuLink("mainMenuItemLink");
|
||||
menuItemLink.add(new Label("mainMenuItemLabel", getMenuLabel()));
|
||||
|
||||
add(menuItemLink);
|
||||
|
||||
ContextImage mainMenuItemArrow = new ContextImage("mainMenuItemArrow", "images/site_nav_arrow2.png") {
|
||||
|
||||
private static final long serialVersionUID = 1793336840409311960L;
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.wicket.Component#isVisible()
|
||||
*/
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return subItems != null;
|
||||
}
|
||||
|
||||
};
|
||||
mainMenuItemArrow.setOutputMarkupPlaceholderTag(true);
|
||||
add(mainMenuItemArrow);
|
||||
|
||||
ListView<MenuItem> subItemListView = new ListView<MenuItem>("mainMenuListItemSubMenu", subItems) {
|
||||
|
||||
private static final long serialVersionUID = -1444218885819118389L;
|
||||
|
||||
@Override
|
||||
protected void populateItem(ListItem<MenuItem> item) {
|
||||
MenuItem obj = item.getModelObject();
|
||||
item.add(obj.createSubItem("subMenuItem", containerClass));
|
||||
add(item);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.apache.wicket.Component#isVisible()
|
||||
*/
|
||||
@Override
|
||||
public boolean isVisible() {
|
||||
return subItems != null;
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
subItemListView.setOutputMarkupPlaceholderTag(true);
|
||||
add(subItemListView);
|
||||
}
|
||||
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
|
||||
<body>
|
||||
<wicket:panel>
|
||||
<a href="#" wicket:id="mainMenuSubItemLink"><span wicket:id="mainMenuSubItemLabel">[Link]</span></a>
|
||||
</wicket:panel>
|
||||
</body>
|
||||
</html>
|
@ -1,27 +0,0 @@
|
||||
package se.su.dsv.scipro.basepanels.mainmenu;
|
||||
|
||||
import org.apache.wicket.Page;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
|
||||
/**
|
||||
* Main Menu Sub Items
|
||||
*
|
||||
* @author patrick
|
||||
*
|
||||
*/
|
||||
public class MainMenuSubItem extends AbstractMainMenuItem {
|
||||
|
||||
private static final long serialVersionUID = 8903203088965767242L;
|
||||
|
||||
public MainMenuSubItem(String id, String label, Class<? extends Page> targetPageClass,
|
||||
Class<? extends Page> containerPageClass) {
|
||||
super(id, label, targetPageClass, containerPageClass);
|
||||
|
||||
menuItemLink = getMenuLink("mainMenuSubItemLink");
|
||||
menuItemLink.add(new Label("mainMenuSubItemLabel", getMenuLabel()));
|
||||
|
||||
add(menuItemLink);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
package se.su.dsv.scipro.basepanels.mainmenu;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.wicket.IClusterable;
|
||||
import org.apache.wicket.Page;
|
||||
|
||||
/**
|
||||
* Helper Class for preparing the creation of main menu items
|
||||
* @author patrick
|
||||
*
|
||||
*/
|
||||
public class MenuItem implements IClusterable {
|
||||
|
||||
private static final long serialVersionUID = -5341715569517881163L;
|
||||
|
||||
private String menuLabel;
|
||||
private Class<? extends Page> targetPageClass;
|
||||
|
||||
public MenuItem(String menuLabel, Class<? extends Page> targetPageClass) {
|
||||
this.menuLabel = menuLabel;
|
||||
this.targetPageClass = targetPageClass;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a Main Menu Sub Item
|
||||
*
|
||||
* @param id
|
||||
* @param containerPageClass
|
||||
* @return
|
||||
*/
|
||||
public MainMenuSubItem createSubItem(String id, Class<? extends Page> containerPageClass) {
|
||||
return new MainMenuSubItem(id, menuLabel, targetPageClass, containerPageClass);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a Main Menu Item
|
||||
*
|
||||
* @param id
|
||||
* @param containerPageClass
|
||||
* @param subItems
|
||||
* @return
|
||||
*/
|
||||
public MainMenuItem createMenuItem(String id, Class<? extends Page> containerPageClass, List<MenuItem> subItems) {
|
||||
return new MainMenuItem(id, menuLabel, targetPageClass, containerPageClass, subItems);
|
||||
}
|
||||
}
|
@ -1,98 +1,14 @@
|
||||
#main-nav {
|
||||
|
||||
}
|
||||
|
||||
#nav-list {
|
||||
margin-top: 4px;
|
||||
z-index: 8001;
|
||||
}
|
||||
|
||||
#nav-list li.nav-list-item {
|
||||
float: left;
|
||||
display: inline;
|
||||
margin: 5px 8px 0 8px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#nav-list li.nav-list-item .menu-item {
|
||||
display: block;
|
||||
height: 23px;
|
||||
padding: 4px 2px 3px 2px;
|
||||
}
|
||||
#nav-list li.nav-list-item .menu-item a {
|
||||
color: #fff;
|
||||
font: 1.1em/1.5 arial, sans-serif;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
padding: 0px 4px;
|
||||
}
|
||||
#nav-list li.nav-list-item .menu-item > a#current {
|
||||
/* padding: 0 10px 7px 10px;
|
||||
border-bottom: 5px solid #ccc; */
|
||||
}
|
||||
.menu-item img.nav-arrow {
|
||||
vertical-align: middle;
|
||||
width: 23px;
|
||||
height: 23px;
|
||||
margin-left: 4px;
|
||||
margin-right: -3px;
|
||||
}
|
||||
|
||||
#nav-list a#current {
|
||||
/* Feel free to replace with something nicer */
|
||||
/* padding-bottom: 7px; */
|
||||
/* border-bottom: 5px solid #ccc; */
|
||||
}
|
||||
#nav-list li.current .menu-item,
|
||||
#nav-list li.nav-list-item:hover .menu-item {
|
||||
background-color: #fff;
|
||||
-webkit-border-top-left-radius: 4px;
|
||||
-moz-border-radius-topleft: 4px;
|
||||
border-top-left-radius: 4px;
|
||||
-webkit-border-top-right-radius: 4px;
|
||||
-moz-border-radius-topright: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
text-decoration: none;
|
||||
}
|
||||
#nav-list li.current .menu-item a,
|
||||
#nav-list li.nav-list-item:hover .menu-item a {
|
||||
color: #002f5f;
|
||||
}
|
||||
|
||||
#nav-list li.nav-list-item.parent .submenu {
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: -1px;
|
||||
width: 140px;
|
||||
background: #fff;
|
||||
padding: 5px;
|
||||
display: none;
|
||||
border-bottom: 1px solid #ccc;
|
||||
border-left: 1px solid #ccc;
|
||||
border-right: 1px solid #ccc;
|
||||
z-index: 8000;
|
||||
}
|
||||
#nav-list li.nav-list-item.parent .over {
|
||||
display: block;
|
||||
}
|
||||
#nav-list li.nav-list-item.parent .submenu {
|
||||
font-size: 0.9em;
|
||||
|
||||
}
|
||||
#nav-list li.nav-list-item.parent .submenu a:link,
|
||||
#nav-list li.nav-list-item.parent .submenu a:visited,
|
||||
#nav-list li.nav-list-item.parent .submenu a:hover {
|
||||
display: block;
|
||||
padding: 4px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#main-nav #user-links {
|
||||
margin-top: 5px;
|
||||
.user-links{
|
||||
margin-top:5px;
|
||||
font-size: 0.9em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#main-nav #user-links a {
|
||||
.user-links a{
|
||||
color: #99acbf;
|
||||
}
|
||||
.main-menu{
|
||||
float:left;
|
||||
}
|
||||
.service-menu{
|
||||
float: right;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user