--- loncom/homework/edit.pm 2008/11/18 19:14:28 1.118 +++ loncom/homework/edit.pm 2010/11/07 01:57:50 1.132 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # edit mode helpers # -# $Id: edit.pm,v 1.118 2008/11/18 19:14:28 jms Exp $ +# $Id: edit.pm,v 1.132 2010/11/07 01:57:50 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,6 +26,8 @@ # http://www.lon-capa.org/ # +=pod + =head1 NAME Apache::edit - edit mode helpers @@ -202,7 +204,7 @@ sub start_table { $Apache::edit::colordepth++; push(@Apache::edit::inserttag,$token->[1]); my $result='
'; - $result.=''; + $result.='
'; return $result; } @@ -230,7 +232,7 @@ sub end_table { return $result; } -sub start_spanning_row { return ''; } @@ -355,7 +357,7 @@ sub do_insert { my $depth = scalar(@Apache::lonxml::depthcounter); $depth -- if ($after); my $inset = "\t"x$depth; - $result.="\n$inset<$newtag>\n$inset"; + $result.="\n$inset<$newtag>"; } else { if (defined(&$func)) { { @@ -395,6 +397,31 @@ sub insert_formularesponse { '; } +sub insert_functionplotresponse { + return ' + + + +'; +} + +sub insert_spline { + return ' +'; +} + +sub insert_backgroundplot { + return ' +'; +} + +sub insert_functionplotrule { + return ' +'; +} + + + sub insert_numericalresponse { return ' @@ -590,6 +617,9 @@ sub insert_matchresponse { '; } +sub insert_startpartmarker { return ''; } +sub insert_endpartmarker { return ''; } + sub insert_displayduedate { return ''; } sub insert_displaytitle { return ''; } sub insert_hintpart { @@ -612,6 +642,18 @@ sub insert_numericalhint { '; } +sub insert_reactionhint { + return ' + +'; +} + +sub insert_organichint { + return ' + +'; +} + sub insert_stringhint { return ' @@ -714,19 +756,18 @@ 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."
"; } - 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]*$//; @@ -734,7 +775,8 @@ sub editfield { return $description."\n".''. ($usehtmlarea?&Apache::lonhtmlcommon::spelllink('lonhomework', 'homework_edit_'.$Apache::lonxml::curdepth):'')."\n"; @@ -842,15 +884,15 @@ sub checked_arg { $text=$option; $value='value="'.$option.'"'; } - $result.="\n"; + $result.=&element_change_detection().' />'.$text.''."\n"; } return $result; } @@ -863,7 +905,7 @@ sub text_arg { $result=&mt($description).' '; - return ''.$result.''; + return ''.$result.''; } sub select_arg { @@ -871,26 +913,28 @@ sub select_arg { my $result; my $optionlist=""; my $selected=$token->[2]{$name}; - foreach my $option (@$list) { - my ($text,$value); - if ( ref($option) eq 'ARRAY') { - $value='value="'.&HTML::Entities::encode($$option[0]).'"'; - $text=$$option[1]; - $option=$$option[0]; - } else { - $text=$option; - $value='value="'.&HTML::Entities::encode($option,'\'"&<>').'"'; - } - if ( $selected eq $option ) { - $optionlist.="\n"; - } else { - $optionlist.="\n"; - } + if (ref($list) eq 'ARRAY') { + foreach my $option (@{$list}) { + my ($text,$value); + if (ref($option) eq 'ARRAY') { + $value='value="'.&HTML::Entities::encode($option->[0]).'"'; + $text=$option->[1]; + $option=$option->[0]; + } else { + $text=$option; + $value='value="'.&HTML::Entities::encode($option,'\'"&<>').'"'; + } + if ( $selected eq $option ) { + $optionlist.="\n"; + } else { + $optionlist.="\n"; + } + } } - $result.=''.&mt($description).'  '.$optionlist.' - '; + '; return $result; } @@ -900,22 +944,24 @@ sub select_or_text_arg { my $optionlist=""; my $found=0; my $selected=$token->[2]{$name}; - foreach my $option (@$list) { - my ($text,$value); - if ( ref($option) eq 'ARRAY') { - $value='value="'.&HTML::Entities::encode($$option[0]).'"'; - $text=$$option[1]; - $option=$$option[0]; - } else { - $text=$option; - $value='value="'.&HTML::Entities::encode($option,'\'"&<>').'"'; - } - if ( $selected eq $option ) { - $optionlist.="\n"; - $found=1; - } else { - $optionlist.="\n"; - } + if (ref($list) eq 'ARRAY') { + foreach my $option (@{$list}) { + my ($text,$value); + if (ref($option) eq 'ARRAY') { + $value='value="'.&HTML::Entities::encode($option->[0]).'"'; + $text=$option->[1]; + $option=$option->[0]; + } else { + $text=$option; + $value='value="'.&HTML::Entities::encode($option,'\'"&<>').'"'; + } + if ( $selected eq $option ) { + $optionlist.="\n"; + $found=1; + } else { + $optionlist.="\n"; + } + } } $optionlist.="
';} +sub start_spanning_row { return '
';} sub start_row { return '
'; } sub end_row { return '