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 00:07:15 UTC

svn commit: r1242593 - in /archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva: proxy-connectors.js templates/proxy-connectors.html

Author: olamy
Date: Thu Feb  9 23:07:15 2012
New Revision: 1242593

URL: http://svn.apache.org/viewvc?rev=1242593&view=rev
Log:
[MRM-1576] rewrite proxies connector page
add now works !

Modified:
    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-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=1242593&r1=1242592&r2=1242593&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 Thu Feb  9 23:07:15 2012
@@ -127,22 +127,15 @@ $(function() {
     this.proxyConnectorsViewModel=proxyConnectorsViewModel;
     this.update=update;
     this.modified=ko.observable(false);
-    getSelectedPolicyOption=function(id,updateVal){
-      $.log("getSelectedPolicyOption:"+id+","+updateVal);
-      if (!update){
-        // we are on add mode so use default option
-        var policyInformations=self.proxyConnectorsViewModel.policyInformations();
-        for (i=0;i<policyInformations.length;i++){
-          if (policyInformations[i].id()==id) {
-            return policyInformations[i].defaultOption;
-          }
-        }
-      }
-      var policies=self.proxyConnector().policies();
+    getSelectedPolicyOption=function(id){
+      $.log("getSelectedPolicyOption:"+id);
+
+      var policies=self.proxyConnector.policies();
+      $.log("getSelectedPolicyOption policies.length:"+policies.length);
       if (policies!=null){
-        for (i=0;i<policies().length;i++){
-          if (id==policies()[i].key()){
-            return policies()[i].value();
+        for (i=0;i<policies.length;i++){
+          if (id==policies[i].key()){
+            return policies[i].value();
           }
         }
       }
@@ -200,6 +193,37 @@ $(function() {
     removeWhitelistPattern=function(pattern){
       self.proxyConnector.whiteListPatterns.remove(pattern);
     }
+
+    save=function(){
+      //FIXME data controls !!!
+
+      if (this.update){
+
+      } else {
+        $.ajax("restServices/archivaServices/proxyConnectorService/addProxyConnector",
+          {
+            type: "POST",
+            data: "{\"proxyConnector\": " + ko.toJSON(self.proxyConnector)+"}",
+            contentType: 'application/json',
+            dataType: 'json',
+            success: function(data) {
+              displaySuccessMessage($.i18n.prop('proxyconnector.added'));
+              activateProxyConnectorsGridTab();
+              self.proxyConnector.modified(false);
+            },
+            error: function(data) {
+              var res = $.parseJSON(data.responseText);
+              displayRestError(res);
+            }
+          }
+        );
+
+      }
+    }
+
+    displayGrid=function(){
+      activateProxyConnectorsGridTab();
+    }
   }
 
   ProxyConnectorsViewModel=function(){
@@ -307,6 +331,13 @@ $(function() {
 
         if ($(e.target).attr("href")=="#proxy-connectors-edit") {
           var proxyConnector=new ProxyConnector();
+          var defaultPolicies=new Array();
+          // populate with defaut policies options
+          for (i=0;i<self.policyInformations().length;i++){
+            defaultPolicies.push(new Entry(self.policyInformations()[i].id(),self.policyInformations()[i].defaultOption));
+          }
+          proxyConnector.policies(defaultPolicies);
+          $.log("proxyConnector.policies().length:"+proxyConnector.policies().length);
           var proxyConnectorViewModel=new ProxyConnectorViewModel(proxyConnector,false,self);
           mainContent.find("#proxy-connectors-edit").html($("#proxy-connector-edit-form-tmpl").tmpl());
           ko.applyBindings(proxyConnectorViewModel,mainContent.find("#proxy-connectors-edit").get(0));
@@ -375,6 +406,26 @@ $(function() {
      });
   }
 
+  activateProxyConnectorsGridTab=function(){
+    var mainContent = $("#main-content");
+    mainContent.find("#proxy-connectors-edit").removeClass("active");
+    mainContent.find("#proxy-connectors-view-tabs-li-edit").removeClass("active");
+
+    mainContent.find("#proxy-connectors-view").addClass("active");
+    mainContent.find("#proxy-connectors-view-tabs-li-grid").addClass("active");
+    mainContent.find("#proxy-connectors-view-tabs-li-edit a").html($.i18n.prop("add"));
+
+  }
+
+  activateProxyConnectorsEditTab=function(){
+    var mainContent = $("#main-content");
+    mainContent.find("#proxy-connectors-edit").addClass("active");
+    mainContent.find("#proxy-connectors-view-tabs-li-edit").addClass("active");
+
+    mainContent.find("#proxy-connectors-view").removeClass("active");
+    mainContent.find("#proxy-connectors-view-tabs-li-grid").removeClass("active");
+  }
+
   mapProxyConnector=function(data){
     if (data==null){
       return null;

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=1242593&r1=1242592&r2=1242593&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 Thu Feb  9 23:07:15 2012
@@ -143,8 +143,7 @@
                   <tr>
                     <td data-bind="text: name"></td>
                     <td>
-                      <select id="policy-${policyId}"
-                              data-bind="options: getPolicyOptions(id()),value:getSelectedPolicyOption(id())"></select>
+                      <select data-bind="options: getPolicyOptions(id()),value:getSelectedPolicyOption(id()),attr: { id: 'policy-'+id() }"></select>
                     </td>
                   </tr>
               </tbody>
@@ -203,6 +202,13 @@
         </div>
 
       </fieldset>
+
+      <button id="proxy-connector-btn-save" data-bind="click: save" class="btn">${$.i18n.prop('save')}</button>
+      {{if modified()}}
+       ${("#network-proxy-btn-save").button('reset')}
+      {{/if}}
+      <button data-bind="click: displayGrid" class="btn">${$.i18n.prop('cancel')}</button>
+
     </form>
 
 </script>