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/14 09:20:38 UTC

svn commit: r1243818 - in /archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp: ./ js/archiva/ js/archiva/templates/

Author: olamy
Date: Tue Feb 14 08:20:38 2012
New Revision: 1243818

URL: http://svn.apache.org/viewvc?rev=1243818&view=rev
Log:
[MRM-1575] rewrite repositories group page
impl grid with groups

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/proxy-connectors.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
    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/templates/menu.html
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repository-groups.html

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html?rev=1243818&r1=1243817&r2=1243818&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html Tue Feb 14 08:20:38 2012
@@ -86,7 +86,7 @@ $.ajax(
            .script(buildLoadJsUrl("archiva/network-proxies.js")).wait()
            .script(buildLoadJsUrl("archiva/proxy-connectors.js")).wait()
            .script(buildLoadJsUrl("redback/operation.js")).wait()
-           .script(buildLoadJsUrl("repository-groups.js")).wait()
+           .script(buildLoadJsUrl("archiva/repository-groups.js")).wait()
            .script(buildLoadJsUrl("redback/redback-tmpl.js")).wait()
            .script(buildLoadJsUrl("bootstrap.js"))
            .script(buildLoadJsUrl("knockout.simpleGrid.js"))

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/proxy-connectors.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/proxy-connectors.js?rev=1243818&r1=1243817&r2=1243818&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/proxy-connectors.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/proxy-connectors.js Tue Feb 14 08:20:38 2012
@@ -328,12 +328,7 @@ $(function() {
 
 
     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();
+      return findManagedRepository(id,self.managedRepositories());
     }
 
     getRemoteRepository=function(id){

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js?rev=1243818&r1=1243817&r2=1243818&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js Tue Feb 14 08:20:38 2012
@@ -957,4 +957,13 @@ $(function() {
     });
   }
 
+  findManagedRepository=function(id,managedRepositories){
+    var managedRepository=$.grep(managedRepositories,
+                                    function(repo,idx){
+                                      return repo.id()==id;
+                                    }
+                          );
+    return ($.isArray(managedRepository) && managedRepository.length>0) ? managedRepository[0]:new ManagedRepository();
+  }
+
 });
\ No newline at end of file

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=1243818&r1=1243817&r2=1243818&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 Tue Feb 14 08:20:38 2012
@@ -18,5 +18,71 @@
  */
 $(function() {
 
+  RepositoryGroup=function(id,repositories){
+
+    var self=this;
+
+    //private String id;
+    this.id=ko.observable(id);
+    this.id.subscribe(function(newValue){self.modified(true)});
+
+    // private List<String> repositories;
+    this.repositories=ko.observableArray(repositories);
+    this.repositories.subscribe(function(newValue){self.modified(true)});
+
+    this.modified=ko.observable(false);
+  }
+
+  RepositoryGroupViewModel=function(){
+    this.repositoryGroups=ko.observableArray([]);
+    this.managedRepositories=ko.observableArray([]);
+
+    findManagedRepository=function(id){
+      return findManagedRepository(id,self.managedRepositories());
+    }
+  }
+
+  displayRepositoryGroups=function(){
+    screenChange();
+    var mainContent = $("#main-content");
+    mainContent.html(mediumSpinnerImg());
+    this.repositoryGroupViewModel=new RepositoryGroupViewModel();
+    var self=this;
+
+    loadManagedRepositories(function(data) {
+      self.repositoryGroupViewModel.managedRepositories(mapManagedRepositories(data));
+
+      $.ajax("restServices/archivaServices/repositoryGroupService/getRepositoriesGroups", {
+          type: "GET",
+          dataType: 'json',
+          success: function(data) {
+            var mappedRepositoryGroups=mapRepositoryGroups(data);
+            mainContent.html($("#repositoryGroupsMain").tmpl());
+            self.repositoryGroupViewModel.repositoryGroups(mappedRepositoryGroups);
+            //ko.applyBindings(repositoryGroupViewModel,mainContent.find("#repository-groups-table" ).get(0));
+            ko.applyBindings(repositoryGroupViewModel,mainContent.get(0));
+
+          }
+        }
+      );
+
+    });
+
+
+  }
+
+  mapRepositoryGroups=function(data){
+    if (data == null){
+      return new Array();
+    }
+    var mappedRepositoryGroups = $.map(data.repositoryGroup, function(item) {
+      return mapRepositoryGroup(item);
+    });
+    return mappedRepositoryGroups;
+  }
+
+  mapRepositoryGroup=function(data){
+    return new RepositoryGroup(data.id, mapStringArray(data.repositories));
+  }
 
 });

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/menu.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/menu.html?rev=1243818&r1=1243817&r2=1243818&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/menu.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/menu.html Tue Feb 14 08:20:38 2012
@@ -31,6 +31,9 @@
     <ul class="nav nav-list" redback-permissions="{permissions: ['archiva-manage-configuration']}">
       <li class="nav-header">${$.i18n.prop('menu.administration')}</li>
       <li style="display: none" redback-permissions="{permissions: ['archiva-manage-configuration']}">
+        <a href="#" id="menu-repository-groups-list-a" onclick="displayRepositoryGroups()">${$.i18n.prop('menu.repository.groups')}</a>
+      </li>
+      <li style="display: none" redback-permissions="{permissions: ['archiva-manage-configuration']}">
         <a href="#" id="menu-repositories-list-a" onclick="displayRepositoriesGrid()">${$.i18n.prop('menu.repositories')}</a>
       </li>
       <li style="display: none" redback-permissions="{permissions: ['archiva-manage-configuration']}">

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repository-groups.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repository-groups.html?rev=1243818&r1=1243817&r2=1243818&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repository-groups.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/repository-groups.html Tue Feb 14 08:20:38 2012
@@ -16,3 +16,50 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
 -->
+<script id="repositoryGroupsMain" type="text/x-jquery-tmpl">
+  <div class="page-header">
+    <h2>${$.i18n.prop('repository.groups.list')}</h2>
+  </div>
+  <div id="repository-groups-table" data-bind='template:{name:"repository-groups-table-tmpl"}'>
+
+  </div>
+  <br/><br/>
+    <table class="table table-striped table-bordered">
+      <thead>
+        <th>group</th>
+        <th>repos</th>
+      </thead>
+      <tbody>
+        <div id="repository-groups-table-bind" data-bind="foreach: repositoryGroups">
+          <tr>
+            <td data-bind="value: $data.id"></td>
+          </tr>
+        </div>
+      </tbody>
+    </table>
+
+  </div>
+</script>
+
+<script id="repository-groups-table-tmpl" type="text/html">
+  <table class="table table-striped table-bordered">
+    <thead>
+      <th>group</th>
+      <th>repos</th>
+    </thead>
+    <tbody>
+    {{each(i, repositoryGroup) repositoryGroups}}
+      <tr>
+        <td>${repositoryGroup.id}</td>
+        <td>
+          <ul>
+          {{each(j,id) repositoryGroup.repositories()}}
+            <li>${id}</li>
+          {{/each}}
+          </ul>
+        </td>
+      </tr>
+    {{/each}}
+    </tbody>
+  </table>
+</script>
\ No newline at end of file