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/12/30 00:59:38 UTC

svn commit: r1426864 - in /archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js: archiva/general-admin.js templates/archiva/general-admin.html

Author: olamy
Date: Sat Dec 29 23:59:38 2012
New Revision: 1426864

URL: http://svn.apache.org/viewvc?rev=1426864&view=rev
Log:
fix validation of form

Modified:
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js?rev=1426864&r1=1426863&r2=1426864&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js Sat Dec 29 23:59:38 2012
@@ -585,7 +585,12 @@ define("archiva.general-admin",["jquery"
         var archivaRuntimeConfiguration=mapArchivaRuntimeConfiguration(data);
         var archivaRuntimeConfigurationViewModel=new ArchivaRuntimeConfigurationViewModel(archivaRuntimeConfiguration);
         ko.applyBindings(archivaRuntimeConfigurationViewModel,mainContent.find("#cache-failure-form").get(0));
-
+        var validator = mainContent.find("#cache-failure-form-id")
+                .validate({
+                            showErrors: function(validator, errorMap, errorList) {
+                              customShowError(mainContent.find("#cache-failure-form-id" ),validator,errorMap,errorMap);
+                            }
+                          });
       }
     });
 
@@ -593,6 +598,31 @@ define("archiva.general-admin",["jquery"
   ArchivaRuntimeConfigurationViewModel=function(archivaRuntimeConfiguration){
     var self=this;
     this.archivaRuntimeConfiguration=ko.observable(archivaRuntimeConfiguration);
+
+    save=function(){
+      var userMessages=$("#user-messages");
+
+      var mainContent=$("#main-content");
+
+      if (!mainContent.find("#cache-failure-form-id").valid()){
+        return;
+      }
+      userMessages.html(mediumSpinnerImg());
+      mainContent.find("#cache-failure-form-btn-save" ).button('loading');
+      $.ajax("restServices/archivaServices/archivaRuntimeConfigurationService/archivaRuntimeConfiguration", {
+        type: "PUT",
+        contentType: 'application/json',
+        data: ko.toJSON(self.archivaRuntimeConfiguration),
+        dataType: 'json',
+        success: function(data){
+          displaySuccessMessage( $.i18n.prop("archiva.runtime-configuration.updated"));
+        },
+        complete: function(){
+          removeMediumSpinnerImg(userMessages);
+          mainContent.find("#cache-failure-form-btn-save" ).button('reset');
+        }
+      });
+    }
   }
 
   ArchivaRuntimeConfiguration=function(cacheConfiguration){

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html?rev=1426864&r1=1426863&r2=1426864&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/templates/archiva/general-admin.html Sat Dec 29 23:59:38 2012
@@ -335,48 +335,44 @@
 
 <script id="cache-failure-form-tmpl" type="text/html">
 
-  <div class="well">
+  <form class="well form-horizontal" id="cache-failure-form-id">
 
-
-    <form class="form-horizontal" id="cache-failure-form-id">
-
-
-      <div class="control-group">
-        <label class="control-label" for="usersCacheTimeToLiveSeconds">${$.i18n.prop('runtime.cache.timeToLiveSeconds.label')}</label>
-        <div class="controls">
-          <input type="text" class="xlarge required numeric" data-bind="value: archivaRuntimeConfiguration().urlFailureCacheConfiguration().timeToLiveSeconds"
-                 id="usersCacheTimeToLiveSeconds" name="usersCacheTimeToLiveSeconds" />
-        </div>
+    <div class="control-group">
+      <label class="control-label" for="usersCacheTimeToLiveSeconds">${$.i18n.prop('runtime.cache.timeToLiveSeconds.label')}</label>
+      <div class="controls">
+        <input type="text" class="xlarge required digits" data-bind="value: archivaRuntimeConfiguration().urlFailureCacheConfiguration().timeToLiveSeconds"
+               id="usersCacheTimeToLiveSeconds" name="usersCacheTimeToLiveSeconds" />
       </div>
+    </div>
 
-      <div class="control-group">
-        <label class="control-label" for="usersCacheTimeToIdleSeconds">${$.i18n.prop('runtime.cache.timeToIdleSeconds.label')}</label>
-        <div class="controls">
-          <input type="text" class="xlarge required numeric" data-bind="value: archivaRuntimeConfiguration().urlFailureCacheConfiguration().timeToIdleSeconds"
-                 id="usersCacheTimeToIdleSeconds" name="usersCacheTimeToIdleSeconds" />
-        </div>
+    <div class="control-group">
+      <label class="control-label" for="usersCacheTimeToIdleSeconds">${$.i18n.prop('runtime.cache.timeToIdleSeconds.label')}</label>
+      <div class="controls">
+        <input type="text" class="xlarge required digits" data-bind="value: archivaRuntimeConfiguration().urlFailureCacheConfiguration().timeToIdleSeconds"
+               id="usersCacheTimeToIdleSeconds" name="usersCacheTimeToIdleSeconds" />
       </div>
+    </div>
 
-      <div class="control-group">
-        <label class="control-label" for="maxElementsInMemory">${$.i18n.prop('runtime.cache.maxElementsInMemory.label')}</label>
-        <div class="controls">
-          <input type="text" class="xlarge required numeric" data-bind="value: archivaRuntimeConfiguration().urlFailureCacheConfiguration().maxElementsInMemory"
-                 id="maxElementsInMemory" name="maxElementsInMemory" />
-        </div>
+    <div class="control-group">
+      <label class="control-label" for="maxElementsInMemory">${$.i18n.prop('runtime.cache.maxElementsInMemory.label')}</label>
+      <div class="controls">
+        <input type="text" class="xlarge required digits" data-bind="value: archivaRuntimeConfiguration().urlFailureCacheConfiguration().maxElementsInMemory"
+               id="maxElementsInMemory" name="maxElementsInMemory" />
       </div>
+    </div>
 
-      <div class="control-group">
-        <label class="control-label" for="maxElementsOnDisk">${$.i18n.prop('runtime.cache.maxElementsOnDisk.label')}</label>
-        <div class="controls">
-          <input type="text" class="xlarge required numeric" data-bind="value: archivaRuntimeConfiguration().urlFailureCacheConfiguration().maxElementsOnDisk"
-                 id="maxElementsOnDisk" name="maxElementsOnDisk" />
-        </div>
+    <div class="control-group">
+      <label class="control-label" for="maxElementsOnDisk">${$.i18n.prop('runtime.cache.maxElementsOnDisk.label')}</label>
+      <div class="controls">
+        <input type="text" class="xlarge required digits" data-bind="value: archivaRuntimeConfiguration().urlFailureCacheConfiguration().maxElementsOnDisk"
+               id="maxElementsOnDisk" name="maxElementsOnDisk" />
       </div>
+    </div>
 
-    </form>
-
+    <button id="cache-failure-form-btn-save" data-loading-text="${$.i18n.prop('common.loading')}"
+            data-bind="click: save" class="btn">${$.i18n.prop('save')}</button>
 
-  </div>
+  </form>
 
 </script>