summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitch Jackson <mitch@freeside.biz>2018-11-09 15:09:37 -0500
committerMitch Jackson <mitch@freeside.biz>2018-11-09 16:51:20 -0500
commit34ca4dcb1b76194d63d02ae459075fa001d65b1c (patch)
tree1e5a5077e4ad9bf3d9a34b34d7fca8c55c0df570
parent91b74d22933e757040ee90c2fd9b2c0abe96fc62 (diff)
RT# 81712 Reduce unnecessary xmlhttp calls
-rwxr-xr-xhttemplate/elements/tr-select-reason.html1
-rw-r--r--httemplate/elements/xmlhttp.html11
2 files changed, 10 insertions, 2 deletions
diff --git a/httemplate/elements/tr-select-reason.html b/httemplate/elements/tr-select-reason.html
index f25171fef..6a21c5529 100755
--- a/httemplate/elements/tr-select-reason.html
+++ b/httemplate/elements/tr-select-reason.html
@@ -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() {
diff --git a/httemplate/elements/xmlhttp.html b/httemplate/elements/xmlhttp.html
index e70871169..b2f265afb 100644
--- a/httemplate/elements/xmlhttp.html
+++ b/httemplate/elements/xmlhttp.html
@@ -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