Author: olamy
Date: Mon Nov 19 12:50:54 2012
New Revision: 1411159

URL: http://svn.apache.org/viewvc?rev=1411159&view=rev
Log:
[MRM-1711] Add buttons for managing repository group as can be a pain with long 
list of repositories.
take care about activate correct handler when a repo has been moved.

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repository-groups.js

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repository-groups.js
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repository-groups.js?rev=1411159&r1=1411158&r2=1411159&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repository-groups.js
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repository-groups.js
 Mon Nov 19 12:50:54 2012
@@ -61,6 +61,10 @@ function(jquery,i18n,jqueryTmpl,bootstra
       }
       self.repositoryGroup.repositories(repositories);
       self.repositoryGroup.modified(true);
+      
$("#main-content").find("#repository-groups-edit-available-repositories").find(".icon-plus-sign"
 ).off("click");
+      
$("#main-content").find("#repository-groups-edit-order-div").find(".icon-minus-sign"
 ).off("click");
+      self.renderSortableAvailables(self.repositoryGroupsViewModel);
+      self.renderSortableChoosed(self.repositoryGroupsViewModel);
     }
 
     this.saveRepositoryGroup=function(repositoryGroup){
@@ -75,23 +79,52 @@ function(jquery,i18n,jqueryTmpl,bootstra
       $.log("removeRepository:"+id);
     }
 
+    this.removeAvailable=function(idVal){
+      for (var 
i=0;i<self.repositoryGroupsViewModel.managedRepositories().length;i++){
+        
if(self.repositoryGroupsViewModel.managedRepositories()[i].id()==idVal){
+          
self.availableRepositories.remove(repositoryGroupsViewModel.managedRepositories()[i]);
+        }
+      }
+
+      for(var i= 
0;i<self.repositoryGroupsViewModel.managedRepositories().length;i++){
+        
if(self.repositoryGroupsViewModel.managedRepositories()[i].id()==idVal){
+          $.log("find repo to add");
+          self.repositoryGroup.repositories.push(idVal);
+          
self.repositoryGroup.managedRepositories.push(findManagedRepository(idVal,self.repositoryGroupsViewModel.managedRepositories()));
+        }
+      }
+      
$("#main-content").find("#repository-groups-edit-order-div").find("#minus-"+idVal
 ).on("click",function(){
+        var idVal = $(this).attr("id");
+        idVal=idVal.substringAfterFirst("minus-");
+        self.removeChoosed(idVal);
+      });
+    }
+
     this.renderSortableAvailables=function(repositoryGroupsViewModel){
       
$("#main-content").find("#repository-groups-edit-available-repositories").find(".icon-plus-sign"
 ).on("click",function(){
         var idVal = $(this).attr("id");
         idVal=idVal.substringAfterFirst("plus-");
-        for (var 
i=0;i<self.repositoryGroupsViewModel.managedRepositories().length;i++){
-          
if(self.repositoryGroupsViewModel.managedRepositories()[i].id()==idVal){
-            
self.availableRepositories.remove(repositoryGroupsViewModel.managedRepositories()[i]);
-          }
+        self.removeAvailable(idVal);
+      });
+    }
+
+    this.removeChoosed=function(idVal){
+      for (var 
i=0;i<self.repositoryGroupsViewModel.managedRepositories().length;i++){
+        
if(self.repositoryGroupsViewModel.managedRepositories()[i].id()==idVal){
+          
self.availableRepositories.push(repositoryGroupsViewModel.managedRepositories()[i]);
         }
+      }
 
-        for(var i= 
0;i<self.repositoryGroupsViewModel.managedRepositories().length;i++){
-          
if(self.repositoryGroupsViewModel.managedRepositories()[i].id()==idVal){
-            $.log("find repo to add");
-            self.repositoryGroup.repositories.push(idVal);
-            
self.repositoryGroup.managedRepositories.push(findManagedRepository(idVal,self.repositoryGroupsViewModel.managedRepositories()));
-          }
+      for(var i= 0;i<self.repositoryGroup.repositories().length;i++){
+        if(self.repositoryGroup.repositories()[i]==idVal){
+          
self.repositoryGroup.repositories.remove(self.repositoryGroup.repositories()[i]);
+          
self.repositoryGroup.managedRepositories.remove(findManagedRepository(idVal,self.repositoryGroupsViewModel.managedRepositories()));
         }
+      }
+      
$("#main-content").find("#repository-groups-edit-available-repositories").find("#plus-"+idVal
 ).on("click",function(){
+        var idVal = $(this).attr("id");
+        idVal=idVal.substringAfterFirst("plus-");
+        self.removeAvailable(idVal);
       });
     }
 
@@ -99,19 +132,7 @@ function(jquery,i18n,jqueryTmpl,bootstra
       
$("#main-content").find("#repository-groups-edit-order-div").find(".icon-minus-sign"
 ).on("click",function(){
         var idVal = $(this).attr("id");
         idVal=idVal.substringAfterFirst("minus-");
-        for (var 
i=0;i<self.repositoryGroupsViewModel.managedRepositories().length;i++){
-          
if(self.repositoryGroupsViewModel.managedRepositories()[i].id()==idVal){
-            
self.availableRepositories.push(repositoryGroupsViewModel.managedRepositories()[i]);
-          }
-        }
-
-        for(var i= 0;i<self.repositoryGroup.repositories().length;i++){
-          if(self.repositoryGroup.repositories()[i]==idVal){
-            $.log("find repo to remove");
-            
self.repositoryGroup.repositories.remove(self.repositoryGroup.repositories()[i]);
-            
self.repositoryGroup.managedRepositories.remove(findManagedRepository(idVal,self.repositoryGroupsViewModel.managedRepositories()));
-          }
-        }
+        self.removeChoosed(idVal);
       });
     }
   }


Reply via email to