--- loncom/homework/chemresponse.pm 2008/12/22 15:05:49 1.85
+++ loncom/homework/chemresponse.pm 2008/12/23 18:51:44 1.86
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# chemical equation style response
#
-# $Id: chemresponse.pm,v 1.85 2008/12/22 15:05:49 raeburn Exp $
+# $Id: chemresponse.pm,v 1.86 2008/12/23 18:51:44 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -176,8 +176,14 @@ CHEMPAGE
editor.focus();
}
-
CHEMINPUT
+ if ($shown_text eq '') {
+ $result .=<
+PENCIL
+ } else {
+ $result .= '';
+ }
return $result;
}
sub jme_img {
@@ -203,30 +209,19 @@ sub start_organicresponse {
} elsif ($target eq 'web') {
my $jmeanswer=&Apache::lonxml::get_param('jmeanswer',$parstack,
$safeeval);
- if ( &Apache::response::show_answer() && $jmeanswer ne '') {
- my $options=&Apache::lonxml::get_param('options',$parstack,
- $safeeval);
- my $width=&Apache::lonxml::get_param('width',$parstack,
- $safeeval);
- my (@answers)=&Apache::lonxml::get_param_var('answer',$parstack,
- $safeeval);
- $result.=&jme_img($jmeanswer,$answers[0],$width,$options);
- } else {
- my $molecule;
- if (defined($Apache::lonhomework::history{"resource.$partid.$id.molecule"})) {
- $molecule=$Apache::lonhomework::history{"resource.$partid.$id.molecule"};
- } else {
- $molecule=&Apache::lonxml::get_param('molecule',$parstack,
+ if (&Apache::response::show_answer()) {
+ my $jmeanswer=&Apache::lonxml::get_param('jmeanswer',$parstack,
+ $safeeval);
+ if ($jmeanswer ne '') {
+ my $options=&Apache::lonxml::get_param('options',$parstack,
+ $safeeval);
+ my $width=&Apache::lonxml::get_param('width',$parstack,
$safeeval);
- }
- my $options=&Apache::lonxml::get_param('options',$parstack,
- $safeeval);
- my $shown_text;
- if (&Apache::response::show_answer()) {
- $shown_text="Show Your Last Answer";
- }
- #stift $result=&separate_jme_window("HWVAL_$id","MOLECULE_$id",$molecule,
-# $options,$shown_text);
+ my (@answers)=&Apache::lonxml::get_param_var('answer',$parstack,
+ $safeeval);
+ $result.=&jme_img($jmeanswer,$answers[0],$width,$options);
+ }
+ } else {
$result.= '';
}
} elsif ($target eq 'edit') {
@@ -246,7 +241,7 @@ sub start_organicresponse {
$result .=&Apache::edit::text_arg('Correct Answer:','answer',
$token,40);
$result .='
';
- $result .=&Apache::edit::text_arg('JME string of the answer (automatically updated when using the Draw Molecule button):',
+ $result .=&Apache::edit::text_arg('JME string of the answer - automatically updated by "Insert Answer" in the JME pop-up (click pencil):',
'jmeanswer',$token);
my $jmeanswer=&Apache::lonxml::get_param('jmeanswer',$parstack,
$safeeval);
@@ -342,13 +337,21 @@ sub end_organicresponse {
&Apache::lonhomework::set_bubble_lines();
}
}
- if (($target eq 'web' ) && ($Apache::lonhomework::type ne 'exam') && ($Apache::inputtags::status['-1'] eq 'CAN_ANSWER')){
- my $options=&Apache::lonxml::get_param('options',$parstack,
- $safeeval);
- my $shown_text;
- if (&Apache::response::show_answer()) {
+ if ($target eq 'web' ) {
+ my ($showpencil,$shown_text);
+ if ($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') {
+ $showpencil = 1;
+ } elsif (&Apache::response::show_answer()) {
+ my $jmeanswer=&Apache::lonxml::get_param('jmeanswer',$parstack, $safeeval);
+ if ($jmeanswer eq '') {
+ $showpencil = 1;
$shown_text="Show Your Last Answer";
}
+ }
+ if ($showpencil) {
+ my $options=&Apache::lonxml::get_param('options',$parstack,
+ $safeeval);
+
my $molecule;
if (defined($Apache::lonhomework::history{"resource.$partid.$id.molecule"})) {
$molecule=$Apache::lonhomework::history{"resource.$partid.$id.molecule"};
@@ -356,8 +359,9 @@ sub end_organicresponse {
$molecule=&Apache::lonxml::get_param('molecule',$parstack,
$safeeval);
}
- $result.=&separate_jme_window("HWVAL_$id","MOLECULE_$id",$molecule,
- $options,$shown_text);
+ $result.=&separate_jme_window("HWVAL_$id","MOLECULE_$id",$molecule,
+ $options,$shown_text);
+ }
}
&Apache::response::end_response();
return $result;