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/10 18:24:46 UTC

svn commit: r1242865 - in /archiva/trunk/archiva-modules/archiva-web: archiva-web-common/src/main/resources/org/apache/archiva/i18n/ archiva-webapp-js/src/main/webapp/js/archiva/ archiva-webapp-js/src/main/webapp/js/archiva/templates/

Author: olamy
Date: Fri Feb 10 17:24:46 2012
New Revision: 1242865

URL: http://svn.apache.org/viewvc?rev=1242865&view=rev
Log:
[MRM-1576] rewrite proxies connector page
implements bulk save mode.

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
    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/templates/proxy-connectors.html

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties?rev=1242865&r1=1242864&r2=1242865&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties Fri Feb 10 17:24:46 2012
@@ -141,4 +141,5 @@ proxyconnector.added=ProxyConnector adde
 proxyconnector.updated=ProxyConnector updated.
 proxy-connectors.grid.remoterepo.settings.popover.title=Proxy Connector Settings
 proxy-connectors.remoterepo.settings.networkproxy=Network Proxy
+proxy.connector.bulk.save.confirm=Are you sure to update {0} Proxy Connector(s)
 

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=1242865&r1=1242864&r2=1242865&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 Fri Feb 10 17:24:46 2012
@@ -92,6 +92,7 @@ $(function() {
       for(i=0;i<policiesEntries.length;i++){
         if (policiesEntries[i].key==key){
           policiesEntries[i].value=value;
+          self.modified(true);
         }
       }
     }
@@ -169,11 +170,12 @@ $(function() {
       var tab =  self.proxyConnector.blackListPatterns();
       tab.push(pattern);
       self.proxyConnector.blackListPatterns(tab);
-
+      self.proxyConnector.modified(true);
     }
 
     removeBlacklistPattern=function(pattern){
       self.proxyConnector.blackListPatterns.remove(pattern);
+      self.proxyConnector.modified(true);
     }
 
     addWhitelistPattern=function(){
@@ -181,14 +183,16 @@ $(function() {
       var tab =  self.proxyConnector.whiteListPatterns();
       tab.push(pattern);
       self.proxyConnector.whiteListPatterns(tab);
+      self.proxyConnector.modified(true);
 
     }
 
     removeWhitelistPattern=function(pattern){
       self.proxyConnector.whiteListPatterns.remove(pattern);
+      self.proxyConnector.modified(true);
     }
 
-    save=function(){
+    this.save=function(){
       //FIXME data controls !!!
       clearUserMessages();
       // update is delete then add
@@ -239,6 +243,7 @@ $(function() {
         var entry=self.proxyConnector.propertiesEntries()[i];
         if (entry.key()==key()){
           self.proxyConnector.propertiesEntries.remove(entry);
+          self.proxyConnector.modified(true);
         }
       }
 
@@ -253,6 +258,7 @@ $(function() {
       self.proxyConnector.propertiesEntries(oldTab);
       mainContent.find("#property-key").val("");
       mainContent.find("#property-value").val("");
+      self.proxyConnector.modified(true);
     }
 
     displayGrid=function(){
@@ -268,6 +274,34 @@ $(function() {
     this.remoteRepositories=ko.observableArray([]);
     this.networkProxies=ko.observableArray([]);
 
+    this.bulkSave=function(){
+      return getModifiedProxyConnectors().length>0;
+    }
+
+    getModifiedProxyConnectors=function(){
+      var prx = $.grep(self.proxyConnectors(),
+          function (proxyConnector,i) {
+            return proxyConnector.modified();
+          });
+      return prx;
+    }
+
+    updateModifiedProxyConnectors=function(){
+      var modifiedProxyConnectors = getModifiedProxyConnectors();
+
+      openDialogConfirm(function(){
+                          for(i=0;i<modifiedProxyConnectors.length;i++){
+                            var viewModel = new ProxyConnectorViewModel(modifiedProxyConnectors[i],true,self,false);
+                            viewModel.save();
+                          }
+                          closeDialogConfirm();
+                        },
+                        $.i18n.prop('ok'),
+                        $.i18n.prop('cancel'),
+                        $.i18n.prop('bulk.save.confirm.title'),
+                        $.i18n.prop('proxy.connector.bulk.save.confirm',modifiedProxyConnectors.length));
+    }
+
     editProxyConnector=function(proxyConnector){
       var proxyConnectorViewModel=new ProxyConnectorViewModel(proxyConnector,true,self);
       var mainContent = $("#main-content");
@@ -349,7 +383,7 @@ $(function() {
       });
       var mainContent = $("#main-content");
 
-      ko.applyBindings(this,mainContent.find("#proxyConnectorsTable").get(0));
+      ko.applyBindings(this,mainContent.find("#proxy-connectors-view").get(0));
       removeSmallSpinnerImg("#main-content");
       mainContent.find("#proxy-connectors-view-tabs #proxy-connectors-view-tabs-a-network-proxies-grid").tab('show');
 

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/proxy-connectors.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/proxy-connectors.html?rev=1242865&r1=1242864&r2=1242865&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/proxy-connectors.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/templates/proxy-connectors.html Fri Feb 10 17:24:46 2012
@@ -31,6 +31,7 @@
   </ul>
   <div id="proxy-connectors-view-tabs-content" class="tab-content">
     <div id="proxy-connectors-view" class="tab-pane active">
+      <div id="proxy-connectors-bulk-save-btn" data-bind='template:{name:"proxy-connectors-bulk-save-tmpl"}'></div>
       <table class="table table-striped table-bordered" id="proxyConnectorsTable"
              data-bind="simpleGrid: gridViewModel,simpleGridTemplate:'ko-proxy-connectors-grid',pageLinksId:'proxy-connectorsPagination'">
       </table>
@@ -219,3 +220,8 @@
     </form>
 
 </script>
+<script id="proxy-connectors-bulk-save-tmpl" type='text/x-jquery-tmpl'>
+  {{if bulkSave()}}
+    <button data-bind="click: updateModifiedProxyConnectors" class="btn">${$.i18n.prop('save.all')}</button>
+  {{/if}}
+</script>