--- loncom/homework/edit.pm 2011/02/06 18:43:10 1.134 +++ loncom/homework/edit.pm 2013/05/06 16:07:29 1.144 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # edit mode helpers # -# $Id: edit.pm,v 1.134 2011/02/06 18:43:10 www Exp $ +# $Id: edit.pm,v 1.144 2013/05/06 16:07:29 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -401,10 +401,8 @@ sub insert_functionplotresponse { return ' <functionplotresponse> <functionplotelements> -<spline /> </functionplotelements> <functionplotruleset> -<functionplotrule /> </functionplotruleset> </functionplotresponse>'; } @@ -419,11 +417,51 @@ sub insert_backgroundplot { <backgroundplot />'; } +sub insert_plotobject { + return ' +<plotobject />'; +} + +sub insert_plotvector { + return ' +<plotvector />'; +} + +sub insert_drawvectorsum { + return ' +<drawvectorsum />'; +} + + sub insert_functionplotrule { return ' <functionplotrule />'; } +sub insert_functionplotvectorrule { + return ' +<functionplotvectorrule />'; +} + +sub insert_functionplotvectorsumrule { + return ' +<functionplotvectorsumrule />'; +} + +sub insert_functionplotcustomrule { + return ' +<functionplotcustomrule> +<answer type="loncapa/perl"> +# &fpr_val("label"), &fpr_f($x), &fpr_dfdx($x), &fpr_d2fdx2($x) +# ($xs,$xe,$ys,$ye)=&fpr_vectorcoords("Name"), ($x,$y)=&fpr_objectcoords("Name") +# &fpr_vectorlength("Name"), &fpr_vectorangle("Name") + +# Return 0 or 1 +return 1; +</answer> +</functionplotcustomrule>'; +} + sub insert_functionplotruleset { return ' <functionplotruleset> @@ -706,6 +744,7 @@ sub js_change_detection { my $unsaved=&mt("There are unsaved changes"); return (<<SCRIPT); <script type="text/javascript"> +// <![CDATA[ var clean = true; var is_submit = false; var still_ask = false; @@ -724,6 +763,7 @@ function unClean() { clean=false; } window.onbeforeunload = compareForm; +// ]]> </script> SCRIPT } @@ -788,20 +828,20 @@ sub editfield { if ($cols > 80) { $cols = 80; } if ($cols < $minwidth ) { $cols = $minwidth; } if ($rows < $minheight) { $rows = $minheight; } - if ($description) { $description=$description."<br />"; } + if ($description) { $description='<br />'.&mt($description).'<br />'; } # remove typesetting whitespace from between data and the end tag # to make the edit look prettier $data =~ s/\n?[ \t]*$//; - return $description."\n".'<textarea style="width:100%" rows="'.$rows. + return $description."\n".'<textarea style="width:99%" rows="'.$rows. '" cols="'.$cols.'" name="homework_edit_'. $Apache::lonxml::curdepth.'" id="homework_edit_'. $Apache::lonxml::curdepth.'" '.&element_change_detection(). $textareaclass.'>'. &HTML::Entities::encode($data,'<>&"').'</textarea>'. - ($usehtmlarea?&Apache::lonhtmlcommon::spelllink('lonhomework', - 'homework_edit_'.$Apache::lonxml::curdepth):'')."\n"; + ($usehtmlarea?'<br />'.&Apache::lonhtmlcommon::spelllink('lonhomework', + 'homework_edit_'.$Apache::lonxml::curdepth):'')."\n"; } sub modifiedfield { @@ -906,7 +946,7 @@ sub checked_arg { $text=$option; $value='value="'.$option.'"'; } - $result.='<span class="LC_nobreak"><label><input type="checkbox" '.$value.' name="'. + $result.=' <span class="LC_edit_opt"><label><input type="checkbox" '.$value.' name="'. &html_element_name($name).'"'; foreach my $selected (split(/,/,$allselected)) { if ( $selected eq $option ) { @@ -920,14 +960,17 @@ sub checked_arg { } sub text_arg { - my ($description,$name,$token,$size) = @_; + my ($description,$name,$token,$size, $class) = @_; my $result; if (!defined $size) { $size=20; } my $arg=$token->[2]{$name}; $result=&mt($description).' <input name="'.&html_element_name($name). - '" type="text" value="'.$arg.'" size="'.$size.'" '. - &element_change_detection().'/>'; - return '<span class="LC_nobreak">'.$result.'</span>'; + '" type="text" value="'.$arg.'" size="'.$size.'" '; + if (defined $class) { + $result .= 'class="' . $class . '" '; + } + $result .= &element_change_detection().'/>'; + return ' <span class="LC_edit_opt">'.$result.'</span>'; } sub select_arg { @@ -953,7 +996,7 @@ sub select_arg { } } } - $result.='<span class="LC_nobreak">'.&mt($description).' <select name="'. + $result.=' <span class="LC_edit_opt">'.&mt($description).' <select name="'. &html_element_name($name).'" '.&element_change_detection().' > '.$optionlist.' </select></span>'; @@ -1004,7 +1047,7 @@ sub select_or_text_arg { $description=&mt($description); # return (<<ENDSELECTORTYPE); -<span class="LC_nobreak"> + <span class="LC_edit_opt"> $description <select name="$selectelement" onChange="if ($selectedvalue!='TYPEDINVALUE') { $hiddenvalue=$selectedvalue; $typedinvalue=''; }" >