[Suiviobsmer-commits] r862 - in trunk/wao-ui/src/main: java/fr/ifremer/wao/ui/components resources/fr/ifremer/wao/ui/components webapp/css
Author: bleny Date: 2010-12-27 14:29:24 +0000 (Mon, 27 Dec 2010) New Revision: 862 Log: refactor menu generation depending on profile Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/Layout.tml trunk/wao-ui/src/main/webapp/css/main.css Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java =================================================================== --- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java 2010-12-24 16:32:31 UTC (rev 861) +++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/Layout.java 2010-12-27 14:29:24 UTC (rev 862) @@ -25,7 +25,12 @@ package fr.ifremer.wao.ui.components; import fr.ifremer.wao.bean.ConnectedUser; +import fr.ifremer.wao.ui.pages.Administration; +import fr.ifremer.wao.ui.pages.Boats; +import fr.ifremer.wao.ui.pages.Contacts; import fr.ifremer.wao.ui.pages.Index; +import fr.ifremer.wao.ui.pages.SamplingPlan; +import fr.ifremer.wao.ui.pages.Synthesis; import fr.ifremer.wao.ui.services.ServiceAuthentication; import fr.ifremer.wao.ui.services.WaoManager; import org.apache.tapestry5.BindingConstants; @@ -38,6 +43,9 @@ import org.apache.tapestry5.services.Request; import org.slf4j.Logger; +import java.util.LinkedHashMap; +import java.util.Map; + /** * Layout * @@ -122,6 +130,29 @@ return this.contentFeedback; } + /*************************** MAIN MENU ************************************/ + + /** Page links and link title. */ + private Map<String, String> menuItems; + + @Property + private Map.Entry<String, String> menuItem; + + public Map getMenuItems() { + if (menuItems == null) { + Class[] pagesInMenu = new Class[] { SamplingPlan.class, Boats.class, + Contacts.class, Synthesis.class, Administration.class}; + menuItems = new LinkedHashMap<String, String>(); + for (Class page : pagesInMenu) { + if (serviceAuthentication.isAllowed(page)) { + // menuItems.put(page.getSimpleName(), _(page.getName())); + menuItems.put(page.getSimpleName(), page.getSimpleName()); + } + } + } + return menuItems; + } + public String getAdminClass() { return !isAdministrationHidden() ? " admin" : ""; } Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/Layout.tml =================================================================== --- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/Layout.tml 2010-12-24 16:32:31 UTC (rev 861) +++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/Layout.tml 2010-12-27 14:29:24 UTC (rev 862) @@ -83,7 +83,14 @@ </a> </div> </div> + <ul class="clearfix" id="so-menu"> + <li t:type="loop" source="menuItems.entrySet()" value="menuItem"> + <a href="${contextPath}/${menuItem.key}">${menuItem.value}</a> + </li> + </ul> + + <!--ul class="clearfix" id="so-menu"> <li class="link${adminClass} ${samplingSelected}" onclick="location.href='${contextPath}/samplingPlan'" title="Plan d'échantillonnage"> Plan d'Echantillonnage @@ -102,7 +109,7 @@ Synthèse </li> <p:else> - <!-- Menu disabled for Guest user --> + <!- Menu disabled for Guest user -> <li class="disabled" title="Liste des navires inaccessible"> Navires </li> @@ -129,7 +136,7 @@ </p:else> </t:if> </t:unless> - </ul> + </ul--> <div id="${contentId}"> <t:feedback t:id="contentFeedback" t:autoClear="false"/> Modified: trunk/wao-ui/src/main/webapp/css/main.css =================================================================== --- trunk/wao-ui/src/main/webapp/css/main.css 2010-12-24 16:32:31 UTC (rev 861) +++ trunk/wao-ui/src/main/webapp/css/main.css 2010-12-27 14:29:24 UTC (rev 862) @@ -137,65 +137,39 @@ padding-right: 40px; } -/* MENU */ -ul#so-menu { - width: 80%; - height: 40px; +#so-menu { + width: 800px; + margin-top: 7px; margin-left: auto; margin-right: auto; - margin-top: 7px; + display: table; } -ul#so-menu li { - list-style-type: none; +#so-menu li { + display: table-cell; text-align: center; - float:left; + padding: 0px; } -ul#so-menu li.link { - background-color: #DEE7EC; - padding: 5px; - width: 23%; +#so-menu li:first-child { + margin-left: 0px; } -ul#so-menu li.disabled { - background-color: #e5e5e5; - color: white; - padding: 5px; - width: 23%; +#so-menu a { + color: black; + display: block; + width: inherit; + background-color: #DEE7EC; + padding: 7px; + text-decoration: none; + margin-left: 15px; } -ul#so-menu li.admin { - width: 18% !important; -} - -/* Separation */ -ul#so-menu li.sep { - height: 12px; - width: 0.8%; - background-color: #007CC2; -} -/* Home */ -ul#so-menu li.home { - padding: 4px 0 0 2px; - width: 25px; -} - -ul#so-menu li.selected { +#so-menu a:hover, #so-menu a:active, #so-menu a:focus { background-color: #133852; - border-top: 3px solid #007CC2; - border-bottom: 3px solid #007CC2; color: white; } -ul#so-menu li.link:hover { - background-color: #133852; - border-top: 3px solid #007CC2; - border-bottom: 3px solid #007CC2; - color: white; - cursor: pointer; -} - div#so-footer { margin-top: 20px; margin-bottom: 20px; @@ -216,3 +190,4 @@ div#so-footer p.cnil { font-size: 0.7em; } +
participants (1)
-
bleny@users.labs.libre-entreprise.org