--- loncom/homework/edit.pm 2003/05/10 23:04:58 1.51 +++ loncom/homework/edit.pm 2003/08/14 19:30:34 1.60 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # edit mode helpers # -# $Id: edit.pm,v 1.51 2003/05/10 23:04:58 www Exp $ +# $Id: edit.pm,v 1.60 2003/08/14 19:30:34 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -63,10 +63,17 @@ sub tag_start { &deletelist($target,$token) ." ". - &insertlist($target,$token).&end_row().&start_spanning_row(); + &insertlist($target,$token); #". # &movebuttons($target,$token). # "\n"; + my @help;# = Apache::lonxml::helpinfo($token); + if ($help[0]) { + $result .= '' . + Apache::loncommon::help_open_topic(@help) . + ''; + } else { $result .= " "; } + $result .= &end_row().&start_spanning_row(); } return $result; } @@ -75,13 +82,7 @@ sub tag_end { my ($target,$token,$description) = @_; my $result=''; if ($target eq 'edit') { - my $tag=$token->[1]; - if (!defined($description)) { - $result.="</$tag> "; - } else { - if ($description ne '') { $result.="$description "; } - } - $result.="".&end_table()."\n"; + $result.="".&end_table()."\n"; } return $result; } @@ -125,7 +126,7 @@ sub end_table { return $result; } -sub start_spanning_row { return '';} +sub start_spanning_row { return '';} sub start_row { return ''; } sub end_row { return ''; } @@ -310,6 +311,16 @@ sub insert_essayresponse { '; } +sub insert_imageresponse { + return ' + + + + + +'; +} + sub insert_optionresponse { return ' @@ -404,9 +415,11 @@ sub textarea_sizes { my ($data)=@_; my $count=0; my $maxlength=-1; - foreach (split ("\n", $$data)) { $count++; - if (length($_) > $maxlength) { $maxlength = length($_); } - } + foreach (split ("\n", $$data)) { + $count+=int(length($_)/79); + $count++; + if (length($_) > $maxlength) { $maxlength = length($_); } + } my $rows = $count; my $cols = $maxlength; return ($rows,$cols); @@ -460,7 +473,7 @@ sub get_new_args { my $element=&html_element_name($arg); my $newvalue=$ENV{"form.$element"}; &Apache::lonxml::debug(" for:$arg: cur is :$value: new is :$newvalue:"); - if ($value ne $newvalue) { + if (defined($newvalue) && $value ne $newvalue) { $token->[2]->{$arg}=$newvalue; $rebuild=1; } @@ -512,7 +525,7 @@ sub text_arg { my $arg=$token->[2]{$name}; $result=$description.' '; - return $result; + return ''.$result.''; } sub select_arg { @@ -534,10 +547,10 @@ sub select_arg { $optionlist.="\n"; } } - $result.=$description.'  '.$optionlist.' - '; + '; return $result; } @@ -562,16 +575,36 @@ sub select_or_text_arg { $optionlist.="\n"; } } - $optionlist.="\n"; - if (($found) || (!$selected)) { - $result.=$description.' '; - } else { - $result.=&text_arg($description,$name,$token,$size); - } - return $result; + $optionlist.="\n"; +# + my $element=&html_element_name($name); + my $selectelement='select_list_'.$element; + my $typeinelement='type_in_'.$element; + my $typeinvalue=($found?'':$selected); +# + my $hiddenvalue='this.form.'.$element.'.value'; + my $selectedindex='this.form.'.$selectelement.'.selectedIndex'; + my $selectedvalue='this.form.'.$selectelement. + '.options['.$selectedindex.'].value'; + my $typedinvalue='this.form.'.$typeinelement.'.value'; + my $selecttypeinindex='this.form.'.$selectelement.'.options.length'; +# + return (< +$description +  + + +ENDSELECTORTYPE } #----------------------------------------------------- image coordinates @@ -645,7 +678,7 @@ sub browse { $Apache::lonxml::curdepth); } my $result = <<"ENDBUTTON"; -Browse +Select ENDBUTTON return $result; }