--- loncom/interface/lonparmset.pm 2009/07/14 13:53:03 1.467
+++ loncom/interface/lonparmset.pm 2009/09/03 16:58:17 1.471
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler to set parameters for assessments
#
-# $Id: lonparmset.pm,v 1.467 2009/07/14 13:53:03 amueller Exp $
+# $Id: lonparmset.pm,v 1.471 2009/09/03 16:58:17 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1185,7 +1185,7 @@ sub extractResourceInformation {
$parmdis = $display;
$parmdis =~ s/\s*\[Part.*$//g;
} else {
- $parmdis = $display;
+ $parmdis = &mt($display);
}
$$allparms{$name}=$parmdis;
if (ref($defkeytype)) {
@@ -1244,6 +1244,10 @@ sub isdateparm {
return (($type=~/^date/) && (!($type eq 'date_interval')));
}
+#
+# This function prints a list of parameters, which were selected. It also display a link from which you can
+# hide or show the complete parameter list, from which you can choose your parameters.
+#
sub parmmenu {
my ($r,$allparms,$pscat,$keyorder)=@_;
my $tempkey;
@@ -1330,7 +1334,6 @@ sub parmmenu {
function checkboxChecked(id) {
var li = "_li";
var id_li = id.concat(li);
-
if (document.getElementById(id_li).style.display == "none") {
document.getElementById(id_li).style.display = "";
}
@@ -1532,6 +1535,9 @@ sub parmboxes {
#&shortCuts($r,$allparms,$pscat,$keyorder);
$r->print('');
}
+#
+# This function offers some links on the parameter section to get with one click a group a parameters
+#
sub shortCuts {
my ($r,$allparms,$pscat,$keyorder)=@_;
@@ -1696,6 +1702,9 @@ function group_or_section(caller) {
,$chooseopt));
}
+#
+# This function shows on table Mode the available Parameters for the selected Resources
+#
sub displaymenu {
my ($r,$allparms,$allparts,$pscat,$psprt,$keyorder)=@_;
$r->print(&Apache::lonhtmlcommon::topic_bar (2,&mt('Select Parameters')));
@@ -1711,7 +1720,8 @@ sub displaymenu {
}
sub mapmenu {
- my ($r,$allmaps,$pschp,$maptitles)=@_;
+ my ($r,$allmaps,$pschp,$maptitles, $symbp)=@_;
+ my %allmaps_inverted = reverse %$allmaps;
my $navmap = Apache::lonnavmaps::navmap->new();
my $tree=[];
my $treeinfo={};
@@ -1719,34 +1729,45 @@ sub mapmenu {
my $it=$navmap->getIterator(undef,undef,undef,1,undef,undef);
my $curRes;
my $depth = 0;
-
+ my %parent = ();
+ my $startcount = 5;
+ my $lastcontainer = $startcount;
+# preparing what is to show ...
while ($curRes = $it->next()) {
if ($curRes == $it->BEGIN_MAP()) {
$depth++;
+ $parent{$depth}= $lastcontainer;
}
if ($curRes == $it->END_MAP()) {
$depth--;
+ $lastcontainer = $parent{$depth};
}
if (ref($curRes)) {
+ my $symb = $curRes->symb();
+ my $ressymb = $symb;
if (($curRes->is_sequence()) || ($curRes->is_page())) {
my $type = 'sequence';
if ($curRes->is_page()) {
$type = 'page';
}
my $id= $curRes->id();
- my ($mapid,$resid)=split(/\./,$id);
- if(!exists($treeinfo->{$mapid})) {
- push(@$tree,$mapid);
- $treeinfo->{$mapid} = {
+ my $srcf = $curRes->src();
+ my $resource_name = &Apache::lonnet::gettitle($srcf);
+ if(!exists($treeinfo->{$id})) {
+ push(@$tree,$id);
+ my $enclosing_map_folder = &Apache::lonnet::declutter($curRes->enclosing_map_src());
+ $treeinfo->{$id} = {
depth => $depth,
type => $type,
+ name => $resource_name,
+ enclosing_map_folder => $enclosing_map_folder,
};
}
}
}
}
}
-
+# Show it ...
$r->print(&Apache::lonhtmlcommon::row_title(&mt('Select Enclosing Map or Folder')));
if ((ref($tree) eq 'ARRAY') && (ref($treeinfo) eq 'HASH')) {
my $icon = '';
@@ -1762,27 +1783,48 @@ sub mapmenu {
my $whitespace = '
';
- foreach my $mapid (@{$tree}) {
+ if (exists($$allmaps{1})) {
+ $r->print(&Apache::loncommon::start_data_table_row()
+ .'