--- loncom/homework/response.pm 2014/09/24 18:14:27 1.237 +++ loncom/homework/response.pm 2015/02/23 19:46:19 1.241 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # various response type definitons response definition # -# $Id: response.pm,v 1.237 2014/09/24 18:14:27 damieng Exp $ +# $Id: response.pm,v 1.241 2015/02/23 19:46:19 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -56,6 +56,7 @@ use Apache::lonnet; use Apache::inputtags(); use Apache::lonmaxima(); use Apache::lonr(); +use Apache::lontexconvert(); BEGIN { &Apache::lonxml::register('Apache::response',('responseparam','parameter','dataresponse','customresponse','mathresponse')); @@ -180,7 +181,6 @@ sub setrandomnumber { } else { ($rndmod,$rndmod2)=&Apache::lonnet::digest("$id1,$id2"); } - $Apache::lonhomework::results{'resource.'.$id1.'.rawrndseed'}=$rndseed; if ($rndseed =~/([,:])/) { my $char=$1; use integer; @@ -197,7 +197,6 @@ sub setrandomnumber { } } &Apache::lonxml::debug("randseed $rndmod $rndseed"); - $Apache::lonhomework::results{'resource.'.$id1.'.rndseed'}=$rndseed; &Apache::lonnet::setup_random_from_rndseed($rndseed); return ''; } @@ -577,34 +576,73 @@ sub start_mathresponse { } sub edit_mathresponse_button { - my ($id,$field)=@_; - my $btype = $env{'browser.type'}; - my $bversion = $env{'browser.version'}; - if (($btype eq 'explorer' && $bversion < 9) || ($btype eq 'safari' && $bversion < 3) || - ($btype eq 'mozilla' && $bversion < 3)) { - # DragMath applet - my $button=&mt('Edit Answer'); -# my $helplink=&Apache::loncommon::help_open_topic('Formula_Editor'); - my $iconpath=$Apache::lonnet::perlvar{'lonIconsURL'}; - return(< -function edit_${id}_${field} (textarea) { - thenumber = textarea; - thedata = document.forms['lonhomework'].elements[textarea].value; +function LC_mathedit_${field} (LCtextline) { + thenumber = LCtextline; + var thedata = ''; + if (document.getElementById(LCtextline)) { + thedata = document.getElementById(LCtextline).value; + } newwin = window.open("/adm/dragmath/MaximaPopup.html","","width=565,height=400,resizable"); } -$button +$button ENDFORMULABUTTON - - } else { - # LON-CAPA math equation editor - return(< - var field = document.getElementById('${field}'); - field.className += ' math'; // note the space + var LCmathField = document.getElementById('${field}'); + LCmathField.className += ' math'; // note the space + LCmathField.setAttribute('data-implicit_operators', 'true'); var LCMATH_started; if (typeof LCMATH_started === 'undefined') { + $mathjaxjs LCMATH_started = true; var script = document.createElement("script"); script.type = "text/javascript"; @@ -679,7 +717,7 @@ sub end_mathresponse { my $id = $Apache::inputtags::response[-1]; if (($Apache::inputtags::status['-1'] eq 'CAN_ANSWER') && (&Apache::lonnet::EXT('resource.'.$partid.'_'.$id.'.turnoffeditor') ne 'yes')) { - $result.=&edit_mathresponse_button($id,"HWVAL_$id"); + $result.=&edit_mathresponse_button($partid,$id); } }