Author: olamy
Date: Thu Aug 23 08:49:20 2012
New Revision: 1376407

URL: http://svn.apache.org/viewvc?rev=1376407&view=rev
Log:
make basic search navigable

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
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html

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=1376407&r1=1376406&r2=1376407&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
 Thu Aug 23 08:49:20 2012
@@ -208,8 +208,21 @@ function() {
           var repositoryIds = this.params.repositoryIds;
           var repos = repositoryIds.split("~");
           
$.log("queryterms:"+queryterms+',repositoryIds:'+repositoryIds+",repos:"+repos.length);
+          var searchViewModel = new SearchViewModel();
+          var searchRequest = new SearchRequest();
+          searchRequest.queryTerms(queryterms);
+          searchRequest.repositories=repos;
+          searchViewModel.searchRequest(searchRequest);
+          displaySearch(function(){
+            searchViewModel.externalBasicSearch();
+          },searchViewModel);
+        });
+
+        this.get('#searchresult~:repositoryIds/:queryterms',function(){
           var queryterms= this.params.queryterms;
-          $.log("queryterms:"+queryterms);
+          var repositoryIds = this.params.repositoryIds;
+          var repos = repositoryIds.split("~");
+          
$.log("queryterms:"+queryterms+',repositoryIds:'+repositoryIds+",repos:"+repos.length);
           var searchViewModel = new SearchViewModel();
           var searchRequest = new SearchRequest();
           searchRequest.queryTerms(queryterms);
@@ -220,6 +233,18 @@ function() {
           },searchViewModel);
         });
 
+        this.get('#searchresult/:queryterms',function(){
+          var queryterms= this.params.queryterms;
+          $.log("queryterms:"+queryterms);
+          var searchViewModel = new SearchViewModel();
+          var searchRequest = new SearchRequest();
+          searchRequest.queryTerms(queryterms);
+          searchViewModel.searchRequest(searchRequest);
+          displaySearch(function(){
+            searchViewModel.externalBasicSearch();
+          },searchViewModel);
+        });
+
         this.get('#open-admin-create-box',function(){
           $.log("#open-admin-create-box");
           adminCreateBox();

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=1376407&r1=1376406&r2=1376407&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
 Thu Aug 23 08:49:20 2012
@@ -1533,6 +1533,7 @@ define("archiva.search",["jquery","i18n"
    */
   SearchViewModel=function(){
     var self=this;
+    var mainContent=$("#main-content");
     this.searchRequest=ko.observable(new SearchRequest());
     this.observableRepoIds=ko.observableArray([]);
     this.selectedRepoIds=[];
@@ -1550,7 +1551,25 @@ define("archiva.search",["jquery","i18n"
         // cleanup previours error message
         customShowError("#main-content #search-basic-form", null, null, []);
       }
-      
self.search("restServices/archivaServices/searchService/quickSearchWithRepositories");
+      var location="#searchresult";
+
+      self.selectedRepoIds=[];
+      mainContent.find("#search-basic-repositories" )
+          .find(".chzn-choices li span").each(function(i,span){
+                      self.selectedRepoIds.push($(span).html());
+                      }
+                    );
+
+      if (self.selectedRepoIds.length>0){
+        $.log("selectedRepoIds:"+self.selectedRepoIds.length);
+        $(self.selectedRepoIds).each(function(index, Element){
+          location+="~"+self.selectedRepoIds[index];
+        });
+      }
+      location+="/"+queryTerm;
+      $.log("basicsearch location:"+location);
+      window.sammyArchivaApplication.setLocation(location);
+      
//self.search("restServices/archivaServices/searchService/quickSearchWithRepositories");
     }
 
     this.externalBasicSearch=function(){
@@ -1574,8 +1593,6 @@ define("archiva.search",["jquery","i18n"
     }
     this.search=function(url,repositoriesIds){
 
-      var mainContent=$("#main-content");
-
       var searchResultsGrid=mainContent.find("#search-results 
#search-results-grid" );
       mainContent.find("#btn-basic-search" ).button("loading");
       mainContent.find("#btn-advanced-search" ).button("loading");
@@ -1673,7 +1690,7 @@ define("archiva.search",["jquery","i18n"
           $.log("repos:"+repos);
           searchViewModel.observableRepoIds(repos);
           
ko.applyBindings(searchViewModel,mainContent.find("#search-artifacts-div").get(0));
-          mainContent.find("#search-basic-repostories-select" ).chosen();
+          mainContent.find("#search-basic-repositories-select" ).chosen();
           if (successCallbackFn && $.isFunction(successCallbackFn)) 
successCallbackFn();
         }
     });

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html?rev=1376407&r1=1376406&r2=1376407&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/search.html
 Thu Aug 23 08:49:20 2012
@@ -213,7 +213,7 @@
                 <fieldset>
                   <div class="control-group" id="search-basic-repositories">
                     <select 
data-placeholder="${$.i18n.prop('search.artifact.search.form.query.repositories')}"
-                            id="search-basic-repostories-select" 
class="chzn-select defaults"
+                            id="search-basic-repositories-select" 
class="chzn-select defaults"
                             multiple style="width:350px;" tabindex="4">
                       <option 
value="all">${$.i18n.prop('search.artifact.search.form.repositories.all')}</option>
                       {{each(i,repoId) observableRepoIds}}


Reply via email to