Diff for /loncom/homework/chemresponse.pm between versions 1.98 and 1.99

version 1.98, 2015/09/21 14:24:54 version 1.99, 2017/01/04 20:09:08
Line 630  sub end_organicstructure { Line 630  sub end_organicstructure {
     return $result;      return $result;
 }  }
   
 sub edit_reaction_button {  sub reaction_preview {
     my ($id,$field,$reaction)=@_;      my ($field, $reaction) = @_;
     my $id_es=&escape($id);      
     my $field_es=&escape($field);      # NOTE: $reaction should be encoded if the document was sent as XHTML
     my $reaction_es=&escape($reaction);      $reaction =~ s/"//g;
     my $docopen=&Apache::lonhtmlcommon::javascript_docopen();      my $result=<<JS_PREVIEW;
     my $iconpath=$Apache::lonnet::perlvar{'lonIconsURL'};  <input type="button" value="Help" onclick = "window.open('/adm/reactionresponse/reaction_help.html','','scrollbars=yes,resizable=yes,width=550,height=600')" />
     my $display=&mt('Edit Answer');  
     my $start_page =   
  &Apache::loncommon::start_page('LON-CAPA Reaction Editor',undef,  
        {'frameset'    => 1,  
  'js_ready'    => 1,  
  'add_entries' => {  
     'rows'   => "30%,*",  
     'border' => "0",}},);  
     my $end_page =   
  &Apache::loncommon::end_page({'frameset' => 1,  
       'js_ready' => 1});  
     my $result=<<EDITREACTION;  
 <script type="text/javascript">  <script type="text/javascript">
 // <!--      if (typeof reaction_preview_started === 'undefined') {
     function create_reaction_window_${id}_${field} () {          var script = document.createElement('script');
  editor=window.open('','','width=500,height=270,scrollbars=no,resizable=yes');          script.type = 'text/javascript';
  editor.$docopen;          script.src = '/adm/reactionresponse/reaction_preview.js';
  editor.document.writeln('$start_page <frame src="/adm/reactionresponse/reaction_viewer.html?inhibitmenu=yes" name="viewer" scrolling="no" />  <frame src="/adm/reactionresponse/reaction_editor.html?inhibitmenu=yes&reaction=$reaction_es&id=$id_es&field=$field_es" name="editor" scrolling="no" /> $end_page');          document.body.appendChild(script);
  editor.document.close();          reaction_preview_started = true;
     }      }
 // -->      window.addEventListener('load', function(e) {
           var input = document.forms.lonhomework.$field;
           input.readonly = '';
           input.value = "$reaction";
           if (!input.id)
               input.id = "$field";
           var preview = new LC.HW.ReactionPreview(input.id);
           preview.start_preview();
       }, false);
 </script>  </script>
 <a href="javascript:create_reaction_window_${id}_${field}();void(0);"><img class="stift" src='$iconpath/stift.gif' alt='$display' title='$display' /></a>  JS_PREVIEW
 EDITREACTION  
     return $result;      return $result;
 }  }
   
Line 687  sub start_reactionresponse { Line 682  sub start_reactionresponse {
  $safeeval);   $safeeval);
  $result .='<span class="LC_nobreak">'.   $result .='<span class="LC_nobreak">'.
     &Apache::edit::text_arg('Answer:','answer',$token,40);      &Apache::edit::text_arg('Answer:','answer',$token,40);
  $result .=&edit_reaction_button($id,&Apache::edit::html_element_name('answer'),$answer).'</span>';   $result .= &reaction_preview(&Apache::edit::html_element_name('answer'), $answer).'</span>';
  my $initial=&Apache::lonxml::get_param('initial',$parstack,$safeeval);   my $initial=&Apache::lonxml::get_param('initial',$parstack,$safeeval);
  $result.='<span class="LC_nobreak">'.   $result.='<span class="LC_nobreak">'.
     &Apache::edit::text_arg('Initial Reaction:','initial',$token,40);      &Apache::edit::text_arg('Initial Reaction:','initial',$token,40);
  $result .=&edit_reaction_button($id,&Apache::edit::html_element_name('initial'),$initial).'</span>';          $result .= &reaction_preview(&Apache::edit::html_element_name('initial'), $initial).'</span>';
  $result .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();   $result .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
     }  elsif ($target eq 'modified') {      }  elsif ($target eq 'modified') {
  my $constructtag=&Apache::edit::get_new_args($token,$parstack,   my $constructtag=&Apache::edit::get_new_args($token,$parstack,
Line 779  sub end_reactionresponse { Line 774  sub end_reactionresponse {
     if  (($target eq 'web') && ($Apache::lonhomework::type ne 'exam') && ($status eq 'CAN_ANSWER')) {      if  (($target eq 'web') && ($Apache::lonhomework::type ne 'exam') && ($status eq 'CAN_ANSWER')) {
         my $reaction=$Apache::lonhomework::history{"resource.$partid.$id.submission"};          my $reaction=$Apache::lonhomework::history{"resource.$partid.$id.submission"};
         if ($reaction eq '') {  $reaction=&Apache::lonxml::get_param('initial',$parstack,$safeeval); }          if ($reaction eq '') {  $reaction=&Apache::lonxml::get_param('initial',$parstack,$safeeval); }
         $result.=&edit_reaction_button($id,"HWVAL_$id",$reaction);          $result .= &reaction_preview("HWVAL_$id", $reaction);
     }      }
     &Apache::response::end_response();      &Apache::response::end_response();
     return $result;      return $result;

Removed from v.1.98  
changed lines
  Added in v.1.99


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>