RT# 81712 Reduce unnecessary xmlhttp calls
authorMitch Jackson <mitch@freeside.biz>
Fri, 9 Nov 2018 20:09:37 +0000 (15:09 -0500)
committerMitch Jackson <mitch@freeside.biz>
Fri, 9 Nov 2018 20:09:51 +0000 (15:09 -0500)
httemplate/elements/tr-select-reason.html
httemplate/elements/xmlhttp.html

index a4e0c03..64648ba 100755 (executable)
@@ -43,6 +43,7 @@ Example:
 <& /elements/xmlhttp.html,
   url => $p . 'misc/xmlhttp-reason-hint.html',
   subs => [ 'get_hint' ],
+  skip_empty => 1,
 &>
 <SCRIPT TYPE="text/javascript">
   function <% $id %>_changed() {
index e708711..b2f265a 100644 (file)
@@ -8,8 +8,10 @@ Example:
     'subs' => [ 'subroutine' ],
 
     # optional
-    'method' => 'GET', #defaults to GET, could specify POST
-    'key'    => 'unique', #unique key
+    'method'     => 'GET',    # defaults to GET, could specify POST
+    'key'        => 'unique', # unique key
+    'skip_empty' => '1',      # When the given key value is null or = 0,
+                              #   skip making a useless http request
 
   );
 
@@ -43,6 +45,11 @@ my %initialized = ();#won't work if component is "preloaded"... so don't do that
             args = a;
             len = args.length - 1;
         }
+% if ( $opt{skip_empty} ) {
+        if ( args[0] == 0 || !args[0] ) {
+          return;
+        }
+% }
         for (var i = 0; i < len; i++) 
             content = content + "&arg=" + encodeURIComponent(args[i]);
         content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs