Author: jonathan Date: Tue Feb 17 20:48:39 2009 New Revision: 31012 URL: http://wso2.org/svn/browse/wso2?view=rev&revision=31012
Log: MASHUP-1111 fix. Includes a few other minor improvements. Modified: branches/mashup/java/1.5/java/modules/www/js/services.js branches/mashup/java/1.5/java/modules/www/search.jsp Modified: branches/mashup/java/1.5/java/modules/www/js/services.js URL: http://wso2.org/svn/browse/wso2/branches/mashup/java/1.5/java/modules/www/js/services.js?rev=31012&r1=31011&r2=31012&view=diff ============================================================================== --- branches/mashup/java/1.5/java/modules/www/js/services.js (original) +++ branches/mashup/java/1.5/java/modules/www/js/services.js Tue Feb 17 20:48:39 2009 @@ -572,6 +572,22 @@ }; /** + * @description Gets a list of users registered on this server. + * @param {namePrefix} namePrefix to filter list of user names. + * @param {callback} callback User-defined callback function or object. + */ +wso2.mashup.services.suggestSearchPhrases = function (searchPrefix, searchType, callback) { + var callURL = mashupServerURL + "/" + "ServiceMetaDataLister" + "/" ; + + var body_xml = '<req:suggestSearchPhrases xmlns:req="http://servicemetadatalister.coreservices.mashup.wso2.org/xsd">\n' + + ' <req:searchPrefix>' + searchPrefix + '</req:searchPrefix>\n' + + ' <req:type>' + searchType + '</req:type>\n' + + ' </req:suggestSearchPhrases>\n'; + + new wso2.wsf.WSRequest(callURL, "suggestSearchPhrases", body_xml, callback, "", wso2.mashup.services.defaultErrHandler); +}; + +/** * @description Method used to download a mashup from a remote server * @method downloadService * @public Modified: branches/mashup/java/1.5/java/modules/www/search.jsp URL: http://wso2.org/svn/browse/wso2/branches/mashup/java/1.5/java/modules/www/search.jsp?rev=31012&r1=31011&r2=31012&view=diff ============================================================================== --- branches/mashup/java/1.5/java/modules/www/search.jsp (original) +++ branches/mashup/java/1.5/java/modules/www/search.jsp Tue Feb 17 20:48:39 2009 @@ -36,7 +36,7 @@ <%@ page import="java.util.List" %> <%@ page import="java.util.ResourceBundle" %> -<!--Required to keep a user logged in if 'Remember Me' option is selected--> +<%--Required to keep a user logged in if 'Remember Me' option is selected--%> <%@ include file="validate_login.jsp" %> <% @@ -342,13 +342,15 @@ } if (results.getResultsType().equals("activity")) { String action = result.getAction(); - entryDescription = ""; + entryDescription = ""; entryTitle = - RegistryUtils.getFullName(request, result.getAuthor()) + " " + action + " " + - (action.equals("commented") ? "on " : "") + (action.equals("deleted") && result.getName().indexOf(";comments") >=0 ? "a comment on " : "") + - mashupAuthor + "'s \"" + mashupName + "\"service"; + RegistryUtils.getFullName(request, result.getAuthor()) + " " + + action + " " + + (action.equals("commented") ? "on " : "") + + (action.equals("deleted") && result.getName().indexOf(";comments") >=0 ? "a comment on " : "") + + mashupAuthor + "'s \"" + mashupName + "\" service"; if (action.equals("rated")) { - entryDescription += " <strong>" + result.getContentString() + "</strong> stars."; + entryTitle += " " + result.getContentString() + " stars."; } else if (action.equals("tagged")) { entryTitle += " with " + result.getContentString(); } else if (action.equals("commented")) { @@ -356,7 +358,7 @@ } } else if (results.getResultsType().equals("comment")) { entryTitle = RegistryUtils.getFullName(request, result.getAuthor()) + " commented on " + - mashupAuthor + "'s " + mashupName + "service."; + mashupAuthor + "'s " + mashupName + " service."; entryDescription = result.getContentString(); } else { entryTitle = mashupName + " by " + RegistryUtils.getFullName(request, result.getAuthor()); @@ -487,6 +489,9 @@ if (namePrefix.length > 0) { wso2.mashup.services.getUserNames(namePrefix, getUserNamesCallback); + } else { + var nameList = document.getElementById(autoSuggestField + "-nameList"); + nameList.style.display = 'none'; } } @@ -527,6 +532,48 @@ $(autoSuggestField + "-nameList").style.display = 'none'; } + function suggestSearchPhrases(targetField) { + autoSuggestField = targetField; + $(targetField + '-option').value = $(targetField).value + var namePrefix = $(targetField).value; + + if (namePrefix.length > 0) { + wso2.mashup.services.suggestSearchPhrases(namePrefix, 1, suggestSearchPhrasesCallback); + } else { + var nameList = document.getElementById(autoSuggestField + "-nameList"); + nameList.style.display = 'none'; + } + } + + function suggestSearchPhrasesCallback() { + var mashupNameElement = 3; + var mashupAuthorElement = 1; + var mashupAuthorFullnameElement = 0; + + var returnElementList = this.req.responseXML.getElementsByTagName("ns:return"); + // Older browsers might not recognize namespaces (e.g. FF2) + if (returnElementList.length == 0) + returnElementList = this.req.responseXML.getElementsByTagName("return"); + var returnElement = returnElementList[0]; + + var xmlBodyContent = returnElement; + + var nameList = document.getElementById(autoSuggestField + "-nameList"); + nameList.innerHTML = ""; + + var node = xmlBodyContent; + while (node != null) { + var mashupName = node.childNodes[mashupNameElement].firstChild.nodeValue; + var mashupPath = "/mashups/" + node.childNodes[mashupAuthorElement].firstChild.nodeValue + "/" + mashupName; + var mashupNameQualified = mashupName + " by " + node.childNodes[mashupAuthorFullnameElement].firstChild.nodeValue; + nameList.innerHTML += "<a href=\"javascript:assignSelected('" + mashupPath + "');\">" + mashupNameQualified + + "</a><br/>"; + node = node.nextSibling; + } + nameList.innerHTML += "<img src='images/w_top_close.gif' alt='Close Auto Suggest' onClick='closeAutoSuggest()'/><br/>"; + nameList.style.display = 'block'; + } + function moveToPage(pageNum) { $("pageNumber").value = pageNum; document.paginator.submit(); @@ -797,12 +844,12 @@ <tr> <td> <select id="mashup-activity" name="onmashup" - onchange="if ($('mashup-activity-option').selected) $('mashup-name').show(); else $('mashup-name').hide();"> + onchange="if ($('mashup-name-option').selected) $('mashup-name').show(); else $('mashup-name').hide();"> <option value="" <% if (onMashup == null || onMashup.equals("")) { %>selected="selected"<% } %>> All Mashups </option> - <option id="mashup-activity-option" value="<% if (onMashup != null) {%><%=onMashup%><% } %>" + <option id="mashup-name-option" value="<% if (onMashup != null) {%><%=onMashup%><% } %>" <% if (onMashup != null && !onMashup.equals("")) { %>selected="selected"<% } %>> Specific Mashup </option> @@ -811,11 +858,13 @@ </tr> <tr> <td> - <input type="text" id="mashup-name" - onkeyup="$('mashup-activity-option').value = $('mashup-name').value" + <input type="text" id="mashup-name" autocomplete="off" + onkeyup="suggestSearchPhrases('mashup-name')" <% if (onMashup == null || onMashup.equals("")) { %>style="display:none" <% } else { %>value="<%=onMashup%>"<% } %> - /> + /> + <div align="left" id="mashup-name-nameList" class="autosuggest"></div> + </td> </tr> </table> @@ -1014,7 +1063,8 @@ <% } else { %> - <% } + <%=result.getName()%> + <% } } else { %> <a href="mashup.jsp?author=<%=result.getAuthor()%>&mashup=<%=result.getName()%>"><%=result.getName()%></a> <% } _______________________________________________ Mashup-dev mailing list [email protected] https://wso2.org/cgi-bin/mailman/listinfo/mashup-dev
