Diff for /loncom/interface/lonnavmaps.pm between versions 1.204 and 1.205

version 1.204, 2003/06/14 00:11:12 version 1.205, 2003/06/16 15:08:22
Line 161  sub real_handler { Line 161  sub real_handler {
     # Now that we've displayed some stuff to the user, init the navmap      # Now that we've displayed some stuff to the user, init the navmap
     $navmap->init();      $navmap->init();
   
     $r->print('<br>&nbsp;');      $r->print('<br>');
     $r->rflush();      $r->rflush();
   
     # Check that it's defined      # Check that it's defined
Line 556  Apache::lonnavmap - Subroutines to handl Line 556  Apache::lonnavmap - Subroutines to handl
   
 The main handler generates the navigational listing for the course,  The main handler generates the navigational listing for the course,
 the other objects export this information in a usable fashion for  the other objects export this information in a usable fashion for
 other modules  other modules.
   
 =head1 Object: render  =head1 Subroutine: render
   
 The navmap renderer package provides a sophisticated rendering of the  The navmap renderer package provides a sophisticated rendering of the
 standard navigation maps interface into HTML. The provided nav map  standard navigation maps interface into HTML. The provided nav map
Line 572  understand then "undef, undef, undef, 1, Line 572  understand then "undef, undef, undef, 1,
 undef, 0" when you mostly want default behaviors.  undef, 0" when you mostly want default behaviors.
   
 The package provides a function called 'render', called as  The package provides a function called 'render', called as
 Apache::lonnavmaps::renderer->render({}).  Apache::lonnavmaps::render({}).
   
 =head2 Overview of Columns  =head2 Overview of Columns
   
Line 580  The renderer will build an HTML table fo Line 580  The renderer will build an HTML table fo
 it. The table is consists of several columns, and a row for each  it. The table is consists of several columns, and a row for each
 resource (or possibly each part). You tell the renderer how many  resource (or possibly each part). You tell the renderer how many
 columns to create and what to place in each column, optionally using  columns to create and what to place in each column, optionally using
 one or more of the preparent columns, and the renderer will assemble  one or more of the prepared columns, and the renderer will assemble
 the table.  the table.
   
 Any additional generally useful column types should be placed in the  Any additional generally useful column types should be placed in the
Line 598  argument hash passed to the renderer, an Line 598  argument hash passed to the renderer, an
 be inserted into the HTML representation as it.  be inserted into the HTML representation as it.
   
 The pre-packaged column names are refered to by constants in the  The pre-packaged column names are refered to by constants in the
 Apache::lonnavmaps::renderer namespace. The following currently exist:  Apache::lonnavmaps namespace. The following currently exist:
   
 =over 4  =over 4
   
Line 606  Apache::lonnavmaps::renderer namespace. Line 606  Apache::lonnavmaps::renderer namespace.
   
 The general info about the resource: Link, icon for the type, etc. The  The general info about the resource: Link, icon for the type, etc. The
 first column in the standard nav map display. This column also accepts  first column in the standard nav map display. This column also accepts
 the following parameter in the renderer hash:  the following parameters in the renderer hash:
   
 =over 4  =over 4
   
Line 865  sub render_resource { Line 865  sub render_resource {
             $nowOpen = !$nowOpen;              $nowOpen = !$nowOpen;
         }          }
   
    my $folderType = $resource->is_sequence() ? 'folder' : 'page';
   
         if (!$params->{'resource_no_folder_link'}) {          if (!$params->{'resource_no_folder_link'}) {
             $icon = 'navmap.folder.' . ($nowOpen ? 'closed' : 'open') . '.gif';              $icon = "navmap.$folderType." . ($nowOpen ? 'closed' : 'open') . '.gif';
             $icon = "<img src='/adm/lonIcons/$icon' alt='' border='0' />";              $icon = "<img src='/adm/lonIcons/$icon' alt='' border='0' />";
   
             $linkopen = "<a href='" . $params->{'url'} . '?' .               $linkopen = "<a href='" . $params->{'url'} . '?' . 
Line 882  sub render_resource { Line 884  sub render_resource {
                 "&folderManip=1'>";                  "&folderManip=1'>";
         } else {          } else {
             # Don't allow users to manipulate folder              # Don't allow users to manipulate folder
             $icon = 'navmap.folder.' . ($nowOpen ? 'closed' : 'open') .              $icon = "navmap.$folderType." . ($nowOpen ? 'closed' : 'open') .
                 '.nomanip.gif';                  '.nomanip.gif';
             $icon = "<img src='/adm/lonIcons/$icon' alt='' border='0' />";              $icon = "<img src='/adm/lonIcons/$icon' alt='' border='0' />";
   
Line 931  sub render_resource { Line 933  sub render_resource {
     }      }
   
     if (!$params->{'resource_nolink'} && $src !~ /^\/uploaded\// &&      if (!$params->{'resource_nolink'} && $src !~ /^\/uploaded\// &&
  !$resource->is_map()) {   !$resource->is_sequence()) {
         $result .= "  $curMarkerBegin<a href='$link'>$title$partLabel</a>$curMarkerEnd $nonLinkedText</td>";          $result .= "  $curMarkerBegin<a href='$link'>$title$partLabel</a>$curMarkerEnd $nonLinkedText</td>";
     } else {      } else {
         $result .= "  $curMarkerBegin$title$partLabel$curMarkerEnd $nonLinkedText</td>";          $result .= "  $curMarkerBegin$title$partLabel$curMarkerEnd $nonLinkedText</td>";
Line 2140  corresponds to where you want the iterat Line 2142  corresponds to where you want the iterat
 navmap->finishResource(). filterHash is a hash used as a set  navmap->finishResource(). filterHash is a hash used as a set
 containing strings representing the resource IDs, defaulting to  containing strings representing the resource IDs, defaulting to
 empty. Condition is a 1 or 0 that sets what to do with the filter  empty. Condition is a 1 or 0 that sets what to do with the filter
 hash: If a 0, then only resource that exist IN the filterHash will be  hash: If a 0, then only resources that exist IN the filterHash will be
 recursed on. If it is a 1, only resources NOT in the filterHash will  recursed on. If it is a 1, only resources NOT in the filterHash will
 be recursed on. Defaults to 0. forceTop is a boolean value. If it is  be recursed on. Defaults to 0. forceTop is a boolean value. If it is
 false (default), the iterator will only return the first level of map  false (default), the iterator will only return the first level of map
Line 2950  sub is_map { my $self=shift; return defi Line 2952  sub is_map { my $self=shift; return defi
 sub is_page {  sub is_page {
     my $self=shift;      my $self=shift;
     my $src = $self->src();      my $src = $self->src();
     return ($src =~ /page$/);      return $self->navHash("is_map_", 1) && 
    $self->navHash("map_type_" . $self->map_pc()) eq 'page';
 }  }
 sub is_problem {  sub is_problem {
     my $self=shift;      my $self=shift;
Line 2960  sub is_problem { Line 2963  sub is_problem {
 sub is_sequence {  sub is_sequence {
     my $self=shift;      my $self=shift;
     my $src = $self->src();      my $src = $self->src();
     return ($src =~ /sequence$/);      return $self->navHash("is_map_", 1) && 
    $self->navHash("map_type_" . $self->map_pc()) eq 'sequence';
 }  }
   
 # Private method: Shells out to the parmval in the nav map, handler parts.  # Private method: Shells out to the parmval in the nav map, handler parts.
Line 3035  sub map_type { Line 3039  sub map_type {
     return $self->navHash("map_type_$pc", 0);      return $self->navHash("map_type_$pc", 0);
 }  }
   
   
   
 #####  #####
 # Property queries  # Property queries
 #####  #####

Removed from v.1.204  
changed lines
  Added in v.1.205


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>