--- loncom/homework/edit.pm 2012/02/28 22:42:31 1.141 +++ loncom/homework/edit.pm 2013/07/04 16:35:07 1.147 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # edit mode helpers # -# $Id: edit.pm,v 1.141 2012/02/28 22:42:31 www Exp $ +# $Id: edit.pm,v 1.147 2013/07/04 16:35:07 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -488,6 +488,13 @@ sub insert_numericalresponse { </numericalresponse>'; } +sub insert_externalresponse { + return ' +<externalresponse url="" answer="" answerdisplay="" form=""> + <textfield spellcheck="none" /> +</externalresponse>'; +} + sub insert_customresponse { return ' <customresponse> @@ -660,6 +667,9 @@ sub insert_matchresponse { <matchresponse max="10"> <foilgroup options=""> <itemgroup> + <item> + <startouttext /><endouttext /> + </item> </itemgroup> <foil> <startouttext /><endouttext /> @@ -744,6 +754,7 @@ sub js_change_detection { my $unsaved=&mt("There are unsaved changes"); return (<<SCRIPT); <script type="text/javascript"> +// <![CDATA[ var clean = true; var is_submit = false; var still_ask = false; @@ -762,6 +773,7 @@ function unClean() { clean=false; } window.onbeforeunload = compareForm; +// ]]> </script> SCRIPT } @@ -826,7 +838,7 @@ sub editfield { if ($cols > 80) { $cols = 80; } if ($cols < $minwidth ) { $cols = $minwidth; } if ($rows < $minheight) { $rows = $minheight; } - if ($description) { $description=$description."<br />"; } + if ($description) { $description='<br />'.&mt($description).'<br />'; } # remove typesetting whitespace from between data and the end tag # to make the edit look prettier @@ -838,8 +850,8 @@ sub editfield { $Apache::lonxml::curdepth.'" '.&element_change_detection(). $textareaclass.'>'. &HTML::Entities::encode($data,'<>&"').'</textarea>'. - ($usehtmlarea?&Apache::lonhtmlcommon::spelllink('lonhomework', - 'homework_edit_'.$Apache::lonxml::curdepth):'')."\n"; + ($usehtmlarea?'<br />'.&Apache::lonhtmlcommon::spelllink('lonhomework', + 'homework_edit_'.$Apache::lonxml::curdepth):'')."\n"; } sub modifiedfield { @@ -944,7 +956,7 @@ sub checked_arg { $text=$option; $value='value="'.$option.'"'; } - $result.='<span class="LC_nobreak"><label><input type="checkbox" '.$value.' name="'. + $result.=' <span class="LC_edit_opt"><label><input type="checkbox" '.$value.' name="'. &html_element_name($name).'"'; foreach my $selected (split(/,/,$allselected)) { if ( $selected eq $option ) { @@ -968,7 +980,7 @@ sub text_arg { $result .= 'class="' . $class . '" '; } $result .= &element_change_detection().'/>'; - return '<span class="LC_nobreak">'.$result.'</span>'; + return ' <span class="LC_edit_opt">'.$result.'</span>'; } sub select_arg { @@ -994,7 +1006,7 @@ sub select_arg { } } } - $result.='<span class="LC_nobreak">'.&mt($description).' <select name="'. + $result.=' <span class="LC_edit_opt">'.&mt($description).' <select name="'. &html_element_name($name).'" '.&element_change_detection().' > '.$optionlist.' </select></span>'; @@ -1045,16 +1057,16 @@ sub select_or_text_arg { $description=&mt($description); # return (<<ENDSELECTORTYPE); -<span class="LC_nobreak"> + <span class="LC_edit_opt"> $description <select name="$selectelement" -onChange="if ($selectedvalue!='TYPEDINVALUE') { $hiddenvalue=$selectedvalue; $typedinvalue=''; }" > +onchange="if ($selectedvalue!='TYPEDINVALUE') { $hiddenvalue=$selectedvalue; $typedinvalue=''; }" > $optionlist </select> <input type="text" size="$size" name="$typeinelement" value="$typeinvalue" -onChange="$hiddenvalue=$typedinvalue;" -onFocus="$selectedindex=$selecttypeinindex-1;" /> +onchange="$hiddenvalue=$typedinvalue;" +onfocus="$selectedindex=$selecttypeinindex-1;" /> <input type="hidden" name="$element" value="$selected" $change_code /> </span> ENDSELECTORTYPE