[LON-CAPA-cvs] cvs: loncom /interface lonhtmlcommon.pm
matthew
lon-capa-cvs@mail.lon-capa.org
Wed, 03 Mar 2004 22:55:35 -0000
matthew Wed Mar 3 17:55:35 2004 EDT
Modified files:
/loncom/interface lonhtmlcommon.pm
Log:
date_setter: now takes $state, which indicates the initial state of the
form elements it produces. Also provides javascript functions for enabling
and disableing the form state.
Index: loncom/interface/lonhtmlcommon.pm
diff -u loncom/interface/lonhtmlcommon.pm:1.58 loncom/interface/lonhtmlcommon.pm:1.59
--- loncom/interface/lonhtmlcommon.pm:1.58 Mon Mar 1 11:19:45 2004
+++ loncom/interface/lonhtmlcommon.pm Wed Mar 3 17:55:35 2004
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.58 2004/03/01 16:19:45 www Exp $
+# $Id: lonhtmlcommon.pm,v 1.59 2004/03/03 22:55:35 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -201,6 +201,13 @@
Additional html/javascript to be associated with each element in
the date_setter. See lonparmset for example usage.
+=item $includeempty
+
+=item $state
+
+Specifies the initial state of the form elements. Either 'disabled' or empty.
+Defaults to empty, which indiciates the form elements are not disabled.
+
=back
Bugs
@@ -212,7 +219,10 @@
##############################################
##############################################
sub date_setter {
- my ($formname,$dname,$currentvalue,$special,$includeempty) = @_;
+ my ($formname,$dname,$currentvalue,$special,$includeempty,$state) = @_;
+ if (! defined($state) || $state ne 'disabled') {
+ $state = '';
+ }
if (! defined($currentvalue) || $currentvalue eq 'now') {
unless ($includeempty) {
$currentvalue = time;
@@ -261,18 +271,39 @@
}
}
+ function $dname\_disable() {
+ document.$formname.$dname\_month.disabled=true;
+ document.$formname.$dname\_day.disabled=true;
+ document.$formname.$dname\_year.disabled=true;
+ document.$formname.$dname\_hour.disabled=true;
+ document.$formname.$dname\_minute.disabled=true;
+ document.$formname.$dname\_second.disabled=true;
+ }
+
+ function $dname\_enable() {
+ document.$formname.$dname\_month.disabled=false;
+ document.$formname.$dname\_day.disabled=false;
+ document.$formname.$dname\_year.disabled=false;
+ document.$formname.$dname\_hour.disabled=false;
+ document.$formname.$dname\_minute.disabled=false;
+ document.$formname.$dname\_second.disabled=false;
+ }
+
function $dname\_opencalendar() {
- var calwin=window.open(
+ if (! document.$formname.$dname\_month.disabled) {
+ 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");
+ }
}
</script>
ENDJS
$result .= " <nobr><select name=\"$dname\_month\" ".$special.' '.
+ $state.' '.
"onChange=\"javascript:$dname\_checkday()\" >\n";
my @Months = qw/January February March April May June
July August September October November December/;
@@ -285,14 +316,14 @@
$result .= "> ".&mt($Months[$m])." </option>\n";
}
$result .= " </select>\n";
- $result .= " <input type=\"text\" name=\"$dname\_day\" ".
+ $result .= " <input type=\"text\" name=\"$dname\_day\" ".$state.' '.
"value=\"$mday\" size=\"3\" ".$special.' '.
"onChange=\"javascript:$dname\_checkday()\" />\n";
- $result .= " <input type=\"year\" name=\"$dname\_year\" ".
+ $result .= " <input type=\"year\" name=\"$dname\_year\" ".$state.' '.
"value=\"$year\" size=\"5\" ".$special.' '.
"onChange=\"javascript:$dname\_checkday()\" />\n";
$result .= " ";
- $result .= " <select name=\"$dname\_hour\" ".$special." >\n";
+ $result .= " <select name=\"$dname\_hour\" ".$special." ".$state.' '.">\n";
if ($includeempty) { $result.="<option value=''></option>"; }
for (my $h = 0;$h<24;$h++) {
$result .= " <option value=\"$h\" ";
@@ -313,8 +344,10 @@
}
$result .= " </select>\n";
$result .= " <input type=\"text\" name=\"$dname\_minute\" ".$special.' '.
+ $state.' '.
"value=\"$min\" size=\"3\" /> m\n";
$result .= " <input type=\"text\" name=\"$dname\_second\" ".$special.' '.
+ $state.' '.
"value=\"$sec\" size=\"3\" /> s\n";
$result .= "<a href=\"javascript:$dname\_opencalendar()\">".
&mt('Select Date')."</a></nobr>\n<!-- end $dname date setting form -->\n";