--- loncom/homework/response.pm 2015/03/09 16:19:54 1.243 +++ loncom/homework/response.pm 2015/10/30 03:49:47 1.244 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # various response type definitons response definition # -# $Id: response.pm,v 1.243 2015/03/09 16:19:54 raeburn Exp $ +# $Id: response.pm,v 1.244 2015/10/30 03:49:47 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -513,6 +513,9 @@ sub end_customresponse { &Apache::lonhomework::set_bubble_lines(); } } + if ($target eq 'web') { + &setup_prior_tries_hash(\&format_prior_response_math); + } pop(@Apache::lonxml::namespace); pop(@Apache::response::custom_answer); pop(@Apache::response::custom_answer_type); @@ -575,119 +578,6 @@ sub start_mathresponse { return $result; } -sub edit_mathresponse_button { - my ($partid,$id)=@_; - my $field = 'HWVAL_'.$partid.'_'.$id; - my $eqneditor = 'lcmath'; - if ($env{'browser.type'} eq 'safari') { - if ($env{'browser.os'} eq 'mac') { - my ($prefix,$version) = ($env{'browser.version'} =~ /^(\d*)(\d{3})\./); - if ($env{'browser.mobile'}) { - if (($version < 531) || (($prefix eq '') && ($version < 533))) { - $eqneditor = ''; - } - } elsif ($version < 533) { - $eqneditor = 'dragmath'; - } - } elsif ($env{'browser.os'} eq 'win') { - if ($env{'browser.version'} < 533) { - $eqneditor = 'dragmath'; - } - } - } elsif ($env{'browser.type'} eq 'explorer') { - if ($env{'browser.version'} < 9) { - $eqneditor = 'dragmath'; - } - } elsif ($env{'browser.type'} eq 'mozilla') { - if ($env{'browser.version'} < 5) { - $eqneditor = 'dragmath'; - } else { - if ($env{'browser.info'} =~ /^firefox\-([\d\.]+)/) { - my $firefox = $1; - if ($firefox < 4) { - $eqneditor = 'dragmath'; - } - } - } - } elsif ($env{'browser.type'} eq 'chrome') { - if ($env{'browser.version'} < 5) { - $eqneditor = 'dragmath'; - } - } elsif ($env{'browser.type'} eq 'opera') { - if ($env{'browser.version'} < 12) { - $eqneditor = 'dragmath'; - } - } - if ($eqneditor eq 'lcmath') { - if (($env{'request.course.id'}) && ($env{'request.state'} ne 'construct')) { - if (exists($env{'course.'.$env{'request.course.id'}.'.uselcmath'})) { - if ($env{'course.'.$env{'request.course.id'}.'.uselcmath'} eq '0') { - $eqneditor = 'dragmath'; - } - } else { - my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'}); - if ($domdefs{'uselcmath'} eq '0') { - $eqneditor = 'dragmath'; - } - } - } else { - my %domdefs = &Apache::lonnet::get_domain_defaults($env{'course.'.$env{'request.course.id'}.'.domain'}); - if ($domdefs{'uselcmath'} eq '0') { - $eqneditor = 'dragmath'; - } - } - } - if ($eqneditor eq 'dragmath') { - # DragMath applet - my $button=&mt('Edit Answer'); -# my $helplink=&Apache::loncommon::help_open_topic('Formula_Editor'); - my $iconpath=$Apache::lonnet::perlvar{'lonIconsURL'}; - return(< -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 -ENDFORMULABUTTON - } elsif ($eqneditor eq 'lcmath') { - # LON-CAPA math equation editor - my $mathjaxjs; - unless (lc(&Apache::lontexconvert::tex_engine()) eq 'mathjax') { - $mathjaxjs = <<"MATHJAX_SCRIPT"; -var mathjaxscript = document.createElement("script"); - mathjaxscript.type = "text/javascript"; - mathjaxscript.src = "/adm/MathJax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"; - document.body.appendChild(mathjaxscript); -MATHJAX_SCRIPT - } - return(< - 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"; - script.src = "/adm/LC_math_editor/LC_math_editor.min.js"; - document.body.appendChild(script); - window.addEventListener('load', function(e) { - LCMATH.initEditors(); - }, false); - } - -EQ_EDITOR_SCRIPT - } -} - sub end_mathresponse { my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; my $result; @@ -742,15 +632,6 @@ sub end_mathresponse { } } } - if ($target eq 'web') { - &setup_prior_tries_hash(\&format_prior_response_math); - my $partid = $Apache::inputtags::part; - 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($partid,$id); - } - } pop(@Apache::lonxml::namespace); pop(@Apache::response::custom_answer);