diff options
author | Olivier Lamy <olamy@apache.org> | 2014-05-02 15:53:54 +1000 |
---|---|---|
committer | Olivier Lamy <olamy@apache.org> | 2014-05-02 15:53:54 +1000 |
commit | 0312f52d7f6a51359a83c721d59ca1def12c5a07 (patch) | |
tree | d2f099efdc2467f2c9c7a6429c88b8e931c3ee0d /archiva-modules/archiva-web | |
parent | 10a0761768c8704497aefe730677bfd38a39a0a1 (diff) | |
download | archiva-0312f52d7f6a51359a83c721d59ca1def12c5a07.tar.gz archiva-0312f52d7f6a51359a83c721d59ca1def12c5a07.zip |
[MRM-1836] Make search limit (maxCount) configurable via UI
Diffstat (limited to 'archiva-modules/archiva-web')
5 files changed, 22 insertions, 3 deletions
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java index a26fd7fdf..d944893aa 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java @@ -144,6 +144,7 @@ public class DefaultSearchService } SearchFields searchField = getModelMapper().map( searchRequest, SearchFields.class ); SearchResultLimits limits = new SearchResultLimits( 0 ); + limits.setPageSize( searchRequest.getPageSize() ); // if no repos set we use ones available for the user if ( searchField.getRepositories() == null || searchField.getRepositories().isEmpty() ) diff --git a/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties b/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties index b2254664f..556a2b27a 100644 --- a/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties +++ b/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties @@ -371,6 +371,7 @@ search.artifact.search.form.query.bundleExportPackage=Export Package search.artifact.search.form.query.bundleExportService=Export Service search.artifact.search.form.query.bundleImportPackage=Import Package search.artifact.search.form.query.bundleRequireBundle=Require Bundle +search.artifact.search.form.query.pageSize=Page Size artifact.detail.tab.header.dependencies=Dependencies artifact.detail.tab.header.metadatas=Metadata artifact.detail.tab.header.mailing.list=Mailing Lists diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js index 1a982b7a5..c92f10acc 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js @@ -346,6 +346,7 @@ function(jquery,ui,sammy,tmpl,i18n,jqueryCookie,bootstrap,archivaSearch,jqueryVa var classifier= terms.length>3?terms[3]:""; var packaging= terms.length>4?terms[4]:""; var className= terms.length>5?terms[5]:""; + var pageSize= terms.length>6?terms[6]:""; $.log("groupId:artifactId:version:classifier:packaging:className="+groupId+':'+artifactId+':'+version+':'+classifier+':'+packaging+':'+className); var searchViewModel = new SearchViewModel(); var searchRequest = new SearchRequest(); @@ -355,6 +356,7 @@ function(jquery,ui,sammy,tmpl,i18n,jqueryCookie,bootstrap,archivaSearch,jqueryVa searchRequest.classifier(classifier); searchRequest.packaging(packaging); searchRequest.className(className); + searchRequest.pageSize(pageSize); //searchRequest.repositories=repos; //searchRequest.selectedRepoIds=repos; searchViewModel.searchRequest(searchRequest); diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/search.js b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/search.js index 248fa4dca..a96b2928a 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/search.js +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/search.js @@ -2081,6 +2081,9 @@ define("archiva.search",["jquery","jquery.ui","i18n","jquery.tmpl","select2","kn this.includePomArtifacts=ko.observable(true); this.classifier=ko.observable(); + + // private int pageSize = 30; + this.pageSize = ko.observable( 30 ); } /** @@ -2293,9 +2296,7 @@ define("archiva.search",["jquery","jquery.ui","i18n","jquery.tmpl","select2","kn location+="/"; if(self.searchRequest().groupId()){ location+=self.searchRequest().groupId(); - }/*else{ - location+='~'; - }*/ + } if(self.searchRequest().artifactId()){ location+='~'+self.searchRequest().artifactId(); }else{ @@ -2321,6 +2322,11 @@ define("archiva.search",["jquery","jquery.ui","i18n","jquery.tmpl","select2","kn }else{ location+='~'; } + if(self.searchRequest().pageSize()){ + location+='~'+self.searchRequest().pageSize(); + }else{ + location+='~'; + } $.log("location:"+location); window.sammyArchivaApplication.setLocation(location); diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/search.html b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/search.html index 749be0249..f65af0ecb 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/search.html +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/search.html @@ -333,6 +333,15 @@ data-bind="value: searchRequest().className"/> </div> </div> + <div class="control-group"> + <label class="control-label" for="pageSize">${$.i18n.prop('search.artifact.search.form.query.pageSize')}</label> + + <div class="controls"> + <input type="text" class="defaults" id="pageSize" name="pageSize" size="50" + placeholder="my.pageSize" + data-bind="value: searchRequest().pageSize"/> + </div> + </div> </fieldset> <button type="submit" id="btn-advanced-search" class="btn btn-primary" |