]> wagnertech.de Git - kivitendo-erp.git/commitdiff
CGI::Ajax Patch:
authorSven Schöling <s.schoeling@linet-services.de>
Thu, 14 Feb 2008 16:42:36 +0000 (16:42 +0000)
committerSven Schöling <s.schoeling@linet-services.de>
Thu, 14 Feb 2008 16:42:36 +0000 (16:42 +0000)
Es ist nun moeglich der generierten Ajaxmethode einen Mix aus Felddescriptoren und Handlerfunktionen zu uebergeben.

Ist der erste parameter eine Funktion wird aus Gruenden der Kompatibilitaet weiterhin der komplette Datensatz an die Handlerfunktion uebergeben.

modules/override/CGI/Ajax.pm

index 41e9c33429cd076f3122f794e0d7daf17774307a..f4e063e11e5d488e0fc00286b2af2e8963762c21 100644 (file)
@@ -840,17 +840,21 @@ pjx.prototype =  {
     dt = this.target;
     if (dt.constructor != Array) { dt=[dt]; }
     if (data.constructor != Array) { data=[data]; }
     dt = this.target;
     if (dt.constructor != Array) { dt=[dt]; }
     if (data.constructor != Array) { data=[data]; }
-    if (typeof(dt[0])!='function') {
+    if (typeof(dt[0])=='function') {
+       dt[0].apply(this,data);
+    } else {
       for ( var i=0; i<dt.length; i++ ) {
       for ( var i=0; i<dt.length; i++ ) {
-        var div = document.getElementById(dt[i]);
-        if (div.type =='text' || div.type=='textarea' || div.type=='hidden' ) {
-          div.value=data[i];
-        } else{
-          div.innerHTML = data[i];
+        if (typeof(dt[i])=='function') {
+          dt[i].apply(this,[data[i]]);
+        } else {
+          var div = document.getElementById(dt[i]);
+          if (div.type =='text' || div.type=='textarea' || div.type=='hidden' ) {
+            div.value=data[i];
+          } else{
+            div.innerHTML = data[i];
+          }
         }
       }
         }
       }
-    } else if (typeof(dt[0])=='function') {
-       dt[0].apply(this,data);
     }
     this.pjxCompleted(dt);
  },
     }
     this.pjxCompleted(dt);
  },