--- loncom/interface/lonparmset.pm 2009/06/09 23:27:04 1.458 +++ loncom/interface/lonparmset.pm 2009/06/18 19:43:14 1.462 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.458 2009/06/09 23:27:04 schualex Exp $ +# $Id: lonparmset.pm,v 1.462 2009/06/18 19:43:14 neumanie Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1353,7 +1353,7 @@ ENDSCRIPT if (!($$pscat[0] eq "all" || grep $_ eq $tempkey, @{$pscat})) { $r->print(' style="display:none"'); } - $r->print(' />' + $r->print('>' .($$allparms{$tempkey}=~/\S/ ? $$allparms{$tempkey} : $tempkey) .'' ); @@ -1589,17 +1589,61 @@ sub displaymenu { sub mapmenu { my ($r,$allmaps,$pschp,$maptitles)=@_; - + my $navmap = Apache::lonnavmaps::navmap->new(); + my $tree=[]; + my $treeinfo={}; + if (defined($navmap)) { + my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef); + my $curRes; + my $depth = 0; + + while ($curRes = $it->next()) { + if ($curRes == $it->BEGIN_MAP()) { + $depth++; + } + if ($curRes == $it->END_MAP()) { + $depth--; + } + if (ref($curRes)) { + if (($curRes->is_sequence()) || ($curRes->is_page())) { + my $type = 'sequence'; + if ($curRes->is_page()) { + $type = 'page'; + } + my $id= $curRes->id(); + my ($mapid,$resid)=split(/\./,$id); + if(!exists($treeinfo->{$mapid})) { + push(@$tree,$mapid); + $treeinfo->{$mapid} = { + depth => $depth, + type => $type, + }; + } + } + } + } + } + $r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Enclosing Map or Folder'))); - $r->print(''.&mt('All Maps or Folders').''.&Apache::loncommon::end_data_table_header_row()); + foreach my $mapid (@{$tree}) { + my $depth = $treeinfo->{$mapid}->{'depth'}; + my $indent = (' 'x$depth); + $icon = ''; + if ($treeinfo->{$mapid}->{'type'} eq 'page') { + $icon = ''; + } + $r->print(&Apache::loncommon::start_data_table_header_row().''.$indent.$icon.''.&Apache::loncommon::end_data_table_header_row()); + } + $r->print(&Apache::loncommon::end_data_table()); } - $r->print(""); - } sub levelmenu { @@ -1920,7 +1964,10 @@ sub assessparms { $uname,$udom,$csec,$cgroup); } # ---------------------------------------------------------------- Done storing - $message.='

'.&mt('Changes can take up to 10 minutes before being active for all students.').&Apache::loncommon::help_open_topic('Caching').'

'; + $message.='

' + .&mt('Changes can take up to 10 minutes before being active for all students.') + .&Apache::loncommon::help_open_topic('Caching') + .'

'; } #----------------------------------------------- if all selected, fill in array if ($pscat[0] eq "all") {@pscat = (keys %allparms);} @@ -1937,6 +1984,27 @@ sub assessparms { '" name="recent_'.$_.'" />'); } + # ----- Start Parameter Selection + + # Hide parm selection? + $r->print(< +// + +ENDPARMSELSCRIPT + my $parmselhiddenstyle=' style="display:none"'; + if($env{'form.hideparmsel'} eq 'hidden') { + $r->print('
'); + } else { + $r->print('
'); + } + + # Display parameter selection boxes if (!$pssymb) { $r->print(&Apache::lonhtmlcommon::topic_bar (1,&mt('General Parameters'))); $r->print(&Apache::lonhtmlcommon::start_pick_box()); @@ -1966,10 +2034,31 @@ sub assessparms { $r->print(&Apache::lonhtmlcommon::row_closure(1)); $r->print(&Apache::lonhtmlcommon::end_pick_box()); + # parm selection is shown: display parm update button + $r->print('

' + .'' + .'' + .'

' + ); + + $r->print('
'); + # ----- End Parameter Selection + + # Offer link to display parameter selection again + $r->print(''); - $r->print('

'.$message.'

'); + # Display Messages + $r->print('
'.$message.'
'); - $r->print('
'); my @temp_pscat; map {