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" )