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/11/19 13:50:08 UTC

svn commit: r1411156 - in /archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js: archiva/repository-groups.js archiva/utils.js templates/archiva/repositories.html

Author: olamy
Date: Mon Nov 19 12:50:07 2012
New Revision: 1411156

URL: http://svn.apache.org/viewvc?rev=1411156&view=rev
Log:
in case of long list repositories configuring group can be a pain with drag&drop
so add a button on repos to setup group.

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repository-groups.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/repositories.html

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=1411156&r1=1411155&r2=1411156&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:07 2012
@@ -62,6 +62,7 @@ function(jquery,i18n,jqueryTmpl,bootstra
       self.repositoryGroup.repositories(repositories);
       self.repositoryGroup.modified(true);
     }
+
     this.saveRepositoryGroup=function(repositoryGroup){
       if (self.update){
         self.repositoryGroupsViewModel.saveRepositoryGroup(repositoryGroup);
@@ -73,6 +74,43 @@ function(jquery,i18n,jqueryTmpl,bootstra
     this.removeRepository=function(id){
       $.log("removeRepository:"+id);
     }
+
+    this.renderSortableAvailables=function(){
+      $.log("renderSortableAvailables");
+      //$("#main-content").find("#repository-groups-edit-available-repositories" ).find(".icon-minus-sign" ).hide();
+
+    }
+
+    this.removeChoosed=function(id){
+      $.log("removeChoosed:"+id);
+    }
+
+    this.renderSortableChoosed=function(repositoryGroupsViewModel){
+      $("#main-content").find("#repository-groups-edit-order-div").find(".icon-minus-sign" ).on("click",function(){
+        var idVal = $(this).attr("id");
+        idVal=idVal.substringAfterFirst("minus-");
+        $.log("renderSortableChoosed:"+idVal);
+        for (var i=0;i<self.repositoryGroupsViewModel.managedRepositories().length;i++){
+          if(self.repositoryGroupsViewModel.managedRepositories()[i].id()==idVal){
+            self.availableRepositories.push(repositoryGroupsViewModel.managedRepositories()[i]);
+          }
+        }
+        $.log("size before:"+self.repositoryGroup.repositories().length+","+self.repositoryGroup.managedRepositories().length);
+        var repositories=[];
+        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()));
+          } else {
+            repositories.push(self.repositoryGroup.managedRepositories()[i].id());
+          }
+        }
+        //self.repositoryGroup.repositories(repositories);
+        //self.repositoryGroup.modified(true);
+        $.log("size after:"+self.repositoryGroup.repositories().length+","+self.repositoryGroup.managedRepositories().length);
+      });
+    }
   }
 
   RepositoryGroupsViewModel=function(){
@@ -81,6 +119,10 @@ function(jquery,i18n,jqueryTmpl,bootstra
     this.managedRepositories=ko.observableArray([]);
     this.applicationUrl="";
 
+    this.removeFromList=function(managedRepository){
+      $.log("removeFromList");
+    }
+
     this.findManagedRepository=function(id){
       return findManagedRepository(id,self.managedRepositories());
     }
@@ -122,6 +164,7 @@ function(jquery,i18n,jqueryTmpl,bootstra
             repositoryGroupViewModel.applicationUrl=applicationUrl;
             activateRepositoryGroupEditTab();
             ko.applyBindings(repositoryGroupViewModel,mainContent.find("#repository-groups-edit" ).get(0));
+            repositoryGroupViewModel.renderSortableChoosed(self);
             mainContent.find("#repository-groups-view-tabs-li-edit" ).find("a").html($.i18n.prop("edit"));
           }
         });
@@ -230,7 +273,6 @@ function(jquery,i18n,jqueryTmpl,bootstra
                   ko.applyBindings(self.repositoryGroupsViewModel,mainContent.find("#repository-groups-view" ).get(0));
                   $.log("displayRepositoryGroups#applyBindings after");
 
-
                   mainContent.find("#repository-groups-view-tabs").on('show', function (e) {
                     if ($(e.target).attr("href")=="#repository-groups-edit") {
                       var repositoryGroup = new RepositoryGroup();
@@ -238,6 +280,7 @@ function(jquery,i18n,jqueryTmpl,bootstra
 
                       activateRepositoryGroupEditTab();
                       ko.applyBindings(repositoryGroupViewModel,mainContent.find("#repository-groups-edit" ).get(0));
+                      repositoryGroupViewModel.renderSortableChoosed();
                     }
                     if ($(e.target).attr("href")=="#repository-groups-view") {
                       mainContent.find("#repository-groups-view-tabs-li-edit a").html($.i18n.prop("add"));

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js?rev=1411156&r1=1411155&r2=1411156&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/utils.js Mon Nov 19 12:50:07 2012
@@ -429,7 +429,7 @@ require(["jquery","jquery.tmpl","i18n","
     if (idx<0){
       return "";
     }
-    return this.substring(idx);
+    return this.substring(idx+str.length);
   }
 
   escapeDot=function(str){

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/repositories.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/repositories.html?rev=1411156&r1=1411155&r2=1411156&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/repositories.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/repositories.html Mon Nov 19 12:50:07 2012
@@ -1182,7 +1182,7 @@
                 <div class="span6 dotted">
                   <div id="repository-groups-edit-div" data-bind='template:{name:"repository-group-edit-tmpl"}'></div>
                   <div id="repository-groups-edit-order-div" style="min-height: 80px"
-                     data-bind="sortable: { template: 'repository-group-edit-order-tmpl',data:repositoryGroup.managedRepositories,afterMove:repositoryMoved}">
+                     data-bind="sortable: { template: 'repository-group-edit-order-tmpl-choosed',data:repositoryGroup.managedRepositories,afterMove:repositoryMoved}">
                   </div>
                 </div>
 
@@ -1190,7 +1190,7 @@
                   <h5>${$.i18n.prop('repository.groups.available.repositories')}</h5>
                   <br/>
                   <div id="repository-groups-edit-available-repositories" style="min-height: 80px"
-                       data-bind="sortable: { template: 'repository-group-edit-order-tmpl',data:availableRepositories,afterMove:repositoryMoved}">
+                       data-bind="sortable: { template: 'repository-group-edit-order-tmpl-available',data:availableRepositories,afterMove:repositoryMoved}">
 
                   </div>
                 </div>
@@ -1202,6 +1202,44 @@
   </div>
 </script>
 
+<script id="repository-group-edit-order-tmpl-choosed" type="text/html">
+  <div class="well draggable-item">
+    <span class="pull-right">
+      <i class="icon-minus-sign cursor-hand" id="minus-${$data.id()}"/>
+    </span>
+    <blockquote>
+      ${$data.id()}
+      <br/>
+      ${$data.name()}
+      <br/>
+      <a href="${$data.url}" target="_blank">
+        ${$data.url}
+      </a>
+      <br/>
+    </blockquote>
+
+  </div>
+</script>
+
+<script id="repository-group-edit-order-tmpl-available" type="text/html">
+  <div class="well draggable-item">
+    <span class="pull-right">
+      <i class="icon-plus-sign" id="plus-${$data.id()}"/>
+    </span>
+    <blockquote>
+      ${$data.id()}
+      <br/>
+      ${$data.name()}
+      <br/>
+      <a href="${$data.url}" target="_blank">
+        ${$data.url}
+      </a>
+      <br/>
+    </blockquote>
+
+  </div>
+</script>
+
 <script id="repository-groups-table-tmpl" type="text/html">
   <table class="table table-striped table-bordered">
     <thead>
@@ -1285,21 +1323,7 @@
   </div>
 </script>
 
-<script id="repository-group-edit-order-tmpl" type="text/html">
-  <div class="well draggable-item">
-    <blockquote>
-      ${$data.id()}
-      <br/>
-      ${$data.name()}
-      <br/>
-      <a href="${$data.url}" target="_blank">
-        ${$data.url}
-      </a>
-      <br/>
-    </blockquote>
 
-  </div>
-</script>
 
 <script id="repository-group-delete-warning-tmpl" type='text/html'>
     <div>