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