--- loncom/interface/statistics/lonstathelpers.pm 2010/08/04 01:56:07 1.63 +++ loncom/interface/statistics/lonstathelpers.pm 2015/06/09 21:23:02 1.74 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstathelpers.pm,v 1.63 2010/08/04 01:56:07 raeburn Exp $ +# $Id: lonstathelpers.pm,v 1.74 2015/06/09 21:23:02 damieng Exp $ # # Copyright Michigan State University Board of Trustees # @@ -90,10 +90,10 @@ sub render_resource { my $rendered_problem = &Apache::lonnet::ssi_body($src.'?symb='.$symb); $rendered_problem =~ s/<\s*form\s*/)|<\/nop>|g; - return '
'. - ''. - $rendered_problem. - '
'; + return '
'. + '

'.&mt('Problem').'

'. + ''.$rendered_problem. + '
'; } #################################################### @@ -135,9 +135,20 @@ Skips 'survey' problems. #################################################### #################################################### sub problem_selector { - my ($AcceptedResponseTypes,$sequence_addendum,$symbmode) = @_; + my ($AcceptedResponseTypes,$sequence_addendum,$symbmode,$all,$prefix,$smallbox,$onclick) = @_; +# all: also make sequences selectable +# prefix: prefix for all form names +# smallbox: use smaller box +# onclick: javascript to execute when clicked my $Str; - $Str = &Apache::loncommon::start_data_table(); + my $jsadd=''; + if ($onclick) { + $jsadd="onclick='$onclick'"; + } + $Str = &Apache::loncommon::start_scrollbox(($smallbox?'420px':'620px'), + ($smallbox?'400px':'600px'), + ($smallbox?'60px':'300px')). + &Apache::loncommon::start_data_table(); my $rb_count =0; my ($navmap,@sequences) = &Apache::lonstatistics::selected_sequences_with_assessments('all'); @@ -166,10 +177,12 @@ sub problem_selector { } $seq_str .= &Apache::loncommon::start_data_table_row(). ($symbmode? - '' + '' :qq{}). - ''. - ''; + ''. + ''; if (scalar(@response_ids) > 1) { $seq_str .= &mt('response').' '.$respid; } @@ -184,7 +197,9 @@ sub problem_selector { } if ($seq_str ne '') { $Str .= &Apache::loncommon::start_data_table_header_row(). - ''.$seq->compTitle.''. + ''. + ($all?'':''). + $seq->compTitle.''. &Apache::loncommon::end_data_table_header_row()."\n".$seq_str; if (defined($sequence_addendum)) { $Str .= &Apache::loncommon::start_data_table_header_row(). @@ -193,8 +208,9 @@ sub problem_selector { &Apache::loncommon::end_data_table_header_row()."\n"; } } + } - $Str .= &Apache::loncommon::end_data_table()."\n"; + $Str .= &Apache::loncommon::end_data_table().&Apache::loncommon::end_scrollbox()."\n"; return $Str; } @@ -270,7 +286,8 @@ END END if (ref($anoncounter) eq 'HASH') { if (keys(%{$anoncounter}) > 0) { - my $anonwarning = &mt('Your selection includes both problems with and without anonymous submissions.').'\n'.&mt('You must select either only anonymous or only named problems.').'\n\n'.&mt('If a selection contains both anonymous and named parts, [_1]use the Anoymous/Named buttons to ensure selections will be either all anonymous [_1]or all named.','\n'); + my $anonwarning = &mt('Your selection includes both problems with and without anonymous submissions.')."\n".&mt('You must select either only anonymous or only named problems.')."\n\n".&mt('If a selection contains both anonymous and named parts,[_1]use the Anonymous/Named buttons to ensure selections will be either all anonymous[_1]or all named.',"\n"); + &js_escape(\$anonwarning); $checkanonjs = <<"END";