[LON-CAPA-cvs] cvs: loncom /interface lonindexer.pm

raeburn raeburn@source.lon-capa.org
Mon, 29 Mar 2010 23:25:16 -0000


This is a MIME encoded message

--raeburn1269905116
Content-Type: text/plain

raeburn		Mon Mar 29 23:25:16 2010 EDT

  Modified files:              
    /loncom/interface	lonindexer.pm 
  Log:
  - Keep display option attached to corresponding checkbox.
  - Reduce number of columns so display options fit within window, when RES browse is a pop-up (e.g.,
    in colorful editor in CSTR).
  - CSS to separate display options from filters.
  - Generate row mark-up via a loop to reduce repetitive static HTML.
  
  
--raeburn1269905116
Content-Type: text/plain
Content-Disposition: attachment; filename="raeburn-20100329232516.txt"

Index: loncom/interface/lonindexer.pm
diff -u loncom/interface/lonindexer.pm:1.204 loncom/interface/lonindexer.pm:1.205
--- loncom/interface/lonindexer.pm:1.204	Mon Mar 29 22:42:58 2010
+++ loncom/interface/lonindexer.pm	Mon Mar 29 23:25:16 2010
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Directory Indexer
 #
-# $Id: lonindexer.pm,v 1.204 2010/03/29 22:42:58 raeburn Exp $
+# $Id: lonindexer.pm,v 1.205 2010/03/29 23:25:16 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -452,26 +452,28 @@
 	    }
 	}
 
+        my @file_categories = &Apache::loncommon::filecategories();
+        my %select_file_categories;
+        my @select_form_order = ('');
+        $select_file_categories{''} = &mt('All file types');
+        foreach my $cat (@file_categories) {
+            my $types = join(",",&Apache::loncommon::filecategorytypes($cat));
+            $select_file_categories{$types} = &mt($cat);
+            push(@select_form_order,$types);
+        }
+        $select_file_categories{'select_form_order'} = \@select_form_order;
+        my $type_element=
+            &Apache::loncommon::select_form(
+                $typeselect,
+                'only',
+                %select_file_categories);
+        my $type_selector = '<label>'.&mt('File Type Displayed: [_1]',
+                                          $type_element).'</label>';
+
 # ------------------------------- output state of file attributes to be showing
 #                                 All versions has to the last item
 #                                 since it does not take an extra col
 	my %lt=&Apache::lonlocal::texthash(
-					   'ti' => 'Title',
-					   'si' => 'Size',
-					   'la' => 'Last access',
-					   'lm' => 'Last modified',
-					   'st' => 'Statistics',
-					   'au' => 'Author',
-					   'kw' => 'Keywords',
-					   'sb' => 'Subject',
-					   'nt' => 'Notes',
-					   'ab' => 'Abstract',
-					   'ln' => 'Language',
-					   'gl' => 'Grade Level',
-					   'sd' => 'Standards',
-					   'sa' => 'Source Available',
-					   'sr' => 'Show resource',
-					   'li' => 'Linked/Related Resources',
 					   'av' => 'All versions',
 					   'ud' => 'Update Display',
 					   'pr' => 'Problems',
@@ -479,59 +481,61 @@
 					   'at' => 'All types',
 					   'hd' => 'Display Options'
 					   );
-	$r->print(<<END);
-<form method="post" name="fileattr" action="$uri" enctype="application/x-www-form-urlencoded">
+        my @disp_order = ('0','4','5','6','13','1','2','3','10','14','8','11','7','12','15','16');
+        my %disp_options = &Apache::lonlocal::texthash (
+                              0  => 'Title',
+                              4  => 'Author',
+                              5  => 'Keywords',
+                              6  => 'Language',
+                              13 => 'Notes',
+                              1  => 'Size',
+                              2  => 'Last access',
+                              3  => 'Last modified',
+                              10 => 'Source Available',
+                              14 => 'Abstract',
+                              8  => 'Statistics',
+                              11 => 'Linked/Related Resources',
+                              7  => 'Show resource',
+                              12 => 'Subject',
+                              15 => 'Grade Level',
+                              16 => 'Standards',
+                           );
+        my $cell = 0;
+        my $numinrow = 4;
+	$r->print('
+<form method="post" name="fileattr" action="'.$uri.'" enctype="application/x-www-form-urlencoded">
 <fieldset>
-<legend>$lt{'hd'}</legend>
-<label><input type="checkbox" name="attr9" value="1" $attrchk[9] onclick="this.form.submit();" /> $lt{'av'}</label>
-<table border="0">
-<tr>
-<td><label><input type="checkbox" name="attr0" value="1" $attrchk[0] onclick="this.form.submit();" /> $lt{'ti'}</label></td>
-<td><label><input type="checkbox" name="attr4" value="1" $attrchk[4] onclick="this.form.submit();" /> $lt{'au'}</label></td>
-<td><label><input type="checkbox" name="attr5" value="1" $attrchk[5] onclick="this.form.submit();" /> $lt{'kw'}</label></td>
-<td><label><input type="checkbox" name="attr6" value="1" $attrchk[6] onclick="this.form.submit();" /> $lt{'ln'}</label></td>
-<td><label><input type="checkbox" name="attr13" value="1" $attrchk[13] onclick="this.form.submit();" /> $lt{'nt'}</label></td>
-<td><label><input type="checkbox" name="attr16" value="1" $attrchk[16] onclick="this.form.submit();" /> $lt{'sd'}</label></td>
-</tr>
-<tr>
-<td><label><input type="checkbox" name="attr1" value="1" $attrchk[1] onclick="this.form.submit();" /> $lt{'si'}</label></td>
-<td><label><input type="checkbox" name="attr2" value="1" $attrchk[2] onclick="this.form.submit();" /> $lt{'la'}</label></td>
-<td><label><input type="checkbox" name="attr3" value="1" $attrchk[3] onclick="this.form.submit();" /> $lt{'lm'}</label></td>
-<td><label><input type="checkbox" name="attr10" value="1" $attrchk[10] onclick="this.form.submit();" /> $lt{'sa'}</label></td>
-<td><label><input type="checkbox" name="attr14" value="1" $attrchk[14] onclick="this.form.submit();" /> $lt{'ab'}</label></td>
-<td>&nbsp;</td>
-</tr>
+<legend>'.$lt{'hd'}.'</legend>
+<table style=" border-collapse: collapse; border-style: none;">'."\n");
+        foreach my $item (@disp_order) {
+            my $style = 'padding-left: 12px; padding-right: 8px;';
+            if ($cell%$numinrow == 0) {
+                $r->print('<tr>');
+            }
+            $cell ++;
+            if ($cell > 3 * $numinrow) {
+                $style .= ' padding-bottom: 6px;'; 
+            }
+            if (defined($disp_options{$item})) {
+                $r->print('<td style="'.$style.'"><span class="LC_nobreak">'.
+                          '<label><input type="checkbox" name="attr'.$item.'" value="1" '.
+                          $attrchk[$item].' onclick="this.form.submit();" /> '.$disp_options{$item}.
+                          '</label></span></td>'."\n");
+            }
+            if ($cell > 1 && $cell%$numinrow == 0) {
+                $r->print('</tr>');
+            }
+        }
+        $r->print(<<END);
 <tr>
-<td><label><input type="checkbox" name="attr8" value="1" $attrchk[8] onclick="this.form.submit();" /> $lt{'st'}</label></td>
-<td><label><input type="checkbox" name="attr11" value="1" $attrchk[11] onclick="this.form.submit();" /> $lt{'li'}</label></td>
-<td><label><input type="checkbox" name="attr7" value="1" $attrchk[7] onclick="this.form.submit();" /> $lt{'sr'}</label></td>
-<td><label><input type="checkbox" name="attr12" value="1" $attrchk[12] onclick="this.form.submit();" /> $lt{'sb'}</label></td>
-<td><label><input type="checkbox" name="attr15" value="1" $attrchk[15] onclick="this.form.submit();" /> $lt{'gl'}</label></td>
-<td>&nbsp;</td>
+<td style="font-style: italic; border-top: 1px solid black; padding-top: 6px"> 
+<label><input type="checkbox" name="attr9" value="1" $attrchk[9] onclick="this.form.submit();" /> $lt{'av'}</label>
+</td>
+<td colspan="3" style="padding-left:8px; padding-top: 4px; font-style: italic; border-top: 1px solid black; padding-top: 8px">$type_selector</td>
 </tr>
 </table>
 <input type="hidden" name="attrs" value="1" />
-END
-        my @file_categories = &Apache::loncommon::filecategories();
-        my %select_file_categories;
-        my @select_form_order = ('');
-        $select_file_categories{''} = &mt('All file types');
-        foreach my $cat (@file_categories) {
-	    my $types = join(",",&Apache::loncommon::filecategorytypes($cat));
-	    $select_file_categories{$types} = &mt($cat);
-	    push(@select_form_order,$types);
-	}
-        $select_file_categories{'select_form_order'} = \@select_form_order;
-        my $type_element=
-            &Apache::loncommon::select_form(
-                $typeselect,
-                'only',
-                %select_file_categories);
-        $type_element = '<label>'.&mt('File Type Displayed: [_1]',
-				      $type_element).'</label>';
-        $r->print($type_element
-                 .'</fieldset>');
-        $r->print(<<END);
+</fieldset>
 <input type="submit" name="updatedisplay" value="$lt{'ud'}" />
 <input type="hidden" name="acts" value="" />
 $closebutton $groupimportbutton

--raeburn1269905116--