");
+ }
+
+ @Override
+ public void encodeChildren(FacesContext context) throws IOException
+ {
+ if (!isRendered())
+ return;
+ for (Iterator i = this.getChildren().iterator(); i.hasNext();)
+ {
+ UIComponent child = (UIComponent) i.next();
+ Utils.encodeRecursive(context, child);
+ }
+ }
+
+ @Override
+ public boolean getRendersChildren()
+ {
+ return true;
+ }
+
+ /**
+ * Class representing the clicking of a tree node.
+ */
+ @SuppressWarnings("serial")
+ public static class CategoryBrowserEvent extends ActionEvent
+ {
+ private String item;
+
+ private boolean includeSubcategories;
+
+ public CategoryBrowserEvent(UIComponent component, String item, boolean include)
+ {
+ super(component);
+
+ this.item = item;
+ this.includeSubcategories = include;
+ }
+
+ public String getItem()
+ {
+ return item;
+ }
+
+ public boolean isIncludeSubcategories()
+ {
+ return includeSubcategories;
+ }
+ }
+}
diff --git a/source/java/org/alfresco/web/ui/repo/tag/CategoryBrowserTag.java b/source/java/org/alfresco/web/ui/repo/tag/CategoryBrowserTag.java
new file mode 100644
index 0000000000..68b269deee
--- /dev/null
+++ b/source/java/org/alfresco/web/ui/repo/tag/CategoryBrowserTag.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing
+ */
+package org.alfresco.web.ui.repo.tag;
+
+import javax.faces.component.UIComponent;
+
+import org.alfresco.web.ui.common.tag.HtmlComponentTag;
+
+public class CategoryBrowserTag extends HtmlComponentTag
+{
+ /**
+ * @see javax.faces.webapp.UIComponentTag#getRendererType()
+ */
+ public String getRendererType()
+ {
+ return null;
+ }
+
+ /**
+ * @see javax.faces.webapp.UIComponentTag#setProperties(javax.faces.component.UIComponent)
+ */
+ protected void setProperties(UIComponent component)
+ {
+ super.setProperties(component);
+ }
+
+ /**
+ * @see org.alfresco.web.ui.common.tag.HtmlComponentTag#release()
+ */
+ public void release()
+ {
+ super.release();
+ }
+
+ @Override
+ public String getComponentType()
+ {
+ return "org.alfresco.faces.CategoryBrowser";
+ }
+}
diff --git a/source/web/WEB-INF/faces-config-beans.xml b/source/web/WEB-INF/faces-config-beans.xml
index d66e237e3c..1971d04fc1 100644
--- a/source/web/WEB-INF/faces-config-beans.xml
+++ b/source/web/WEB-INF/faces-config-beans.xml
@@ -5014,4 +5014,28 @@
+
+ CategoryBrowserPluginBean
+ org.alfresco.web.bean.ajax.CategoryBrowserPluginBean
+ session
+
+ nodeService
+ #{NodeService}
+
+
+ categoryService
+ #{CategoryService}
+
+
+
+
+ CategoryBrowserBean
+ org.alfresco.web.bean.CategoryBrowserBean
+ session
+
+ nodeService
+ #{NodeService}
+
+
+
diff --git a/source/web/WEB-INF/faces-config-navigation.xml b/source/web/WEB-INF/faces-config-navigation.xml
index 58789f557f..4ba3d88e82 100644
--- a/source/web/WEB-INF/faces-config-navigation.xml
+++ b/source/web/WEB-INF/faces-config-navigation.xml
@@ -930,4 +930,13 @@
+
+
+ /jsp/*
+
+ category-browse
+ /jsp/browse/category-browse.jsp
+
+
+
diff --git a/source/web/WEB-INF/faces-config-repo.xml b/source/web/WEB-INF/faces-config-repo.xml
index 958c8105c0..6b44845152 100644
--- a/source/web/WEB-INF/faces-config-repo.xml
+++ b/source/web/WEB-INF/faces-config-repo.xml
@@ -203,6 +203,12 @@
org.alfresco.faces.WebScriptorg.alfresco.web.scripts.jsf.UIWebScript
+
+
+ org.alfresco.faces.CategoryBrowser
+ org.alfresco.web.ui.repo.component.UICategoryBrowser
+
+
diff --git a/source/web/WEB-INF/repo.tld b/source/web/WEB-INF/repo.tld
index eb5bbee94f..69a3900ec2 100644
--- a/source/web/WEB-INF/repo.tld
+++ b/source/web/WEB-INF/repo.tld
@@ -2168,4 +2168,22 @@
+
+ categoryBrowser
+ org.alfresco.web.ui.repo.tag.CategoryBrowserTag
+ JSP
+
+
+ id
+ false
+ true
+
+
+
+ rendered
+ false
+ true
+
+
+
diff --git a/source/web/jsp/browse/category-browse.jsp b/source/web/jsp/browse/category-browse.jsp
new file mode 100644
index 0000000000..b7a7ed14cc
--- /dev/null
+++ b/source/web/jsp/browse/category-browse.jsp
@@ -0,0 +1,460 @@
+<%--
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+--%>
+<%@ page import="org.alfresco.web.app.Application" %>
+<%@ page import="javax.faces.context.FacesContext" %>
+
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
+<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
+
+<%@ page buffer="100kb" contentType="text/html;charset=UTF-8" %>
+<%@ page isELIgnored="false" %>
+
+
+
+
+
+
+<%
+FacesContext fc = FacesContext.getCurrentInstance();
+
+// set locale for JSF framework usage
+fc.getViewRoot().setLocale(Application.getLanguage(fc));
+%>
+
+<%-- load a bundle of properties with I18N strings --%>
+
+
+
+
+ <%-- Main outer table --%>
+
+
+ <%-- Title bar --%>
+
+
+ <%@ include file="../parts/titlebar.jsp" %>
+
+
+
+ <%-- Main area --%>
+
+ <%-- Shelf --%>
+
+ <%@ include file="../parts/shelf.jsp" %>
+
+
+ <%-- Work Area --%>
+
+
+ <%-- Breadcrumb --%>
+ <%@ include file="../parts/breadcrumb.jsp" %>
+
+ <%-- Status and Actions --%>
+
+
+
+
+ <%-- Status and Actions inner contents table --%>
+ <%-- Generally this consists of an icon, textual summary and actions for the current object --%>
+
+
+ <%-- actions --%>
+
+
+
+
+
+ <%-- Summary --%>
+
+
+
+
+
+
+
+ <%-- View mode settings --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%-- separator row with gradient shadow --%>
+
+
+
+
+
+
+ <%-- Custom Template View --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%-- Details - Spaces --%>
+
+
+
+
+ <%-- wrapper comment used by the panel to add additional component facets --%>
+
+
+
+
+
+
+
+
+
+
+
+ <%-- Spaces List --%>
+
+
+ <%-- Primary column for details view mode --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%-- Primary column for icons view mode --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%-- Primary column for list view mode --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <%-- Description column for all view modes --%>
+
+
+
+
+
+
+
+ <%-- Path column for search mode in details view mode --%>
+
+
+
+
+
+
+
+ <%-- Created Date column for details view mode --%>
+
+
+
+
+
+
+
+
+
+ <%-- Modified Date column for details/icons view modes --%>
+
+
+
+
+
+
+
+
+
+ <%-- Node Descendants links for list view mode --%>
+
+
+
+
+ <%-- Space Actions column --%>
+
+
+
+
+
+ <%-- actions are configured in web-client-config-actions.xml --%>
+
+
+ <%-- More actions menu --%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/web/jsp/sidebar/category-browser.jsp b/source/web/jsp/sidebar/category-browser.jsp
new file mode 100644
index 0000000000..727592fcdf
--- /dev/null
+++ b/source/web/jsp/sidebar/category-browser.jsp
@@ -0,0 +1,30 @@
+<%--
+ * Copyright (C) 2005-2007 Alfresco Software Limited.
+
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+--%>
+<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
+<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
+<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
+<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
+
+
\ No newline at end of file