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/10/21 23:51:19 UTC
svn commit: r706789 - in
/labs/magma/trunk/website-administration-inline/src/main:
java/org/apache/magma/website/admin/
resources/org/apache/magma/website/admin/
Author: simoneg
Date: Tue Oct 21 14:51:19 2008
New Revision: 706789
URL: http://svn.apache.org/viewvc?rev=706789&view=rev
Log:
Fixes some small bugs, makes it more customizable
Modified:
labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/AddInlineMenuMethod.aj
labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/AddMenuToDefaultTemplate.aj
labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlineMenuHelper.java
labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlinedAdminTemplate.java
labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InterceptWebMethods.aj
labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlineMenu.css
labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlineMenu.js
labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlinedAdminTemplate.css
Modified: labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/AddInlineMenuMethod.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/AddInlineMenuMethod.aj?rev=706789&r1=706788&r2=706789&view=diff
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/AddInlineMenuMethod.aj (original)
+++ labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/AddInlineMenuMethod.aj Tue Oct 21 14:51:19 2008
@@ -1,15 +1,28 @@
package org.apache.magma.website.admin;
+import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
+import java.util.Set;
+
import org.apache.magma.website.admin.AdminWebHandler;
import java.util.Map;
import org.apache.magma.website.HtmlProducer;
import org.apache.magma.website.RootWebHandler;
+import org.apache.magma.website.WebHandler;
public aspect AddInlineMenuMethod {
- public HtmlProducer AdminWebHandler.hiddenInlineMenu(Map<Object, List<AdminAction>> founds) {
- return new InlineMenuProducer(founds);
+ public HtmlProducer AdminWebHandler.hiddenInlineMenu(Map<Object, Set<AdminAction>> founds) {
+ Map<Object, List<AdminAction>> filteredactions = new HashMap<Object, List<AdminAction>>();
+ for (Iterator<Map.Entry<Object, Set<AdminAction>>> iterator = founds.entrySet().iterator(); iterator.hasNext();) {
+ Map.Entry<Object, Set<AdminAction>> obj = iterator.next();
+ List<AdminAction> actions = filterActions(obj.getValue(), true);
+ if (actions.size() > 0) {
+ filteredactions.put(obj.getKey(), actions);
+ }
+ }
+ return new InlineMenuProducer(filteredactions);
}
public AdminWebHandler RootWebHandler.handleInlineAdministration() {
Modified: labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/AddMenuToDefaultTemplate.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/AddMenuToDefaultTemplate.aj?rev=706789&r1=706788&r2=706789&view=diff
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/AddMenuToDefaultTemplate.aj (original)
+++ labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/AddMenuToDefaultTemplate.aj Tue Oct 21 14:51:19 2008
@@ -1,5 +1,6 @@
package org.apache.magma.website.admin;
+import org.apache.magma.website.RootWebHandler;
import org.apache.magma.website.templating.DefaultTemplate;
import org.apache.magma.website.templating.Template;
@@ -7,9 +8,11 @@
after(Template tpl) :
execution(void DefaultTemplate.layoutFooter()) && within(DefaultTemplate)
- && this(tpl)
- && if(AdminWebHandler.isAdministrator()) {
- tpl.always(tpl.root().handleAdministration().doMenu());
+ && this(tpl) {
+ AdminWebHandler awe = RootWebHandler.getInstance().handleAdministration();
+ if (awe.isAdministrator()) {
+ tpl.always(awe.doMenu());
+ }
}
}
Modified: labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlineMenuHelper.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlineMenuHelper.java?rev=706789&r1=706788&r2=706789&view=diff
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlineMenuHelper.java (original)
+++ labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlineMenuHelper.java Tue Oct 21 14:51:19 2008
@@ -6,9 +6,12 @@
import java.util.Map;
import java.util.Set;
+import org.apache.magma.website.HtmlProducer;
+import org.apache.magma.website.WebHandler;
+
public class InlineMenuHelper {
- public static void findActions(Iterable<Object> args, Map<Object, List<AdminAction>> founds) {
+ public static void findActions(Iterable<Object> args, Map<Object, Set<AdminAction>> founds) {
for (Object arg : args) {
if (arg == null) continue;
if (arg instanceof Collection) {
@@ -19,7 +22,7 @@
}
}
- public static void findActionsForCollection(Collection<?> arg, Map<Object, List<AdminAction>> founds) {
+ public static void findActionsForCollection(Collection<?> arg, Map<Object, Set<AdminAction>> founds) {
Class<?> bound = null;
int i = 0;
for (Object content : arg) {
@@ -37,22 +40,21 @@
if (bound != null) {
Set<AdminAction> scanFor = AdminWebHandler.scanFor(bound);
if (scanFor != null && scanFor.size() > 0) {
- List<AdminAction> actions = AdminWebHandler.filterActions(scanFor, false);
- if (actions.size() > 0) {
- founds.put(bound, actions);
- }
+ founds.put(bound, scanFor);
}
}
}
- public static void findActions(Object bean, Map<Object, List<AdminAction>> founds) {
+ public static void findActions(Object bean, Map<Object, Set<AdminAction>> founds) {
Set<AdminAction> scanFor = AdminWebHandler.scanFor(bean.getClass());
if (scanFor != null && scanFor.size() > 0) {
- List<AdminAction> actions = AdminWebHandler.filterActions(scanFor, true);
- if (actions.size() > 0) {
- founds.put(bean, actions);
- }
+ founds.put(bean, scanFor);
}
}
+
+ public static boolean isFromAdmin(HtmlProducer producer) {
+ return producer.isFrom(AdminWebHandler.class);
+ }
+
}
\ No newline at end of file
Modified: labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlinedAdminTemplate.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlinedAdminTemplate.java?rev=706789&r1=706788&r2=706789&view=diff
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlinedAdminTemplate.java (original)
+++ labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlinedAdminTemplate.java Tue Oct 21 14:51:19 2008
@@ -6,4 +6,9 @@
super.fileName = "inlinedAdminTemplate.html";
}
+
+ @Override
+ public void layoutRight() {
+ always(root().handleInlineAdministration().doSideBox(null));
+ }
}
Modified: labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InterceptWebMethods.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InterceptWebMethods.aj?rev=706789&r1=706788&r2=706789&view=diff
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InterceptWebMethods.aj (original)
+++ labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InterceptWebMethods.aj Tue Oct 21 14:51:19 2008
@@ -28,9 +28,11 @@
(domethod() || handlemethod())
{
Object ret = proceed();
- if(!AdminWebHandler.isAdministrator()) return ret;
+ AdminWebHandler awe = RootWebHandler.getInstance().handleAdministration();
+ if (!awe.isAdministrator()) return ret;
if (ret == null) return ret;
if (ret instanceof HtmlProducer) {
+ if (InlineMenuHelper.isFromAdmin((HtmlProducer)ret)) return ret;
/*
Class<?> c = String.class;
if (((HtmlProducer)ret).getBasePath().equals("simone")) return ret;
@@ -39,7 +41,7 @@
Object[] args = thisJoinPoint.getArgs();
args = args.clone();
if (args == null) return ret;
- Map<Object, List<AdminAction>> founds = new HashMap<Object, List<AdminAction>>();
+ Map<Object, Set<AdminAction>> founds = new HashMap<Object, Set<AdminAction>>();
InlineMenuHelper.findActions(Arrays.asList(args), founds);
if (ret instanceof ParametrizableProducer) {
ProducerParameters params = ((ParametrizableProducer)ret).getParameters();
@@ -47,10 +49,7 @@
InlineMenuHelper.findActions(parameters.values(), founds);
}
if (founds.size() > 0) {
- return new CompoundHtmlProducer(
- (HtmlProducer)ret,
- RootWebHandler.getInstance().handleAdministration().hiddenInlineMenu(founds));
-
+ return new CompoundHtmlProducer((HtmlProducer)ret, awe.hiddenInlineMenu(founds));
}
}
return ret;
Modified: labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlineMenu.css
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlineMenu.css?rev=706789&r1=706788&r2=706789&view=diff
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlineMenu.css (original)
+++ labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlineMenu.css Tue Oct 21 14:51:19 2008
@@ -52,9 +52,11 @@
.MagmaAdminLowHilite {
background: green;
+ font-size: 1px;
}
.MagmaAdminStrongHilite {
+ font-size: 1px;
background: #99FF99;
border: 1px solid #77DD77;
}
Modified: labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlineMenu.js
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlineMenu.js?rev=706789&r1=706788&r2=706789&view=diff
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlineMenu.js (original)
+++ labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlineMenu.js Tue Oct 21 14:51:19 2008
@@ -22,69 +22,76 @@
function hiliteBoxFor(div, menu) {
var hilite = new Array();
+ for (var i = 0; i < 5; i++) {
+ hilite[i] = document.createElement('div');
+ }
+
+ hilite[4].onclick = function() { display(menu) };
+ hilite[4].onmouseover = function() { bolderHilite(hilite) };
+
+ for (var i = 0; i < hilite.length; i++) {
+ hilite[i].style.position = "absolute";
+ hilite[i].style.zIndex = "100";
+ document.body.appendChild(hilite[i]);
+ }
+
+ div.onmouseover = function() { bolderHilite(hilite); };
+
+ reposition(hilite, div);
+ setTimeout(function() { reposition(hilite, div) }, 500);
+ setInterval(function() { reposition(hilite, div) }, 1500);
+ lighterHilite(hilite);
+
+ menu.onmouseover = function() { display(menu) };
+
+ var links = menu.getElementsByTagName("a");
+ for (var i = 0; i < links.length; i++) {
+ links[i].onclick = function() { popup(this.href, div); return false; };
+ }
+
+ return hilite;
+}
+
+function reposition(hilite, div) {
var pos = findPos(div);
- var acd = document.createElement("div");
+ var acd = hilite[0];
acd.style.left = pos[0] + "px";
acd.style.top = pos[1] + "px";
acd.style.width = "1px";
acd.style.height = div.offsetHeight + "px";
- hilite[0] = acd;
-
- acd = document.createElement("div");
+
+ acd = hilite[1];
acd.style.left = pos[0] + "px";
acd.style.top = pos[1] + "px";
acd.style.width = div.offsetWidth + "px";
acd.style.height = "1px";
- hilite[1] = acd;
- acd = document.createElement("div");
+ acd = hilite[2];
acd.style.left = (pos[0] + div.offsetWidth) + "px";
acd.style.top = pos[1] + "px";
acd.style.width = "1px";
acd.style.height = div.offsetHeight + "px";
- hilite[2] = acd;
- acd = document.createElement("div");
+ acd = hilite[3];
acd.style.left = pos[0] + "px";
acd.style.top = (pos[1] + div.offsetHeight) + "px";
acd.style.width = div.offsetWidth + "px";
acd.style.height = "1px";
- hilite[3] = acd;
- acd = document.createElement("div");
+ acd = hilite[4];
acd.style.left = pos[0] + "px";
acd.style.top = pos[1] + "px";
acd.style.width = "16px";
acd.style.height = "16px";
- hilite[4] = acd;
- acd.onclick = function() { display(menu) };
- acd.onmouseover = function() { bolderHilite(hilite) };
-
- for (var i = 0; i < hilite.length; i++) {
- hilite[i].style.position = "absolute";
- hilite[i].style.zIndex = "100";
- document.body.appendChild(hilite[i]);
- }
-
- div.onmouseover = function() { bolderHilite(hilite); };
-
- lighterHilite(hilite);
-
- menu.onmouseover = function() { display(menu) };
-
- var links = menu.getElementsByTagName("a");
- for (var i = 0; i < links.length; i++) {
- links[i].onclick = function() { popup(this.href, div); return false; };
- }
-
- return hilite;
}
+
function lighterHilite(hilite) {
for (var i = 0; i < hilite.length; i++) {
hilite[i].className = "MagmaAdminLowHilite";
}
+ hilite[hilite.length - 1].className += " MagmaAdminContextMenuBox";
}
function bolderHilite(hilite) {
@@ -93,6 +100,7 @@
for (var i = 0; i < hilite.length; i++) {
hilite[i].className = "MagmaAdminStrongHilite";
}
+ hilite[hilite.length - 1].className += " MagmaAdminContextMenuBox";
}
function display(div) {
Modified: labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlinedAdminTemplate.css
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlinedAdminTemplate.css?rev=706789&r1=706788&r2=706789&view=diff
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlinedAdminTemplate.css (original)
+++ labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/inlinedAdminTemplate.css Tue Oct 21 14:51:19 2008
@@ -23,6 +23,9 @@
border: 1px solid gray;
padding: 5px;
background:#eaf0f2;
+ float: left;
+ margin: 10px;
+ width: 100%;
}
#MagmaAdminSideMenu {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org