You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2008/11/18 15:25:26 UTC
svn commit: r718607 - in /labs/magma/trunk/website-administration/src/main:
java/org/apache/magma/website/admin/
resources/org/apache/magma/website/admin/
Author: simoneg
Date: Tue Nov 18 06:25:26 2008
New Revision: 718607
URL: http://svn.apache.org/viewvc?rev=718607&view=rev
Log:
Small fixes and enhancements to the administration package
Added:
labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/CheckAdminAccess.aj
labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuElementBg.png (with props)
labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuLastBg.png (with props)
labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuVertSep.gif (with props)
labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menubg.gif (with props)
labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/submenuTop.png (with props)
Modified:
labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AbstractCrudHandler.java
labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminMenuProducer.java
labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminSideMenuProducer.java
labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminTemplate.java
labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminTopMenuProducer.java
labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminWebHandler.java
labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminSideMenu.css
labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminTemplate.css
labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminTopMenu.css
labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/topMenu.js
Modified: labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AbstractCrudHandler.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AbstractCrudHandler.java?rev=718607&r1=718606&r2=718607&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AbstractCrudHandler.java (original)
+++ labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AbstractCrudHandler.java Tue Nov 18 06:25:26 2008
@@ -20,6 +20,8 @@
protected ViewCustomizer showCustomizer = null;
protected ViewCustomizer editCustomizer = null;
+ protected int listSize = 100;
+
protected AbstractCrudHandler(Class<T> myBeanClass) {
this.myclass = myBeanClass;
}
@@ -33,7 +35,8 @@
return new SmartList(myclass, "")
.setLink("doShow")
.setFilter(listCustomizer)
- .setHeader(header);
+ .setHeader(header)
+ .setElementsPerPage(listSize);
}
protected HtmlProducer doShow(T bean) {
@@ -67,5 +70,10 @@
return doShow(bean);
}
+ public AbstractCrudHandler<T> setElementsPerPage(int len) {
+ this.listSize = len;
+ return this;
+ }
+
}
Modified: labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminMenuProducer.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminMenuProducer.java?rev=718607&r1=718606&r2=718607&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminMenuProducer.java (original)
+++ labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminMenuProducer.java Tue Nov 18 06:25:26 2008
@@ -10,33 +10,31 @@
public abstract class AdminMenuProducer extends HtmlProducer {
protected void renderSub(Class<?> bean, List<AdminAction> list, Writer osw) throws IOException {
- osw.write("<dt class=\"MagmaAdminMenuElementTitle\" id=\"MagmaAdminMenuElement-" + bean.getSimpleName() + "\">");
+ osw.write("<li class=\"MagmaAdminMenuElementTitle\" id=\"MagmaAdminMenuElement-" + bean.getSimpleName() + "\"><a href=\"#\">");
osw.write(new LocalizableString(bean.getSimpleName()).toString());
- osw.write("</dt>");
- osw.write("<dd>");
+ osw.write("</a>");
+ osw.write("<ul class=\"MagmaAdminMenuSubElements\">");
renderActions(list, null, osw);
- osw.write("</dd>");
+ osw.write("</ul>");
}
protected void renderActions(List<AdminAction> actions, Object bean, Writer osw) throws IOException {
- osw.write("<div class=\"MagmaAdminMenuList\">");
Boolean wasparametrized = null;
for (AdminAction action : actions) {
if (wasparametrized != null && wasparametrized.booleanValue() != action.isParametrized()) {
- osw.write("<hr/>");
+ osw.write("<li class=\"MagmaAdminMenuSeparator\"/>");
}
wasparametrized = action.isParametrized();
renderAction(action, bean, osw);
}
- osw.write("</div>");
}
protected void renderAction(AdminAction action, Object bean, Writer osw) throws IOException {
- osw.write("<span class=\"MagmaAdminMenuAction\">");
+ osw.write("<li class=\"MagmaAdminMenuAction\">");
osw.write("<a href=\"" + action.getUrl(bean) + "\">");
osw.append(new LocalizableString(action.getAction()).toString());
osw.write("</a>");
- osw.write("</span>");
+ osw.write("</li>");
}
}
Modified: labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminSideMenuProducer.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminSideMenuProducer.java?rev=718607&r1=718606&r2=718607&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminSideMenuProducer.java (original)
+++ labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminSideMenuProducer.java Tue Nov 18 06:25:26 2008
@@ -4,6 +4,7 @@
import java.io.OutputStreamWriter;
import java.util.List;
+import org.apache.magma.basics.LocalizableString;
import org.apache.magma.website.Head;
import org.apache.magma.website.HtmlProducer;
@@ -11,10 +12,17 @@
private List<AdminAction> actions;
private Object bean;
+ private Class beanClass;
public AdminSideMenuProducer(List<AdminAction> actions, Object bean) {
this.actions = actions;
this.bean = bean;
+ this.beanClass = bean.getClass();
+ }
+
+ public AdminSideMenuProducer(List<AdminAction> actions, Class clazz) {
+ this.actions = actions;
+ this.beanClass = clazz;
}
@Override
@@ -25,8 +33,12 @@
@Override
public void produce(OutputStream stream) {
OutputStreamWriter osw = new OutputStreamWriter(stream, "UTF-8");
- osw.write("<div id=\"MagmaAdminSideMenu\">");
+ osw.write("<h1>");
+ osw.write(new LocalizableString(beanClass.getSimpleName()).toString());
+ osw.write("</h1>");
+ osw.write("<div id=\"MagmaAdminSideMenu\"><ul>");
super.renderActions(actions, bean, osw);
+ osw.write("</ul></div>");
osw.flush();
}
Modified: labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminTemplate.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminTemplate.java?rev=718607&r1=718606&r2=718607&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminTemplate.java (original)
+++ labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminTemplate.java Tue Nov 18 06:25:26 2008
@@ -19,7 +19,6 @@
public void layoutRight() {
always(root().handleAdministration().doSideBox(null));
}
-
@Override
protected void openWrapper(String zone, HtmlProducer producer, OutputStreamWriter osw) throws IOException {
Modified: labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminTopMenuProducer.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminTopMenuProducer.java?rev=718607&r1=718606&r2=718607&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminTopMenuProducer.java (original)
+++ labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminTopMenuProducer.java Tue Nov 18 06:25:26 2008
@@ -34,17 +34,17 @@
public void produce(OutputStream stream) {
OutputStreamWriter osw = new OutputStreamWriter(stream, "UTF-8");
osw.write("<div id=\"MagmaAdminMenu\">");
- osw.write("<div id=\"MagmaAdminMenuMains\">");
+ osw.write("<ul id=\"MagmaAdminMenuMains\" class=\"MagmaAdminMenuRow\">");
renderActions(main, null, osw);
- osw.write("</div>");
- osw.write("<div id=\"MagmaAdminSubs\"><dl>");
+ osw.write("</ul>");
+ osw.write("<ul id=\"MagmaAdminSubs\" class=\"MagmaAdminMenuRow\">");
for (Class<?> bean : menuClasses) {
List<AdminAction> list = subElements.get(bean);
if (list != null && list.size() > 0) {
renderSub(bean, list, osw);
}
}
- osw.write("</dl></div>");
+ osw.write("</ul>");
osw.write("</div>");
osw.flush();
}
Modified: labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminWebHandler.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminWebHandler.java?rev=718607&r1=718606&r2=718607&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminWebHandler.java (original)
+++ labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AdminWebHandler.java Tue Nov 18 06:25:26 2008
@@ -27,6 +27,7 @@
static {
selfParse();
+ menuActions.add(new AdminAction(null,"magma:/", false));
}
static Set<AdminAction> scanFor(Class<?> beanClass) {
@@ -142,8 +143,10 @@
public List<AdminAction> filterActions(Set<AdminAction> set, boolean alsoParametrized) {
List<AdminAction> sublist = new ArrayList<AdminAction>();
for (AdminAction action : set) {
- if ((alsoParametrized || !action.isParametrized()) && canExecute(action)) {
- sublist.add(action);
+ if (canExecute(action)) {
+ if ((action.isParametrized() && alsoParametrized) || !action.isParametrized()) {
+ sublist.add(action);
+ }
}
}
Collections.sort(sublist);
Added: labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/CheckAdminAccess.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/CheckAdminAccess.aj?rev=718607&view=auto
==============================================================================
--- labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/CheckAdminAccess.aj (added)
+++ labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/CheckAdminAccess.aj Tue Nov 18 06:25:26 2008
@@ -0,0 +1,13 @@
+package org.apache.magma.website.admin;
+
+import org.apache.magma.basics.MagmaException;
+
+public aspect CheckAdminAccess {
+
+ before(AdminWebHandler handler) :
+ (execution(* AdminWebHandler.handle*(..)) || execution(* AdminWebHandler.do*(..))) &&
+ this(handler) {
+ if (!handler.isAdministrator()) throw new MagmaException("Access forbidden");
+ }
+
+}
Modified: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminSideMenu.css
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminSideMenu.css?rev=718607&r1=718606&r2=718607&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminSideMenu.css (original)
+++ labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminSideMenu.css Tue Nov 18 06:25:26 2008
@@ -1,21 +1,13 @@
#MagmaAdminSideMenu .MagmaAdminMenuAction {
- float: left;
- clear: both;
width: 100%;
}
-#MagmaAdminSideMenu hr {
- float: left;
- clear: both;
- width: 100%;
-}
-
#MagmaAdminSideMenu .MagmaAdminMenuAction a {
width: 100%;
text-decoration: none;
color: black;
}
-#MagmaAdminSideMenu div:hover.MagmaAdminMenuAction {
- background: #FFEEEE;
-}
\ No newline at end of file
+#MagmaAdminSideMenu .MagmaAdminMenuAction a:hover {
+ background:#d0dfe2;
+}
Modified: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminTemplate.css
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminTemplate.css?rev=718607&r1=718606&r2=718607&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminTemplate.css (original)
+++ labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminTemplate.css Tue Nov 18 06:25:26 2008
@@ -7,18 +7,49 @@
}
h1 {
+ background: #6F8992 none repeat scroll 0%;
+ color: white;
font-size: 16px;
margin: 0px;
padding: 0px;
- border-bottom: 1px dashed #CCCCCC;
}
#zoneRight {
- border: 1px solid gray;
+ width: 189px;
+ margin-left: -195px;
+ background:url(menuLastBg.png) no-repeat 0 100%;
+ padding-bottom: 5px;
+}
+
+#zoneRight div {
+ background:url(menuElementBg.png) repeat-y;
padding: 5px;
- width: 245px;
- margin-left: -255px;
- background:#eaf0f2;
+}
+
+#zoneRight div div {
+ padding: 0px;
+ margin: 0px;
+ background: none;
+}
+
+#zoneRight h1 {
+ background:url(menubg.gif) repeat-x 0 100% #666e73;
+ border-top:1px solid #2d444f;
+ color:#fff;
+}
+
+#zoneRight ul {
+ padding-left: 0px;
+ margin-left: 0px;
+}
+
+#zoneRight li {
+ list-style:none;
+ display: block;
+}
+
+li.MagmaAdminMenuSeparator {
+ border-top:1px solid #2d444f;
}
#zoneMain {
@@ -27,9 +58,15 @@
}
#zoneMain div.mainContent {
- margin-right: 260px;
+ margin-right: 200px;
width: auto;
- border: 1px solid gray;
+ background: #FAFAFA none repeat scroll 0%;
+ border: 1px solid #D6D6D6;
padding: 3px;
+ padding-bottom: 15px;
+}
+
+#zoneMain .MagmaList-HeaderCell {
+ background: #E0F7FF;
}
Modified: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminTopMenu.css
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminTopMenu.css?rev=718607&r1=718606&r2=718607&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminTopMenu.css (original)
+++ labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/adminTopMenu.css Tue Nov 18 06:25:26 2008
@@ -6,64 +6,131 @@
position: fixed;
top: 0px;
left: 0px;
- z-index: 200;
width: 100%;
float:left;
- background:#eaf0f2;
- border-bottom: 2px solid #9ac1c9;
- color:#333;
- font-size: 14px;
+ border-top:1px solid #2d444f;
+ border-bottom:1px solid #2d444f;
+ background:url(menubg.gif) repeat-x 0 100% #666e73;
+ padding:0 30px;
+ font-size: 12px;
+ font-family: sans-serif;
+ font-style: normal;
+ height: 27px;
+ z-index: 200;
}
-#MagmaAdminSubs {
- float: right;
- z-index: 200;
+#MagmaAdminMenu * {
+ margin: 0px;
+ z-index: 2;
}
-#MagmaAdminSubs dl {
+
+#MagmaAdminMenu .MagmaAdminMenuRow {
+ float: left;
margin: 0px;
+ padding: 0px;
+ border: none;
}
-#MagmaAdminSubs dt {
- border-left: 2px solid #9ac1c9;
- padding: 2px;
- float: right;
- font-weight:bold;
- cursor:pointer;
- background:#eaf0f2;
-}
-#MagmaAdminSubs dt:hover {
- background:#d9e1e4;
-}
-#MagmaAdminSubs dd {
- position:absolute;
- overflow:hidden;
- display:none;
- background:#fff;
- z-index:200;
- opacity:0;
- margin: 0px;
+.MagmaAdminMenuRow li {
+ list-style:none;
+ position:relative;
+ text-align:left;
+}
+
+.MagmaAdminMenuRow li.over {
+ z-index:1;
+}
+
+
+.MagmaAdminMenuRow a, .MagmaAdminMenuRow a:hover {
+ display:block;
+ text-decoration:none;
+}
+
+
+.MagmaAdminMenuRow li {
+ float:left;
+ background:url(menuVertSep.gif) no-repeat 100% 0;
+}
+.MagmaAdminMenuRow a {
+ float:left;
+ padding:0 4px;
+ color:#fff;
+ line-height:27px;
}
-#MagmaAdminSubs .MagmaAdminMenuList {
- border:2px solid #9ac1c9;
- border-top:none;
- background:#eaf0f2;
+.MagmaAdminMenuRow li.over a {
+ color:#d6e2e5;
}
-/*
-#MagmaAdminSubs .MagmaAdminMenuAction {
+
+.MagmaAdminMenuRow ul li, .MagmaAdminMenuRow ul li.active {
+ float:none;
+ height:auto;
+ background:none;
+ margin:0;
+}
+.MagmaAdminMenuRow ul a, .MagmaAdminMenuRow ul a:hover {
+ float:none;
+ padding:3px;
+ background:none;
display: block;
- width: 100%;
+ line-height: normal;
}
-*/
-#MagmaAdminSubs .MagmaAdminMenuAction a {
- display:block;
- padding:5px;
- color:#333;
- text-decoration:none;
- width: 100%;
- border-top: 1px solid #9ac1c9;
+.MagmaAdminMenuRow ul li.over a,
+.MagmaAdminMenuRow ul li.over a:hover
+.MagmaAdminMenuRow ul a,
+.MagmaAdminMenuRow li.active li {
+ font-weight:normal;
+}
+
+.MagmaAdminMenuRow ul {
+ position: absolute;
+ width:189px;
+ top:26px;
+ left:-10000px;
+ margin-top:-7px;
+ padding-left:0px;
+ padding-bottom:5px;
+ background:url(menuLastBg.png) no-repeat 0 100%;
+}
+
+.MagmaAdminMenuRow ul ul {
+ border-top:none;
+}
+
+.MagmaAdminMenuRow li.over ul { left:-1px; }
+.MagmaAdminMenuRow li.over ul ul { left:-10000px; }
+.MagmaAdminMenuRow li.over ul li.over ul { left:100px; }
+
+.MagmaAdminMenuRow ul li {
+ background:url(menuElementBg.png) repeat-y;
+ padding:0 2px;
+}
+.MagmaAdminMenuRow ul li a:hover {
+ background:#d0dfe2;
+}
+.MagmaAdminMenuRow li.over ul a,
+.MagmaAdminMenuRow ul li a,
+.MagmaAdminMenuRow ul li a:hover {
+ color:#2F2F2F;
}
-#MagmaAdminSubs .MagmaAdminMenuAction a:hover {
- background:#d9e1e4;
- color:#000
+
+.MagmaAdminMenuRow ul ul ul { left:-10000px; }
+.MagmaAdminMenuRow li.over ul li.over ul ul { left:-10000px;}
+.MagmaAdminMenuRow li.over ul li.over ul li.over ul { left:100px; }
+
+.MagmaAdminMenuRow ul ul {
+ background:url(submenuTop.png) no-repeat;
+ padding-top:2px;
+ left:100px;
+ top:13px;
}
+#MagmaAdminMenu:after {
+ content:".";
+ display:block;
+ clear:both;
+ height:0;
+ font-size:0;
+ line-height:0em;
+ overflow:hidden;
+}
\ No newline at end of file
Added: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuElementBg.png
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuElementBg.png?rev=718607&view=auto
==============================================================================
Binary file - no diff available.
Propchange: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuElementBg.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuLastBg.png
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuLastBg.png?rev=718607&view=auto
==============================================================================
Binary file - no diff available.
Propchange: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuLastBg.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuVertSep.gif
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuVertSep.gif?rev=718607&view=auto
==============================================================================
Binary file - no diff available.
Propchange: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menuVertSep.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menubg.gif
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menubg.gif?rev=718607&view=auto
==============================================================================
Binary file - no diff available.
Propchange: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/menubg.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/submenuTop.png
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/submenuTop.png?rev=718607&view=auto
==============================================================================
Binary file - no diff available.
Propchange: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/submenuTop.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/topMenu.js
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/topMenu.js?rev=718607&r1=718606&r2=718607&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/topMenu.js (original)
+++ labs/magma/trunk/website-administration/src/main/resources/org/apache/magma/website/admin/topMenu.js Tue Nov 18 06:25:26 2008
@@ -1,99 +1,20 @@
function setupMenu() {
- var elems = document.getElementsByTagName("dt");
+ var elems = document.getElementsByTagName("li");
for (var i = 0; i < elems.length; i++) {
if (elems[i].className == 'MagmaAdminMenuElementTitle') {
- var dd = nextSibling(elems[i]);
- elems[i].onmouseover = function() { show(nextSibling(this)) };
- dd.onmouseout = function() { hideTimeout(this) };
- dd.onmouseover = function() { cancelHiding(this) };
- var pos = findPos(elems[i]);
- dd.style.display = 'block';
- dd.style.height = 'auto';
- dd.maxh = dd.offsetHeight;
- dd.style.left = pos[0] + "px";
- dd.style.top = (pos[1] + elems[i].offsetHeight) + "px";
- /*
- if (dd.offsetWidth < elems[i].offsetWidth) {
- dd.style.width = elems[i].offsetWidth + "px";
- } else {
- dd.style.width = dd.offsetWidth;
- }
- */
- dd.style.height = '0px';
- dd.style.display = 'none';
+ elems[i].onmouseover = function() { addClassName(this,'over') };
+ elems[i].onmouseout = function() { removeClassName(this,'over') };
}
}
}
-function nextSibling(n) {
- do n = n.nextSibling;
- while (n && n.nodeType != 1);
- return n;
+function addClassName(element, className) {
+ element.className += (element.className ? " " : "") + className;
}
-function findPos(obj) {
- var curleft = curtop = 0;
- if (obj.offsetParent) {
- do {
- curleft += obj.offsetLeft;
- curtop += obj.offsetTop;
- } while (obj = obj.offsetParent);
- }
- return [curleft,curtop];
-}
-
-
-var menuWasShowing;
-
-function show(ele) {
- if (menuWasShowing && menuWasShowing != null) {
- hide(menuWasShowing);
- }
- menuWasShowing = ele;
- cancelHiding(ele);
- clearInterval(ele.timer);
- ele.style.display = 'block';
- ele.timer = setInterval(function() { slide(ele,1) },10);
-}
-
-function hideTimeout(ele) {
- clearTimeout(ele.timeout);
- ele.timeout = setTimeout(function() { hide(ele) }, 500);
-}
-
-function cancelHiding(ele) {
- clearTimeout(ele.timeout);
-}
-
-function hide(ele) {
- menuWasShowing = null;
- clearInterval(ele.timer);
- ele.timer = setInterval(function() { slide(ele,-1) },10);
-}
-
-
-function slide(c,d) {
- var currh = c.offsetHeight;
- var dist;
- if(d == 1) {
- dist = (Math.round((c.maxh - currh) / 10));
- } else {
- dist = (Math.round(currh / 10));
- }
- if(dist <= 1 && d == 1) {
- dist = 1;
- }
- c.style.height = currh + (dist * d) + 'px';
- c.style.opacity = currh / c.maxh;
- c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')';
- if((currh < 2 && d != 1) || (currh > (c.maxh - 2) && d == 1)) {
- if (d != 1) {
- c.style.display = 'none';
- }
- clearInterval(c.timer);
- c.timer = null;
- }
-}
+function removeClassName(element, className) {
+ element.className = element.className.replace(new RegExp("(^|\\s+)" + className + "(\\s+|$)"), " ");
+}
addOnload(setupMenu);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org