--- loncom/homework/edit.pm 2008/12/10 21:02:01 1.119 +++ loncom/homework/edit.pm 2011/08/09 16:12:21 1.135 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # edit mode helpers # -# $Id: edit.pm,v 1.119 2008/12/10 21:02:01 raeburn Exp $ +# $Id: edit.pm,v 1.135 2011/08/09 16:12:21 bisitz 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,47 @@ sub insert_formularesponse { '; } +sub insert_functionplotresponse { + return ' + + + + + + + +'; +} + +sub insert_spline { + return ' +'; +} + +sub insert_backgroundplot { + return ' +'; +} + +sub insert_functionplotrule { + return ' +'; +} + +sub insert_functionplotruleset { + return ' + + +'; +} + +sub insert_functionplotelements { + return ' + + +'; +} + sub insert_numericalresponse { return ' @@ -590,6 +633,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 +658,18 @@ sub insert_numericalhint { '; } +sub insert_reactionhint { + return ' + +'; +} + +sub insert_organichint { + return ' + +'; +} + sub insert_stringhint { return ' @@ -683,6 +741,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; @@ -714,27 +778,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."
"; } - 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".''. ($usehtmlarea?&Apache::lonhtmlcommon::spelllink('lonhomework', 'homework_edit_'.$Apache::lonxml::curdepth):'')."\n"; @@ -871,23 +935,25 @@ 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.=' '.$optionlist.' '; @@ -900,22 +966,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 '