Author: simoneg
Date: Wed Nov 25 14:43:43 2009
New Revision: 884118

URL: http://svn.apache.org/viewvc?rev=884118&view=rev
Log:
LABS-494 : actions on showbean, separate method for creating actions HTML

Modified:
    
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/BeanFormProducer.java
    
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/ShowBean.java

Modified: 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/BeanFormProducer.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/BeanFormProducer.java?rev=884118&r1=884117&r2=884118&view=diff
==============================================================================
--- 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/BeanFormProducer.java
 (original)
+++ 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/BeanFormProducer.java
 Wed Nov 25 14:43:43 2009
@@ -78,13 +78,13 @@
                        out.flush();
                        super.produce(out);
                        if (actions != null) {
+                               out.write("<div class=\"MagmActions\">");
                                int i = 0;
                                for (FormAction action : this.actions) {
-                                       out.write("<input type=\"submit\" 
name=\"" + this.code + ".__action_" + i +"\" id=\"__action_" + i + "\" 
value=\"");
-                                       out.write(new 
LocalizableString(action.getLabel()).toString());
-                                       out.write("\"/>");                      
                                                
+                                       out.write(createAction(action, i));
                                        i++;
                                }
+                               out.write("</div>");
                        }
                        out.write("</div>");
                        List<LocalizableString> allerrs = new 
ArrayList<LocalizableString>(this.errors);
@@ -114,6 +114,14 @@
                        throw new MagmaException(e, "Error writing to output");
                }
        }
+
+       protected String createAction(FormAction action, int index) {
+               StringBuilder ret = new StringBuilder();
+               ret.append("<input type=\"submit\" name=\"" + this.code + 
".__action_" + index +"\" id=\"__action_" + index + "\" value=\"");
+               ret.append(new LocalizableString(action.getLabel()).toString());
+               ret.append("\"/>");
+               return ret.toString();
+       }
        
        @Override
        protected String labelFor(Node gennode) {

Modified: 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/ShowBean.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/ShowBean.java?rev=884118&r1=884117&r2=884118&view=diff
==============================================================================
--- 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/ShowBean.java
 (original)
+++ 
labs/magma/trunk/website-beansview/src/main/java/org/apache/magma/website/beansview/ShowBean.java
 Wed Nov 25 14:43:43 2009
@@ -58,6 +58,7 @@
        protected String outerCssClass = null;
        protected String elementCssClass = null;
        
+       protected List<FormAction> actions;
 
        public ShowBean(Object bean) {
                this.bean = (MagmaBeanSupport)bean;
@@ -96,6 +97,25 @@
                VelocityContext ctx = new VelocityContext();
                ctx.put("prod", this);
                Velocity.evaluate(ctx, writer, "", new StringReader(tplval));
+               if (this.actions != null) {
+                       writer.write("<div class=\"MagmActions\">");
+                       int i = 0;
+                       for (FormAction action : this.actions) {
+                               writer.write(createAction(action, i));
+                               i++;
+                       }                       
+                       writer.write("</div>");
+               }
+       }
+       
+       protected String createAction(FormAction action, int index) {
+               StringBuilder ret = new StringBuilder();
+               ret.append("<a class=\"MagmaActionLink\" href=\"");
+               ret.append(action.getMethodUrl(this.bean));
+               ret.append("\">");
+               ret.append(new LocalizableString(action.getLabel()).toString());
+               ret.append("</a>");
+               return ret.toString();          
        }
        
        public MagmaBeanSupport getBean() {
@@ -180,4 +200,10 @@
                this.elementCssClass = elementCssClass;
        }
        
+       public ShowBean addAction(FormAction action) {
+               if (this.actions == null) this.actions = new 
ArrayList<FormAction>();
+               this.actions.add(action);
+               return this;
+       }
+       
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to