--- loncom/interface/lonhtmlcommon.pm 2004/02/16 21:49:16 1.48 +++ loncom/interface/lonhtmlcommon.pm 2004/02/16 22:28:55 1.49 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.48 2004/02/16 21:49:16 albertel Exp $ +# $Id: lonhtmlcommon.pm,v 1.49 2004/02/16 22:28:55 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -627,36 +627,62 @@ Returns: none # Create progress sub Create_PrgWin { - my ($r, $title, $heading, $number_to_do)=@_; - #the whole function called through timeout is due to issues - #in mozilla Read BUG #2665 if you want to know the whole story - &r_print($r,'"); + "popwin.document.close();}". + "\nwindow.setTimeout(openpopwin,0)"); + $prog_state{'formname'}='popremain'; + $prog_state{'inputname'}="remaining"; + } elsif ($type eq 'inline') { + $prog_state{'window'}='window'; + if (!$formname) { + &r_print($r,'
'); + $prog_state{'formname'}='progresswindow'; + } else { + $prog_state{'formname'}=$formname; + } + if (!$inputname) { + &r_print($r,''); + $prog_state{'inputname'}="progressline"; + } else { + $prog_state{'inputname'}=$inputname; + + } + if (!$formname) { &r_print($r,'
'); } + &Update_PrgWin($r,\%prog_state,&mt('Starting')); + } - my %prog_state; $prog_state{'done'}=0; $prog_state{'firststart'}=&Time::HiRes::time(); $prog_state{'laststart'}=&Time::HiRes::time(); $prog_state{'max'}=$number_to_do; - + return %prog_state; } # update progress sub Update_PrgWin { my ($r,$prog_state,$displayString)=@_; - &r_print($r,''); $$prog_state{'laststart'}=&Time::HiRes::time(); } @@ -706,7 +732,9 @@ sub Increment_PrgWin { if ($user_browser eq 'explorer' && $user_os =~ 'mac') { $lasttime = ''; } - &r_print($r,''); $$prog_state{'laststart'}=&Time::HiRes::time(); @@ -715,7 +743,11 @@ sub Increment_PrgWin { # close Progress Line sub Close_PrgWin { my ($r,$prog_state)=@_; - &r_print($r,''."\n"); + if ($$prog_state{'type'} eq 'popup') { + &r_print($r,''."\n"); + } elsif ($$prog_state{'type'} eq 'inline') { + &Update_PrgWin($r,$prog_state,&mt('Done')); + } undef(%$prog_state); }