Author: olamy
Date: Thu Aug 23 16:11:18 2012
New Revision: 1376567

URL: http://svn.apache.org/viewvc?rev=1376567&view=rev
Log:
add route for advanced search

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=1376567&r1=1376566&r2=1376567&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 16:11:18 2012
@@ -178,6 +178,7 @@ function($,sammy,tmpl,ui) {
       this.activeMenuId = ko.observable();
           
       window.sammyArchivaApplication = Sammy(function () {
+        var self = this;
         this.get('#quicksearch~:artifactId',function(){
           $("#main-content" ).html(mediumSpinnerImg());
           var artifactId= this.params.artifactId;
@@ -218,7 +219,7 @@ function($,sammy,tmpl,ui) {
           },searchViewModel);
         });
 
-        this.get('#searchresult~:repositoryIds/:queryterms',function(){
+        this.get('#basicsearch~:repositoryIds/:queryterms',function(){
           var queryterms= this.params.queryterms;
           var repositoryIds = this.params.repositoryIds;
           var repos = repositoryIds.split("~");
@@ -233,7 +234,7 @@ function($,sammy,tmpl,ui) {
           },searchViewModel);
         });
 
-        this.get('#searchresult/:queryterms',function(){
+        this.get('#basicsearch/:queryterms',function(){
           var queryterms= this.params.queryterms;
           $.log("queryterms:"+queryterms);
           var searchViewModel = new SearchViewModel();
@@ -245,6 +246,85 @@ function($,sammy,tmpl,ui) {
           },searchViewModel);
         });
 
+        var 
advancedSearchRoute=function(repositoryIds,groupId,artifactId,version,classifier,packaging,className){
+
+          
$.log("groupId:artifactId:version:classifier:packaging:className="+groupId+':'+artifactId+':'+version+':'+classifier+':'+packaging+':'+className);
+          var searchViewModel = new SearchViewModel();
+          var searchRequest = new SearchRequest();
+          searchRequest.groupId(groupId);
+          searchRequest.artifactId(artifactId);
+          searchRequest.version(version);
+          searchRequest.classifier(classifier);
+          searchRequest.packaging(packaging);
+          searchRequest.className(className);
+
+          searchRequest.selectedRepoIds=repositoryIds;
+          searchViewModel.searchRequest(searchRequest);
+          displaySearch(function(){
+            //searchViewModel.externalAdvancedSearch();
+            
searchViewModel.search("restServices/archivaServices/searchService/searchArtifacts",repositoryIds);
+          },searchViewModel);
+        }
+
+        /*var 
advancedSearchParams=['groupId','artifactId','version','classifier','packaging','className'];
+
+        var createAdvancedSearchRoutes=function(startLocation){
+          for(var idx=1;idx<advancedSearchParams.length+1;idx++){
+            var route = startLocation;
+            $(advancedSearchParams).each(function(index) {
+              if(index<idx){
+                route+="~:"+advancedSearchParams[index];
+              }
+            });
+            $.log("add route:"+route);
+            self.get(route,function(){
+              var repositoryIds = this.params.repositoryIds;
+              var repos = repositoryIds ? repositoryIds.split("~"):[];
+              $.log('repos:'+repos.length);
+              var groupId= this.params.groupId;
+              var artifactId= this.params.artifactId;
+              var version= this.params.version;
+              var classifier= this.params.classifier;
+              var packaging= this.params.packaging;
+              var className= this.params.className;
+              
advancedSearchRoute(repos,groupId,artifactId,version,classifier,packaging,className);
+            });
+          }
+        }*/
+        //createAdvancedSearchRoutes("#advancedsearch/");
+        //createAdvancedSearchRoutes("#advancedsearch~:repositoryIds/");
+
+        self.get("#advancedsearch/:queryterms",function(){
+          var repositoryIds = this.params.repositoryIds;
+          var repos = repositoryIds ? repositoryIds.split("~"):[];
+          var queryTerms = this.params.queryterms;
+          var terms=queryTerms?queryTerms.split('~'):[];
+          $.log("queryTerms:"+queryTerms+",terms.length:"+terms.length);
+          var groupId= terms.length>0?terms[0]:"";
+          var artifactId= terms.length>1?terms[1]:"";
+          var version= terms.length>2?terms[2]:"";
+          var classifier= terms.length>3?terms[3]:"";
+          var packaging= terms.length>4?terms[4]:"";
+          var className= terms.length>5?terms[5]:"";
+          
advancedSearchRoute(repos,groupId,artifactId,version,classifier,packaging,className);
+        });
+
+        self.get("#advancedsearch~:repositoryIds/:queryterms",function(){
+          var repositoryIds = this.params.repositoryIds;
+          var repos = repositoryIds ? repositoryIds.split("~"):[];
+          var queryTerms = this.params.queryterms;
+          var terms=queryTerms?queryTerms.split('~'):[];
+          $.log("queryTerms:"+queryTerms+",terms.length:"+terms.length);
+          var groupId= terms.length>0?terms[0]:"";
+          var artifactId= terms.length>1?terms[1]:"";
+          var version= terms.length>2?terms[2]:"";
+          var classifier= terms.length>3?terms[3]:"";
+          var packaging= terms.length>4?terms[4]:"";
+          var className= terms.length>5?terms[5]:"";
+          
advancedSearchRoute(repos,groupId,artifactId,version,classifier,packaging,className);
+        });
+
+
         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=1376567&r1=1376566&r2=1376567&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 16:11:18 2012
@@ -1551,7 +1551,7 @@ define("archiva.search",["jquery","i18n"
         // cleanup previours error message
         customShowError("#main-content #search-basic-form", null, null, []);
       }
-      var location="#searchresult";
+      var location="#basicsearch";
 
       self.selectedRepoIds=[];
       mainContent.find("#search-basic-repositories" )


Reply via email to