]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1576] load informations and display repositories names.
authorOlivier Lamy <olamy@apache.org>
Mon, 30 Jan 2012 16:31:39 +0000 (16:31 +0000)
committerOlivier Lamy <olamy@apache.org>
Mon, 30 Jan 2012 16:31:39 +0000 (16:31 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1237762 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/proxy-connectors.js
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/proxy-connectors.html

index 0ac3ad913f7c7952bdeb71bd1cd606b8b1da37ee..e9f789cfdc875e622afddc67a11148b71d791548 100644 (file)
@@ -60,7 +60,9 @@ $(function() {
     this.proxyConnectors=ko.observableArray([]);
     var self=this;
     this.managedRepositoryConnectorViews=ko.observableArray([]);
-
+    this.policyInformations=ko.observableArray([]);
+    this.managedRepositories=ko.observableArray([]);
+    this.remoteRepositories=ko.observableArray([]);
     editProxyConnector=function(proxyConnector){
 
     }
@@ -70,7 +72,7 @@ $(function() {
       //sourceRepoId
       for(i=0;i<self.proxyConnectors().length;i++){
         var curSrcRepo=self.proxyConnectors()[i].sourceRepoId();
-        var curTarget=self.proxyConnectors()[i].targetRepoId();
+        var curTarget=self.proxyConnectors()[i];
         var sourceRepo = $.grep(sourcesRepos,
                                 function(srcRepo,idx){
                                   for (j=0;j<sourcesRepos.length;j++){
@@ -90,6 +92,24 @@ $(function() {
       return sourcesRepos;
     }
 
+    getManagedRepository=function(id){
+      var managedRepository=$.grep(self.managedRepositories(),
+                                      function(repo,idx){
+                                        return repo.id()==id;
+                                      }
+                            );
+      return ($.isArray(managedRepository) && managedRepository.length>0) ?managedRepository[0]:new ManagedRepository();
+    }
+
+    getRemoteRepository=function(id){
+      var remoteRepository=$.grep(self.remoteRepositories(),
+                                      function(repo,idx){
+                                        return repo.id()==id;
+                                      }
+                            );
+      return ($.isArray(remoteRepository) && remoteRepository.length>0) ?remoteRepository[0]:new RemoteRepository();
+    }
+
     this.displayGrid=function(){
       self.managedRepositoryConnectorViews(this.findUniqueManagedRepos());
       $.log("uniqueManagedRepos:"+self.managedRepositoryConnectorViews().length);
@@ -100,37 +120,60 @@ $(function() {
           $("#main-content #proxyConnectorsTable [title]").twipsy();
         }
       });
+      this.gridViewModel.getManagedRepository=getManagedRepository;
       ko.applyBindings(this,$("#main-content #proxyConnectorsTable").get(0));
       removeSmallSpinnerImg("#main-content");
       $("#main-content #proxy-connectors-view-tabs").tabs();
     }
+
   }
 
+  // FIXME use various callback to prevent async false !!
+
   displayProxyConnectors=function(){
     $("#main-content").html($("#proxyConnectorsMain").tmpl());
     $("#main-content").append(smallSpinnerImg());
 
-    var proxyConnectorsViewModel = new ProxyConnectorsViewModel();
+    this.proxyConnectorsViewModel = new ProxyConnectorsViewModel();
+    var self=this;
 
-    $.ajax("restServices/archivaServices/proxyConnectorService/getProxyConnectors", {
+    $.ajax("restServices/archivaServices/managedRepositoriesService/getManagedRepositories", {
         type: "GET",
         dataType: 'json',
+        async: false,
         success: function(data) {
-          proxyConnectorsViewModel.proxyConnectors(mapProxyConnectors(data));
-          proxyConnectorsViewModel.displayGrid();
+          self.proxyConnectorsViewModel.managedRepositories(mapManagedRepositories(data));
         }
-      }
-    );
+    });
+
+    $.ajax("restServices/archivaServices/remoteRepositoriesService/getRemoteRepositories", {
+        type: "GET",
+        dataType: 'json',
+        async: false,
+        success: function(data) {
+          self.proxyConnectorsViewModel.remoteRepositories(mapRemoteRepositories(data));
+        }
+    });
 
     $.ajax("restServices/archivaServices/proxyConnectorService/allPolicies", {
         type: "GET",
         dataType: 'json',
+        async: false,
         success: function(data) {
-          mapPolicyInformations(data);
+          self.proxyConnectorsViewModel.policyInformations(mapPolicyInformations(data));
         }
       }
     );
 
+    $.ajax("restServices/archivaServices/proxyConnectorService/getProxyConnectors", {
+        type: "GET",
+        dataType: 'json',
+        success: function(data) {
+          self.proxyConnectorsViewModel.proxyConnectors(mapProxyConnectors(data));
+          self.proxyConnectorsViewModel.displayGrid();
+        }
+      }
+    );
 
   }
 
index 72d66c71ff213b616625ee15f383e5c26582c621..b7b28dbc6cfbad28763ea63260c0bc7dbb7d721a 100644 (file)
@@ -414,7 +414,7 @@ $(function() {
 
       $("#managed-repositories-pom-snippet").html(mediumSpinnerImg());
       $('#managed-repositories-pom-snippet').show();
-      var url = "restServices/archivaServices/managedRepositoriesService/getPomSnippet/"+managedRepository.id();
+      var url = "restServices/archivaServices/managedRepositoriesService/getPomSnippet/"+encodeURIComponent(managedRepository.id());
       $.ajax(url,
         {
           type: "GET",
index c015a26b311dfb45ee0d6181360beae2ed049ff6..9af797cfd8c85589c7f6d1a477bc02b60b4c9c60 100644 (file)
 
   {{each(i, row) itemsOnCurrentPage()}}
     <tr>
-      <td>${row.source()}</td>
+        {{var val = row.source()}}
+      <td>${val}-${getManagedRepository(val).name()}</td>
       <td>
           {{each(j, targetRepo) row.targetRepos()}}
-            <div>${targetRepo}</div>
+          {{var targetRepoId = targetRepo.targetRepoId()}}
+            <div>${targetRepoId}-${getRemoteRepository(targetRepoId).name()}</div>
           {{/each}}
       </td>
     </tr>