You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by rg...@apache.org on 2005/10/14 22:43:05 UTC
svn commit: r321216 - in /cocoon/blocks: portal-sample/trunk/samples/conf/
portal-sample/trunk/samples/profiles/layout/
portal/trunk/java/org/apache/cocoon/portal/impl/
portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/
Author: rgoers
Date: Fri Oct 14 13:43:02 2005
New Revision: 321216
URL: http://svn.apache.org/viewcvs?rev=321216&view=rev
Log:
<action dev="RG" type="fix" fixes-bug="32784">Portal Block: Allow Full screen mode to show navigation.</action>
Modified:
cocoon/blocks/portal-sample/trunk/samples/conf/cocoon-portal-sample.xconf
cocoon/blocks/portal-sample/trunk/samples/profiles/layout/portal.xml
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java
Modified: cocoon/blocks/portal-sample/trunk/samples/conf/cocoon-portal-sample.xconf
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal-sample/trunk/samples/conf/cocoon-portal-sample.xconf?rev=321216&r1=321215&r2=321216&view=diff
==============================================================================
--- cocoon/blocks/portal-sample/trunk/samples/conf/cocoon-portal-sample.xconf (original)
+++ cocoon/blocks/portal-sample/trunk/samples/conf/cocoon-portal-sample.xconf Fri Oct 14 13:43:02 2005
@@ -90,6 +90,8 @@
<!-- wsrp support: -->
<aspect adapter="wsrp"/>
</aspects>
+ <!-- Set to false or remove to have no navigation when portlets are displayed full screen -->
+ <fullScreenNav>true</fullScreenNav>
</portal-manager>
<portal-event-manager>
Modified: cocoon/blocks/portal-sample/trunk/samples/profiles/layout/portal.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal-sample/trunk/samples/profiles/layout/portal.xml?rev=321216&r1=321215&r2=321216&view=diff
==============================================================================
--- cocoon/blocks/portal-sample/trunk/samples/profiles/layout/portal.xml (original)
+++ cocoon/blocks/portal-sample/trunk/samples/profiles/layout/portal.xml Fri Oct 14 13:43:02 2005
@@ -173,6 +173,44 @@
</composite-layout>
</named-item>
+ <named-item name="TabDemo3">
+ <composite-layout name="linktab">
+ <named-item name="One">
+ <coplet-layout name="coplet">
+ <coplet-instance-data>CZ Weblog-1</coplet-instance-data>
+ </coplet-layout>
+ </named-item>
+ <named-item name="Two">
+ <coplet-layout name="coplet">
+ <coplet-instance-data>ML Weblog-1</coplet-instance-data>
+ </coplet-layout>
+ </named-item>
+ <named-item name="Three">
+ <composite-layout name="tab">
+ <named-item name="Weblog">
+ <coplet-layout name="coplet">
+ <coplet-instance-data>Weblog-1</coplet-instance-data>
+ </coplet-layout>
+ </named-item>
+ <named-item name="Gallery">
+ <composite-layout name="column">
+ <item>
+ <coplet-layout name="coplet">
+ <coplet-instance-data>Gallery-Petstore</coplet-instance-data>
+ </coplet-layout>
+ </item>
+ <item>
+ <coplet-layout name="coplet">
+ <coplet-instance-data>GalleryViewer-1</coplet-instance-data>
+ </coplet-layout>
+ </item>
+ </composite-layout>
+ </named-item>
+ </composite-layout>
+ </named-item>
+ </composite-layout>
+ </named-item>
+
<named-item name="Gallery">
<composite-layout name="column">
<item>
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java?rev=321216&r1=321215&r2=321216&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java Fri Oct 14 13:43:02 2005
@@ -30,6 +30,7 @@
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.ProcessingException;
+import org.apache.cocoon.util.HashMap;
import org.apache.cocoon.components.ContextHelper;
import org.apache.cocoon.portal.PortalManager;
import org.apache.cocoon.portal.PortalManagerAspect;
@@ -68,6 +69,9 @@
/** The component context. */
protected Context context;
+ private boolean fullScreenNav;
+ public static final String FULLSCREEN = "fullScreenNav";
+
/**
* @see org.apache.avalon.framework.service.Serviceable#service(ServiceManager)
*/
@@ -134,6 +138,7 @@
conf.getChild("aspects"),
this,
new Parameters());
+ this.fullScreenNav = conf.getChild(FULLSCREEN, true).getValueAsBoolean(false);
}
/**
@@ -156,7 +161,12 @@
*/
public void render(PortalManagerAspectRenderContext context, PortalService service, ContentHandler ch, Parameters parameters) throws SAXException {
// first check for a full screen layout
- Layout portalLayout = this.portalService.getEntryLayout(null);
+
+ Layout portalLayout = null;
+ if (!this.fullScreenNav) {
+ // If fullscreen mode - otherwise TabContentAspect will deal with the layout
+ portalLayout = this.portalService.getEntryLayout(null);
+ }
if ( portalLayout == null ) {
portalLayout = this.portalService.getComponentManager().getProfileManager().getPortalLayout(null, null);
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java?rev=321216&r1=321215&r2=321216&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java Fri Oct 14 13:43:02 2005
@@ -159,7 +159,8 @@
XMLUtils.startElement(handler, "named-item", attributes);
if (j == selected) {
- this.processLayout(tab.getLayout(), service, handler);
+
+ this.processLayout(getNextLayout(service, tab), service, handler);
if (config.includeSelected) {
List events = new ArrayList();
events.add(event);
@@ -197,6 +198,25 @@
desc.setAutoCreate(true);
return Collections.singletonList(desc).iterator();
+ }
+
+ private Layout getNextLayout(PortalService service, Item tab) {
+ Layout tabLayout = tab.getLayout();
+ if (tabLayout instanceof CompositeLayout) {
+ CompositeLayout layout = (CompositeLayout)tabLayout;
+ List list = layout.getItems();
+ int size = list.size();
+ for (int i = 0; i < size; i++) {
+ if (list.get(i) instanceof NamedItem) {
+ return tabLayout;
+ }
+ }
+ }
+ Layout nextLayout = service.getEntryLayout(null);
+ if (nextLayout == null) {
+ nextLayout = tab.getLayout();
+ }
+ return nextLayout;
}
/*