morciuch    2002/11/15 09:27:18

  Modified:    docs/site changes.html
               src/java/org/apache/jetspeed/modules/actions/controllers
                        MultiColumnControllerAction.java
               src/java/org/apache/jetspeed/modules/parameters
                        RegistryEntryListBox.java
               webapp/WEB-INF/conf admin.xreg controls.xreg
               webapp/WEB-INF/templates/vm/controllers/html
                        multicolumn-customize.vm
               webapp/WEB-INF/templates/vm/portlets/html
                        customizer-portletset-layout.vm
               xdocs    changes.xml
  Log:
  Allow to customize control for each portlet in the layout customizer (see Bugzilla 
bug # 13252).
  
  List of available controls is limited to ones with parameter "simple" set to "true" 
in control registry. Currently, there are 3 available controls: TitlePortletControl, 
BoxControl and ClearPortletControl.
  
  Revision  Changes    Path
  1.71      +3 -0      jakarta-jetspeed/docs/site/changes.html
  
  Index: changes.html
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/docs/site/changes.html,v
  retrieving revision 1.70
  retrieving revision 1.71
  diff -u -r1.70 -r1.71
  --- changes.html      14 Nov 2002 22:43:32 -0000      1.70
  +++ changes.html      15 Nov 2002 17:27:17 -0000      1.71
  @@ -133,6 +133,9 @@
   </li>
   -->
   <li>
  +  Add - Bug # 13252 - 2002/11/15 - Allow to customize control for each portlet in 
layout customizer (MO)
  +</li>
  +<li>
     Add - 2002/11/14 - Jetspeed/Axis Integration, ChangeLanguagePortlet (DT)
   </li>
   <li>
  
  
  
  1.24      +36 -0     
jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controllers/MultiColumnControllerAction.java
  
  Index: MultiColumnControllerAction.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/controllers/MultiColumnControllerAction.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- MultiColumnControllerAction.java  8 Nov 2002 23:13:44 -0000       1.23
  +++ MultiColumnControllerAction.java  15 Nov 2002 17:27:17 -0000      1.24
  @@ -58,6 +58,8 @@
   import org.apache.jetspeed.om.registry.PortletEntry;
   import org.apache.jetspeed.om.profile.IdentityElement;
   import org.apache.jetspeed.om.profile.Entry;
  +import org.apache.jetspeed.om.profile.psml.PsmlControl;
  +import org.apache.jetspeed.services.PortalToolkit;
   import org.apache.jetspeed.om.profile.MetaInfo;
   import org.apache.jetspeed.om.profile.Layout;
   import org.apache.jetspeed.om.profile.Parameter;
  @@ -557,6 +559,40 @@
           if ((col > -1) && (row > -1) && (row < columns[col].size() - 1))
           {
               move(columns, col, row, col, row + 1);
  +        }
  +    }
  +
  +    public void doControl(RunData data, Context context)
  +    {
  +        JetspeedRunData jdata = (JetspeedRunData) data;
  +
  +        String controlName = data.getParameters().getString("control");
  +        String id = data.getParameters().getString("js_peid");
  +
  +        try
  +        {
  +            Entry entry = 
jdata.getCustomizedProfile().getDocument().getEntryById(id);
  +
  +            if (entry != null)
  +            {
  +                if (controlName != null && controlName.trim().length() > 0)
  +                {
  +                    PsmlControl control = new PsmlControl();
  +                    control.setName(controlName);
  +                    if (control != null)
  +                    {
  +                        entry.setControl(control);
  +                    }
  +                }
  +                else
  +                {
  +                    entry.setControl(null);
  +                }
  +            }
  +        }
  +        catch (Exception e)
  +        {
  +            Log.error(e);
           }
       }
   
  
  
  
  1.2       +29 -3     
jakarta-jetspeed/src/java/org/apache/jetspeed/modules/parameters/RegistryEntryListBox.java
  
  Index: RegistryEntryListBox.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/parameters/RegistryEntryListBox.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RegistryEntryListBox.java 12 Nov 2002 22:19:00 -0000      1.1
  +++ RegistryEntryListBox.java 15 Nov 2002 17:27:17 -0000      1.2
  @@ -64,6 +64,7 @@
   import org.apache.jetspeed.om.profile.ProfileLocator;
   import org.apache.jetspeed.om.registry.PortletInfoEntry;
   import org.apache.jetspeed.om.registry.RegistryEntry;
  +import org.apache.jetspeed.om.registry.Parameter;
   import org.apache.jetspeed.om.security.JetspeedUser;
   import org.apache.jetspeed.services.JetspeedSecurity;
   import org.apache.jetspeed.services.Registry;
  @@ -83,6 +84,7 @@
    * <LI><code>null-if-empty</code> [<strong>true</strong>|false] - do not return a 
select control if item list is empty</LI>   
    * <LI><code>set-label</code> [<strong>false</strong>|true] - put label in front of 
the list box based on the registry name</LI>    
    * <LI><code>disabled-if-wml</code> [<strong>false</strong>|true] - set disabled 
attribute for the list box if using wml</LI>     
  + * <LI><code>select-if-simple</code> [<strong>false</strong>|true] - select only 
entries with parameter "simple" set to true</LI>   
    * </UL> 
    * @author <a href="[EMAIL PROTECTED]">Mark Orciuch</a>
    * @version $Id$  
  @@ -96,6 +98,7 @@
       public static final String OPTION_NULL_IF_EMPTY = "null-if-empty";
       public static final String OPTION_SET_LABEL = "set-label";
       public static final String OPTION_DISABLED_IF_WML = "disabled-if-wml";
  +    public static final String OPTION_SELECT_IF_SIMPLE = "select-if-simple";
   
       /**
        * Put custom objects in the velocity context
  @@ -117,6 +120,7 @@
           String nullIfEmpty = (String)getParm(OPTION_NULL_IF_EMPTY, "true");
           boolean setLabel = (new Boolean((String)getParm(OPTION_SET_LABEL, 
"false"))).booleanValue();
           boolean disabledIfWML = (new 
Boolean((String)getParm(OPTION_DISABLED_IF_WML, "false"))).booleanValue();
  +        boolean selectIfSimple = (new 
Boolean((String)getParm(OPTION_SELECT_IF_SIMPLE, "false"))).booleanValue();
   
           // Iterate thru entries from selected registry
           List list = new ArrayList();
  @@ -124,13 +128,31 @@
           {
               RegistryEntry entry = Registry.getEntry(regName, (String)i.next());
               boolean selected = false;
  -            selected = 
JetspeedSecurity.checkPermission((JetspeedUser)data.getUser(), new 
PortalResource(entry), "customize");
  +            selected = JetspeedSecurity.checkPermission((JetspeedUser) 
data.getUser(), new PortalResource(entry), "customize");
               if (selected && !selectHidden)
  +            {
                   selected = !entry.isHidden();
  +            }
               if (selected && (entry instanceof PortletInfoEntry))
  -                selected = ((PortletInfoEntry)entry).hasMediaType(mediaType);
  +            {
  +                selected = ((PortletInfoEntry) entry).hasMediaType(mediaType);
  +            }
  +            if (selected && selectIfSimple)
  +            {
  +                Parameter simpleParam = ((PortletInfoEntry) 
entry).getParameter("simple");
  +                if (simpleParam != null)
  +                {
  +                    selected = new Boolean(simpleParam.getValue()).booleanValue();
  +                }
  +                else
  +                {
  +                    selected = false;
  +                }
  +            }
               if (selected)
  +            {
                   list.add(entry);
  +            }
           }
   
           // Perform optional sort of list box items
  @@ -172,6 +194,10 @@
           else if (regName.equals(Registry.PORTLET_CONTROL))
           {
               label = Localization.getString("CUSTOMIZER_DECORATION");
  +        }
  +        else if (regName.equals(Registry.CLIENT))
  +        {
  +            label = "Client";
           }
           else
           {
  
  
  
  1.27      +8 -0      jakarta-jetspeed/webapp/WEB-INF/conf/admin.xreg
  
  Index: admin.xreg
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/conf/admin.xreg,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- admin.xreg        12 Nov 2002 22:19:00 -0000      1.26
  +++ admin.xreg        15 Nov 2002 17:27:17 -0000      1.27
  @@ -47,6 +47,14 @@
       <parameter name="skin.style.registry" value="Skin" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
       <parameter name="skin.style.disabled-if-wml" value="true" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
       <parameter name="skin.style.javascript:onchange" 
value="document.skins.submit()" hidden="false" cachedOnName="true" 
cachedOnValue="true"/>    
  +    <parameter name="control" value="" type="style" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  +    <parameter name="control.style" value="RegistryEntryListBox" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  +    <parameter name="control.style.registry" value="PortletControl" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  +    <parameter name="control.style.disabled-if-wml" value="true" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  +    <parameter name="control.style.select-hidden" value="true" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  +    <parameter name="control.style.select-if-simple" value="true" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  +    <parameter name="control.style.set-label" value="true" hidden="false" 
cachedOnName="true" cachedOnValue="true"/>
  +    <parameter name="control.style.javascript:onchange" value="this.form.submit()" 
hidden="false" cachedOnName="true" cachedOnValue="true"/>    
       <meta-info>
         <title>Customize pane</title>
       </meta-info>
  
  
  
  1.7       +3 -0      jakarta-jetspeed/webapp/WEB-INF/conf/controls.xreg
  
  Index: controls.xreg
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/webapp/WEB-INF/conf/controls.xreg,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- controls.xreg     23 Jul 2001 21:46:44 -0000      1.6
  +++ controls.xreg     15 Nov 2002 17:27:18 -0000      1.7
  @@ -5,6 +5,7 @@
     <portlet-control-entry name="ClearPortletControl" hidden="true">
       
<classname>org.apache.jetspeed.portal.controls.VelocityPortletControl</classname>
       <parameter name="theme" value="clear.vm"/>
  +    <parameter name="simple" value="true" hidden="false"/>    
       <meta-info>
         <title>ClearPortletControl</title>
       </meta-info>
  @@ -26,6 +27,7 @@
       
<classname>org.apache.jetspeed.portal.controls.VelocityPortletControl</classname>
       <parameter name="theme" value="jetspeed-box.vm"/>
       <parameter name="thickness" value="2"/>
  +    <parameter name="simple" value="true" hidden="false"/>    
       <meta-info>
         <title>Boxed titled control</title>
       </meta-info>
  @@ -35,6 +37,7 @@
     <portlet-control-entry name="TitlePortletControl">
       
<classname>org.apache.jetspeed.portal.controls.VelocityPortletControl</classname>
       <parameter name="theme" value="jetspeed.vm"/>
  +    <parameter name="simple" value="true" hidden="false"/>    
       <meta-info>
         <title>Simple titled control</title>
       </meta-info>
  
  
  
  1.15      +37 -2     
jakarta-jetspeed/webapp/WEB-INF/templates/vm/controllers/html/multicolumn-customize.vm
  
  Index: multicolumn-customize.vm
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/webapp/WEB-INF/templates/vm/controllers/html/multicolumn-customize.vm,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- multicolumn-customize.vm  2 Sep 2002 18:33:08 -0000       1.14
  +++ multicolumn-customize.vm  15 Nov 2002 17:27:18 -0000      1.15
  @@ -3,6 +3,7 @@
   <br>
   <table border="0" cellpadding="2" cellspacing="0" width="100%">
   <tr>
  +#set ($ndx = 0)
   #set ($col = 0)
   #foreach ( $column in $portlets )
   #set ($row = 0)
  @@ -110,10 +111,44 @@
                 </td>
               </tr>
   #end
  +</form>
  +#if ($portlet.Control.Name) 
  +   #set ($controlListBox = $jetspeed.getPortletParameter($data, 
$data.User.getTemp("customizer"), "control", $portlet.Control.Name))
  + #else 
  +   #set ($controlListBox = $jetspeed.getPortletParameter($data, 
$data.User.getTemp("customizer"), "control")) 
  +#end
  +
  +#if (!$portlet.Path && $controlListBox)      
  +      
  +            <tr>
  +              <td#if(${skin.ContentStyleClass}) class="${skin.ContentStyleClass}" 
#end #if(${skin.BackgroundColor}) style="background-color: ${skin.BackgroundColor}" 
#end>
  +                <table width="100%"> ## Including table to match alignment.
  +                  <tr>
  +                    <td>
  +        #if ($!mtype) 
  +                        <form name="decorations$ndx" 
action="$jslink.Template.addQueryData('mtype', $mtype)" method="post">
  +        #else
  +                        <form name="decorations$ndx" action="$jslink.Template" 
method="post">
  +        #end
  +        #if ($action) 
  +                                <input name="$jslink.ActionKey" type="hidden" 
value="$action"> 
  +        #end
  +                                <input name="js_peid" type="hidden" 
value="$portlet.id"> 
  +                                <input type="hidden" name="eventSubmit_doControl" 
value="doControl">        
  +                                $controlListBox
  +                        </form>
  +        #set ($ndx = $ndx + 1)            
  +                    </td>
  +                  </tr>
  +                </table>
  +              </td>
  +            </tr>
  +#end
  +
             </table>
             </td></tr>
             </table>
  -          </form>
  +          ##</form>
           </td>
         </tr>
   #set ($row = $row + 1)
  
  
  
  1.12      +2 -0      
jakarta-jetspeed/webapp/WEB-INF/templates/vm/portlets/html/customizer-portletset-layout.vm
  
  Index: customizer-portletset-layout.vm
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/webapp/WEB-INF/templates/vm/portlets/html/customizer-portletset-layout.vm,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- customizer-portletset-layout.vm   12 Nov 2002 22:19:00 -0000      1.11
  +++ customizer-portletset-layout.vm   15 Nov 2002 17:27:18 -0000      1.12
  @@ -128,4 +128,6 @@
       </tr>
     </table>
   </center>
  +## Set reference to customizer for access from the individual controller customizers
  +$data.User.setTemp("customizer",$customizer)
   $!set.Controller.getContent($data)
  
  
  
  1.92      +4 -1      jakarta-jetspeed/xdocs/changes.xml
  
  Index: changes.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/xdocs/changes.xml,v
  retrieving revision 1.91
  retrieving revision 1.92
  diff -u -r1.91 -r1.92
  --- changes.xml       14 Nov 2002 22:43:09 -0000      1.91
  +++ changes.xml       15 Nov 2002 17:27:18 -0000      1.92
  @@ -23,6 +23,9 @@
   </li>
   -->
   <li>
  +  Add - Bug # 13252 - 2002/11/15 - Allow to customize control for each portlet in 
layout customizer (MO)
  +</li>
  +<li>
     Add - 2002/11/14 - Jetspeed/Axis Integration, ChangeLanguagePortlet (DT)
   </li>
   <li>
  
  
  

--
To unsubscribe, e-mail:   <mailto:jetspeed-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:jetspeed-dev-help@;jakarta.apache.org>

Reply via email to