--- loncom/homework/edit.pm 2002/01/21 16:40:57 1.28
+++ loncom/homework/edit.pm 2002/10/25 19:02:38 1.37
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# edit mode helpers
#
-# $Id: edit.pm,v 1.28 2002/01/21 16:40:57 matthew Exp $
+# $Id: edit.pm,v 1.37 2002/10/25 19:02:38 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -27,10 +27,12 @@
#
# 3/20 Guy
# 01/10/02 Matthew
+# 03/06/02 Matthew
package Apache::edit;
use strict;
-use Apache::lonnet;
+use Apache::lonnet();
+use HTML::Entities();
# Global Vars
# default list of colors to use in editing
@@ -163,9 +165,12 @@ sub get_insert_list {
}
}
if (@tagnums) {
+ my %options;
foreach my $tagnum (@tagnums) {
- $result.='\n";
+ my $descrip=$Apache::lonxml::insertlist{"$tagnum.description"};
+ $options{$descrip} ="\n";
}
+ foreach my $option (sort(keys(%options))) { $result.=$options{$option}; }
if ($result) { $result=''.$result; }
}
return $result;
@@ -244,6 +249,13 @@ sub insert_stringresponse {
';
}
+sub insert_essayresponse {
+ return '
+
+
+';
+}
+
sub insert_optionresponse {
return '
@@ -280,6 +292,12 @@ sub insert_numericalhint {
';
}
+sub insert_radiobuttonhint {
+ return '
+
+';
+}
+
sub insert_startouttext {
return "\n";
}
@@ -300,6 +318,18 @@ sub textarea_sizes {
return ($rows,$cols);
}
+sub editline {
+ my ($tag,$data,$description,$size)=@_;
+ $data=&HTML::Entities::encode($data);
+ if ($description) { $description=" ".$description." "; }
+ my $result = <<"END";
+$description
+
+END
+ return $result;
+}
+
sub editfield {
my ($tag,$data,$description,$minwidth,$minheight)=@_;
@@ -308,7 +338,9 @@ sub editfield {
if ($cols < $minwidth ) { $cols = $minwidth; }
if ($rows < $minheight) { $rows = $minheight; }
if ($description) { $description=" ".$description." "; }
- return "$description\n \n";
+ return $description."\n".' '."\n";
}
sub modifiedfield {
@@ -407,7 +439,7 @@ sub select_or_text_arg {
}
}
$optionlist.="\n";
- if ($found) {
+ if (($found) || (!$selected)) {
$result.=$description.'';
@@ -416,6 +448,32 @@ sub select_or_text_arg {
}
return $result;
}
+
+#----------------------------------------------------- browse
+sub browse {
+ # insert a link to call up the filesystem browser (lonindexer)
+ $_ = shift;
+ my $form = 'lonhomework';
+ my $element = &Apache::lonnet::escape("$Apache::lonxml::curdepth.$_");
+ my $result = <<"ENDBUTTON";
+Browse
+ENDBUTTON
+ return $result;
+}
+
+#----------------------------------------------------- browse
+sub search {
+ # insert a link to call up the filesystem browser (lonindexer)
+ $_ = shift;
+ my $form = 'lonhomework';
+ my $element = &Apache::lonnet::escape("$Apache::lonxml::curdepth.$_");
+ my $result = <<"ENDBUTTON";
+Search
+ENDBUTTON
+ return $result;
+}
+
+
1;
__END__
@@ -515,6 +573,21 @@ from lonxml; return a scalar string
get_insert_list($token) : provide an insertion list based on possibilities
from lonxml; return a scalar string
+=item *
+browse($elementname) : provide a link which will open up the filesystem
+browser (lonindexer) and, once a file is selected, place the result in
+the form element $elementname.
+
+=item *
+search($elementname) : provide a link which will open up the filesystem
+searcher (lonsearchcat) and, once a file is selected, place the result in
+the form element $elementname.
+
+=item *
+editline(tag,data,description,size): Provide a for
+single-line text entry. This is to be used for text enclosed by tags, not
+arguements/parameters associated with a tag.
+
=back
incomplete...