Repository: archiva Updated Branches: refs/heads/master 10a076176 -> 0312f52d7
[MRM-1836] Make search limit (maxCount) configurable via UI Project: http://git-wip-us.apache.org/repos/asf/archiva/repo Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/0312f52d Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/0312f52d Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/0312f52d Branch: refs/heads/master Commit: 0312f52d7f6a51359a83c721d59ca1def12c5a07 Parents: 10a0761 Author: Olivier Lamy <[email protected]> Authored: Fri May 2 15:53:54 2014 +1000 Committer: Olivier Lamy <[email protected]> Committed: Fri May 2 15:53:54 2014 +1000 ---------------------------------------------------------------------- .../archiva/rest/services/DefaultSearchService.java | 1 + .../org/apache/archiva/i18n/default.properties | 1 + .../archiva-webapp/src/main/webapp/js/archiva/main.js | 2 ++ .../archiva-webapp/src/main/webapp/js/archiva/search.js | 12 +++++++++--- .../src/main/webapp/js/templates/archiva/search.html | 9 +++++++++ 5 files changed, 22 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/archiva/blob/0312f52d/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultSearchService.java ---------------------------------------------------------------------- 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 a26fd7f..d944893 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() ) http://git-wip-us.apache.org/repos/asf/archiva/blob/0312f52d/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties ---------------------------------------------------------------------- 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 b225466..556a2b2 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 http://git-wip-us.apache.org/repos/asf/archiva/blob/0312f52d/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js ---------------------------------------------------------------------- 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 1a982b7..c92f10a 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); http://git-wip-us.apache.org/repos/asf/archiva/blob/0312f52d/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/search.js ---------------------------------------------------------------------- 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 248fa4d..a96b292 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); http://git-wip-us.apache.org/repos/asf/archiva/blob/0312f52d/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/search.html ---------------------------------------------------------------------- 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 749be02..f65af0e 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"
