--- loncom/homework/edit.pm 2007/01/29 23:51:19 1.104 +++ loncom/homework/edit.pm 2007/02/18 02:00:59 1.105 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # edit mode helpers # -# $Id: edit.pm,v 1.104 2007/01/29 23:51:19 albertel Exp $ +# $Id: edit.pm,v 1.105 2007/02/18 02:00:59 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -112,13 +112,19 @@ sub end_table { my ($tagname,$closingtag); if (defined($Apache::edit::inserttag[-2])) { $tagname=$Apache::edit::inserttag[-2]; - } else {$tagname='problem';} + } else { + if ($Apache::lonhomework::parsing_a_task) { + $tagname='Task'; + } else { + $tagname='problem'; + } + } if (defined($Apache::edit::inserttag[-1])) { $closingtag=$Apache::edit::inserttag[-1]; } $result.=&innerinsertlist('edit',$tagname,$closingtag). ""; - pop(@Apache::edit::inserttag); + my $last = pop(@Apache::edit::inserttag); return $result; } @@ -232,11 +238,11 @@ sub handle_insertafter { return ''; } my $tagnum =$env{"form.insert_after_$tagname\_$Apache::lonxml::curdepth"}; - return &do_insert($tagnum); + return &do_insert($tagnum,1); } sub do_insert { - my ($tagnum) = @_; + my ($tagnum,$after) = @_; my $result; my $newtag = $Apache::lonxml::insertlist{"$tagnum.tag"}; @@ -244,7 +250,10 @@ sub do_insert { if ($func eq 'default') { my $namespace; if ($newtag =~ /::/) { ($namespace,$newtag) = split(/::/,$newtag); } - $result.="\n<$newtag>\n"; + my $depth = scalar(@Apache::lonxml::depthcounter); + $depth -- if ($after); + my $inset = "\t"x$depth; + $result.="\n$inset<$newtag>\n$inset"; } else { if (defined(&$func)) { { @@ -565,6 +574,10 @@ sub editfield { &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".'