--- loncom/interface/lonhtmlcommon.pm 2003/03/21 15:59:14 1.19
+++ loncom/interface/lonhtmlcommon.pm 2004/01/01 20:13:17 1.38
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.19 2003/03/21 15:59:14 matthew Exp $
+# $Id: lonhtmlcommon.pm,v 1.38 2004/01/01 20:13:17 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -56,8 +56,49 @@ html.
package Apache::lonhtmlcommon;
use Time::Local;
+use Apache::lonlocal;
use strict;
+
+##############################################
+##############################################
+
+=pod
+
+=item textbox
+
+=cut
+
+##############################################
+##############################################
+sub textbox {
+ my ($name,$value,$size,$special) = @_;
+ $size = 40 if (! defined($size));
+ my $Str = '';
+ return $Str;
+}
+
+##############################################
+##############################################
+
+=pod
+
+=item checkbox
+
+=cut
+
+##############################################
+##############################################
+sub checkbox {
+ my ($name,$value) = @_;
+ my $Str = '';
+ return $Str;
+}
+
+
+
##############################################
##############################################
@@ -65,6 +106,9 @@ use strict;
=item &date_setter
+&date_setter returns html and javascript for a compact date-setting form.
+To retrieve values from it, use &get_date_from_form().
+
Inputs
=over 4
@@ -82,12 +126,23 @@ The current setting for this time parame
An undefined value is taken to indicate the value is the current time.
Also, to be explicit, a value of 'now' also indicates the current time.
+=item $special
+
+Additional html/javascript to be associated with each element in
+the date_setter. See lonparmset for example usage.
+
+=back
+
+Bugs
+
+The method used to restrict user input will fail in the year 2400.
+
=cut
##############################################
##############################################
sub date_setter {
- my ($formname,$dname,$currentvalue) = @_;
+ my ($formname,$dname,$currentvalue,$special) = @_;
if (! defined($currentvalue) || $currentvalue eq 'now') {
$currentvalue = time;
}
@@ -128,9 +183,19 @@ sub date_setter {
document.$formname.$dname\_day.value = 30;
}
}
+
+ function $dname\_opencalendar() {
+ var calwin=window.open(
+"/adm/announcements?pickdate=yes&formname=$formname&element=$dname&month="+
+document.$formname.$dname\_month.value+"&year="+
+document.$formname.$dname\_year.value,
+ "LONCAPAcal",
+ "height=350,width=350,scrollbars=yes,resizable=yes,menubar=no");
+
+ }
ENDJS
- $result .= " \n";
$result .= " \n";
$result .= " \n";
$result .= " ";
- $result .= " '."\n";
-
- return $Str;
-}
-
-sub MapOptions {
- my ($data, $page, $formName)=@_;
- my $Str = '';
- $Str .= '{'orderedSequences'})) {
- $Str .= ''."\n";
- }
- $Str .= ''."\n";
- }
- }
- }
- $Str .= ''."\n";
- }
- $Str .= ''."\n";
- }
+$formname: The name of the form. If defined the onchange attribute of
+the selection box is set to document.$formname.submit().
- $Str .= ''."\n";
- $Str .= ''."\n";
- $Str .= ''."\n";
+ $Str .= ''."\n";
+ $Str .= ''."\n";
+ $Str .= ''."\n";
$Str .= ''."\n";
}
@@ -672,6 +646,102 @@ sub FormatStudentInformation {
########################################################
########################################################
+=pod
+
+=item Progess Window Handling Routines
+
+These routines handle the creation, update, increment, and closure of
+progress windows. The progress window reports to the user the number
+of items completed and an estimate of the time required to complete the rest.
+
+=over 4
+
+
+=item &Create_PrgWin
+
+Writes javascript to the client to open a progress window and returns a
+data structure used for bookkeeping.
+
+Inputs
+
+=over 4
+
+=item $r Apache request
+
+=item $title The title of the progress window
+
+=item $heading A description (usually 1 line) of the process being initiated.
+
+=item $number_to_do The total number of items being processed.
+
+=back
+
+Returns a hash containing the progress state data structure.
+
+
+=item &Update_PrgWin
+
+Updates the text in the progress indicator. Does not increment the count.
+See &Increment_PrgWin.
+
+Inputs:
+
+=over 4
+
+=item $r Apache request
+
+=item $prog_state Pointer to the data structure returned by &Create_PrgWin
+
+=item $displaystring The string to write to the status indicator
+
+=back
+
+Returns: none
+
+
+=item Increment_PrgWin
+
+Increment the count of items completed for the progress window by 1.
+
+Inputs:
+
+=over 4
+
+=item $r Apache request
+
+=item $prog_state Pointer to the data structure returned by Create_PrgWin
+
+=item $extraInfo A description of the items being iterated over. Typically
+'student'.
+
+=back
+
+Returns: none
+
+
+=item Close_PrgWin
+
+Closes the progress window.
+
+Inputs:
+
+=over 4
+
+=item $r Apache request
+
+=item $prog_state Pointer to the data structure returned by Create_PrgWin
+
+=back
+
+Returns: none
+
+=back
+
+=cut
+
+########################################################
+########################################################
+
# Create progress
sub Create_PrgWin {
my ($r, $title, $heading, $number_to_do)=@_;
@@ -681,15 +751,16 @@ sub Create_PrgWin {
"