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"

Reply via email to