You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by wo...@apache.org on 2009/11/30 17:15:46 UTC

svn commit: r885475 - /portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp

Author: woonsan
Date: Mon Nov 30 16:15:45 2009
New Revision: 885475

URL: http://svn.apache.org/viewvc?rev=885475&view=rev
Log:
JS2-1057: Makes it remember last-selected tab and category

Modified:
    portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp

Modified: portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp?rev=885475&r1=885474&r2=885475&view=diff
==============================================================================
--- portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp (original)
+++ portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/toolbox/toolbox.jsp Mon Nov 30 16:15:45 2009
@@ -50,7 +50,7 @@
     </tr>
 </table>
 
-<table id="<portlet:namespace/>portletsTab" style="border-collapse: collapse;  width: 100%; margin-top: 0px; margin-bottom: 0px; float: left;">
+<table id="<portlet:namespace/>portletsTab" style="display: none; border-collapse: collapse;  width: 100%; margin-top: 0px; margin-bottom: 0px; float: left;">
     <form onsubmit="return false;">
     <tr>
         <th class="portlet-section-header" colspan="10">Portlets</th>
@@ -65,7 +65,7 @@
     <tr>
         <td class="portlet-section-subheader" colspan='10'>
             <select id="<portlet:namespace/>categories">
-                <option value="">All categories</option>
+                <option value="">Choose a category</option>
                 <c:forEach var="category" items="${categories}">
                     <option value="${category.name}">${category.name}</option>
                 </c:forEach>
@@ -75,7 +75,7 @@
     
     <tr>
         <td>
-            <div id="<portlet:namespace/>portletItemsPanel" style="height: 400px; overflow: auto;"></div>
+            <div id="<portlet:namespace/>portletItemsPanel"></div>
         </td>
     </tr>
 
@@ -168,17 +168,36 @@
 </table>
 
 <script language="javascript">
-YUI(yuiConfig).use('io', 'dataschema-json', 'node-base', function(Y) {
+YUI().use('io', 'dataschema-json', 'node-base', 'cookie', function(Y) {
 
     function switchTab(e) {
-        var tabId = e.target.get("id");
+        var tabId = ('string' == typeof(e) ? e : e.target.get("id"));
         
         Y.Node.one("#<portlet:namespace/>portletsTab").setStyle("display", (tabId == "<portlet:namespace/>portletsTabAction" ? "" : "none"));
         Y.Node.one("#<portlet:namespace/>layoutsTab").setStyle("display", (tabId == "<portlet:namespace/>layoutsTabAction" ? "" : "none"));
         Y.Node.one("#<portlet:namespace/>themesTab").setStyle("display", (tabId == "<portlet:namespace/>themesTabAction" ? "" : "none"));
         Y.Node.one("#<portlet:namespace/>widgetsTab").setStyle("display", (tabId == "<portlet:namespace/>widgetsTabAction" ? "" : "none"));
         
-        e.halt();
+        Y.Cookie.set("toolboxtab", tabId);
+
+        if (tabId == "<portlet:namespace/>portletsTabAction") {
+	        var category = Y.Cookie.get("toolboxcat");
+	        if (!category) {
+		        category = "News";
+	        }
+            var categories = Y.Node.getDOMNode(Y.Node.one("#<portlet:namespace/>categories"));
+            for (var i = 0; i < categories.options.length; i++) {
+                if (category == categories.options[i].value) {
+                    categories.options[i].selected = true;
+                    loadPortletsInCategory(category);
+                    break;
+                }
+            }
+        }
+
+        if ('string' != typeof(e)) {
+            e.halt();
+        }
     }
     
     var onLoadPortletComplete = function(id, o, args) { 
@@ -240,15 +259,19 @@
     };
     
     var loadPortletsInCategory = function(e) {
-        var categories = Y.Node.getDOMNode(e.target);
-        var category = categories.options[categories.selectedIndex].value;
-        var uri = "${portalContextPath}/ajaxapi/?action=getportlets&format=json";
-        if (category) {
-            uri += "&filter=" + category;
+        var category = ('string' == typeof(e) ? e : null);
+        if (!category) {
+	        var categories = Y.Node.getDOMNode(e.target);
+	        category = categories.options[categories.selectedIndex].value;
         }
+        if (!category) {
+            return;
+        }
+        Y.Cookie.set("toolboxcat", category);
+        var uri = "${portalContextPath}/ajaxapi/?action=getportlets&format=json";
+        uri += "&filter=" + category;
         Y.on('io:complete', onLoadPortletComplete, this, []); 
         var request = Y.io(uri);
-
         Y.Node.one("#<portlet:namespace/>query").set("value", "");
     }
     
@@ -270,7 +293,12 @@
     Y.on("click", switchTab, "#<portlet:namespace/>widgetsTabAction");
     Y.on("change", loadPortletsInCategory, "#<portlet:namespace/>categories");
     Y.on("click", loadPortletsByQuery, "#<portlet:namespace/>search");
+
+    var tabId = Y.Cookie.get("toolboxtab");
+    if (!tabId) {
+        tabId = "<portlet:namespace/>portletsTabAction";
+    }
     
-    loadPortletsByQuery("");
+    switchTab(tabId);
 });
 </script>



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org