--- loncom/interface/lonhtmlcommon.pm 2002/07/25 21:23:51 1.4 +++ loncom/interface/lonhtmlcommon.pm 2002/08/30 15:35:08 1.9 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.4 2002/07/25 21:23:51 stredwic Exp $ +# $Id: lonhtmlcommon.pm,v 1.9 2002/08/30 15:35:08 stredwic Exp $ # # Copyright Michigan State University Board of Trustees # @@ -30,16 +30,45 @@ package Apache::lonhtmlcommon; use strict; +sub AscendOrderOptions { + my ($order, $page, $formName)=@_; + + my $OpSel1 = ''; + my $OpSel2 = ''; + + if($order eq 'Ascending') { + $OpSel1 = ' selected'; + } else { + $OpSel2 = ' selected'; + } + + my $Str = ''; + $Str .= '<select name="'.(($page)?$page:'').'Ascend"'; + if($formName) { + $Str .= ' onchange="document.'.$formName.'.submit()"'; + } + $Str .= '>'."\n"; + $Str .= '<option'.$OpSel1.'>Ascending</option>'."\n". + '<option'.$OpSel2.'>Descending</option>'."\n"; + $Str .= '</select>'."\n"; + + return $Str; +} + sub MapOptions { - my ($data, $page)=@_; + my ($data, $page, $formName)=@_; my $Str = ''; $Str .= '<select name="'; - $Str .= (($page)?$page:'').'Map">'."\n"; + $Str .= (($page)?$page:'').'Maps"'; + if($formName) { + $Str .= ' onchange="document.'.$formName.'.submit()"'; + } + $Str .= '>'."\n"; my $selected = 0; foreach my $sequence (split(':',$data->{'orderedSequences'})) { $Str .= '<option'; - if($data->{$page.'Map'} eq $data->{$sequence.':title'}) { + if($data->{$page.'Maps'} eq $data->{$sequence.':title'}) { $Str .= ' selected'; $selected = 1; } @@ -56,6 +85,76 @@ sub MapOptions { return $Str; } +sub ProblemOptions { + my ($data, $page, $map, $formName)=@_; + my $Str = ''; + $Str .= '<select name="'; + $Str .= (($page)?$page:'').'ProblemSelect"'; + if($formName) { + $Str .= ' onchange="document.'.$formName.'.submit()"'; + } + $Str .= '>'."\n"; + + my $selected = 0; + foreach my $sequence (split(':',$data->{'orderedSequences'})) { + if($data->{$sequence.':title'} eq $map || $map eq 'All Maps') { + foreach my $problem (split(':', $data->{$sequence.':problems'})) { + $Str .= '<option'; + if($data->{$page.'ProblemSelect'} eq + $data->{$problem.':title'}) { + $Str .= ' selected'; + $selected = 1; + } + $Str .= '>'.$data->{$problem.':title'}.'</option>'."\n"; + } + } + } + $Str .= '<option'; + if(!$selected) { + $Str .= ' selected'; + } + $Str .= '>All Problems</option>'."\n"; + + $Str .= '</select>'."\n"; + + return $Str; +} + +sub PartOptions { + my ($data, $page, $parts, $formName)=@_; + my $Str = ''; + + if(!defined($parts)) { + return ''; + } + + $Str .= '<select name="'; + $Str .= (($page)?$page:'').'PartSelect"'; + if($formName) { + $Str .= ' onchange="document.'.$formName.'.submit()"'; + } + $Str .= '>'."\n"; + + my $selected = 0; + foreach my $part (@$parts) { + $Str .= '<option'; + if($data->{$page.'PartSelect'} eq $part) { + $Str .= ' selected'; + $selected = 1; + } + $Str .= '>'.$part.'</option>'."\n"; + } + $Str .= '<option'; + if(!$selected) { + $Str .= ' selected'; + } + $Str .= '>All Parts</option>'."\n"; + + $Str .= '</select>'."\n"; + + return $Str; +} + sub StudentOptions { my ($cache, $students, $selectedName, $page, $formName)=@_; @@ -120,60 +219,35 @@ sub StatusOptions { $Str .= '</select>'."\n"; } -sub Title { - my ($pageName)=@_; +sub MultipleSectionSelect { + my ($sections,$selectedSections)=@_; my $Str = ''; + $Str .= '<select name="Section" multiple="true" size="4">'."\n"; - $Str .= '<html><head><title>'.$pageName.'</title></head>'."\n"; - $Str .= '<body bgcolor="#FFFFFF">'."\n"; - $Str .= '<script>window.focus(); window.width=500;window.height=500;'; - $Str .= '</script>'."\n"; - $Str .= '<table width="100%"><tr><td valign="top">'; - $Str .= '<h1> Course: '; - $Str .= $ENV{'course.'.$ENV{'request.course.id'}.'.description'}; - $Str .= '</h1></td><td align="right">'."\n"; - $Str .= '<img align="right" src=/adm/lonIcons/lonlogos.gif>'; - $Str .= '</td></tr></table>'."\n"; -# $Str .= '<h3>Current Time: '.localtime(time).'</h3><br><br><br>'."\n"; + foreach (@$sections) { + $Str .= '<option'; + foreach my $selected (@$selectedSections) { + if($_ eq $selected) { + $Str .= ' selected=""'; + } + } + $Str .= '>'.$_.'</option>'."\n"; + } + $Str .= '</select>'."\n"; return $Str; } -sub CreateStatisticsMainMenu { - my ($status, $reports)=@_; +sub Title { + my ($pageName)=@_; my $Str = ''; - $Str .= '<table border="0"><tbody><tr>'."\n"; - $Str .= '<td></td><td></td>'."\n"; - $Str .= '<td align="center"><b>Analysis Reports:</b></td>'."\n"; - $Str .= '<td align="center"><b>Student Status:</b></td></tr>'."\n"; - $Str .= '<tr>'."\n"; - $Str .= '<td align="center"><input type="submit" name="Refresh" '; - $Str .= 'value="Refresh" /></td>'."\n"; - $Str .= '<td align="center"><input type="submit" name="DownloadAll" '; - $Str .= 'value="Update All Student Data" /></td>'."\n"; - $Str .= '<td align="center">'; - $Str .= '<select name="reportSelected" onchange="document.'; - $Str .= 'Statistics.submit()">'."\n"; - - foreach (sort(keys(%$reports))) { - next if($_ eq 'reportSelected'); - $Str .= '<option name="'.$_.'"'; - if($reports->{'reportSelected'} eq $reports->{$_}) { - $Str .= ' selected=""'; - } - $Str .= '>'.$reports->{$_}.'</option>'."\n"; - } - $Str .= '</select></td>'."\n"; - - $Str .= '<td align="center">'; - $Str .= &StatusOptions($status, 'Statistics'); - $Str .= '</td>'."\n"; - - $Str .= '</tr></tbody></table>'."\n"; - $Str .= '<hr>'."\n"; + $Str .= '<html><head><title>'.$pageName.'</title></head>'."\n"; + $Str .= &Apache::loncommon::bodytag($pageName)."\n"; + $Str .= '<script>window.focus(); window.width=500;window.height=500;'; + $Str .= '</script>'."\n"; return $Str; } @@ -284,5 +358,37 @@ sub FormatStudentInformation { return $Str; } +# Create progress +sub Create_PrgWin { + my ($r, $title, $heading)=@_; + $r->print('<script>'. + "popwin=open(\'\',\'popwin\',\'width=400,height=100\');". + "popwin.document.writeln(\'<html><body bgcolor=\"#88DDFF\">". + "<title>$title</title>". + "<h4>$heading</h4>". + "<form name=popremain>". + "<input type=text size=35 name=remaining value=Starting></form>". + "</body></html>\');". + "popwin.document.close();". + "</script>"); + + $r->rflush(); +} + +# update progress +sub Update_PrgWin { + my ($displayString,$r)=@_; + $r->print('<script>popwin.document.popremain.remaining.value="'. + $displayString.'";</script>'); + $r->rflush(); +} + +# close Progress Line +sub Close_PrgWin { + my ($r)=@_; + $r->print('<script>popwin.close()</script>'."\n"); + $r->rflush(); +} + 1; __END__