--- loncom/homework/edit.pm 2010/06/05 19:36:57 1.127 +++ loncom/homework/edit.pm 2011/11/18 16:39:22 1.136 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # edit mode helpers # -# $Id: edit.pm,v 1.127 2010/06/05 19:36:57 www Exp $ +# $Id: edit.pm,v 1.136 2011/11/18 16:39:22 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -397,6 +397,57 @@ sub insert_formularesponse { </formularesponse>'; } +sub insert_functionplotresponse { + return ' +<functionplotresponse> +<functionplotelements> +<spline /> +</functionplotelements> +<functionplotruleset> +<functionplotrule /> +</functionplotruleset> +</functionplotresponse>'; +} + +sub insert_spline { + return ' +<spline />'; +} + +sub insert_backgroundplot { + return ' +<backgroundplot />'; +} + +sub insert_plotobject { + return ' +<plotobject />'; +} + +sub insert_plotvector { + return ' +<plotvector />'; +} + +sub insert_functionplotrule { + return ' +<functionplotrule />'; +} + +sub insert_functionplotruleset { + return ' +<functionplotruleset> +<functionplotrule /> +</functionplotruleset>'; +} + +sub insert_functionplotelements { + return ' +<functionplotelements> +<spline /> +</functionplotelements>'; +} + sub insert_numericalresponse { return ' <numericalresponse answer=""> @@ -700,6 +751,12 @@ sub submit_ask_anyway { return ' onclick="still_ask=true;'.$extra_action.'" '; } +sub submit_dont_ask { + my ($extra_action) = @_; + return ' onclick="is_submit=true;'.$extra_action.'" '; +} + + sub textarea_sizes { my ($data)=@_; my $count=0; @@ -731,27 +788,27 @@ sub editfield { my ($tag,$data,$description,$minwidth,$minheight,$usehtmlarea)=@_; my ($rows,$cols)=&textarea_sizes(\$data); - if (&Apache::lonhtmlcommon::htmlareabrowser() && - !&Apache::lonhtmlcommon::htmlareablocked()) { + my $textareaclass; + + if (&Apache::lonhtmlcommon::htmlareabrowser() && $usehtmlarea) { $rows+=7; # make room for HTMLarea $minheight+=7; # make room for HTMLarea + $textareaclass = ' class="LC_richDefaultOff"'; } if ($cols > 80) { $cols = 80; } if ($cols < $minwidth ) { $cols = $minwidth; } if ($rows < $minheight) { $rows = $minheight; } if ($description) { $description=$description."<br />"; } - if ($usehtmlarea) { - &Apache::lonhtmlcommon::add_htmlareafields('homework_edit_'. - $Apache::lonxml::curdepth); - } + # 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().'>'. + $Apache::lonxml::curdepth.'" '.&element_change_detection(). + $textareaclass.'>'. &HTML::Entities::encode($data,'<>&"').'</textarea>'. ($usehtmlarea?&Apache::lonhtmlcommon::spelllink('lonhomework', 'homework_edit_'.$Apache::lonxml::curdepth):'')."\n";