version 1.24, 2004/09/23 14:35:25
|
version 1.27, 2004/09/30 13:44:07
|
Line 118 sub ProblemSelector {
|
Line 118 sub ProblemSelector {
|
my ($AcceptedResponseTypes) = @_; |
my ($AcceptedResponseTypes) = @_; |
my $Str; |
my $Str; |
$Str = "\n<table>\n"; |
$Str = "\n<table>\n"; |
|
my $rb_count =0; |
foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess('all')) { |
foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess('all')) { |
next if ($seq->{'num_assess'}<1); |
next if ($seq->{'num_assess'}<1); |
my $seq_str = ''; |
my $seq_str = ''; |
Line 141 sub ProblemSelector {
|
Line 142 sub ProblemSelector {
|
if (! defined($title) || $title eq '') { |
if (! defined($title) || $title eq '') { |
($title) = ($res->{'src'} =~ m:/([^/]*)$:); |
($title) = ($res->{'src'} =~ m:/([^/]*)$:); |
} |
} |
$seq_str .= '<tr><td>'. |
$seq_str .= '<tr>'. |
'<input type="radio" name="problemchoice" value="'.$value.'" '.$checked.'/>'. |
qq{<td><input type="radio" id="$rb_count" name="problemchoice" value="$value" $checked /></td>}. |
'</td><td>'. |
'<td><label for="'.$rb_count.'">'.$resptype.'</label></td>'. |
$resptype.'</td><td>'. |
'<td><label for="'.$rb_count.'">'.$title.'</label>'; |
'<a href="'.$res->{'src'}.'">'.$title.'</a> '; |
|
# '<a href="'.$res->{'src'}.'">'.$resptype.' '.$res->{'title'}.'</a> '; |
|
if (scalar(@{$partdata->{'ResponseIds'}}) > 1) { |
if (scalar(@{$partdata->{'ResponseIds'}}) > 1) { |
$seq_str .= &mt('response').' '.$respid; |
$seq_str .= &mt('response').' '.$respid; |
} |
} |
|
$seq_str .= (' 'x2). |
|
qq{<a target="preview" href="$res->{'src'}">view</a>}; |
$seq_str .= "</td></tr>\n"; |
$seq_str .= "</td></tr>\n"; |
|
$rb_count++; |
} |
} |
} |
} |
} |
} |
Line 205 sub MultipleProblemSelector {
|
Line 207 sub MultipleProblemSelector {
|
my $selected = {map { ($_,1) } (&get_selected_symbs($inputname))}; |
my $selected = {map { ($_,1) } (&get_selected_symbs($inputname))}; |
# Header |
# Header |
$Str .= <<"END"; |
$Str .= <<"END"; |
<script> |
<script language="JavaScript" type="text/javascript"> |
function checkall(value) { |
function checkall(value,seqid) { |
for (i=0; i<document.forms.$formname.elements.length; i++) { |
for (i=0; i<document.forms.$formname.elements.length; i++) { |
ele = document.forms.$formname.elements[i]; |
ele = document.forms.$formname.elements[i]; |
if (ele.name == '$inputname') { |
if (ele.name == '$inputname') { |
document.forms.$formname.elements[i].checked=value; |
if (seqid != null) { |
|
itemid = document.forms.$formname.elements[i].id; |
|
thing = itemid.split(':'); |
|
if (thing[0] == seqid) { |
|
document.forms.$formname.elements[i].checked=value; |
|
} |
|
} else { |
|
document.forms.$formname.elements[i].checked=value; |
|
} |
} |
} |
} |
} |
} |
} |
Line 223 END
|
Line 233 END
|
$Str .= $/.'<table>'.$/; |
$Str .= $/.'<table>'.$/; |
my $iterator = $navmap->getIterator(undef, undef, undef, 1); |
my $iterator = $navmap->getIterator(undef, undef, undef, 1); |
my $sequence_string; |
my $sequence_string; |
|
my $seq_id = 0; |
my @Accumulator = (&new_accumulator($ENV{'course.'.$cid.'.description'}, |
my @Accumulator = (&new_accumulator($ENV{'course.'.$cid.'.description'}, |
'', |
'', |
'', |
'', |
|
$seq_id++, |
$inputname)); |
$inputname)); |
my @Sequence_Data; |
my @Sequence_Data; |
while (my $curRes = $iterator->next()) { |
while (my $curRes = $iterator->next()) { |
Line 242 END
|
Line 254 END
|
push(@Accumulator,&new_accumulator($curRes->compTitle, |
push(@Accumulator,&new_accumulator($curRes->compTitle, |
$curRes->src, |
$curRes->src, |
$curRes->symb, |
$curRes->symb, |
|
$seq_id++, |
$inputname)); |
$inputname)); |
} elsif ($curRes->is_problem) { |
} elsif ($curRes->is_problem) { |
if (@Accumulator && $Accumulator[-1] ne '') { |
if (@Accumulator && $Accumulator[-1] ne '') { |
Line 255 END
|
Line 268 END
|
#my $seq = pop(@Sequence_Data); |
#my $seq = pop(@Sequence_Data); |
next if (! defined($seq) || ref($seq) ne 'HASH'); |
next if (! defined($seq) || ref($seq) ne 'HASH'); |
$Str.= '<tr><td colspan="2">'. |
$Str.= '<tr><td colspan="2">'. |
'<b>'.$seq->{'title'}.'</b>'. |
'<b>'.$seq->{'title'}.'</b>'.(' 'x2). |
|
'<a href="javascript:checkall(true,'.$seq->{'id'}.')">'. |
|
&mt('Select').'</a>'.(' 'x2). |
|
'<a href="javascript:checkall(false,'.$seq->{'id'}.')">'. |
|
&mt('Unselect').'</a>'.(' 'x2). |
'</td></tr>'.$/; |
'</td></tr>'.$/; |
$Str.= $seq->{'html'}; |
$Str.= $seq->{'html'}; |
} |
} |
Line 274 sub get_title {
|
Line 291 sub get_title {
|
} |
} |
|
|
sub new_accumulator { |
sub new_accumulator { |
my ($title,$src,$symb,$inputname) = @_; |
my ($title,$src,$symb,$seq_id,$inputname) = @_; |
my $target; |
my $target; |
|
my $item_id=0; |
return |
return |
sub { |
sub { |
if (@_) { |
if (@_) { |
Line 285 sub new_accumulator {
|
Line 303 sub new_accumulator {
|
if ($checked) { |
if ($checked) { |
$target .= 'checked '; |
$target .= 'checked '; |
} |
} |
|
$target .= 'id="'.$seq_id.':'.$item_id++.'" '; |
$target.= |
$target.= |
'value="'.&Apache::lonnet::escape($res->symb).'" />'. |
'value="'.&Apache::lonnet::escape($res->symb).'" />'. |
' '.$res->compTitle.'</label></td>'. |
' '.$res->compTitle.'</label>'. |
'</tr>'.$/; |
(' 'x2).'<a target="preview" '. |
|
'href="'.$res->src.'">view</a>'. |
|
'</td></tr>'.$/; |
} else { |
} else { |
if (defined($target)) { |
if (defined($target)) { |
return { title => $title, |
return { title => $title, |
symb => $symb, |
symb => $symb, |
src => $src, |
src => $src, |
|
id => $seq_id, |
html => $target, }; |
html => $target, }; |
} |
} |
return undef; |
return undef; |