diff options
Diffstat (limited to 'httemplate/elements/progress-init.html')
| -rw-r--r-- | httemplate/elements/progress-init.html | 85 | 
1 files changed, 85 insertions, 0 deletions
| diff --git a/httemplate/elements/progress-init.html b/httemplate/elements/progress-init.html new file mode 100644 index 000000000..1c96a54ac --- /dev/null +++ b/httemplate/elements/progress-init.html @@ -0,0 +1,85 @@ +% +%  my( $formname, $fields, $action, $url_or_message, $key ) = @_; +%  $key = '' unless defined $key; +% +%  my $url_or_message_link; +%  if ( ref($url_or_message) ) { #its a message or something +%    $url_or_message_link = +%      'message='. uri_escape( $url_or_message->{'message'} ) +%  } else { +%    $url_or_message_link = "url=$url_or_message"; +%  } +% + + +<% include('/elements/xmlhttp.html', +              'method' => 'POST', +              'url'    => $action, +              'subs'   => [ 'start_job' ], +              'key'    => $key, +           ) +%> +<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/overlibmws.js"></SCRIPT> +<SCRIPT TYPE="text/javascript" SRC="<%$fsurl%>elements/overlibmws_iframe.js"></SCRIPT> +<SCRIPT TYPE="text/javascript"> +function OLiframeContent(src, width, height, name) { +  return ('<iframe src="'+src+'" width="'+width+'" height="'+height+'"' +   +(name?' name="'+name+'" id="'+name+'"':'')+' scrolling="auto">' +   +'<div>[iframe not supported]</div></iframe>'); +} + +function <%$key%>process () { + +  //alert('<%$key%>process for form <%$formname%>'); + +  if ( document.<%$formname%>.submit.disabled == false ) { +    document.<%$formname%>.submit.disabled=true; +  } + +  overlib( 'Submitting job to server...', WIDTH, 444, HEIGHT, 168, CAPTION, 'Please wait...', STICKY, AUTOSTATUSCAP, CLOSETEXT, '', CLOSECLICK, MIDX, 0, MIDY, 0 ); + +  var Hash = new Array(); +  var x = 0; +  var fieldName; +  for (var i = 0; i<document.<%$formname%>.elements.length; i++) { +    field  = document.<%$formname%>.elements[i]; +    if ( <% join(' || ', map { "(field.name.indexOf('$_') > -1)" } @$fields ) %> +       ) +    { +        if ( field.type == 'select-multiple' ) { +          //alert('select-multiple ' + field.name); +          for (var j=0; j < field.options.length; j++) { +            if ( field.options[j].selected ) { +              //alert(field.name + ' => ' + field.options[j].value); +              Hash[x++] = field.name; +              Hash[x++] = field.options[j].value; +            } +          } +        } else if (    ( field.type != 'radio'  && field.type != 'checkbox' ) +                    || ( ( field.type == 'radio' || field.type == 'checkbox' ) +                         && document.<%$formname%>.elements[i].checked +                       ) +                  ) +        { +          Hash[x++] = field.name; +          Hash[x++] = field.value; +        } +    } +  } + +  // jsrsPOST = true; +  // jsrsExecute( '<% $action %>', <%$key%>myCallback, 'start_job', Hash ); + +  //alert('start_job( ' + Hash + ', <%$key%>myCallback )' ); +  //alert('start_job()' ); +  <%$key%>start_job( Hash, <%$key%>myCallback ); + +} + +function <%$key%>myCallback( jobnum ) { + +  overlib( OLiframeContent('<%$p%>elements/progress-popup.html?jobnum=' + jobnum + ';<%$url_or_message_link%>;formname=<%$formname%>' , 444, 168, 'progress_popup'), CAPTION, 'Please wait...', STICKY, AUTOSTATUSCAP, CLOSETEXT, '', CLOSECLICK, MIDX, 0, MIDY, 0 ); + +} + +</SCRIPT> | 
