m Robot - Moving category Navbox (navigational) templates to Category:Navigational boxes per CFD at Wikipedia:Categories for discussion/Log/2011 October 28. |
Michael Bednarek (talk | contribs) +"See also" mw:ResourceLoader/Default modules#jQuery.makeCollapsible; use <code> instead of <tt>; -unnecessary italics; -ineffective bolding (doesn't show). |
||
Line 6: | Line 6: | ||
==Simple example== |
==Simple example== |
||
Tables are simpler to work with, as you merely need to add the |
Tables are simpler to work with, as you merely need to add the <code>collapsible</code> class to the table itself. For the [hide]/[show] link to appear, the table's first row must be a header row, that is, one of the cells in the first row must be declared with an exclamation mark (in wikisyntax). The use of the class <code>wikitable</code> in the example below is merely for appearance; it is not needed for <code>collapsible</code> to function. |
||
{| class=wikitable style="width:80%;" align=center |
{| class=wikitable style="width:80%;" align=center |
||
Line 12: | Line 12: | ||
|- |
|- |
||
|width=50%|  |
|width=50%|  |
||
<nowiki>{| class="wikitable |
<nowiki>{| class="wikitable collapsible" |
||
! Simple collapsible table |
|||
|- |
|- |
||
| Lorem ipsum dolor sit amet |
| Lorem ipsum dolor sit amet |
||
Line 30: | Line 30: | ||
!Code entered!!Output produced |
!Code entered!!Output produced |
||
|- |
|- |
||
|style="width:50%; |
|style="width:50%;"|  |
||
<nowiki>{| class="wikitable |
<nowiki>{| class="wikitable collapsible" |
||
|A normal cell in the header row |
|||
! colspan="2"| Header cell spans two cols |
|||
|- |
|||
| colspan="2" | Lorem ipsum dolor sit amet |
|||
| Separate body cell |
|||
|}</nowiki> |
|||
|style="width:50%; text-align:center;"| |
|style="width:50%; text-align:center;"| |
||
{| class="wikitable collapsible" |
{| class="wikitable collapsible" |
||
Line 49: | Line 49: | ||
==Collapsing tables by default== |
==Collapsing tables by default== |
||
Just using the < |
Just using the <code>collapsible</code> class produces a table which is expanded by default, but can be collapsed by the reader. It is also possible to create tables which are collapsed by default, and can be optionally expanded. There are several methods for doing this, depending on the situations in which you want the table to collapse. |
||
=== |
==="collapsed"=== |
||
Adding the < |
Adding the <code>collapsed</code> class will cause the table to {{em|always}} be initially collapsed, no matter what happens around it. It is the simplest method for doing so. Using the examples above: |
||
{| class=wikitable style="width:80%;" align=center |
{| class=wikitable style="width:80%;" align=center |
||
Line 58: | Line 58: | ||
|- |
|- |
||
|width=50%|  |
|width=50%|  |
||
<nowiki>{| class="wikitable |
<nowiki>{| class="wikitable collapsible collapsed" |
||
! Simple collapsible table |
|||
|- |
|- |
||
| Lorem ipsum dolor sit amet |
| Lorem ipsum dolor sit amet |
||
Line 71: | Line 71: | ||
|- |
|- |
||
|style="width:50%; font-size:90%"|  |
|style="width:50%; font-size:90%"|  |
||
<nowiki>{| class="wikitable |
<nowiki>{| class="wikitable collapsible collapsed" |
||
|A normal cell in the header row |
|||
! colspan="2"| Header cell spans two cols |
|||
|- |
|||
| colspan="2" | Lorem ipsum dolor sit amet |
|||
| Separate body cell |
|||
|}</nowiki> |
|||
|style="width:50%; text-align:center;"| |
|style="width:50%; text-align:center;"| |
||
{| class="wikitable collapsible collapsed" |
{| class="wikitable collapsible collapsed" |
||
Line 88: | Line 88: | ||
|} |
|} |
||
=== |
==="autocollapse"=== |
||
Adding the < |
Adding the <code>autocollapse</code> class causes the table to collapse when there are 2 or more collapsible tables on the page (this threshold might be different on other projects). The example below, therefore, collapses because there are numerous collapsible tables on the page. |
||
{| class=wikitable style="width:80%;" align=center |
{| class=wikitable style="width:80%;" align=center |
||
Line 95: | Line 95: | ||
|- |
|- |
||
|width=50%|  |
|width=50%|  |
||
<nowiki>{| class="wikitable |
<nowiki>{| class="wikitable collapsible autocollapse" |
||
! Simple collapsible table |
|||
|- |
|- |
||
| Lorem ipsum dolor sit amet |
| Lorem ipsum dolor sit amet |
||
Line 108: | Line 108: | ||
|} |
|} |
||
=== |
==="innercollapse" and "outercollapse"=== |
||
Using this pair of classes, it is possible to make a table collapsed by default only when it is |
Using this pair of classes, it is possible to make a table collapsed by default only when it is {{em|contained within}} a particular object, such as another table. This is mainly useful for tables inside templates, which are often nested. |
||
{| class=wikitable style="width:80%;" align=center |
{| class=wikitable style="width:80%;" align=center |
||
Line 115: | Line 115: | ||
|- |
|- |
||
|width=50%|  |
|width=50%|  |
||
<nowiki>{| class="wikitable |
<nowiki>{| class="wikitable outercollapse" |
||
! This table does not collapse |
! This table does not collapse |
||
|- |
|- |
||
| But the table inside this cell |
| But the table inside this cell |
||
{| class="wikitable |
{| class="wikitable collapsible innercollapse" |
||
! Does collapse |
! Does collapse |
||
|- |
|- |
||
Line 150: | Line 150: | ||
|- |
|- |
||
|width=50%|  |
|width=50%|  |
||
<nowiki>{| class="wikitable |
<nowiki>{| class="wikitable collapsible sortable" |
||
!Name!!Score |
!Name!!Score |
||
|- |
|- |
||
Line 197: | Line 197: | ||
===Other HTML elements=== |
===Other HTML elements=== |
||
The code that performs the manipulation only checks for table elements, so these classes will not work for other elements, such as < |
The code that performs the manipulation only checks for table elements, so these classes will not work for other elements, such as <code><nowiki><div></nowiki></code> or <code><nowiki><span></nowiki></code>. There is a similar feature for use with <code><nowiki><div></nowiki></code> elements, called "[[Wikipedia:NavFrame|NavFrame]]". |
||
===Limitations=== |
===Limitations=== |
||
This functionality requires the end-user's browser to have Javascript enabled. If Javascript is disabled, the default behaviour is to |
This functionality requires the end-user's browser to have [[Javascript]] enabled. If Javascript is disabled, the default behaviour is to show the content. |
||
==See also== |
==See also== |
||
Line 208: | Line 208: | ||
*[[Template:Hidden]] |
*[[Template:Hidden]] |
||
*[[Template:Collapse]] |
*[[Template:Collapse]] |
||
*[[mw:ResourceLoader/Default modules#jQuery.makeCollapsible]] |
|||
{{DEFAULTSORT:{{PAGENAME}}}} |
{{DEFAULTSORT:{{PAGENAME}}}} |
Revision as of 12:19, 23 February 2012
Collapsible tables provide a way to collapse and uncollapse a table when a show/hide button is clicked. The code for this feature is found in the MediaWiki:Common.js.
The initial state of any collapsible content can be controlled using a "collapsible table", because it also allows a table with only one element with content, and a header.
Simple example
Tables are simpler to work with, as you merely need to add the collapsible
class to the table itself. For the [hide]/[show] link to appear, the table's first row must be a header row, that is, one of the cells in the first row must be declared with an exclamation mark (in wikisyntax). The use of the class wikitable
in the example below is merely for appearance; it is not needed for collapsible
to function.
Code entered | Output produced | ||
---|---|---|---|
{| class="wikitable collapsible" ! Simple collapsible table |- | Lorem ipsum dolor sit amet |} |
|
Using the syntax above, collapsible tables are often used to always display an introduction to, or summary of, a lengthy discussion or section of content, while hiding the majority of that content from immediate view. The summary message is put in the header cell, and the content is placed into the body cell. The content is then easily accessible by clicking the 'show' button. The collapsible functionality is also available in larger and more complicated tables, as long as there is a header cell in the first row of the table.
Code entered | Output produced | ||||||
---|---|---|---|---|---|---|---|
{| class="wikitable collapsible" |A normal cell in the header row ! colspan="2"| Header cell spans two cols |- | colspan="2" | Lorem ipsum dolor sit amet | Separate body cell |} |
|
Collapsing tables by default
Just using the collapsible
class produces a table which is expanded by default, but can be collapsed by the reader. It is also possible to create tables which are collapsed by default, and can be optionally expanded. There are several methods for doing this, depending on the situations in which you want the table to collapse.
"collapsed"
Adding the collapsed
class will cause the table to always be initially collapsed, no matter what happens around it. It is the simplest method for doing so. Using the examples above:
Code entered | Output produced | ||||||
---|---|---|---|---|---|---|---|
{| class="wikitable collapsible collapsed" ! Simple collapsible table |- | Lorem ipsum dolor sit amet |} |
| ||||||
{| class="wikitable collapsible collapsed" |A normal cell in the header row ! colspan="2"| Header cell spans two cols |- | colspan="2" | Lorem ipsum dolor sit amet | Separate body cell |} |
|
"autocollapse"
Adding the autocollapse
class causes the table to collapse when there are 2 or more collapsible tables on the page (this threshold might be different on other projects). The example below, therefore, collapses because there are numerous collapsible tables on the page.
Code entered | Output produced | ||
---|---|---|---|
{| class="wikitable collapsible autocollapse" ! Simple collapsible table |- | Lorem ipsum dolor sit amet |} |
|
"innercollapse" and "outercollapse"
Using this pair of classes, it is possible to make a table collapsed by default only when it is contained within a particular object, such as another table. This is mainly useful for tables inside templates, which are often nested.
Code entered | Output produced | ||||
---|---|---|---|---|---|
{| class="wikitable outercollapse" ! This table does not collapse |- | But the table inside this cell {| class="wikitable collapsible innercollapse" ! Does collapse |- | Hiding this part |} |} |
|
Other notes
Sortable tables
Collapsible tables can be combined with the sortable tables functionality without difficulty. However, because the hide/show button is placed in the first header cell located, its positioning can look a bit peculiar if the table is not wide enough:
Code entered | Output produced | ||||||||
---|---|---|---|---|---|---|---|---|---|
{| class="wikitable collapsible sortable" !Name!!Score |- |John||59 |- |Jane||100 |- |Bob||72 |} |
|
header | ||||||
---|---|---|---|---|---|---|
|
Possible alternative is sortable table inside one-cell collapsible table, see example on the right.
Customization
Registered users can edit their personal js file file to change some of the variables used.
autoCollapse = 4 //how many collapsible tables on the page before autocollapse works (default=2)
var collapseCaption = 'collapse' //text of the [hide] link (default='hide')
var expandCaption = 'uncollapse' //text of the [show] link (default='show')
Other HTML elements
The code that performs the manipulation only checks for table elements, so these classes will not work for other elements, such as <div>
or <span>
. There is a similar feature for use with <div>
elements, called "NavFrame".
Limitations
This functionality requires the end-user's browser to have Javascript enabled. If Javascript is disabled, the default behaviour is to show the content.