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:26:02 UTC

svn commit: r718608 - 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 Nov 18 06:26:02 2008
New Revision: 718608

URL: http://svn.apache.org/viewvc?rev=718608&view=rev
Log:
Small fixes and enhancements to the inline administration package

Added:
    labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/DirectlyToEditInInline.aj
    labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/menuIcon.gif   (with props)
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/InlineMenuProducer.java
    labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/UseInlinedAdminTemplate.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=718608&r1=718607&r2=718608&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 Nov 18 06:26:02 2008
@@ -17,7 +17,7 @@
 		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);
+			List<AdminAction> actions = filterActions(obj.getValue(), !(obj.getKey() instanceof Class));
 			if (actions.size() > 0) {
 				filteredactions.put(obj.getKey(), actions);
 			}		
@@ -31,6 +31,14 @@
 		return ret;
 	}
 	
-	public boolean AdminWebHandler.inlined = false;
+	public Boolean AdminWebHandler.inlined = false;
+	
+	public Boolean AdminWebHandler.getRequestInlined() {
+		return inlined;
+	}
+	
+	public void AdminWebHandler.setRequestInlined(Boolean inlined) {
+		if (inlined != null) this.inlined = inlined;
+	}
 	
 }

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=718608&r1=718607&r2=718608&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 Nov 18 06:26:02 2008
@@ -1,14 +1,14 @@
 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;
 
 public privileged aspect AddMenuToDefaultTemplate {
 
 	after(Template tpl) : 
-		execution(void DefaultTemplate.layoutFooter()) && within(DefaultTemplate)
+		execution(void Template.layoutExtraContent()) 
 		&& this(tpl) {
+		if (tpl instanceof AdminTemplate) return;
 		AdminWebHandler awe = RootWebHandler.getInstance().handleAdministration();
 		if (awe.isAdministrator()) {
 			tpl.always(awe.doMenu());

Added: labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/DirectlyToEditInInline.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/DirectlyToEditInInline.aj?rev=718608&view=auto
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/DirectlyToEditInInline.aj (added)
+++ labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/DirectlyToEditInInline.aj Tue Nov 18 06:26:02 2008
@@ -0,0 +1,36 @@
+package org.apache.magma.website.admin;
+
+import java.lang.reflect.Modifier;
+import java.util.List;
+
+import org.apache.magma.basics.utils.GenericClass;
+import org.apache.magma.website.admin.AbstractCrudHandler;
+import org.apache.magma.website.beansview.SmartList;
+
+public aspect DirectlyToEditInInline {
+
+	public Boolean AbstractCrudHandler.inlined = false;
+	
+	public Boolean AbstractCrudHandler.getRequestInlined() {
+		return inlined;
+	}
+	
+	public void AbstractCrudHandler.setRequestInlined(Boolean inlined) {
+		if (inlined != null) this.inlined = inlined;
+	}
+	
+	Object around(String link, AbstractCrudHandler handler) : 
+		call(* SmartList.setLink(String)) && args(link) &&
+		withincode(* AbstractCrudHandler.handleList()) &&
+		this(handler) {
+		GenericClass gc = GenericClass.forClass(handler.getClass());
+		List<GenericClass.MethodDef> meths = gc.findAllMethods("handleEdit");
+		if (meths.size() > 0) {
+			if (Modifier.isPublic(meths.get(0).getBaseMethod().getModifiers())) {
+				link = "handleEdit";
+			}
+		}
+		return proceed(link, handler);
+	}
+	
+}

Modified: labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlineMenuProducer.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlineMenuProducer.java?rev=718608&r1=718607&r2=718608&view=diff
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlineMenuProducer.java (original)
+++ labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/InlineMenuProducer.java Tue Nov 18 06:26:02 2008
@@ -30,10 +30,10 @@
 	@Override
 	public void produce(OutputStream stream) {
 		OutputStreamWriter osw = new OutputStreamWriter(stream, "UTF-8");
-		osw.write("<div class=\"MagmaInlineAdminMenu\">");
+		osw.write("<ul class=\"MagmaInlineAdminMenu\">");
 		for (Map.Entry<Object, List<AdminAction>> entry : founds.entrySet()) {
 			Object key = entry.getKey();
-			osw.write("<b>");
+			osw.write("<li class=\"MagmaInlineAdminMenuTitle\">");
 			if (key instanceof Class) {
 				osw.write(new LocalizableString(((Class<?>)key).getSimpleName()).toString());				
 			} else {
@@ -48,10 +48,10 @@
 					}
 				}
 			}
-			osw.write("</b>");
+			osw.write("</li>");
 			super.renderActions(entry.getValue(), (key instanceof Class ? null : key), osw);
 		}
-		osw.write("</div>");
+		osw.write("</ul>");
 		osw.flush();
 	}
 

Modified: labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/UseInlinedAdminTemplate.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/UseInlinedAdminTemplate.aj?rev=718608&r1=718607&r2=718608&view=diff
==============================================================================
--- labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/UseInlinedAdminTemplate.aj (original)
+++ labs/magma/trunk/website-administration-inline/src/main/java/org/apache/magma/website/admin/UseInlinedAdminTemplate.aj Tue Nov 18 06:26:02 2008
@@ -10,7 +10,7 @@
 	
     after(WebHandler h) returning (Templatable t) : execution(* AdminWebHandler+.*(..)) && (HandlerSetup.doMethod(h) || HandlerSetup.subHandle(h) || HandlerSetup.hiddenMethod(h)) {
     	if (t == null) return;
-    	if (h instanceof AdminWebHandler && ((AdminWebHandler)h).inlined) {
+    	if (h instanceof AdminWebHandler && ((AdminWebHandler)h).inlined != null && ((AdminWebHandler)h).inlined) {
     		t.setTemplate(new InlinedAdminTemplate());
     	}
     }

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=718608&r1=718607&r2=718608&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 Nov 18 06:26:02 2008
@@ -1,62 +1,64 @@
-div.MagmaInlineAdminMenu {
+ul.MagmaInlineAdminMenu {
 	position: absolute;
-	top: 16px;
-	left: 16px;
 	color: black;
-	background: white;
-	width: 200px;
-	border: 1px solid gray;
-	border-top: none;
+    background:url(menuLastBg.png) no-repeat 0 100%;
+    padding:0px 0px 5px;
+	width: 189px;
 	display: none;
 	z-index: 400;
 	margin: 0px;
-	padding: 0px;
 	cursor: pointer;
+	font-size: 12px;
+	font-family: sans-serif;	
+	font-style: normal;
 }
 
-.MagmaInlineAdminMenu b {
+.MagmaInlineAdminMenu li {
+    background:url(menuElementBg.png) repeat-y;
+	list-style:none;	
 	display: block;
-	float: left;
-	clear: both;
-	background: #EEEEEE;
-	border-top: 1px solid gray;
-	border-bottom: 1px solid gray;
-	width: 100%;	
+	float: none;
+	height: auto;
 }
 
-.MagmaInlineAdminMenu b small {
-	display: block;
-	float: left;
-	clear: both;
-	font-size: 50%;
-	font-style: italic;
+.MagmaInlineAdminMenu li.MagmaInlineAdminMenuTitle {
+    background:url(menubg.gif) repeat-x 0 100% #666e73;
+    border-top:1px solid #2d444f;
+    color:#fff;
+    padding: 2px;
+    margin: 0px 1px;
 }
 
-.MagmaInlineAdminMenu hr {
-	height: 1px;
-	color: gray;
-	background: gray;
-	width: 100%;
-	float: left;
-	clear: both;
+.MagmaInlineAdminMenu li.MagmaInlineAdminMenuTitle small {
 	display: block;
-	border: 0px;
-	margin: 0px;
+	font-size: 75%;
+	color: yellow;
 }
 
-.MagmaInlineAdminMenu .MagmaAdminMenuAction {
+.MagmaInlineAdminMenu a {
 	display: block;
-	float: left;
-	clear: both;
+	padding: 3px;
+    margin: 0px 2px;
+}
+
+.MagmaInlineAdminMenu a:hover {
+	background: #d0dfe2;
 }
 
 .MagmaAdminLowHilite {
-	background: green;
+	background: #60BFBF;
 	font-size: 1px;
 }
 
 .MagmaAdminStrongHilite {
 	font-size: 1px;
-	background: #99FF99;
-	border: 1px solid #77DD77; 
+	background: #80FFFF;
+	border: 1px solid #80FFFF; 
 }
+
+.MagmaAdminContextMenuBox {
+	border: none;
+	width: 21px;
+	height: 21px;
+	background: transparent url(menuIcon.gif);
+}
\ No newline at end of file

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=718608&r1=718607&r2=718608&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 Nov 18 06:26:02 2008
@@ -1,12 +1,27 @@
 function setupInlineMenu() {
-	var elems = document.getElementsByTagName("div");
-	for (var i = 0; i < elems.length; i++) {
-		if (elems[i].className == 'MagmaInlineAdminMenu') {
-			var me = elems[i];
-			var parent = elems[i].parentNode;
-			var hilite = hiliteBoxFor(parent, me);
+	var elems = new Array();
+	var allelems = document.getElementsByTagName("ul");
+	for (var i = 0; i < allelems.length; i++) {
+		if (allelems[i].className == 'MagmaInlineAdminMenu') {
+			elems[elems.length] = allelems[i];
 		}
-	}	
+	}
+	
+	for (var i = 0; i < elems.length; i++) {
+		var me = elems[i];
+		var parent = me.parentNode;
+		document.body.appendChild(me);
+		me.style.zIndex = "400";
+		var hilite = hiliteBoxFor(parent, me);	
+	}
+	
+	var topmenu = document.getElementById('MagmaAdminSubs');
+	var links = topmenu.getElementsByTagName("a");
+	for (var i = 0; i < links.length; i++) {
+		links[i].onclick = function() { popup(this.href); return false; };
+	} 
+	
+		
 }
 
 function findPos(obj) {
@@ -26,7 +41,8 @@
 		hilite[i] = document.createElement('div');
 	}
 	
-	hilite[4].onclick = function() { display(menu) };
+	hilite[4].onclick = function() { display(menu, div) };
+	menu.onmouseover = function() { display(menu, div) };
 	hilite[4].onmouseover = function() { bolderHilite(hilite) };
 	
 	for (var i = 0; i < hilite.length; i++) {
@@ -35,15 +51,11 @@
 		document.body.appendChild(hilite[i]);
 	}
 	
-	div.onmouseover = function() { bolderHilite(hilite); };
-
 	reposition(hilite, div);
+	lighterHilite(hilite);
 	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; };
@@ -80,10 +92,8 @@
 	acd.style.height = "1px";
 
 	acd = hilite[4];
-	acd.style.left = pos[0] + "px";
-	acd.style.top = pos[1] + "px";
-	acd.style.width = "16px";
-	acd.style.height = "16px";
+	acd.style.left = (pos[0] - 5) + "px";
+	acd.style.top = (pos[1] - 5) + "px";
 }
 
 
@@ -103,19 +113,28 @@
 	hilite[hilite.length - 1].className += " MagmaAdminContextMenuBox";
 }
 
-function display(div) {
-	clearTimeout(div.timer);
-	div.timer = setTimeout(function() { div.timer = null; div.style.display = 'none'; }, 2000);
-	div.style.display = 'block';
+function display(menu, div) {
+	clearTimeout(menu.timer);
+	menu.timer = setTimeout(function() { menu.timer = null; menu.style.display = 'none'; }, 2000);
+	var pos = findPos(div);
+	menu.style.display = 'block';
+	menu.style.left = (pos[0] + 10) + "px";
+	menu.style.top = (pos[1] + 10) + "px";
 }
 
 function popup(href, reference) {
 	var state = '';
-	var pos = findPos(reference);
-	var width = reference.offsetWidth + 250;
-	if (width < 700) width = 700;
-	var height = reference.offsetHeight + 120;
-	if (height < 600) height = 600;
+	if (reference) {
+		var pos = findPos(reference);
+		var width = reference.offsetWidth + 250;
+		if (width < 700) width = 700;
+		var height = reference.offsetHeight + 120;
+		if (height < 600) height = 600;
+	} else {
+		var pos = [100, 50];
+		var width = 700;
+		var height = 600;
+	}
 	state += 'width=' + width + ',';
 	state += 'height=' + height + ',';
 	

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=718608&r1=718607&r2=718608&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 Nov 18 06:26:02 2008
@@ -3,10 +3,11 @@
 }
 
 h1 {
+	background: #6F8992 none repeat scroll 0%;
+	color: white;
 	font-size: 16px;
 	margin: 0px;
 	padding: 0px;	
-	border-bottom: 1px dashed #CCCCCC;
 }
 
 #zoneMain {
@@ -15,30 +16,43 @@
 
 #zoneMain div.mainContent {
 	width: auto;
-	border: 1px solid gray;
+	background: #FAFAFA none repeat scroll 0%;
+	border: 1px solid #D6D6D6;
 	padding: 3px;
+	padding-bottom: 15px;
 }
 
 #zoneRight {
-	border: 1px solid gray;
-	padding: 5px;
-	background:#eaf0f2;
+    background: #D0DfE2;
+    border: solid 1px #2d444f;
+    padding-bottom: 5px;
 	float: left;
-	margin: 10px;
 	width: 100%;
+	margin-top: 10px;
 }
 
-#MagmaAdminSideMenu {
-	float: left;	
+#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;		
+}
 
-#closeInlineAdminWindow {
-	background: red;
-	display: block;
-	float: right;
-	border: 1px solid gray;
-	color: black;
-	font-weight: bold;	
+#MagmaAdminSideMenu {
+	float: left;	
+	width: 100%;
 }
+

Added: labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/menuIcon.gif
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/menuIcon.gif?rev=718608&view=auto
==============================================================================
Binary file - no diff available.

Propchange: labs/magma/trunk/website-administration-inline/src/main/resources/org/apache/magma/website/admin/menuIcon.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org