--- loncom/interface/courseclassifier.pm 2014/03/16 22:27:06 1.17 +++ loncom/interface/courseclassifier.pm 2014/07/31 15:45:27 1.19 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Utilities for classifying courses based on institutional code # -# $Id: courseclassifier.pm,v 1.17 2014/03/16 22:27:06 raeburn Exp $ +# $Id: courseclassifier.pm,v 1.19 2014/07/31 15:45:27 musolffc Exp $ # # Copyright Michigan State University Board of Trustees # @@ -489,12 +489,27 @@ sub instcode_selectors_data { if ($officialjs) { $jscript .= ' -function toggleOfficial() {'; +function toggleOfficial() { + var choice; + for (var i=0; i[$i].'.selectedIndex = 0;'; + document.'.$formname.'.'.$codetitles->[$i].'.selectedIndex = 0;'; } - $jscript .= ' + $jscript .= ' + } else { + if (document.getElementById("instcodes")) { + document.getElementById("instcodes").style.display = "block"; + } + } } function setOfficial(caller) { @@ -564,7 +579,11 @@ sub build_instcode_selectors { my $output; my @standardnames = &Apache::loncommon::get_standard_codeitems(); if ($numtitles > 0) { - $output .= ''; + my $style; + if ($env{'form.official'} eq 'off') { + $style = ' style="display: none"'; + } + $output .= '
'; for (my $k=0; $k<$lasttitle-1; $k++) { my (@items,@unsorted); if (ref($cat_items->{$codetitles->[$k]}) eq 'ARRAY') { @@ -600,7 +619,7 @@ sub build_instcode_selectors { '
'."\n"; } - $output .= '
'; + $output .= ''; } return $output; } @@ -614,13 +633,14 @@ sub instcode_selectors { if ($numtitles > 0) { my $official = ' checked="checked" '; my $unofficial = ''; - if ($env{'form.official'} eq 'off') { + if (($formname eq 'filterpicker') && ($env{'form.official'} eq 'off')) { $unofficial = $official; $official = ''; } $output .= ''.&mt('Official course:').' '.(' 'x3).''. + (' 'x3).'
'. &build_instcode_selectors($numtitles,$lasttitle,\%cat_items,$codetitles, @@ -719,12 +739,23 @@ sub javascript_select_filler { my $nocrs = &mt('No courses'); my $output = < 0) { + for (var i = 0; i< document.$formname.Year.options.length; i++) { + if (document.$formname.Year.options[i].value == "$env{'form.Year'}") { + document.$formname.Year.selectedIndex = i; + break; + } + } + } + if (document.$formname.Department.options.length > 0) { + for (var i = 0; i< document.$formname.Department.options.length; i++) { + if (document.$formname.Department.options[i].value == "$env{'form.Department'}") { + document.$formname.Department.selectedIndex = i; + break; + } + } + } + if (document.$formname.Semester.options.length > 0) { + for (var i = 0; i< document.$formname.Semester.options.length; i++) { + if (document.$formname.Semester.options[i].value == "$env{'form.Semester'}") { + document.$formname.Semester.selectedIndex = i; + break; + } + } + } + } + + var selYear = document.$formname.Year.selectedIndex-1; + var selSemester = document.$formname.Semester.selectedIndex-1; + var selDepartment = document.$formname.Department.selectedIndex-1; if (selYear == -1) { if (selSemester == -1) { if (selDepartment > -1) { @@ -850,7 +908,18 @@ function courseSet(caller) { } document.$formname.Number.selectedIndex = 0 } - $officialjs + if (onload) { + if (document.$formname.Number.options.length > 0) { + for (var i = 0; i< document.$formname.Number.options.length; i++) { + if (document.$formname.Number.options[i].value == "$env{'form.Number'}") { + document.$formname.Number.selectedIndex = i; + break; + } + } + } + } else { + $officialjs + } } END return $output;