none
[openafs-wiki.git] / TWiki / TablePlugin.mdwn
index acccc94..0104b49 100644 (file)
@@ -4,9 +4,24 @@ Gives extra control of table display:
 
 - Allows sorting
 - Changing table properties like border width, cell spacing and cell padding
-- Changing background color for header cells
-- Changing background color for data cells - colors can _alternate_
-- Behaviour can be specified for a specific table using %TABLE\{...\}% or with global preferences
+- Changing background color and text color for header cells
+- Changing background color and text color for data cells - colors can _alternate_
+- Table attributes can be set and overridden in this order:
+  - Default `TABLEATTRIBUTES` Plugin setting in this topic.
+  - A `TABLEATTRIBUTES` preferences setting on site-level ([[TWikiPreferences]]) or web-level (any [[WebPreferences]]), e.g.
+    - `Set TABLEATTRIBUTES = tableborder="0" cellpadding="1" ...`
+  - Before a table using `%TABLE{...}%`
+
+## <a name="Sorting"></a> Sorting
+
+Click on column heading text to sort by a column. Initial column will be sorted in descending order, click again to get ascending order. The type of data in the cell is determined automatically:
+
+- date if format is:
+  - dd MMM YYY - hh:mm
+  - dd-MMM-YY or dd-MM-YYYY (can be / or space in place of -)
+  - MMM is Jan, Feb, etc
+- number is digits, with optional decimal point
+- otherwise treated as text
 
 ## <a name="%TOPIC% Global Settings"></a> %TOPIC% Global Settings
 
@@ -18,49 +33,17 @@ Plugin settings are stored as preferences variables. To reference a plugin setti
 - Set DEBUG to 1 to get debug messages in `data/debug.txt`. Default: `0`
   - Set DEBUG = 0
 
-- Table border width. Default: 1
-  - Set TABLEBORDER = 1
-
-- Table cell padding. Default: 0
-  - Set CELLPADDING = 0
-
-- Table cell spacing. Default: 1
-  - Set CELLSPACING = 1
-
-- Vertical alignment of cells. Set to: `top`, `middle`, `bottom` or `baseline`; default: (empty)
-  - Set VALIGN =
-
-- Table header cell alignment. Set to: `left`, `center`, `right` or `justify`; default: (empty)
-  - Set HEADERALIGN =
-
-- Table data cell alignment. Set to: `left`, `center`, `right` or `justify`; default: (empty)
-  - Set DATAALIGN =
-
-- Color for header cells ('\*'s around text). Default: <span>\#99CCCC</span>
-  - #Set HEADER\_BG = red
-
-- Background color for table rows, two alternate colors. Default: <span>\#FFFFCC</span>,<span>\#FFFFFF</span>
-  - Set DATA\_BG = #FFFFCC,#FFFFFF
-
 - Make sortable:
   - #Set SORT = attachments
   - Set SORT = all
   - #Set SORT = none
 
-## <a name="Sorting"></a> Sorting
+- Default table attributes:
+  - Set TABLEATTRIBUTES = tableborder="1" cellpadding="0" cellspacing="1" headerbg="#99CCCC" databg="#FFFFCC, #FFFFFF"
 
-Click on column heading text to sort by a column. Initial column will be sorted in descending order, click again to get ascending order. The type of data in the cell is determined automatically:
+## <a name="Table Attributes"></a> Table Attributes
 
-- date if format is:
-  - dd MMM YYY - hh:mm
-  - dd-MMM-YY or dd-MM-YYYY (can be / or space in place of -)
-  - MMM is Jan, Feb, etc
-- number is digits, with optional decimal point
-- otherwise treated as text
-
-## <a name="Per Table Settings"></a> Per Table Settings
-
-On line before the table use `%TABLE{...}%`:
+Attributes are defined as a `TABLEATTRIBUTES` Plugin setting in this topic, a `TABLEATTRIBUTES` preferences setting, or on line before the table using `%TABLE{...}%`:
 
 <table border="1" cellpadding="0" cellspacing="0" style="border-width: 1px">
   <tr>
@@ -85,13 +68,23 @@ On line before the table use `%TABLE{...}%`:
   </tr>
   <tr>
     <td bgcolor="#ffffff" style=""><code>headerbg</code></td>
-    <td bgcolor="#ffffff" style=""> Header cell background colour </td>
+    <td bgcolor="#ffffff" style=""> Header cell background colour. Choose one of the [[TWiki/StandardColors]]</td>
     <td bgcolor="#ffffff" style=""><code>headerbg="#99CCCC"</code></td>
   </tr>
   <tr>
-    <td bgcolor="#ecf2f8" style=""><code>databg</code></td>
-    <td bgcolor="#ecf2f8" style=""> Data cell background colour, a comma separated list </td>
-    <td bgcolor="#ecf2f8" style=""><code>databg="#C8CB8F,#DBDDB5"</code></td>
+    <td bgcolor="#ecf2f8" style=""><code>headercolor</code></td>
+    <td bgcolor="#ecf2f8" style=""> Header cell text colour </td>
+    <td bgcolor="#ecf2f8" style=""><code>headercolor="#0000CC"</code></td>
+  </tr>
+  <tr>
+    <td bgcolor="#ffffff" style=""><code>databg</code></td>
+    <td bgcolor="#ffffff" style=""> Data cell background colour, a comma separated list. Specify <code>"none"</code> for no colour, that is to use the colour/background of the page the table is on. </td>
+    <td bgcolor="#ffffff" style=""><code>databg="#C8CB8F, #DBDDB5"</code></td>
+  </tr>
+  <tr>
+    <td bgcolor="#ecf2f8" style=""><code>datacolor</code></td>
+    <td bgcolor="#ecf2f8" style=""> Data cell text colour, a comma separated list </td>
+    <td bgcolor="#ecf2f8" style=""><code>datacolor="#0000CC, #000000"</code></td>
   </tr>
   <tr>
     <td bgcolor="#ffffff" style=""><code>tableborder</code></td>
@@ -123,22 +116,45 @@ On line before the table use `%TABLE{...}%`:
     <td bgcolor="#ecf2f8" style=""> Data cell alignment, set to <code>left</code>, <code>center</code>, <code>right</code> or <code>justify</code>. Overrides individual cell settings </td>
     <td bgcolor="#ecf2f8" style=""><code>dataalign="center"</code></td>
   </tr>
+  <tr>
+    <td bgcolor="#ffffff" style=""><code>tablewidth</code></td>
+    <td bgcolor="#ffffff" style=""> Table width: Percentage of window width, or absolute pixel value. Default is unspecified </td>
+    <td bgcolor="#ffffff" style=""><code>tablewidth="100%"</code></td>
+  </tr>
+  <tr>
+    <td bgcolor="#ecf2f8" style=""><code>columnwidths</code></td>
+    <td bgcolor="#ecf2f8" style=""> Column widths: Comma delimited list of column widths, percentage or absolute pixel value. Default is unspecified </td>
+    <td bgcolor="#ecf2f8" style=""><code>columnwidths="80%, 20%"</code></td>
+  </tr>
+  <tr>
+    <td bgcolor="#ffffff" style=""><code>headerrows</code></td>
+    <td bgcolor="#ffffff" style=""> Number of header rows to exclude from sort; default 1 </td>
+    <td bgcolor="#ffffff" style=""><code>headerrows="1"</code></td>
+  </tr>
+  <tr>
+    <td bgcolor="#ecf2f8" style=""><code>footerrows</code></td>
+    <td bgcolor="#ecf2f8" style=""> Number of footer rows to exclude from sort; default 0 </td>
+    <td bgcolor="#ecf2f8" style=""><code>footerrows="1"</code></td>
+  </tr>
 </table>
 
-All default to the global setting
+The `%TABLE{...}%` settings override `TABLEATTRIBUTES` preferences settings, which override the `TABLEATTRIBUTES` Plugin settings.
 
-## <a name="Examples"></a> Examples
+## <a name="Example"></a> Example
 
-Line before table: `%TABLE{sort="on" tableborder="0" cellpadding="1" cellspacing="3" headerbg="#99CCCC" databg="#C8CB8F,#DBDDB5"}%`
+Line before table: `%TABLE{ sort="on" tableborder="0" cellpadding="1" cellspacing="3" headerbg="#000099" headercolor="#FFFFCC" databg="#C8CB8F, #DBDDB5" headerrows="2" footerrows="1" }%`
 
 <table border="0" cellpadding="1" cellspacing="3" style="border-width: 0px">
   <tr>
-    <th bgcolor="#99CCCC" maxcols="0" style=""><a href="http://localhost?sortcol=0;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Num</font></a></th>
-    <th bgcolor="#99CCCC" maxcols="0" style=""><a href="http://localhost?sortcol=1;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Status</font></a></th>
-    <th bgcolor="#99CCCC" maxcols="0" style=""><a href="http://localhost?sortcol=2;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Action</font></a></th>
-    <th bgcolor="#99CCCC" maxcols="0" style=""><a href="http://localhost?sortcol=3;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Who</font></a></th>
-    <th bgcolor="#99CCCC" maxcols="0" style=""><a href="http://localhost?sortcol=4;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">When</font></a></th>
-    <th bgcolor="#99CCCC" maxcols="0" style=""><a href="http://localhost?sortcol=5;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#ffffff">Progress</font></a></th>
+    <th bgcolor="#000099" colspan="6" maxcols="0" style=""><span><font color="#FFFFCC"> <strong> Table with two Header Rows and Footer Row </strong> </font></span></th>
+  </tr>
+  <tr>
+    <th bgcolor="#000099" maxcols="0" style=""><a href="http://localhost?sortcol=0;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#FFFFCC">Num</font></a></th>
+    <th bgcolor="#000099" maxcols="0" style=""><a href="http://localhost?sortcol=1;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#FFFFCC">Status</font></a></th>
+    <th bgcolor="#000099" maxcols="0" style=""><a href="http://localhost?sortcol=2;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#FFFFCC">Action</font></a></th>
+    <th bgcolor="#000099" maxcols="0" style=""><a href="http://localhost?sortcol=3;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#FFFFCC">Who</font></a></th>
+    <th bgcolor="#000099" maxcols="0" style=""><a href="http://localhost?sortcol=4;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#FFFFCC">When</font></a></th>
+    <th bgcolor="#000099" maxcols="0" style=""><a href="http://localhost?sortcol=5;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column"><font color="#FFFFCC">Progress</font></a></th>
   </tr>
   <tr>
     <td bgcolor="#C8CB8F" style=""> 1 </td>
@@ -180,10 +196,20 @@ Line before table: `%TABLE{sort="on" tableborder="0" cellpadding="1" cellspacing
     <td bgcolor="#C8CB8F" style="">   </td>
     <td bgcolor="#C8CB8F" style="">   </td>
   </tr>
+  <tr>
+    <th bgcolor="#000099" maxcols="0" style=""><span><font color="#FFFFCC"> <strong> Num </strong> </font></span></th>
+    <th bgcolor="#000099" maxcols="0" style=""><span><font color="#FFFFCC"> <strong> Status </strong> </font></span></th>
+    <th bgcolor="#000099" maxcols="0" style=""><span><font color="#FFFFCC"> <strong> Action </strong> </font></span></th>
+    <th bgcolor="#000099" maxcols="0" style=""><span><font color="#FFFFCC"> <strong> Who </strong> </font></span></th>
+    <th bgcolor="#000099" maxcols="0" style=""><span><font color="#FFFFCC"> <strong> When </strong> </font></span></th>
+    <th bgcolor="#000099" maxcols="0" style=""><span><font color="#FFFFCC"> <strong> Progress </strong> </font></span></th>
+  </tr>
 </table>
 
 ## <a name="Plugin Installation Instructions"></a> Plugin Installation Instructions
 
+**Note:** You do not need to install anything on the browser to use this plugin. Below installation instructions are for the administrator who needs to install this plugin on the TWiki server.
+
 - Download the ZIP file from the Plugin web (see below)
 - Unzip <code>**%TOPIC%.zip**</code> in your twiki installation directory. Content: <table border="1" cellpadding="0" cellspacing="0" style="border-width: 1px">
   <tr>
@@ -228,34 +254,78 @@ Line before table: `%TABLE{sort="on" tableborder="0" cellpadding="1" cellspacing
   </tr>
   <tr>
     <td align="right" bgcolor="#ffffff" style=""> Plugin Version: </td>
-    <td bgcolor="#ffffff" style=""> 13 Mar 2002 </td>
+    <td bgcolor="#ffffff" style=""> 17 Dec 2002 </td>
   </tr>
   <tr>
     <td align="right" bgcolor="#ecf2f8" style=""> Change History: </td>
-    <td bgcolor="#ecf2f8" style=""> 13 Mar 2002 PTh: Added TWiki:Main/ShawnBradford 's initsort and initdirection <br /> 12 Mar 2002 PTh: Added valign, headeralign and dataalign; fixed bug of swapped cellpadding/cellspacing; fixed warning of uninitialized value <br /> 05 Jan 2002 PTh: Fixed sorting bug of cells with leading white space <br /> 06 Dec 2001 PTh: Fixed date sorting bug <br /> 03 Dec 2001 PTh: Fixed sort="off" bug and more <br /> 29 Nov 2001: PTh fixed Perl warnings <br /> 16 Nov 2001: PTh added table border, cell spacing, cell padding, gif files <br /> 07 Oct 2001: Initial version </td>
+    <td bgcolor="#ecf2f8" style="">  </td>
   </tr>
   <tr>
-    <td align="right" bgcolor="#ffffff" style=""> CPAN Dependencies: </td>
-    <td bgcolor="#ffffff" style=""> none </td>
+    <td align="right" bgcolor="#ffffff" style=""> 17 Dec 2002: </td>
+    <td bgcolor="#ffffff" style=""> PTh: Removed individual table Plugin settings; added TABLEATTRIBUTES Plugins setting and TABLEATTRIBUTES preferences setting </td>
+  </tr>
+  <tr>
+    <td align="right" bgcolor="#ecf2f8" style=""> 15 Dec 2002: </td>
+    <td bgcolor="#ecf2f8" style=""> PTh: Added headerrows and footerrows params (TWiki:Main/WoutMertens); added tablewidth and columnwidths params (TWiki:Main/ThorstenSommermann) </td>
+  </tr>
+  <tr>
+    <td align="right" bgcolor="#ffffff" style=""> 09 Dec 2002: </td>
+    <td bgcolor="#ffffff" style=""> PTh: Added headercolor and datacolor parameters </td>
+  </tr>
+  <tr>
+    <td align="right" bgcolor="#ecf2f8" style=""> 05 Jun 2002: </td>
+    <td bgcolor="#ecf2f8" style=""> PTh: Added "none" value to databg parameter (suggested by TWiki:Main/TaitCyrus); fixed sorting by stripping HTML tags, removing links and making sort ignore case (suggested by TWiki:Main/ShawnBradford) </td>
   </tr>
   <tr>
-    <td align="right" bgcolor="#ecf2f8" style=""> Other Dependencies: </td>
+    <td align="right" bgcolor="#ffffff" style=""> 13 Mar 2002: </td>
+    <td bgcolor="#ffffff" style=""> PTh: Added TWiki:Main/ShawnBradford 's initsort and initdirection </td>
+  </tr>
+  <tr>
+    <td align="right" bgcolor="#ecf2f8" style=""> 12 Mar 2002: </td>
+    <td bgcolor="#ecf2f8" style=""> PTh: Added valign, headeralign and dataalign; fixed bug of swapped cellpadding/cellspacing; fixed warning of uninitialized value </td>
+  </tr>
+  <tr>
+    <td align="right" bgcolor="#ffffff" style=""> 05 Jan 2002: </td>
+    <td bgcolor="#ffffff" style=""> PTh: Fixed sorting bug of cells with leading white space </td>
+  </tr>
+  <tr>
+    <td align="right" bgcolor="#ecf2f8" style=""> 06 Dec 2001: </td>
+    <td bgcolor="#ecf2f8" style=""> PTh: Fixed date sorting bug <br /> 03 Dec 2001 PTh: Fixed sort="off" bug and more </td>
+  </tr>
+  <tr>
+    <td align="right" bgcolor="#ffffff" style=""> 29 Nov 2001: </td>
+    <td bgcolor="#ffffff" style=""> PTh: Fixed Perl warnings </td>
+  </tr>
+  <tr>
+    <td align="right" bgcolor="#ecf2f8" style=""> 16 Nov 2001: </td>
+    <td bgcolor="#ecf2f8" style=""> PTh: Added table border, cell spacing, cell padding, gif files </td>
+  </tr>
+  <tr>
+    <td align="right" bgcolor="#ffffff" style=""> 07 Oct 2001: </td>
+    <td bgcolor="#ffffff" style=""> JT: Initial version </td>
+  </tr>
+  <tr>
+    <td align="right" bgcolor="#ecf2f8" style=""> CPAN Dependencies: </td>
     <td bgcolor="#ecf2f8" style=""> none </td>
   </tr>
   <tr>
-    <td align="right" bgcolor="#ffffff" style=""> Perl Version: </td>
-    <td bgcolor="#ffffff" style=""> 5.0 </td>
+    <td align="right" bgcolor="#ffffff" style=""> Other Dependencies: </td>
+    <td bgcolor="#ffffff" style=""> none </td>
+  </tr>
+  <tr>
+    <td align="right" bgcolor="#ecf2f8" style=""> Perl Version: </td>
+    <td bgcolor="#ecf2f8" style=""> 5.0 </td>
   </tr>
   <tr>
-    <td align="right" bgcolor="#ecf2f8" style=""> Plugin Home: </td>
-    <td bgcolor="#ecf2f8" style=""><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%</a></td>
+    <td align="right" bgcolor="#ffffff" style=""> Plugin Home: </td>
+    <td bgcolor="#ffffff" style=""><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%</a></td>
   </tr>
   <tr>
-    <td align="right" bgcolor="#ffffff" style=""> Feedback: </td>
-    <td bgcolor="#ffffff" style=""><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev</a></td>
+    <td align="right" bgcolor="#ecf2f8" style=""> Feedback: </td>
+    <td bgcolor="#ecf2f8" style=""><a href="http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev" target="_top">http://TWiki.org/cgi-bin/view/Plugins/%TOPIC%Dev</a></td>
   </tr>
 </table>
 
-**_Related Topics:_** [[TWikiPreferences]], [[TWikiPlugins]]
+**_Related Topics:_** [[TWikiPreferences]], [[TWikiPlugins]], [[StandardColors]]
 
--- [[JohnTalintyre]] - 07 Oct 2001 <br /> -- [[PeterThoeny]] - 13 Mar 2002 <br />
+-- [[JohnTalintyre]] - 07 Oct 2001 <br /> -- [[PeterThoeny]] - 17 Dec 2002 <br />