TWiki> TWiki Web>TablePlugin (revision 24)EditAttach

Table Plugin

Gives extra control of table display:

  • Allows sorting
  • Changing table properties like border width, cell spacing and cell padding
  • 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{...}%
  • Row spans

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-MMM-YYYY (can be / or space in place of -)
    • MMM is Jan, Feb, etc
  • number is digits, with optional decimal point
  • otherwise treated as text

Row spans

Table cells with a single caret indicate follow-up rows of multi-row spans. For example,

| One One | One Two | One Three |
| ^ | Two Two | Two Three |
| Three One | ^ | Three Three |
One One One Two One Three
Two Two Two Three
Three One Three Three

TablePlugin Global Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %INTERWIKIPLUGIN_SHORTDESCRIPTION%

  • One line description, shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Control attributes of tables and sorting of table columns

  • Set DEBUG to 1 to get debug messages in data/debug.txt. Default: 0
    • Set DEBUG = 0

  • Make all tables in a topic sortable. If this is set to all, all tables that have a header row (including those that do not have %TABLE before them) will be made sortable. If set to none, only tables with %TABLE will be sortable. Topic rendering is faster if this is set to none.
    • #Set SORT = none
    • Set SORT = all

  • Default table attributes:
    • Set TABLEATTRIBUTES = tableborder="0" cellpadding="1" cellspacing="1" headerbg="#dadada" headercolor="#000000" databg="#eaeaea, #ffffff"
    • Classic skin table attributes:
      • #Set TABLEATTRIBUTES = tableborder="1" cellpadding="0" cellspacing="1" headerbg="#99CCCC" databg="#FFFFCC, #FFFFFF"

Table Attributes

Attributes are defined as a TABLEATTRIBUTES Plugin setting in this topic, a TABLEATTRIBUTES preferences setting, or on line before the table using %TABLE{...}%:

Argument Comment Example
sort Set table sorting "on" or "off" sort="on"
initsort Column to sort initially ("1" to number of columns) initsort="2"
initdirection Initial sorting direction for initsort, set to "up" or "down" initdirection="up"
headerbg Header cell background colour. Choose one of the StandardColors headerbg="#99CCCC"
headercolor Header cell text colour headercolor="#0000CC"
databg Data cell background colour, a comma separated list. Specify "none" for no colour, that is to use the colour/background of the page the table is on. databg="#C8CB8F, #DBDDB5"
datacolor Data cell text colour, a comma separated list datacolor="#0000CC, #000000"
tableborder Table border width (pixels) tableborder="2"
tableframe Table frame, set to "void" (no sides), "above" (the top side only), "below" (the bottom side only), "hsides" (the top and bottom sides only), "lhs" (the left-hand side only), "rhs" (the right-hand side only), "vsides" (the right and left sides only), "box" (all four sides), "border" (all four sides); default "void" tableframe="hsides"
tablerules Table rules, set to "none" (no rules), "groups" (rules will appear between row groups and column groups only), "rows" (rules will appear between rows only), "cols" (rules will appear between columns only), "all" (rules will appear between all rows and columns); default "none" tablerules="rows"
cellpadding Cell padding (pixels) cellpadding="0"
cellspacing Cell spacing (pixels) cellspacing="3"
valign Vertical alignment of cells, set to "top", "middle", "bottom" or "baseline" valign="top"
headeralign Header cell alignment, one value for all columns, or a comma separated list for different alignment of individual columns. Set to "left", "center", "right" or "justify". Overrides individual cell settings headeralign="left, right"
dataalign Data cell alignment, one value for all columns, or a comma separated list for different alignment of individual columns. Set to "left", "center", "right" or "justify". Overrides individual cell settings dataalign="center"
tablewidth Table width: Percentage of window width, or absolute pixel value. Default is unspecified. tablewidth="100%"
columnwidths Column widths: Comma delimited list of column widths, percentage or absolute pixel value. Default is unspecified. columnwidths="80%, 20%"
headerrows Number of header rows to exclude from sort; default "1" headerrows="1"
footerrows Number of footer rows to exclude from sort; default "0" footerrows="1"
id Table identifier string. Default is unspecified. id="userTable"
summary Table summary used by screenreaders: A summary of what the table presents. It should provide an orientation for someone who listens to the table. Default is unspecified. summary="List of subscribed users"
caption Table caption: A title that will be displayed just above the table. Default is unspecified. caption="Users"

The %TABLE{...}% settings override TABLEATTRIBUTES preferences settings, which override the TABLEATTRIBUTES Plugin settings.

Examples

Use of %TABLE{...}%

Line before table: %TABLE{ sort="on" tableborder="0" cellpadding="1" cellspacing="3" headerbg="#D5CCB1" headercolor="#666666" databg="#FAF0D4, #F3DFA8" headerrows="2" footerrows="1" }%

Table with two Header Rows and Footer Row
Num Status Action Who When Progress
Num Status Action Who When Progress
1 C Chose new colours John 1-Dec-02  
2 X Release John 1-Apr-02  
3   Get feedback Anne 1-Feb-02  
12 C Spec error handling Jack 1-Dec-02  
5   Abc John    

Table with 4 digit year dates and no use of %TABLE{...}%

When
1-Jan-2004
1-Jan-2003
2-Jan-2005

Plugin Installation Instructions

This plugin is pre-installed with your TWiki release. You should not have to install it other than to do an upgrade.

  • Download the ZIP file from the Plugin web (see below)
  • Unzip TablePlugin.zip in your twiki installation directory. Content:
    File: Description:
    data/TWiki/TablePlugin.txt Plugin topic
    data/TWiki/TablePlugin.txt,v Plugin topic repository
    lib/TWiki/Plugins/TablePlugin.pm Plugin Perl module
    pub/TWiki/TablePlugin/diamond.gif Diamond symbol
    pub/TWiki/TablePlugin/down.gif Down arrow
    pub/TWiki/TablePlugin/up.gif Up arrow
  • (Dakar) Visit configure in your TWiki installation, and enable the plugin in the {Plugins} section.
  • Test if the plugin is correctly installed:
    • Check above example if the table renders as expected
    • Try click on heading to sort. Other tables should also be sortable

Plugin Info

Plugin Author: TWiki:Main/JohnTalintyre, TWiki:Main/PeterThoeny
Plugin Version: 1.014
Change History:  
13 Dec 2005 AC: Added support for id, summary and caption
5 Mar 2005 1.014: Crawford Currie eliminated deprecated handlers for Dakar
01 Aug 2004: AC: Added CSS support for first column and ascending/descending table headers
21 Mar 2004: PTh: Internal change: Fixed reference to unofficial variable
01 Jan 2004: PTh: Alternating data row colors restart again after each header row
01 Dec 2003: PTh: Fixed error when footerrows was specified on an empty table, contributed by TWiki:Main/PaulineCheung
24 May 2003: PTh: New |^| rule for multi row span (TWiki:Main/WalterMundt); added tableframe and tablerules (TWiki:Main/JohannesMartin); ignore columnwidths for multi column span; validate headerrows and footerrows (TWiki:Main/DarrylGreen); fixed link color problem and up/down icon color problem for dark header background
17 Dec 2002: PTh: Removed individual table Plugin settings; added TABLEATTRIBUTES Plugins setting and TABLEATTRIBUTES preferences setting
15 Dec 2002: PTh: Added headerrows and footerrows params (TWiki:Main/DarrylGreen, TWiki:Main/WoutMertens); added tablewidth and columnwidths params (TWiki:Main/ThorstenSommermann)
09 Dec 2002: PTh: Added headercolor and datacolor parameters
05 Jun 2002: 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)
13 Mar 2002: PTh: Added TWiki:Main/ShawnBradford 's initsort and initdirection
12 Mar 2002: PTh: Added valign, headeralign and dataalign; fixed bug of swapped cellpadding/cellspacing; fixed warning of uninitialized value
05 Jan 2002: PTh: Fixed sorting bug of cells with leading white space
06 Dec 2001: PTh: Fixed date sorting bug
03 Dec 2001 PTh: Fixed sort="off" bug and more
29 Nov 2001: PTh: Fixed Perl warnings
16 Nov 2001: PTh: Added table border, cell spacing, cell padding, gif files
07 Oct 2001: JT: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/TablePlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/TablePluginDev

Related Topics: TWikiPreferences, TWikiPlugins, StandardColors

Topic attachments
I Attachment Action Size Date Who Comment
gifgif diamond.gif manage 0.9 K 2003-12-01 - 23:54 TWikiContributor Diamond symbol
gifgif down.gif manage 0.8 K 2003-12-01 - 23:54 TWikiContributor Down arrow
gifgif up.gif manage 0.8 K 2003-12-01 - 23:53 TWikiContributor Up arrow
Edit | Attach | Print version | History: r28 | r26 < r25 < r24 < r23 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r24 - 2005-03-27 - 05:14:15 - TWikiContributor
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TablePlugin