Diff for /loncom/interface/courseclassifier.pm between versions 1.22 and 1.26

version 1.22, 2015/05/21 23:26:34 version 1.26, 2017/01/18 21:24:39
Line 260  sub build_code_selections { Line 260  sub build_code_selections {
 }  }
   
 sub javascript_code_selections {  sub javascript_code_selections {
     my ($formname,@codetitles) = @_;      my ($formname,$codetitlesref,$knowncodes,$sectionlist) = @_;
       return unless (ref($codetitlesref) eq 'ARRAY');
       my @codetitles = @{$codetitlesref};
     my $numtitles = @codetitles;      my $numtitles = @codetitles;
     my %lt = &Apache::lonlocal::texthash(      my %lt = &Apache::lonlocal::texthash(
                       Select => 'Select',                        Select => 'Select',
Line 355  sub javascript_code_selections { Line 357  sub javascript_code_selections {
    document.$formname.Number.selectedIndex = 0     document.$formname.Number.selectedIndex = 0
  }   }
 }  }
   END_OF_BLOCK
   
       if ((ref($knowncodes) eq 'HASH') && (keys(%{$knowncodes}) > 0)) {
           my @standardnames = &Apache::loncommon::get_standard_codeitems();
           my (%local_to_standard,$currstr);
           for (my $i=0; $i<@codetitles; $i++) {
               $local_to_standard{$codetitles[$i]} = $standardnames[$i];
           }
           $output .= <<"ENDJS";
   
   function initialize_codes() {
   ENDJS
           for (my $i=0; $i<@codetitles-1; $i++) {
               my $item = $local_to_standard{$codetitles[$i]};
               $currstr .= $knowncodes->{$codetitles[$i]};
               if ($knowncodes->{$codetitles[$i]} != -1) {
                   $output .= '
       for (var j=0; j<document.'.$formname.'.'.$item.'.length; j++) {
           if (document.'.$formname.'.'.$item.'[j].value == "'.$knowncodes->{$codetitles[$i]}.'") {
               document.'.$formname.'.'.$item.'.selectedIndex = j;
           }
       }
   ';
               }
               $output .= '   courseSet('."'$codetitles[$i]'".')'."\n";
           }
           my $lastcodetitle =  $local_to_standard{$codetitles[-1]};
           $currstr .= $knowncodes->{$codetitles[-1]};
           if ($knowncodes->{$codetitles[-1]} != -1) {
               $output .= '
       for (var j=0; j<document.'.$formname.'.'.$lastcodetitle.'.length; j++) {
           if (document.'.$formname.'.'.$lastcodetitle.'[j].value == "'.$knowncodes->{$codetitles[-1]}.'") {
               document.'.$formname.'.'.$lastcodetitle.'.selectedIndex = j;
           }
       }
   ';
           }
           $output .= "    return;\n}\n";
           if ($sectionlist) {
               $output .= '
   function toggleSecVis() {
       var currcode = "";
       var crscode = '."'$currstr'".';
   ';
               for (my $i=0; $i<@codetitles-1; $i++) {
                   my $item = $local_to_standard{$codetitles[$i]};
                   $output .= 'currcode += document.'.$formname.'.'.$item.'.options[document.'.$formname.'.'.$item.'.selectedIndex].value;'."\n";
               }
               my $lastcodetitle =  $local_to_standard{$codetitles[-1]};
               if ($lastcodetitle ne '') {
                   if ($knowncodes->{$codetitles[-1]} != -1) {
                       $output .= 'currcode += document.'.$formname.'.'.$lastcodetitle.'.options[document.'.$formname.'.'.$lastcodetitle.'.selectedIndex].value;'."\n";
                   }
               }
               $output .= <<"ENDSEC";
       var showlist = 'none';
       var showbox = 'inline';
       if ((crscode != '') && (currcode == crscode)) {
           showlist = 'inline';
           showbox = 'none';
       }
       alert("crscode is ||"+crscode+"|| and currcode is ||"+currcode+"|| and showlist is ||"+showlist+"|| and showbox is ||"+showbox+"||");
       if (document.getElementById('LC_helpdesk_sectionlist')) {
           document.getElementById('LC_helpdesk_sectionlist').style.display = showlist;
       }
       if (document.getElementById('LC_helpdesk_section')) {
           document.getElementById('LC_helpdesk_section').style.display = showbox;
       }
       return;
   }
   
   ENDSEC
   
           }
       } else {
           $output .= <<"END_OF_JS";
   
 function initialize_codes() {  function initialize_codes() {
     courseSet();      courseSet();
     return;      return;
 }  }
 END_OF_BLOCK  END_OF_JS
       }
       return $output;
 }  }
   
   
 sub javascript_definitions {  sub javascript_definitions {
     my ($codetitles,$idlist,$idlist_titles,$idnums,$cat_titles) = @_;      my ($codetitles,$idlist,$idlist_titles,$idnums,$cat_titles) = @_;
     my $numtitles = @{$codetitles};      my $numtitles = @{$codetitles};
Line 575  function setElements() { Line 654  function setElements() {
 }  }
   
 sub build_instcode_selectors {  sub build_instcode_selectors {
     my ($numtitles,$lasttitle,$cat_items,$codetitles,$cat_titles,$cat_order,$official,$class,$id) = @_;      my ($numtitles,$lasttitle,$cat_items,$codetitles,$cat_titles,$cat_order,$official,$class,$id,$noedit) = @_;
     my $output;      my $output;
     my @standardnames = &Apache::loncommon::get_standard_codeitems();      my @standardnames = &Apache::loncommon::get_standard_codeitems();
     if ($numtitles > 0) {      if ($numtitles > 0) {
Line 586  sub build_instcode_selectors { Line 665  sub build_instcode_selectors {
         if ($id eq '') {          if ($id eq '') {
             $id = 'instcodes';              $id = 'instcodes';
         }          }
           my $disabled;
           if ($noedit) {
               $disabled = ' disabled="disabled"';
           }
         $output .= '<div id="'.$id.'"'.$style.'><table><tr>';          $output .= '<div id="'.$id.'"'.$style.'><table><tr>';
         for (my $k=0; $k<$lasttitle-1; $k++) {          for (my $k=0; $k<$lasttitle-1; $k++) {
             my (@items,@unsorted);              my (@items,@unsorted);
Line 606  sub build_instcode_selectors { Line 689  sub build_instcode_selectors {
             if ($class) {              if ($class) {
                 $output .= ' class="'.$class.'"';                  $output .= ' class="'.$class.'"';
             }              }
             $output .= '>'."\n".'<option value="0">'.&mt('All').'</option>'."\n";              $output .= $disabled.'>'."\n".'<option value="0">'.&mt('All').'</option>'."\n";
             for (my $i=0; $i<@items; $i++) {              for (my $i=0; $i<@items; $i++) {
                 if ($longitems[$i] eq '') {                  if ($longitems[$i] eq '') {
                     $longitems[$i] = $items[$i];                      $longitems[$i] = $items[$i];
Line 616  sub build_instcode_selectors { Line 699  sub build_instcode_selectors {
             $output .= '</select></td>';              $output .= '</select></td>';
         }          }
         $output .= '<td align="center">'.$codetitles->[$lasttitle-1].'<br />'."\n".          $output .= '<td align="center">'.$codetitles->[$lasttitle-1].'<br />'."\n".
                    '<select name="'.$standardnames[$lasttitle-1].'">'."\n".                     '<select name="'.$standardnames[$lasttitle-1].'"';
           if ($class) {
               $output .= ' class="'.$class.'"';
           }
           $output .= $disabled.'>'."\n".
                    '<option value="0">'.&mt('All')."\n".                     '<option value="0">'.&mt('All')."\n".
                    '</option>'."\n".'</select>'."\n".                     '</option>'."\n".'</select>'."\n".
                    '</td></tr></table>'."\n";                     '</td></tr></table>'."\n";
         if ($numtitles > 4) {          if ($numtitles > 4) {
             $output .= '<br /><br />'.$codetitles->[$numtitles-1].'<br />'."\n".              $output .= '<br /><br />'.$codetitles->[$numtitles-1].'<br />'."\n".
                        '<input type="text" name="'.$standardnames[$numtitles-1].                         '<input type="text" name="'.$standardnames[$numtitles-1].
                        '" /><br />'."\n";                         '"'.$disabled.' /><br />'."\n";
         }          }
         $output .= '</div>';          $output .= '</div>';
     }      }

Removed from v.1.22  
changed lines
  Added in v.1.26


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