Author: woonsan
Date: Mon Dec  7 12:03:31 2009
New Revision: 887897

URL: http://svn.apache.org/viewvc?rev=887897&view=rev
Log:
JS2-1057: replacing json target url by new jax-rs service url.
removes empty img src url.

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=887897&r1=887896&r2=887897&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 Dec  7 12:03:31 2009
@@ -50,15 +50,15 @@
     </tr>
 </table>
 
+<form id="<portlet:namespace/>form">
 <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>
     </tr>
     <tr>
         <td class="portlet-section-subheader" colspan='10'>
-            <input id="<portlet:namespace/>query" type="text" name="filter" 
size="15" value="" >
-            <input id="<portlet:namespace/>search" type="button" 
value="Search" />
+            <input type="text" name="query" size="15" value="" >
+            <input type="submit" value="Search" />
         </td>
     </tr>
     
@@ -82,14 +82,14 @@
     <tr>
         <th class="portlet-section-header" colspan="2"></th>
     </tr>
-    </form>
 </table>
+</form>
 
 <div id="<portlet:namespace/>portletItemTemplate" style="display: none">
     <table style="border-collapse: collapse; width: 100%; margin-top: 0px; 
margin-bottom: 0px; float: left;">
            <tr>
                <td rowspan="2" width="20%" class="portlet-section-body">
-                   <img src='${portalContextPath}' />
+                   <img/>
                </td>
                <td width="80%" class="portlet-section-body">
                    <div>#</span>
@@ -168,7 +168,7 @@
 </table>
 
 <script language="javascript">
-YUI().use('io', 'dataschema-json', 'node-base', 'cookie', function(Y) {
+YUI().use('io', 'json', 'node-base', 'cookie', function(Y) {
 
     function switchTab(e) {
         var tabId = ('string' == typeof(e) ? e : e.target.get("id"));
@@ -203,23 +203,13 @@
     var onLoadPortletComplete = function(id, o, args) { 
         var id = id; // Transaction ID. 
         var data = o.responseText; // Response data.
-        var schemaPortletList = {
-            metaFields: {status:"status", action:"action"},
-            resultListLocator: "portlets", 
-            resultFields: [{key:"name"}, {key:"displayName"}, 
{key:"description"}, {key:"image"}]
-        };
-
         var dataOut = null;
 
         try {
-            dataOut = Y.DataSchema.JSON.apply(schemaPortletList, data);
-            // TODO: error handling
+            dataOut = Y.JSON.parse(data);
             if (!dataOut) {
                 Y.log("Error: no data found.");
                 return;
-            } else if (dataOut.error) {
-                Y.log("Error: " + dataOut.error);
-                return;
             }
         } catch (e) {
             Y.log("Error: " + e.message);
@@ -232,27 +222,49 @@
         portletsPanel = clonedPortletsPanel;
         
         var templatePanel = 
Y.Node.one("#<portlet:namespace/>portletItemTemplate");
-        var results = dataOut.results;
-        for (var i = 0; i < results.length; i++) {
-            var item = results[i];
+        var defs = [];
+        if (dataOut.definitions.definition) {
+            if (dataOut.definitions.definition instanceof Array) {
+                defs = dataOut.definitions.definition;
+            } else {
+                defs.push(dataOut.definitions.definition);
+            }
+        }
+        for (var i = 0; i < defs.length; i++) {
+            var def = defs[i];
             var clone = templatePanel.cloneNode(true);
             clone.setStyle('display', '');
             var imgNode = clone.one('img');
-            var url = imgNode.get('src');
-            var imgURL = url + "/" + item.image;
-            imgNode.set('src', imgURL);
-            var nameNode = clone.one('div');
-            nameNode.setContent(item.displayName);
+            if (def.portletIcon) {
+                imgNode.set("src", "${portalContextPath}/images/portlets/" + 
def.portletIcon);
+            } else {
+                imgNode.set("src", 
"${portalContextPath}/images/portlets/applications-other.png");
+            }
             
-            <c:if test="${editAccess}">
-                var actionURL = "<portlet:actionURL/>";
-                var addActionURL = actionURL + (actionURL.indexOf('?') == -1 ? 
"?portletAdd=" : "&portletAdd=") + item.name;
-                clone.all("a").item(1).set("href", addActionURL);
-            </c:if>
+            var nameNode = clone.one('div');
+
+            if (def.displayNames.displayName) {
+                if (def.displayNames.displayName instanceof Array) {
+                    nameNode.setContent(def.displayNames.displayName[0].value);
+                } else {
+                    nameNode.setContent(def.displayNames.displayName.value);
+                }
+            }
+
+            <c:choose>
+                   <c:when test="${editAccess}">
+                       var actionURL = "<portlet:actionURL/>";
+                       var addActionURL = actionURL + (actionURL.indexOf('?') 
== -1 ? "?portletAdd=" : "&portletAdd=") + def.uniqueName;
+                       clone.all("a").item(1).set("href", addActionURL);
+                   </c:when>
+                   <c:otherwise>
+                       clone.all("a").item(1).remove();
+                   </c:otherwise>
+               </c:choose>
             
             // TODO: add handlers for preview
             
-            clone.set("id", "<portlet:namespace/>portletItem-" + item.name);
+            clone.set("id", "<portlet:namespace/>portletItem-" + 
def.uniqueName);
             
             portletsPanel.appendChild(clone);
         }
@@ -268,23 +280,26 @@
             return;
         }
         Y.Cookie.set("toolboxcat", category);
-        var uri = 
"${portalContextPath}/ajaxapi/?action=getportlets&format=json";
-        uri += "&filter=" + category;
+        var uri = 
"${portalContextPath}/services/portletregistry/definition/?_type=json";
+        uri += "&query=" + category;
         Y.on('io:complete', onLoadPortletComplete, this, []); 
         var request = Y.io(uri);
-        Y.Node.one("#<portlet:namespace/>query").set("value", "");
+        Y.Node.getDOMNode(Y.Node.one("#<portlet:namespace/>form")).query.value 
= "";
     }
     
     var loadPortletsByQuery = function(e) {
-        var query = Y.Node.one("#<portlet:namespace/>query").get("value");
-        var uri = 
"${portalContextPath}/ajaxapi/?action=getportlets&format=json";
+        var form = Y.Node.getDOMNode(e.target);
+        var query = form.query.value;
+        var uri = 
"${portalContextPath}/services/portletregistry/definition/?_type=json";
         if (query) {
-            uri += "&filter=" + query;
+            uri += "&query=" + query;
         }
         Y.on('io:complete', onLoadPortletComplete, this, []); 
         var request = Y.io(uri);
         
         
Y.Node.getDOMNode(Y.Node.one("#<portlet:namespace/>categories")).selectedIndex 
= 0;
+
+        e.halt();
     };
     
     Y.on("click", switchTab, "#<portlet:namespace/>portletsTabAction");
@@ -292,8 +307,8 @@
     Y.on("click", switchTab, "#<portlet:namespace/>themesTabAction");
     Y.on("click", switchTab, "#<portlet:namespace/>widgetsTabAction");
     Y.on("change", loadPortletsInCategory, "#<portlet:namespace/>categories");
-    Y.on("click", loadPortletsByQuery, "#<portlet:namespace/>search");
-
+    Y.on("submit", loadPortletsByQuery, "#<portlet:namespace/>form");
+    
     var tabId = Y.Cookie.get("toolboxtab");
     if (!tabId) {
         tabId = "<portlet:namespace/>portletsTabAction";



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to