Author: olamy
Date: Mon Mar  5 13:55:44 2012
New Revision: 1297059

URL: http://svn.apache.org/viewvc?rev=1297059&view=rev
Log:
display search result when coming from the auto complete quick search box

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js?rev=1297059&r1=1297058&r2=1297059&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
 Mon Mar  5 13:55:44 2012
@@ -213,21 +213,35 @@ $(function() {
                        source: function(request, response){
         
$.get("restServices/archivaServices/searchService/quickSearch?queryString="+encodeURIComponent(request.term),
            function(data) {
-             var res = $.map(data,function(item){
-               return item.artifactId;
-             });
+             var res = mapArtifacts(data);
              var uniqId = [];
+             var uniqArtifactIds=[];
              for (var i= 0;i<res.length;i++){
-               if ( $.inArray(res[i],uniqId)<0){
-                 uniqId.push(res[i]);
+               if ( $.inArray(res[i].artifactId,uniqId)<0){
+                 uniqId.push(res[i].artifactId);
+                 uniqArtifactIds.push(res[i]);
                }
              }
-             response(uniqId);
+             response(uniqArtifactIds);
            }
         );
-
+      },
+      select: function( event, ui ) {
+        $.log("select artifactId:"+ui.item.artifactId);
+        displaySearch(function(){
+          var searchViewModel = new SearchViewModel();
+          var searchRequest = new SearchRequest();
+          searchRequest.artifactId(ui.item.artifactId);
+          searchViewModel.searchRequest(searchRequest);
+          searchViewModel.externalAdvancedSearch();
+        });
       }
-               });
+               }).data( "autocomplete" )._renderItem = function( ul, item ) {
+                                                       return $( "<li></li>" )
+                                                               .data( 
"item.autocomplete", item )
+                                                               .append( "<a>" 
+ item.artifactId + "</a>" )
+                                                               .appendTo( ul );
+                                               };;
   }
 
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js?rev=1297059&r1=1297058&r2=1297059&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
 Mon Mar  5 13:55:44 2012
@@ -747,10 +747,14 @@ $(function() {
         customShowError("#main-content #search-basic-form", null, null, []);
       }
       
self.search("restServices/archivaServices/searchService/quickSearchWithRepositories");
-
-
     }
 
+    /**
+     * use from autocomplete search
+     */
+    this.externalAdvancedSearch=function(){
+      
this.search("restServices/archivaServices/searchService/searchArtifacts");
+    }
     advancedSearch=function(){
       
self.search("restServices/archivaServices/searchService/searchArtifacts");
     }
@@ -828,7 +832,7 @@ $(function() {
 
   }
 
-  displaySearch=function(){
+  displaySearch=function(successCallbackFn){
     clearUserMessages();
     var mainContent=$("#main-content");
     mainContent.html(mediumSpinnerImg());
@@ -843,6 +847,7 @@ $(function() {
           searchViewModel.observableRepoIds(repos);
           
ko.applyBindings(searchViewModel,mainContent.find("#search-artifacts-div").get(0));
           mainContent.find("#search-basic-repostories-select" ).chosen();
+          if (successCallbackFn) successCallbackFn();
         }
     });
 


Reply via email to