diff --git a/config/alfresco/messages/webclient.properties b/config/alfresco/messages/webclient.properties index c78a7e4771..c5b85bbb7c 100644 --- a/config/alfresco/messages/webclient.properties +++ b/config/alfresco/messages/webclient.properties @@ -104,7 +104,7 @@ search_results=Search Results search_detail=Search for \"{0}\" results shown below close_search=Close Search browse_spaces=Browse Spaces -browse_content=Content items +browse_content=Content Items location=Location toggle_shelf=Hide or Show the Shelf shelf=Shelf diff --git a/source/java/org/alfresco/web/bean/BrowseBean.java b/source/java/org/alfresco/web/bean/BrowseBean.java index 12e283bc33..8df6b41282 100644 --- a/source/java/org/alfresco/web/bean/BrowseBean.java +++ b/source/java/org/alfresco/web/bean/BrowseBean.java @@ -19,6 +19,7 @@ package org.alfresco.web.bean; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -70,6 +71,7 @@ import org.alfresco.web.ui.common.component.UIActionLink; import org.alfresco.web.ui.common.component.UIBreadcrumb; import org.alfresco.web.ui.common.component.UIModeList; import org.alfresco.web.ui.common.component.UIStatusMessage; +import org.alfresco.web.ui.common.component.UIPanel.ExpandedEvent; import org.alfresco.web.ui.common.component.data.UIRichList; import org.alfresco.web.ui.repo.component.IRepoBreadcrumbHandler; import org.alfresco.web.ui.repo.component.UINodeDescendants; @@ -239,6 +241,22 @@ public class BrowseBean implements IContextListener getSearchMinimum(); } + /** + * @return Returns the panels expanded state map. + */ + public Map getPanels() + { + return this.panels; + } + + /** + * @param panels The panels expanded state map. + */ + public void setPanels(Map panels) + { + this.panels = panels; + } + /** * @return Returns the Space Node being used for the current browse screen action. */ @@ -1394,6 +1412,18 @@ public class BrowseBean implements IContextListener this.externalForceRefresh = true; } + /** + * Save the state of the panel that was expanded/collapsed + */ + public void expandPanel(ActionEvent event) + { + if (event instanceof ExpandedEvent) + { + String id = event.getComponent().getId(); + this.panels.put(id, ((ExpandedEvent)event).State); + } + } + // ------------------------------------------------------------------------------ // Private helpers @@ -1672,7 +1702,10 @@ public class BrowseBean implements IContextListener protected ViewsConfigElement viewsConfig = null; /** Listeners for Node events */ - private Set nodeEventListeners = null; + protected Set nodeEventListeners = null; + + /** Collapsable Panel state */ + private Map panels = new HashMap(4, 1.0f); /** Component references */ protected UIRichList spacesRichList; @@ -1680,14 +1713,14 @@ public class BrowseBean implements IContextListener private UIStatusMessage statusMessage; /** Transient lists of container and content nodes for display */ - private List containerNodes = null; - private List contentNodes = null; + protected List containerNodes = null; + protected List contentNodes = null; /** The current space and it's properties - if any */ - private Node actionSpace; + protected Node actionSpace; /** The current document */ - private Node document; + protected Node document; /** Special message to display when user deleting certain folders e.g. Company Home */ private String deleteMessage; diff --git a/source/web/jsp/browse/browse.jsp b/source/web/jsp/browse/browse.jsp index 4314fc5948..94cc90a480 100644 --- a/source/web/jsp/browse/browse.jsp +++ b/source/web/jsp/browse/browse.jsp @@ -202,6 +202,21 @@ + <%-- Custom Template View --%> + + + + + + + + + + + + <%-- Details - Spaces --%> @@ -218,7 +233,8 @@ + label="#{msg.browse_spaces}" progressive="true" facetsId="spaces-panel-facets" + expanded='#{BrowseBean.panels["spaces-panel"]}' expandedActionListener="#{BrowseBean.expandPanel}"> <%-- Spaces List --%> + label="#{msg.browse_content}" progressive="true" facetsId="content-panel-facets" + expanded='#{BrowseBean.panels["content-panel"]}' expandedActionListener="#{BrowseBean.expandPanel}"> <%-- Content list --%>