You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2012/02/17 18:40:43 UTC

svn commit: r1245680 - in /archiva/trunk/archiva-modules/archiva-web: archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/ archiva-webapp-js/src/main/webapp/js/archiva/ archiva-webapp-js/src/main/webapp/js/archiva/templates/

Author: olamy
Date: Fri Feb 17 17:40:43 2012
New Revision: 1245680

URL: http://svn.apache.org/viewvc?rev=1245680&view=rev
Log:
implements repository browsing

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/BrowseResult.java
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/search.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/BrowseResult.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/BrowseResult.java?rev=1245680&r1=1245679&r2=1245680&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/BrowseResult.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/model/BrowseResult.java Fri Feb 17 17:40:43 2012
@@ -31,6 +31,8 @@ public class BrowseResult
 {
     private List<BrowseResultEntry> browseResultEntries;
 
+    private boolean rootLevel;
+
     public BrowseResult()
     {
         // no op

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=1245680&r1=1245679&r2=1245680&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 Fri Feb 17 17:40:43 2012
@@ -22,19 +22,30 @@ $(function() {
   // browse part
   //-----------------------------------------
 
-  BrowseViewModel=function(browseResultEntries,parentGroupdId){
+  BrowseViewModel=function(browseResultEntries,parentBrowseViewModel,groupId){
     var self=this;
     this.browseResultEntries=browseResultEntries;
-    this.parentGroupdId=parentGroupdId;
+    this.parentBrowseViewModel=parentBrowseViewModel;
+    this.groupId=groupId;
     displayGroupId=function(groupId){
-      displayGroupDetail(groupId,self.parentGroupdId);
+      displayGroupDetail(groupId,self);
+      $.log("called displayGroupDetail groupId:"+groupId
+                +",parentBrowseViewModel.groupId:"+(parentBrowseViewModel?parentBrowseViewModel.groupId:"null"));
+    }
+    displayParentGroupId=function(){
+      $.log("called displayParentGroupId groupId:"+self.parentBrowseViewModel.groupId);
+      // if null parent is root level
+      if (self.parentBrowseViewModel.groupId){
+        displayGroupDetail(self.parentBrowseViewModel.groupId,self.parentBrowseViewModel);
+      } else {
+        browseRoot();
+      }
     }
-
   }
 
 
 
-  displayGroupDetail=function(groupId,parentGroupdId,restUrl){
+  displayGroupDetail=function(groupId,parentBrowseViewModel,restUrl){
     var mainContent = $("#main-content");
     var browseResult=mainContent.find("#browse_result");
     var browseBreadCrumb=mainContent.find("#browse_breadcrumb");
@@ -49,7 +60,8 @@ $(function() {
             dataType: 'json',
             success: function(data) {
               var browseResultEntries = mapbrowseResultEntries(data);
-              var browseViewModel = new BrowseViewModel(browseResultEntries,parentGroupdId);
+              $.log("displayGroupDetail#sucess parentBrowseViewModel:"+parentBrowseViewModel);
+              var browseViewModel = new BrowseViewModel(browseResultEntries,parentBrowseViewModel,groupId);
 
               ko.applyBindings(browseViewModel,mainContent.get(0));
             }
@@ -76,7 +88,7 @@ $(function() {
         success: function(data) {
           var browseResultEntries = mapbrowseResultEntries(data);
           $.log("size:"+browseResultEntries.length);
-          var browseViewModel = new BrowseViewModel(browseResultEntries,"..");
+          var browseViewModel = new BrowseViewModel(browseResultEntries,null,null);
           ko.applyBindings(browseViewModel,mainContent.get(0));
         }
     });

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html?rev=1245680&r1=1245679&r2=1245680&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/search.html Fri Feb 17 17:40:43 2012
@@ -40,7 +40,10 @@
 <script id="browse-groups-tmpl" type="text/html">
   <div>
     <ul>
-      <li class="browse-list"><a href="#" data-bind="click:function(){displayGroupId($root.parentGroupdId)}">..</a></li>
+      <!-- if null we are on root level -->
+      {{if $root.parentBrowseViewModel}}
+        <li class="browse-list"><a href="#" data-bind="click:function(){displayParentGroupId()}">..</a></li>
+      {{/if}}
       {{each(i,browseResultEntry) browseResultEntries}}
         <li class="browse-list">
           <a href="#" data-bind="click:function(){displayGroupId(browseResultEntry.name)}">