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