--- loncom/homework/edit.pm 2007/01/29 23:51:19 1.104
+++ loncom/homework/edit.pm 2008/10/24 16:22:54 1.116
@@ -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.116 2008/10/24 16:22:54 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -61,7 +61,7 @@ sub tag_start {
if (!$description) { $description="<$tag>"; }
}
$result.= &start_table($token)."
$description |
- Delete".
+ | ".&mt('Delete?').' '.
&deletelist($target,$token)
." |
".
@@ -112,17 +112,23 @@ 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;
}
-sub start_spanning_row { return '';}
+sub start_spanning_row { return ' |
';}
sub start_row { return ' |
'; }
sub end_row { return ' |
'; }
@@ -139,7 +145,7 @@ sub deletelist {
my ($target,$token) = @_;
my $result = "";
return $result;
}
@@ -209,7 +215,7 @@ sub innerinsertlist {
if ($target eq 'edit') {
my $optionlist= &get_insert_list($tagname);
if ($optionlist) {
- $result = "Insert:
+ $result = &mt('Insert:')."
"
@@ -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$newtag>";
+ my $depth = scalar(@Apache::lonxml::depthcounter);
+ $depth -- if ($after);
+ my $inset = "\t"x$depth;
+ $result.="\n$inset<$newtag>\n$inset$newtag>";
} else {
if (defined(&$func)) {
{
@@ -315,6 +324,56 @@ sub insert_customresponse_answer {
';
}
+sub insert_customhint {
+ return '
+
+
+
+ ';
+}
+
+sub insert_customhint_answer {
+ return '
+
+
+';
+}
+
+sub insert_mathresponse {
+ return '
+
+
+
+
+
+
+
+
+';
+}
+
+sub insert_mathresponse_answer {
+ return '
+
+
+';
+}
+
+sub insert_mathhint {
+ return '
+
+
+
+ ';
+}
+
+sub insert_mathhint_answer {
+ return '
+
+
+';
+}
+
sub insert_stringresponse {
return '
@@ -518,7 +577,8 @@ sub element_change_detection {
}
sub submit_ask_anyway {
- return ' onclick="still_ask=true;" ';
+ my ($extra_action) = @_;
+ return ' onclick="still_ask=true;'.$extra_action.'" ';
}
sub textarea_sizes {
@@ -538,7 +598,7 @@ sub textarea_sizes {
sub editline {
my ($tag,$data,$description,$size)=@_;
$data=&HTML::Entities::encode($data,'<>&"');
- if ($description) { $description="
".$description."
"; }
+ if ($description) { $description=$description."
"; }
my $change_code = &element_change_detection();
my $result = <<"END";
$description
@@ -560,11 +620,15 @@ sub editfield {
if ($cols > 80) { $cols = 80; }
if ($cols < $minwidth ) { $cols = $minwidth; }
if ($rows < $minheight) { $rows = $minheight; }
- if ($description) { $description="
".$description."
"; }
+ 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".'