--- loncom/homework/edit.pm 2008/11/10 14:11:16 1.117
+++ loncom/homework/edit.pm 2009/06/28 19:40:41 1.123
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# edit mode helpers
#
-# $Id: edit.pm,v 1.117 2008/11/10 14:11:16 jms Exp $
+# $Id: edit.pm,v 1.123 2009/06/28 19:40:41 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -44,102 +44,87 @@ mode interfaces.
This is part of the LearningOnline Network with CAPA project
described at http://www.lon-capa.org.
-=head1 HANDLER SUBROUTINE
-
-There is no handler subroutine.
-
-=head1 OTHER SUBROUTINES
+=head1 SUBROUTINES
=over 4
-=item *
+=item initialize_edit()
-initialize_edit() : initialize edit (set colordepth to zero)
+initialize edit (set colordepth to zero)
-=item *
+=item tag_start($target,$token,$description)
-tag_start($target,$token,$description) : provide deletion and insertion lists
+provide deletion and insertion lists
for the manipulation of a start tag; return a scalar string
-=item *
+=item tag_end($target,$token,$description)
-tag_end($target,$token,$description) : ending syntax corresponding to
+ending syntax corresponding to
&tag_start. return a scalar string.
-=item *
+=item start_table($token)
-start_table($token) : start table; update colordepth; return scalar string.
+start table; update colordepth; return scalar string.
-=item *
+=item end_table()
-end_table() : reduce color depth; end table; return scalar string
+reduce color depth; end table; return scalar string
-=item *
+=item start_spanning_row()
-start_spanning_row() : start a new table row spanning the 'edit' environment.
+start a new table row spanning the 'edit' environment.
-=item *
+=item start_row()
-start_row() : start a new table row and element.
+start a new table row and element.
-=item *
+=item end_row()
-end_row() : end current table element and row.
+end current table element and row.
-=item *
+=item movebuttons($target,$token)
-movebuttons($target,$token) : move-up and move-down buttons; return scalar
-string
+move-up and move-down buttons; return scalar string
-=item *
+=item deletelist($target,$token)
-deletelist($target,$token) : provide a yes option in an HTML select element;
-return scalar string
+provide a yes option in an HTML select element; return scalar string
-=item *
+=item handle_delete($space,$target,$token,$tagstack,$parstack,$parser,$safeeval,
+$style)
-handle_delete($space,$target,$token,$tagstack,$parstack,$parser,$safeeval,
-$style) : respond to a user delete request by passing relevant stack
+respond to a user delete request by passing relevant stack
and array information to various rendering functions; return a scalar string
-=item *
+=item get_insert_list($token)
-get_insert_list($token) : provide an insertion list based on possibilities
-from lonxml; return a scalar string
+provide an insertion list based on possibilities from lonxml; return a scalar string
-=item *
+=item insertlist($target,$token)
-insertlist($target,$token) : api that uses get_insert_list;
-return a scalar string
+api that uses get_insert_list; return a scalar string
-=item *
+=item handleinsert($token)
-handleinsert($token) : provide an insertion list based on possibilities
-from lonxml; return a scalar string
+provide an insertion list based on possibilities from lonxml; return a scalar string
-=item *
+=item get_insert_list($token)
-get_insert_list($token) : provide an insertion list based on possibilities
-from lonxml; return a scalar string
+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 browse($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.
+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 *
-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.
+=item search($elementname)
-=back
+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.
-incomplete...
+=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
=cut
@@ -627,6 +612,18 @@ sub insert_numericalhint {
';
}
+sub insert_reactionhint {
+ return '
+
+';
+}
+
+sub insert_organichint {
+ return '
+
+';
+}
+
sub insert_stringhint {
return '
@@ -857,15 +854,15 @@ sub checked_arg {
$text=$option;
$value='value="'.$option.'"';
}
- $result.="\n";
+ $result.=&element_change_detection().' />'.$text.''."\n";
}
return $result;
}
@@ -878,7 +875,7 @@ sub text_arg {
$result=&mt($description).' ';
- return ''.$result.'';
+ return ''.$result.'';
}
sub select_arg {
@@ -886,26 +883,28 @@ sub select_arg {
my $result;
my $optionlist="";
my $selected=$token->[2]{$name};
- foreach my $option (@$list) {
- my ($text,$value);
- if ( ref($option) eq 'ARRAY') {
- $value='value="'.&HTML::Entities::encode($$option[0]).'"';
- $text=$$option[1];
- $option=$$option[0];
- } else {
- $text=$option;
- $value='value="'.&HTML::Entities::encode($option,'\'"&<>').'"';
- }
- if ( $selected eq $option ) {
- $optionlist.="\n";
- } else {
- $optionlist.="\n";
- }
+ if (ref($list) eq 'ARRAY') {
+ foreach my $option (@{$list}) {
+ my ($text,$value);
+ if (ref($option) eq 'ARRAY') {
+ $value='value="'.&HTML::Entities::encode($option->[0]).'"';
+ $text=$option->[1];
+ $option=$option->[0];
+ } else {
+ $text=$option;
+ $value='value="'.&HTML::Entities::encode($option,'\'"&<>').'"';
+ }
+ if ( $selected eq $option ) {
+ $optionlist.="\n";
+ } else {
+ $optionlist.="\n";
+ }
+ }
}
- $result.=''.&mt($description).' ';
+ ';
return $result;
}
@@ -915,22 +914,24 @@ sub select_or_text_arg {
my $optionlist="";
my $found=0;
my $selected=$token->[2]{$name};
- foreach my $option (@$list) {
- my ($text,$value);
- if ( ref($option) eq 'ARRAY') {
- $value='value="'.&HTML::Entities::encode($$option[0]).'"';
- $text=$$option[1];
- $option=$$option[0];
- } else {
- $text=$option;
- $value='value="'.&HTML::Entities::encode($option,'\'"&<>').'"';
- }
- if ( $selected eq $option ) {
- $optionlist.="\n";
- $found=1;
- } else {
- $optionlist.="\n";
- }
+ if (ref($list) eq 'ARRAY') {
+ foreach my $option (@{$list}) {
+ my ($text,$value);
+ if (ref($option) eq 'ARRAY') {
+ $value='value="'.&HTML::Entities::encode($option->[0]).'"';
+ $text=$option->[1];
+ $option=$option->[0];
+ } else {
+ $text=$option;
+ $value='value="'.&HTML::Entities::encode($option,'\'"&<>').'"';
+ }
+ if ( $selected eq $option ) {
+ $optionlist.="\n";
+ $found=1;
+ } else {
+ $optionlist.="\n";
+ }
+ }
}
$optionlist.="