--- loncom/homework/edit.pm 2007/09/07 00:39:21 1.110 +++ loncom/homework/edit.pm 2008/03/12 02:46:52 1.114 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # edit mode helpers # -# $Id: edit.pm,v 1.110 2007/09/07 00:39:21 albertel Exp $ +# $Id: edit.pm,v 1.114 2008/03/12 02:46:52 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -577,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 { @@ -597,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 @@ -619,7 +620,7 @@ 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); @@ -672,6 +673,10 @@ sub get_new_args { $token->[2]->{$arg}=$newvalue; } $rebuild=1; + # add new attributes to the of the attribute seq + if (!grep { $arg eq $_ } (@{ $token->[3] })) { + push(@{ $token->[3] },$arg); + } } elsif (!defined($newvalue) && defined($value)) { delete($token->[2]->{$arg}); $rebuild=1; @@ -688,6 +693,7 @@ sub rebuild_tag { $result = '<'.$token->[1]; foreach my $attribute (@{ $token->[3] }) { my $value = $token->[2]{$attribute}; + next if ($value eq ''); $value =~s/^\s+|\s+$//g; $value =~s/\"//g; &Apache::lonxml::debug("setting :$attribute: to :$value:"); @@ -874,7 +880,7 @@ sub entercoords { $data{"imagechoice.$id.formwidth"}=$width.'_'. $Apache::edit::bgimgsrccurdepth; } - &Apache::lonnet::appenv(%data); + &Apache::lonnet::appenv(\%data); my $text="Click Coordinates"; my $result=''.$text.''; return $result; @@ -907,7 +913,7 @@ sub entercoord { $data{"imagechoice.$id.formwidth"}=$width.'_'. $Apache::edit::bgimgsrccurdepth; } - &Apache::lonnet::appenv(%data); + &Apache::lonnet::appenv(\%data); my $text="Enter Coordinates"; if ($type eq 'polygon') { $text='Create Polygon Data'; } my $result=''.$text.'';